/* Keep the supplied composition intact; its white wave becomes the page. */
body.reservation-page{--booking-surface:255,255,255;background:rgb(var(--booking-surface))}
.booking-hero[hidden]{display:none!important}
.booking-hero{
  position:relative;isolation:isolate;width:100%;max-width:1280px;margin:0 auto;
  background:rgb(var(--booking-surface));
}
.booking-hero img{display:block;width:100%;height:auto;aspect-ratio:1505/902}
.booking-hero::after{
  content:"";position:absolute;inset:82% 0 0;pointer-events:none;
  background:linear-gradient(180deg,rgba(var(--booking-surface),0) 0%,
    rgba(var(--booking-surface),.12) 28%,rgba(var(--booking-surface),.72) 68%,
    rgb(var(--booking-surface)) 96%);
}
.booking-visually-hidden{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0;
}
body.reservation-page main{position:relative;z-index:1;width:100%;margin-top:clamp(-76px,-6vw,-22px);padding-top:0}
body.reservation-page .breadcrumb{margin:0 0 22px;padding:0 30px}
body.reservation-page .booking-main{
  padding:0 30px 24px;background:transparent;border:0;border-radius:0;box-shadow:none;
}
.booking-service-panel{
  margin:0 -24px;padding:24px;border:2px solid transparent;border-radius:24px;
  background:linear-gradient(135deg,#f0faf9,#eaf7f7) padding-box,
    linear-gradient(115deg,#73c4ca 0%,#c9e8e6 46%,#77abc8 100%) border-box;
  box-shadow:0 4px 18px rgba(25,118,129,.035);
}
html[data-theme="dark"] .booking-service-panel{
  background:linear-gradient(135deg,#142c32,#14272f) padding-box,
    linear-gradient(115deg,#367980 0%,#29454d 46%,#416b89 100%) border-box;
  border-color:transparent;box-shadow:none;
}
body.reservation-page .booking-intro{margin:0 0 26px;text-align:center;font-size:17px;font-weight:700;color:var(--navy-deep);line-height:1.4}
body.reservation-page .booking-hub{grid-template-columns:minmax(0,1fr);min-width:0;gap:28px}
body.reservation-page .booking-hub>section{min-width:0}
body.reservation-page .booking-refunds{padding:26px 30px 30px;background:var(--soft);border-radius:24px}
body.reservation-page .booking-refunds h2{margin-bottom:18px}
body.reservation-page .booking-support{margin:0 30px}
html[data-theme="dark"] body.reservation-page{--booking-surface:14,23,31}
html[data-theme="dark"] body.reservation-page .booking-main{background:transparent}
html[data-theme="dark"] body.reservation-page .booking-refunds{background:#14222d}
@media(min-width:1281px){
  .booking-hero::before{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(90deg,rgb(var(--booking-surface)),rgba(var(--booking-surface),0) 5%,
      rgba(var(--booking-surface),0) 95%,rgb(var(--booking-surface)));
  }
}
@media(max-width:700px){
  .booking-service-panel{margin:0;padding:18px 14px;border-radius:20px}
  body.reservation-page main{padding-bottom:42px}
  body.reservation-page .breadcrumb{padding:0 4px;margin-bottom:22px;font-size:12px}
  body.reservation-page .booking-main{padding:0 4px 6px}
  body.reservation-page .booking-intro{margin-bottom:20px}
  body.reservation-page .booking-hub{gap:24px}
  body.reservation-page .booking-refunds{padding:22px 14px;border-radius:20px}
  body.reservation-page .booking-support{margin:0 4px}
}
@media print{
  .booking-hero img,.booking-hero::before,.booking-hero::after{display:none}
  .booking-hero .booking-visually-hidden{
    position:static;width:auto;height:auto;margin:24px;overflow:visible;
    clip:auto;clip-path:none;white-space:normal;
  }
  body.reservation-page main{margin-top:0;padding-top:24px}
}
