.booking-shell .screen{min-height:690px}.booking-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.booking-card{border:1px solid var(--line);border-radius:20px;background:#fff;padding:20px}.booking-card.wide{grid-column:1/-1}.booking-card-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:16px}.booking-card-head h2{margin:0;font:700 1.3rem var(--serif)}.booking-card-head p{margin:5px 0 0;color:var(--muted);font-size:.75rem;line-height:1.55}.booking-badge{flex:0 0 auto;padding:7px 9px;border-radius:999px;background:var(--teal-soft);color:var(--teal);font-size:.75rem;font-weight:950}.traveller-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:15px}.traveller-tab{border:1px solid var(--line);border-radius:12px;background:#fff;padding:9px 12px;color:var(--navy);font-size:.75rem;font-weight:850}.traveller-tab.active{background:var(--navy);border-color:var(--navy);color:#fff}.field-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.field-grid .span-2{grid-column:span 2}.booking-field label{display:block;margin-bottom:6px;color:var(--muted);font-size:.75rem;font-weight:850}.booking-field input,.booking-field select{width:100%;min-height:45px;border:1px solid var(--line);border-radius:11px;background:#fbfcfb;color:var(--navy);padding:10px 11px;font-size:.75rem}.booking-check{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:13px;border:1px solid var(--line);border-radius:13px;background:var(--mist)}.booking-check label{font-size:.75rem;line-height:1.5}.passport-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.passport-actions button{border:1px solid var(--line);border-radius:10px;background:var(--navy);color:#fff;padding:9px 11px;font-size:.75rem;font-weight:900}.passport-actions .secondary{background:#fff;color:var(--navy)}.service-list{display:grid;gap:10px}.service-option{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;width:100%;border:1px solid var(--line);border-radius:16px;background:#fff;padding:15px;text-align:left;color:var(--navy)}.service-option.selected{border-color:var(--teal);background:var(--teal-soft);box-shadow:inset 0 0 0 1px var(--teal)}.service-option>i{width:37px;height:37px;display:grid;place-items:center;border-radius:11px;background:var(--mist);font-style:normal;font-weight:950}.service-option.selected>i{background:var(--teal);color:#fff}.service-option strong,.service-option span{display:block}.service-option strong{font-size:.75rem}.service-option span{margin-top:4px;color:var(--muted);font-size:.75rem;line-height:1.45}.service-option b{font-size:.75rem;white-space:nowrap}.addon-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.addon-card{position:relative;border:1px solid var(--line);border-radius:16px;background:#fff;padding:15px}.addon-card.selected{border-color:var(--gold);background:var(--gold-soft)}.addon-card h3{margin:0 70px 5px 0;font:700 .92rem var(--serif)}.addon-card p{margin:0;color:var(--muted);font-size:.75rem;line-height:1.45}.addon-card em{position:absolute;right:14px;top:14px;color:var(--teal);font-style:normal;font-size:.75rem;font-weight:950}.addon-card button{margin-top:12px;border:1px solid var(--line);border-radius:10px;background:var(--navy);color:#fff;padding:8px 10px;font-size:.75rem;font-weight:900}.addon-card.selected button{background:var(--teal);border-color:var(--teal)}.pay-choice{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pay-card{border:1px solid var(--line);border-radius:17px;background:#fff;padding:17px;text-align:left;color:var(--navy)}.pay-card.selected{border-color:var(--teal);background:var(--teal-soft);box-shadow:inset 0 0 0 1px var(--teal)}.pay-card i{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:var(--mist);font-style:normal;font-weight:950}.pay-card strong,.pay-card span{display:block}.pay-card strong{margin-top:12px;font:700 .94rem var(--serif)}.pay-card span{margin-top:5px;color:var(--muted);font-size:.75rem;line-height:1.45}.promo-row{display:flex;gap:8px;margin-top:12px}.promo-row input{flex:1;border:1px solid var(--line);border-radius:11px;padding:10px;font-size:.75rem}.promo-row button{border:0;border-radius:11px;background:var(--navy);color:#fff;padding:10px 14px;font-size:.75rem;font-weight:900}.price-stack{display:grid;gap:0}.price-line{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.75rem}.price-line span{color:var(--muted)}.price-line.total{border:0;padding-top:15px;font-size:.75rem;font-weight:950}.treatment-separate{margin-top:12px;padding:13px;border-radius:13px;background:var(--gold-soft);color:#715b31;font-size:.75rem;line-height:1.55}.legal-list{display:grid;gap:8px}.legal-item{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}.legal-item label{font-size:.75rem;line-height:1.45}.legal-item a{color:var(--teal);font-size:.75rem;font-weight:900}.provider-state{display:grid;gap:8px}.provider-row{display:grid;grid-template-columns:31px 1fr auto;gap:10px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:12px;background:#fff}.provider-row i{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:var(--mist);font-style:normal;font-size:.75rem;font-weight:950}.provider-row.running i{background:var(--gold-soft);color:#87621a}.provider-row.done i{background:var(--teal);color:#fff}.provider-row strong,.provider-row span{display:block}.provider-row strong{font-size:.75rem}.provider-row span{margin-top:3px;color:var(--muted);font-size:.75rem}.provider-row b{font-size:.75rem;color:var(--muted)}.provider-row.done b{color:var(--teal)}.booking-notice{margin-top:13px;padding:13px;border-left:3px solid var(--gold);background:var(--gold-soft);color:#725b30;font-size:.75rem;line-height:1.55}.journey-pass{display:grid;grid-template-columns:1.05fr .95fr;gap:14px}.pass-card{position:relative;overflow:hidden;border-radius:24px;background:linear-gradient(145deg,var(--navy),var(--navy2));color:#fff;padding:28px}.pass-card:after{content:"";position:absolute;right:-90px;bottom:-110px;width:280px;height:280px;border:38px solid rgba(103,200,189,.12);border-radius:50%}.pass-card>*{position:relative;z-index:1}.pass-card h2{margin:12px 0 7px;font:700 2.2rem/1 var(--serif)}.pass-card p{color:rgba(255,255,255,.7);font-size:.75rem;line-height:1.55}.pass-code{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.pass-code div{padding:11px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.06)}.pass-code small,.pass-code b{display:block}.pass-code small{color:var(--gold2);font-size:.75rem}.pass-code b{margin-top:5px;font-size:.75rem}.timeline-mini{display:grid;gap:8px}.timeline-mini div{display:grid;grid-template-columns:62px 1fr;gap:10px;padding:10px;border-left:2px solid var(--teal);background:#fff;border-radius:0 11px 11px 0}.timeline-mini time{color:var(--teal);font-size:.75rem;font-weight:950}.timeline-mini strong,.timeline-mini span{display:block}.timeline-mini strong{font-size:.75rem}.timeline-mini span{margin-top:3px;color:var(--muted);font-size:.75rem}.side-mobile-toggle{display:none}.simulation-label{display:inline-flex;margin-top:10px;padding:6px 8px;border-radius:999px;background:var(--gold-soft);color:#806121;font-size:.75rem;font-weight:950}.booking-shell .side-head small{color:var(--gold2)}
.pay-choice{grid-template-columns:repeat(4,1fr)}.corridor-wallet{margin-top:12px;padding:16px;border:1px solid rgba(11,136,125,.28);border-radius:16px;background:linear-gradient(135deg,#e8f6f3,#fff)}.corridor-wallet[hidden]{display:none}.wallet-balance{display:flex;justify-content:space-between;gap:15px;align-items:center}.wallet-balance small,.wallet-balance strong,.wallet-balance span{display:block}.wallet-balance small{color:var(--teal);font-size:.75rem;font-weight:950}.wallet-balance strong{margin-top:5px;font:700 1.35rem var(--serif)}.wallet-balance span{margin-top:4px;color:var(--muted);font-size:.75rem}.wallet-controls{display:flex;gap:7px;flex-wrap:wrap}.wallet-controls button{border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--navy);padding:9px 11px;font-size:.75rem;font-weight:900}.wallet-controls button:first-child{background:var(--teal);border-color:var(--teal);color:#fff}.wallet-rail-note{margin-top:12px;padding-top:10px;border-top:1px solid var(--line);color:var(--muted);font-size:.75rem;line-height:1.5}
@media(max-width:1050px){.booking-form-grid,.journey-pass{grid-template-columns:1fr}.booking-card.wide{grid-column:auto}.field-grid{grid-template-columns:repeat(2,1fr)}.pay-choice{grid-template-columns:1fr}.booking-shell .side{display:block;position:static}.side-mobile-toggle{display:block;width:100%;border:0;background:var(--navy);color:#fff;padding:12px;font-size:.75rem;font-weight:900}.booking-shell .side.collapsed .side-body,.booking-shell .side.collapsed .side-total{display:none}}
@media(max-width:700px){.field-grid,.addon-grid{grid-template-columns:1fr}.field-grid .span-2{grid-column:auto}.booking-card{padding:15px}.service-option{grid-template-columns:auto 1fr}.service-option>b{grid-column:2}.pass-code{grid-template-columns:1fr}.booking-shell .screen{min-height:auto}.footer-actions{flex-wrap:wrap}.simulation-skip{order:3;width:100%}}
.membership-card{border-color:rgba(11,136,125,.34)!important;background:linear-gradient(135deg,#fff,#eef8f5)!important}.membership-intro{margin:0 0 14px;color:#60788d;font-size:.75rem;line-height:1.6}.membership-action{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}.membership-action button{border:0;border-radius:11px;background:linear-gradient(135deg,#0b887d,#086b63);color:#fff;padding:11px 15px;font-size:.75rem;font-weight:900}.membership-action small{color:#60788d;font-size:.75rem}.membership-card.ready{border-color:#0b887d!important;box-shadow:inset 0 0 0 1px #0b887d}.simulation-overview{padding:24px!important;background:linear-gradient(135deg,#0e2942,#173d56)!important;color:#fff}.simulation-overview h2{margin:0;font:700 1.5rem Georgia,serif}.simulation-overview p{max-width:760px;color:rgba(255,255,255,.72);font-size:.75rem;line-height:1.65}.simulation-overview .verified-list{margin-top:18px}.simulation-overview .verified-row{border-color:rgba(255,255,255,.14)}.simulation-overview .verified-row span{color:rgba(255,255,255,.62)}.simulation-overview .verified-row b{color:#e3c476}
