/* Booking-only presentation layer. */
:root{--primary:#087f85;--primary-dark:#07676c;--primary-light:#e6f6f3;--dark:#17343c;--text:#233e46;--muted:#62777e;--border:#dce7e5;--bg:#f5f8f7;--radius:22px;--input-h:54px}
body{background:radial-gradient(ellipse at 0 15%,#e0f3ee 0,transparent 45%),radial-gradient(ellipse at 100% 40%,#ece7fa 0,transparent 40%),#f5f8f7;line-height:1.5}
.topbar{background:#ffffffed;border-bottom:1px solid #dce7e5;padding:16px max(24px,calc((100vw - 1040px)/2));box-shadow:none;backdrop-filter:blur(16px);gap:16px}.topbar-title{color:#17343c;font-size:15px;letter-spacing:-.04em}.topbar-sub{color:#62777e}.topbar-brand-wrap img{width:42px;height:42px;border:1px solid #e0e8e5}.topbar-back{color:#17343c;background:#f0f5f3;border:1px solid #dce7e5;border-radius:12px;padding:10px 14px;min-height:44px}.topbar-back:hover{background:#e0f3ee}
.progress-wrap{background:transparent;border-bottom:0;padding:24px 24px 0}.progress-inner{max-width:700px;gap:10px}.prog-step{border:0;border-radius:12px;background:#e8efed;padding:12px 8px;color:#71818a;font-size:11px;display:flex;flex-direction:column;align-items:center;gap:5px;line-height:1.3}.prog-num{width:28px;height:28px;margin-bottom:0;background:#fff;color:#62777e;font-size:12px}.prog-step.active{color:#07676c;background:#d9f0e8;box-shadow:inset 0 0 0 1px #a5d8c9}.prog-step.active .prog-num{background:#087f85}.prog-step.done{background:#e0f0e6;color:#276445}.prog-step.done .prog-num{background:#276445}
.booking-hero{max-width:1000px;margin:24px auto 0;width:calc(100% - 48px);background:linear-gradient(110deg,#17343c,#17565b);border:1px solid #24585c;border-radius:24px;padding:34px 28px;overflow:hidden;text-align:center}.booking-hero::after{content:'';position:absolute;right:-45px;top:-80px;width:250px;height:250px;border:40px solid #aee1bf12;border-radius:50%;pointer-events:none}.booking-hero h1{position:relative;z-index:1;font-size:clamp(26px,4vw,38px);font-weight:800;line-height:1.2;letter-spacing:-.045em;margin-bottom:10px}.booking-hero p{color:#d4e9e5;font-size:13px}.trip-meta{position:relative;z-index:1;gap:8px}.trip-meta-chip{padding:7px 12px;font-size:10px;border-radius:8px;background:#ffffff12;border:1px solid #ffffff25;color:#effbf5}
.main{max-width:720px;padding:26px 24px 40px;gap:20px}.card{border:1px solid #dce7e5;box-shadow:0 8px 28px #17343c06;border-radius:20px;overflow:hidden}.card-header{background:#fff;border-bottom:1px solid #edf1ef;padding:22px 24px;gap:14px}.card-header-icon{width:42px;height:42px;border-radius:13px;flex-shrink:0}.icon-blue{background:#e5f4f0;color:#087f85}.icon-emerald{background:#eee8fa;color:#6755a8}.card-header-title{font-size:16px;letter-spacing:-.025em;line-height:1.4;font-weight:800;color:#17343c}.card-header-sub{font-size:12px;line-height:1.6;margin-top:3px;color:#62777e}.card-body{padding:24px}.inp-wrap label{font-size:12px;font-weight:700;color:#36505a;margin-bottom:8px}.inp-wrap input,.inp-wrap select{font-size:16px;border:1px solid #ccdcd7;border-radius:12px;background:#fbfdfc;min-height:54px;padding:0 16px}.inp-wrap input::placeholder{font-size:14px;color:#86999e}.inp-wrap input:focus,.inp-wrap select:focus{border-color:#087f85;box-shadow:0 0 0 4px #087f8514;background:#fff}
.lead-btn,.submit-btn,.modal-btn{background:#087f85;color:#fff;border:0;border-radius:14px;min-height:54px;height:auto;padding:16px 20px;box-shadow:0 5px 12px #087f8518;font-size:14px;line-height:1.4;font-weight:800;gap:10px;width:100%}.lead-btn:hover,.submit-btn:hover,.modal-btn:hover{background:#07676c;box-shadow:0 8px 16px #087f8520;transform:translateY(-1px)}.lead-btn:disabled,.submit-btn:disabled{opacity:.55;cursor:wait}.btn-secondary{min-height:46px;height:auto;padding:12px 18px;border-radius:12px;background:transparent;color:#526b72;font-size:12px;line-height:1.5}.security-note{font-size:11px;color:#62777e;padding:8px 12px;text-align:center}
.counter-row{gap:16px;padding:0 0 20px;border-bottom:1px solid #edf1ef;margin-bottom:16px}.counter-title{font-size:14px;color:#17343c}.counter-sub{font-size:11px;line-height:1.6}.counter-ctrl{gap:12px;flex-shrink:0}.counter-btn{width:44px;height:44px;border-radius:12px;background:#f0f7f4;border-color:#c9dcd5;color:#087f85;font-size:20px}.room-grid{gap:12px}.room-card{border:1px solid #dce7e5;min-height:86px;padding:16px;border-radius:14px;gap:12px}.room-card.selected{background:#edf9f3;border:2px solid #087f85;box-shadow:none;padding:15px}.room-left{min-width:0;gap:12px}.room-name{font-size:14px;line-height:1.5}.room-desc{font-size:11px;line-height:1.6}.room-badge{font-size:10px;white-space:nowrap;border-radius:7px;padding:6px 9px;flex-shrink:0}.badge-base{background:#d1ebd8;color:#276445}.badge-extra{background:#eee8fa;color:#6755a8}.room-radio{width:20px;height:20px}.picker-month-tabs{gap:8px;padding-bottom:10px}.picker-tab-btn{min-height:44px;padding:10px 15px;border-radius:10px}.picker-cards-grid{gap:12px}.date-select-card{padding:16px;border-radius:14px;min-height:72px;gap:12px}.date-select-card.selected{background:#edf9f3;border-color:#087f85}
.bk-summary-line{gap:16px;padding:10px 0;font-size:13px;align-items:flex-start}.bk-summary-line>span:last-child{text-align:right;flex-shrink:0;font-weight:700;color:#17343c}.bk-summary-line.total{border-top:1px solid #dce7e5;padding-top:18px;margin-top:8px;font-size:17px}.pay-option{padding:18px 16px;border-radius:14px;border-width:1px;gap:12px}.pay-option.selected{border:2px solid #087f85;background:#edf9f3;padding:17px 15px;box-shadow:none}.pay-name{font-size:14px;line-height:1.5}.pay-desc{font-size:11px;line-height:1.7}.pay-icon{width:38px;height:38px}.qr-pay-box{background:#f6faf8;border:1px solid #dce7e5;border-radius:18px;padding:24px 18px}.qr-amount-badge{background:#17343c;box-shadow:none;border-radius:12px;font-size:24px}.qr-code-wrap{border:1px solid #dce7e5;box-shadow:none}.upi-id-row{gap:12px;padding:12px}.upi-id-val{font-size:12px;overflow-wrap:anywhere;text-align:left}.upi-copy-btn{min-height:44px;padding:9px 14px;border-radius:10px}.qr-app-chip{min-height:44px}.modal-box{border-radius:22px;max-height:90dvh;overflow:auto}.modal-overlay{padding:16px}.error-msg{line-height:1.6}
a:focus-visible,button:focus-visible,[role=button]:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ad87dc;outline-offset:3px}
@media(min-width:900px){#step-trip .main{max-width:1040px;display:grid;grid-template-columns:1fr 1fr;align-items:start}#step-trip .main>.card:nth-child(2){grid-column:2;grid-row:1 / span 2}#step-trip .main>.trip-actions{grid-column:1/-1}}
@media(max-width:600px){.topbar{padding:12px 16px;gap:8px}.topbar-title{font-size:12px}.topbar-sub{font-size:10px}.topbar-brand-wrap{gap:8px}.topbar-brand-wrap img{width:34px;height:34px}.topbar-back{font-size:11px;padding:9px 11px}.progress-wrap{padding:18px 16px 0}.progress-inner{gap:6px}.prog-step{font-size:9px;padding:10px 4px;border-radius:10px}.prog-num{width:25px;height:25px;font-size:10px}.booking-hero{width:calc(100% - 32px);margin-top:18px;padding:28px 18px;border-radius:18px}.booking-hero h1{font-size:27px}.booking-hero p{font-size:12px;line-height:1.7}.trip-meta-chip{font-size:9px;padding:6px 8px}.main{padding:20px 16px calc(28px + env(safe-area-inset-bottom));gap:16px}.card{border-radius:17px}.card-header{padding:18px;gap:11px}.card-header-icon{width:36px;height:36px}.card-header-title{font-size:15px}.card-body{padding:18px}.room-card{flex-wrap:wrap;gap:10px;padding:14px}.room-card.selected{padding:13px}.room-left{flex:1 1 190px}.room-badge{margin-left:32px}.counter-row{gap:10px}.counter-title{font-size:12px}.counter-sub{font-size:10px}.counter-ctrl{gap:8px}.pay-option{gap:9px;padding:14px 12px}.pay-option.selected{padding:13px 11px}.pay-name{font-size:12px}.pay-icon{width:32px;height:32px}.pay-radio{width:18px;height:18px}.bk-summary-line{font-size:12px;gap:10px}.bk-summary-line.total{font-size:15px}.qr-pay-box{padding:20px 12px}.qr-code-wrap img{max-width:100%;height:auto}.upi-id-row{padding:10px;gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media(min-width:900px){#step-trip .main>#travellersContainer{grid-column:1/-1}}
.qr-app-chip{cursor:pointer;font-family:inherit;color:inherit;min-height:48px;padding:10px 16px}.qr-app-chip:active{background:#e0f3ee}.upi-launch-status{font-size:12px;line-height:1.7;color:#36505a;margin:14px auto 6px;max-width:420px}

.security-note{display:flex;align-items:center;justify-content:center;gap:7px;line-height:1.5}.security-note svg{width:16px;height:16px;flex:0 0 16px;display:block;fill:none;stroke:currentColor;stroke-width:1.8}

