/* Keep the original film and booking flow, with a separate reservation view. */
.guest-page .guest-hero .hero-body{gap:22px}
.guest-page[data-guest-mode=reservation] .guest-hero .hero-shade{background:linear-gradient(90deg,#0513378c,#05133720),linear-gradient(0deg,#00000091,#00000038 85%)}
.guest-journey{display:inline-flex;align-items:center;gap:4px;padding:5px;border:1px solid #ffffff65;border-radius:18px;background:#05133770;max-width:100%;text-shadow:none}
.guest-journey a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 24px;border-radius:13px;color:#fff;font-size:14px;font-weight:500;white-space:nowrap;line-height:1.4}
.guest-journey a[aria-selected=true],.guest-journey:not([role=tablist]) a:first-child{background:var(--ws-background);color:var(--ws-primary)}
.guest-journey a:hover:not([aria-selected=true]){background:#ffffff20}
.guest-journey a:focus-visible{outline:2px solid #fff;outline-offset:2px}
.guest-journey-panel{width:100%;max-width:700px}
.guest-page .guest-journey-panel[hidden]{display:none}
.guest-page .guest-journey-panel .guest-booking{width:100%;margin:0}
.guest-reservation-panel{padding:24px 26px;border:1px solid #ffffff70;border-radius:20px;background:linear-gradient(130deg,#051337db,#17263ddd);color:#fff;text-shadow:none;max-width:570px}
.guest-reservation-panel h2{font-size:30px;line-height:1.25;letter-spacing:-.4px}
.guest-reservation-panel p{font-size:15px;line-height:1.6;color:#f0f1f6;margin:10px 0 20px;max-width:48ch}
.guest-reservation-panel .button{min-height:48px;border-radius:11px;font-size:14px;padding:12px 19px;gap:36px}
.guest-reservation-panel form{display:grid;gap:10px}
.guest-reservation-panel label{font-size:14px;font-weight:500;line-height:1.5}
.guest-reservation-panel input{width:100%;min-width:0;min-height:54px;padding:13px 16px;background:#ffffff12;border:1px solid #ffffff91;border-radius:11px;font:inherit;font-size:16px;color:#fff;box-sizing:border-box}
.guest-reservation-panel input::placeholder{color:#e0e5ef;opacity:1}
.guest-reservation-panel input:focus-visible{outline:2px solid #fff;outline-offset:3px}
.guest-reservation-panel input[aria-invalid=true]{border-color:#ffc8c3}
.guest-reservation-panel p.guest-reservation-hint{font-size:12px;line-height:1.6;margin:0;color:#e0e5ef}
.guest-reservation-panel p.guest-reservation-error{font-size:13px;line-height:1.6;margin:0 0 4px;color:#ffc8c3}
.guest-reservation-panel form .button{width:100%;justify-content:space-between;cursor:pointer;font-family:inherit}
.guest-reservation-footer{display:flex;align-items:center;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;margin-top:10px}
.guest-portal-help{display:flex;align-items:center;min-height:44px;font-size:12px;text-decoration:underline;text-underline-offset:4px;color:#f0f1f6}
.guest-page[data-guest-mode=reservation] :is(#collection,#booking-results,#guest-testimonials){display:none}
@media(max-width:750px){
 .guest-page .guest-hero .hero-body{gap:18px;padding-bottom:32px}
 .guest-journey-panel{max-width:420px}
 .guest-journey{border-radius:16px}
 .guest-journey a{padding:10px 20px;font-size:14px;border-radius:11px}
 .guest-reservation-panel{padding:22px}
 .guest-reservation-panel h2{font-size:27px}
 .guest-reservation-panel p{font-size:14px;line-height:1.6}
 .guest-reservation-panel .button{width:100%;justify-content:space-between}
}
@media(max-width:360px){.guest-journey a{padding-inline:17px}.guest-reservation-panel{padding:20px}}
