/* MoMPA — property "Book Now" sheet (2026-09-30). Same look as /book-visit + the quick-contact
   popup: #faf7ff card, #e0d5f5 chips → #6D3AA3 on #f0e9fb when selected, amber primary button. */
.bn-bg{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(28,16,41,.58);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:bnFade .2s ease}
@keyframes bnFade{from{opacity:0}to{opacity:1}}
@keyframes bnUp{from{transform:translateY(24px);opacity:.4}to{transform:none;opacity:1}}
.bn{position:relative;display:flex;overscroll-behavior:contain;flex-direction:column;width:100%;max-width:460px;max-height:calc(100% - 10px);background:#faf7ff;color:#241235;border-radius:24px;box-shadow:0 40px 90px -30px rgba(0,0,0,.7);font-family:inherit;overflow:hidden;animation:bnUp .28s cubic-bezier(.2,.8,.2,1)}
.bn *{box-sizing:border-box}
.bn-head{flex:none;display:flex;gap:12px;align-items:center;padding:16px 52px 13px 18px;background:#fff;border-bottom:1px solid rgba(111,74,158,.12)}
.bn-ic{flex:none;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#8b4fc4,#5b2a86);box-shadow:0 10px 20px -10px rgba(0,0,0,.45)}
.bn-ic svg{width:23px;height:23px}
.bn-head b{display:block;font-size:17px;font-weight:var(--fw-800,800);line-height:1.25}
.bn-head small{display:block;margin-top:2px;font-size:12.5px;color:#6b5f80;line-height:1.35}
.bn-x{position:absolute;top:10px;right:10px;width:44px;height:44px;border:0;border-radius:50%;background:#f4eefa;color:#5b2a86;font-size:22px;line-height:1;cursor:pointer;z-index:2}
.bn-body{flex:1 1 auto;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:14px 18px 16px;margin:0}
.bn-f{margin-bottom:10px}
.bn-in{display:block;width:100%;height:48px;padding:0 14px;border:1.5px solid #e0d5f5;border-radius:12px;background:#fff;color:#241235;font:inherit;font-size:16px;outline:none;-webkit-appearance:none;appearance:none}
.bn-in:focus{border-color:#6D3AA3;box-shadow:0 0 0 3px rgba(109,58,163,.12)}
.bn-in.bad{border-color:#d23b3b;background:#fff5f5}.bn-in.ok{border-color:#3fae72}
.bn-h{margin:6px 2px 0;font-size:12px;font-weight:600;line-height:1.35;color:#6b5f80}.bn-h.ok{color:#177245}.bn-h.bad{color:#d23b3b}.bn-h:empty{display:none}
.bn-known{display:flex;align-items:center;gap:11px;margin-bottom:10px;padding:11px 12px;border:1px solid #e6dcf5;border-radius:16px;background:linear-gradient(180deg,#fff,#f8f4ff)}
.bn-known[hidden],.bn-who[hidden],.bn-scope[hidden],.bn-bedwrap[hidden],.bn-info[hidden],.bn-sum[hidden]{display:none}
.bn-ava{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-weight:var(--fw-800,800);color:#fff;background:linear-gradient(135deg,#8b4fc4,#5b2a86)}
.bn-kid{flex:1;min-width:0}.bn-kid b{display:block;font-size:15px;font-weight:var(--fw-800,800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bn-kid small{display:block;font-size:12px;color:#7a6e8e}
.bn-notme{flex:none;min-height:44px;padding:0 6px;border:0;background:none;font:inherit;font-size:13px;font-weight:var(--fw-700,700);color:#6f4a9e;text-decoration:underline;cursor:pointer}
.bn-lbl{margin:14px 2px 7px;font-size:13px;font-weight:var(--fw-700,700);color:#241235}
.bn-rooms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border-radius:14px}
.bn-room{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:10px 11px;border:1.5px solid #e0d5f5;border-radius:13px;background:#fff;font:inherit;color:#241235;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}
.bn-room b{font-size:14px;font-weight:var(--fw-800,800)}.bn-room span{font-size:12px;color:#7a6e8e}
.bn-room em{font-style:normal;font-size:13px;font-weight:var(--fw-800,800);color:#5b2a86;margin-top:3px}.bn-room i{font-style:normal;font-size:11px;font-weight:var(--fw-700,700);color:#177245}
.bn-room.sel{border-color:#6D3AA3;box-shadow:0 0 0 1px #6D3AA3 inset}   /* v71: the room you are looking at — tint only once something in it is selected (.has) */
.bn-scope{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.bn-scope button{min-height:46px;border:1.5px solid #e0d5f5;border-radius:12px;background:#fff;font:inherit;font-size:13px;font-weight:var(--fw-700,700);color:#241235;cursor:pointer}
.bn-scope button.sel{border-color:#6D3AA3;background:#f0e9fb;color:#6D3AA3}
.bn-beds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;border-radius:14px}
.bn-bed{display:flex;flex-direction:column;align-items:center;gap:2px;padding:9px 4px;border:1.5px solid #e0d5f5;border-radius:12px;background:#fff;font:inherit;color:#241235;cursor:pointer}
.bn-bed svg{width:20px;height:20px;color:#6D3AA3}.bn-bed b{font-size:13.5px;font-weight:var(--fw-800,800)}.bn-bed small{font-size:11px;font-weight:var(--fw-700,700);color:#177245}
.bn-bed[disabled]{opacity:.5;cursor:not-allowed;background:#f6f3fa}.bn-bed[disabled] small{color:#b0435a}.bn-bed[disabled] svg{color:#9a8fb0}
.bn-bed.sel{border-color:#6D3AA3;background:#f0e9fb;box-shadow:0 0 0 1px #6D3AA3 inset}
.bn-info{margin:10px 2px 0;padding:9px 11px;border-radius:11px;background:#fff8e8;border:1px solid #f3dfae;font-size:12.5px;font-weight:600;color:#7a5200;line-height:1.45}
.bn-dates{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:8px;border-radius:14px}
.bn-dates>button,.bn-date{height:46px;border:1.5px solid #e0d5f5;border-radius:12px;background:#fff;font:inherit;font-size:13.5px;font-weight:var(--fw-700,700);color:#241235;cursor:pointer}
.bn-dates>button.sel,.bn-date.sel{border-color:#6D3AA3;background:#f0e9fb;color:#6D3AA3}
.bn-date{position:relative;display:flex;align-items:center;gap:6px;padding:0 8px;overflow:hidden}
.bn-date svg{flex:none;width:17px;height:17px;color:#6D3AA3}
.bn-date input{flex:1;min-width:0;height:100%;border:0;background:transparent;font:inherit;font-size:16px;font-weight:var(--fw-700,700);color:inherit;outline:none;-webkit-appearance:none;appearance:none}
.bn-rooms.bad,.bn-beds.bad,.bn-dates.bad{box-shadow:0 0 0 2px #e7a1a1}
.bn-sum{margin-top:14px;padding:4px 12px;border-radius:14px;background:#fff;border:1px solid #e6dcf5}
.bn-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px dashed #ece3fb;font-size:13.5px}
.bn-row:last-child{border-bottom:0}
.bn-row span{min-width:0;color:#3d2f55}.bn-row span small{display:block;font-size:11.5px;color:#6b5f80;margin-top:1px}
.bn-row>b{flex:none;font-weight:var(--fw-800,800);white-space:nowrap}
.bn-row.tot{border-bottom-style:solid;border-bottom-color:#e0d5f5}.bn-row.tot span,.bn-row.tot b{font-size:15px;font-weight:var(--fw-800,800);color:#241235}
.bn-row.bk b{color:#8a5300}.bn-row.mute span,.bn-row.mute b{font-size:12.5px;color:#6b5f80;font-weight:600}
.bn-row.nx span{font-size:12.5px;color:#5b2a86;font-weight:600}.bn-row.nx span b{font-weight:var(--fw-800,800)}
.bn-err{margin:10px 0 0;font-size:12.5px;font-weight:var(--fw-700,700);color:#d23b3b}.bn-err:empty{display:none}
.bn-note{display:flex;gap:7px;align-items:flex-start;margin:12px 2px 0;font-size:12px;line-height:1.45;color:#6b5f80}.bn-note svg{flex:none;width:13px;height:13px;margin-top:1px;color:#C79A3C}
.bn-foot{flex:none;display:flex;align-items:center;gap:10px;padding:11px 14px calc(11px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid rgba(111,74,158,.14);box-shadow:0 -12px 24px -20px rgba(36,18,53,.45)}
.bn-amt{flex:1;min-width:0}.bn-amt small{display:block;font-size:12px;color:#6b5f80;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bn-amt b{display:block;font-size:19px;font-weight:var(--fw-800,800);color:#241235;line-height:1.2}.bn-amt b span{font-size:12px;font-weight:var(--fw-700,700);color:#7a6e8e}
.bn-amt i{display:inline-block;max-width:100%;margin-top:2px;padding:1px 7px;border-radius:999px;background:#fff4e0;font-style:normal;font-size:11px;font-weight:var(--fw-800,800);color:#9a5b00;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:top}
.bn-go{flex:none;min-width:132px;height:50px;padding:0 20px;border:0;border-radius:14px;background:#F59E0B;color:#241235;font:inherit;font-size:14.5px;font-weight:var(--fw-800,800);cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 12px 24px -14px rgba(224,138,11,.8)}
.bn-go[disabled]{opacity:.7;cursor:default}.bn-go:active{transform:scale(.985)}
.bn-done{text-align:center;padding:6px 0 4px}
.bn-tick{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#2bd46a,#179c4b);color:#fff;box-shadow:0 14px 26px -14px rgba(23,156,75,.8)}
.bn-tick svg{width:28px;height:28px}
.bn-done>b{display:block;margin-top:10px;font-size:18px;font-weight:var(--fw-800,800)}
.bn-done>small{display:block;margin-top:3px;font-size:12.5px;color:#7a6e8e}
.bn-done .bn-sum{text-align:left}
.bn-done-p{margin:12px 4px 0;font-size:12.5px;color:#5a4d70;line-height:1.5}
.bn-wa,.bn-dash{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;height:48px;padding:0 8px;border-radius:14px;font-size:14px;font-weight:var(--fw-800,800);text-decoration:none;white-space:nowrap}
.bn-wa{flex:1.4}
.bn-wa{background:linear-gradient(135deg,#2bd46a,#179c4b);color:#fff}.bn-wa svg{width:18px;height:18px}
.bn-dash{background:#ece3fb;color:#5b2a86}
@media(max-width:560px){.bn-bg{align-items:flex-end;padding:10px 0 0}.bn{max-width:none;max-height:94%;border-radius:22px 22px 0 0}}
@media(max-width:374px){.bn-go{min-width:104px;padding:0 12px;font-size:13.5px}.bn-amt b{font-size:17px}.bn-dates{grid-template-columns:1fr 1fr}.bn-date{grid-column:1/-1}}

/* audit 2026-09-30 */
.bn-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}
.bn-room,.bn-bed{min-height:48px}
.bn :focus-visible{outline:3px solid #6D3AA3;outline-offset:2px}
/* Landscape phones: give the form the height (keyboard + head + footer would otherwise hide inputs). */
@media (max-height:500px){
  .bn-bg{align-items:stretch;padding:0}
  .bn{max-height:100%;height:100%;border-radius:0;max-width:none}
  .bn-head{padding:8px 56px 8px 14px}.bn-ic,.bn-head small{display:none}
  .bn-foot{padding:6px 12px calc(6px + env(safe-area-inset-bottom,0px))}.bn-go{height:44px}
  .bn-amt i{display:none}
}
/* Email verification (4-digit OTP) + offer row — 2026-09-30 */
.bn-ev{margin-top:8px}.bn-ev[hidden],.bn-ev-code[hidden],.bn-ev-done[hidden],.bn-ev-send[hidden]{display:none}
.bn-ev-send{min-height:44px;padding:0 14px;border:1.5px solid #6D3AA3;border-radius:12px;background:#fff;color:#6D3AA3;font:inherit;font-size:14px;font-weight:var(--fw-800,800);cursor:pointer}
.bn-ev-show{margin:4px 2px 8px;font-size:13px;color:#4b3d63}.bn-ev-show b{font-size:18px;letter-spacing:3px;color:#241235}
.bn-ev-row{display:flex;gap:8px}.bn-ev-in{flex:1;letter-spacing:6px;text-align:center;font-weight:var(--fw-800,800)}
.bn-ev-ok{flex:none;min-width:96px;min-height:48px;border:0;border-radius:12px;background:#6D3AA3;color:#fff;font:inherit;font-size:14px;font-weight:var(--fw-800,800);cursor:pointer}
.bn-ev-done{display:flex;align-items:center;gap:8px;margin:6px 2px 0;font-size:13px;font-weight:var(--fw-800,800);color:#177245}
.bn-ev-chg{min-height:44px;border:0;background:none;font:inherit;font-size:13px;font-weight:var(--fw-700,700);color:#6f4a9e;text-decoration:underline;cursor:pointer}
.bn-in[readonly]{background:#f6f3fa;color:#4b3d63}
.bn-row.of span small{color:#177245;font-weight:var(--fw-700,700)}
.bn-ev-re{min-height:44px;margin-top:4px;padding:0 2px;border:0;background:none;font:inherit;font-size:12.5px;font-weight:var(--fw-700,700);color:#6f4a9e;text-decoration:underline;cursor:pointer;text-align:left}
.bn-ev-in::placeholder{letter-spacing:normal;font-weight:600}
/* 2026-10-01 booking hold + payment */
.bn-win{margin:2px 0 8px;padding:8px 11px;border-radius:10px;background:#eef8f2;border:1px solid #cdebd9;color:#16683f;font-size:12.5px;font-weight:var(--fw-700,700);line-height:1.45}
.bn-dates [data-d][hidden]{display:none}
.bn-hold{margin:12px 0 0;padding:10px 12px;border-radius:12px;background:#fff8e8;border:1px solid #f3dfae;text-align:left;font-size:12.8px;line-height:1.5;color:#5a3d00}
.bn-hold p{margin:0}.bn-hold .bn-nr{margin-top:6px;color:#8a3a00}
.bn-terms{display:flex;gap:9px;align-items:flex-start;margin:12px 0 0;text-align:left;font-size:13px;font-weight:var(--fw-700,700);color:#241235;cursor:pointer}
.bn-terms input{width:22px;height:22px;flex:none;margin:0;accent-color:#6D3AA3}
.bn-tl{margin:6px 0 0 30px;padding:0;text-align:left;font-size:11.8px;color:#5f5376;line-height:1.5}
.bn-foot.done{flex-direction:column;align-items:stretch;gap:8px}
.bn-foot.done .bn-pay{width:100%;flex:none}
.bn-foot2{display:flex;gap:8px}
.bn-pay[disabled]{opacity:.55;cursor:not-allowed}
/* 2026-10-01 multi-unit selection */
.bn-tip{margin:6px 0 0;font-size:11.8px;color:#7a6e8e}
.bn-selw{margin-top:8px}
.bn-sel{display:flex;flex-wrap:wrap;gap:6px}
.bn-chip{display:inline-flex;align-items:center;gap:4px;padding:5px 4px 5px 10px;border-radius:999px;background:#f0e9fb;color:#5b2a86;font-size:12.5px;font-weight:var(--fw-800,800)}
.bn-chip button{width:28px;height:28px;border:0;border-radius:50%;background:#fff;color:#5b2a86;font-size:17px;line-height:1;cursor:pointer}
/* v71: a room with something selected looks exactly like a selected bed (tint + border) with green "Selected ✓" */
.bn-room.has{border-color:#6D3AA3;background:#f0e9fb;box-shadow:0 0 0 1px #6D3AA3 inset}
.bn-room .bn-cnt{background:none;color:#177245;font-style:normal;font-weight:var(--fw-800,800);margin-top:2px}
.bn-win.bad{background:#fff5f5;border-color:#f1c4c4;color:#b42323}
/* 2026-10-01 OTP shown on Book Now tap — alert line right under the field */
.bn-ev-alert{margin:6px 2px 6px;padding:8px 10px;border-radius:10px;font-size:12.5px;font-weight:var(--fw-700,700);line-height:1.4;background:#f4eefa;color:#4b3d63}
.bn-ev-alert.warn{background:#fff6e5;color:#7a4b00;border:1px solid #f3dfae}
.bn-ev-alert.bad{background:#fff5f5;color:#b42323;border:1px solid #f1c4c4}
.bn-ev-alert[hidden]{display:none}

html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
/* v79 Short Stay phase 2 — day-wise: check-out chips reuse .bn-dates; add-on services as premium cards */
.bn-lbl small{font-weight:600;color:#8a7d9e;font-size:11.5px;margin-left:4px}
.bn-outs>button[hidden]{display:none}
.bn-outs>button{line-height:1.15;padding:0 6px}.bn-outs>button small{display:block;font-size:11px;font-weight:600;opacity:.8}
/* v89 "Customise your stay" — Welcome-grade section cards + one popup per section (plum / gold, Fraunces) */
.cz{margin-top:16px;padding:14px 12px 12px;border-radius:20px;background:linear-gradient(160deg,#46143C 0%,#5b2a86 62%,#6D3AA3 100%);box-shadow:0 22px 40px -26px rgba(70,20,60,.85)}
.cz-h{padding:0 4px 10px}.cz-h b{display:block;font-family:Fraunces,Georgia,serif;font-size:18px;font-weight:700;color:#fff;letter-spacing:.2px}
.cz-h small{display:block;margin-top:2px;font-size:12px;color:#e9dcf8}
.cz-card{display:flex;align-items:center;gap:11px;width:100%;margin-top:8px;padding:11px 11px;border:1px solid rgba(199,154,60,.28);border-radius:16px;background:#fff;font:inherit;color:#241235;text-align:left;cursor:pointer;transition:transform .15s,box-shadow .15s;-webkit-tap-highlight-color:transparent}
.cz-card:hover{box-shadow:0 10px 22px -14px rgba(0,0,0,.5)}.cz-card:active{transform:scale(.985)}
.cz-card.warn{border-color:#C79A3C;box-shadow:0 0 0 2px rgba(199,154,60,.55)}
.cz-ic{flex:none;width:40px;height:40px;border-radius:13px;display:grid;place-items:center;color:#5b2a86;background:linear-gradient(140deg,#f6efff,#efe2ff)}
.cz-ic svg{width:21px;height:21px}
.cz-b{flex:1;min-width:0}.cz-b b{display:block;font-family:Fraunces,Georgia,serif;font-size:15px;font-weight:700;color:#46143C}
.cz-b small{display:block;margin-top:1px;font-size:12px;line-height:1.35;color:#6b5f80;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.cz-card.warn .cz-b small{color:#9a5b00;font-weight:700}
.cz-r{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.cz-r em{font-style:normal;font-size:12.5px;font-weight:800;color:#177245;white-space:nowrap}
.cz-r i{font-style:normal;padding:5px 11px;border-radius:999px;background:linear-gradient(135deg,#d7b25e,#C79A3C);color:#3b2400;font-size:11.5px;font-weight:800;white-space:nowrap}
.bn-row.warn span{font-size:12.5px;font-weight:700;color:#a3361f}
.bn-amt i.bn-upd{background:#f0e9fb;color:#6D3AA3}.bn-amt i.bad{background:#fdecea;color:#a3361f}
/* the popup — covers the sheet; a bottom sheet on phones */
.cz-ov{position:fixed;inset:0;z-index:9001;display:flex;align-items:flex-end;justify-content:center;background:rgba(28,16,41,.5);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:bnFade .18s ease}
.cz-ov[hidden]{display:none}
.cz-pop{display:flex;flex-direction:column;width:100%;max-height:92%;background:#faf7ff;border-radius:22px 22px 0 0;overflow:hidden;animation:bnUp .24s cubic-bezier(.2,.8,.2,1)}
.cz-ph{position:relative;flex:none;padding:16px 56px 12px 18px;background:linear-gradient(135deg,#46143C,#6D3AA3);color:#fff}
.cz-ph b{display:block;font-family:Fraunces,Georgia,serif;font-size:19px;font-weight:700}.cz-ph small{display:block;margin-top:3px;font-size:12px;line-height:1.4;color:#eadcfb}
.cz-x{position:absolute;top:10px;right:10px;width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;font-size:22px;line-height:1;cursor:pointer}
.cz-pb{flex:1 1 auto;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:12px 16px 16px}
.cz-pf{flex:none;display:flex;align-items:center;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid rgba(111,74,158,.14)}
.cz-pf span{flex:1;min-width:0}.cz-pf small{display:block;font-size:11.5px;font-weight:600;color:#6b5f80}.cz-pf b{font-size:19px;font-weight:800;color:#241235}.cz-pf b i{font-style:normal;font-size:12px;color:#7a6e8e}
.cz-done{min-width:132px;min-height:48px;padding:0 20px;border:0;border-radius:14px;background:linear-gradient(135deg,#d7b25e,#C79A3C);color:#2c1a00;font:inherit;font-size:15px;font-weight:800;cursor:pointer;box-shadow:0 12px 22px -14px rgba(120,80,0,.9)}
.cz-l{display:block;margin:14px 2px 7px;font-size:12px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:#6f4a9e}
.cz-p{margin:2px 2px 10px;font-size:13px;line-height:1.5;color:#3d2f55}.cz-n{margin:0 2px 6px;font-size:12px;color:#6b5f80}
.cz-chips{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.cz-ch{display:inline-flex;align-items:center;gap:6px;min-height:42px;padding:0 13px;border:1.5px solid #e0d5f5;border-radius:999px;background:#fff;font:inherit;font-size:13px;font-weight:700;color:#241235;cursor:pointer}
.cz-ch svg{width:0;height:14px;transition:width .15s}.cz-ch.on{border-color:#6D3AA3;background:#f0e9fb;color:#5b2a86}.cz-ch.on svg{width:14px}
.cz-ch:disabled{opacity:.38;cursor:not-allowed}
.cz-age{width:84px;height:42px;padding:0 10px;border:1.5px solid #e0d5f5;border-radius:12px;font:inherit;font-size:15px;background:#fff;color:#241235}
.cz-stp{display:flex;align-items:center;gap:6px;margin-top:6px;padding:8px 8px 8px 14px;border:1px solid #eadff8;border-radius:16px;background:#fff}
.cz-stp>span{flex:1;min-width:0}.cz-stp>span b{display:block;font-size:14px;font-weight:800;color:#241235}.cz-stp>span small{display:block;font-size:11.5px;color:#6b5f80}
.cz-stp>button{flex:none;width:42px;height:42px;border:1.5px solid #e0d5f5;border-radius:12px;background:#faf7ff;font:inherit;font-size:20px;font-weight:800;color:#6D3AA3;cursor:pointer}.cz-stp>button:disabled{opacity:.35;cursor:default}
.cz-stp>b{min-width:58px;text-align:center;font-size:15px;font-weight:800;color:#46143C}
.cz-g{margin-top:10px;padding:10px 12px 12px;border:1px solid #eadff8;border-radius:16px;background:#fff}.cz-g.bad{border-color:#C79A3C;box-shadow:0 0 0 1px rgba(199,154,60,.5)}
.cz-gh{display:flex;justify-content:space-between;align-items:center}.cz-gh b{font-family:Fraunces,Georgia,serif;font-size:15px;color:#46143C}.cz-gh em{font-style:normal;font-size:10.5px;font-weight:800;letter-spacing:.5px;color:#9a5b00}
.cz-g .cz-l{margin-top:9px}
.cz-grp{margin-top:12px}.cz-gt{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0 2px 7px}.cz-gt b{font-family:Fraunces,Georgia,serif;font-size:15px;color:#46143C}
.cz-gt em{font-style:normal;font-size:11.5px;font-weight:700;color:#6b5f80}.cz-gt em.inc{color:#177245}
.cz-mit{display:flex;align-items:center;gap:10px;width:100%;margin-top:7px;padding:11px 12px;border:1.5px solid #eadff8;border-radius:14px;background:#fff;font:inherit;color:#241235;text-align:left;cursor:pointer}
.cz-mit.on{border-color:#6D3AA3;background:#f7f1ff}
.cz-mck{flex:none;width:22px;height:22px;border:2px solid #cdbbe8;border-radius:7px;display:grid;place-items:center;color:#fff}.cz-mck svg{width:14px;height:14px;opacity:0}
.cz-mck.rd{border-radius:50%}.cz-mck.rd i{width:10px;height:10px;border-radius:50%;background:#fff}
.cz-mit.on .cz-mck,.cz-puh[aria-pressed=true] .cz-rdo{border-color:#6D3AA3;background:#6D3AA3}.cz-mit.on .cz-mck svg{opacity:1}
.cz-mb{flex:1;min-width:0}.cz-mb b{display:block;font-size:14px;font-weight:800}.cz-mb small{display:block;margin-top:1px;font-size:12px;color:#6b5f80;line-height:1.35}
.cz-mp{flex:none;text-align:right;font-size:13px;font-weight:800;color:#8a5300;white-space:nowrap}.cz-mp i{display:block;font-style:normal;font-size:10.5px;font-weight:700;color:#7a6e8e}
.cz-sum{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;padding:12px 14px;border-radius:14px;background:linear-gradient(135deg,#fff8e8,#fdf0d2);border:1px solid #f0d9a4}
.cz-sum span{font-size:13.5px;font-weight:800;color:#46143C}.cz-sum small{display:block;font-size:11.5px;font-weight:600;color:#7a5200}.cz-sum b{font-size:16px;font-weight:800;color:#46143C;white-space:nowrap}
.cz-pu{margin-top:8px;border:1.5px solid #eadff8;border-radius:16px;background:#fff;overflow:hidden}.cz-pu.on{border-color:#6D3AA3}
.cz-puh{display:flex;align-items:center;gap:10px;width:100%;padding:12px;border:0;background:none;font:inherit;color:#241235;text-align:left;cursor:pointer}
.cz-rdo{flex:none;width:22px;height:22px;border:2px solid #cdbbe8;border-radius:50%;display:grid;place-items:center}.cz-rdo i{width:9px;height:9px;border-radius:50%;background:#fff}
.cz-pp{flex:none;text-align:right;font-size:13.5px;font-weight:800;color:#5b2a86;white-space:nowrap}.cz-pp em{display:block;font-style:normal;font-size:10px;letter-spacing:.5px;text-transform:uppercase;color:#8a7d9e}
.cz-vrow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 12px 12px}
.cz-cvb .cz-vrow{padding:0}
.cz-v{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;border:1.5px solid #e0d5f5;border-radius:14px;background:#fff;font:inherit;color:#241235;cursor:pointer}
.cz-v i{font-style:normal;font-size:12px;font-weight:700;color:#6b5f80}.cz-v b{font-size:13.5px;font-weight:800;color:#241235}.cz-v small{font-size:10.5px;color:#7a6e8e}
.cz-v.on{border-color:#6D3AA3;background:#f7f1ff;box-shadow:0 0 0 1px #6D3AA3 inset}.cz-v:disabled{opacity:.42;cursor:not-allowed;background:#f6f3fa}
.cz-vi{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;color:#6D3AA3;background:#f3ecfd}.cz-vi svg{width:21px;height:21px}
.cz-vt{position:absolute;top:6px;right:6px;width:18px;height:18px;border-radius:50%;display:none;place-items:center;background:#6D3AA3;color:#fff}.cz-vt svg{width:11px;height:11px}.cz-v.on .cz-vt{display:grid}
.cz-none{width:100%;min-height:44px;margin-top:8px;border:1.5px dashed #cdbbe8;border-radius:14px;background:none;font:inherit;font-size:13px;font-weight:700;color:#6b5f80;cursor:pointer}.cz-none.on{border-style:solid;border-color:#6D3AA3;color:#5b2a86;background:#f7f1ff}
.cz-trow{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cz-trow label{display:flex;flex-direction:column;gap:3px;padding:7px 10px;border:1.5px solid #e0d5f5;border-radius:12px;background:#fff}
.cz-trow i{font-style:normal;font-size:11px;font-weight:800;color:#6f4a9e;text-transform:uppercase;letter-spacing:.4px}
.cz-trow input{width:100%;min-width:0;border:0;padding:0;background:none;font:inherit;font-size:16px;font-weight:700;color:#241235;outline:none}
.cz-trow+.cz-chips{margin-top:8px}
.cz-note{display:flex;gap:7px;align-items:flex-start;margin:10px 2px 0;font-size:12px;line-height:1.45;color:#6b5f80}.cz-note svg{flex:none;width:15px;height:15px;margin-top:1px;color:#C79A3C}
.cz-cv{margin-top:8px;border:1.5px solid #eadff8;border-radius:16px;background:#fff;overflow:hidden}.cz-cv.on{border-color:#6D3AA3}
.cz-cvh{display:flex;align-items:center;gap:10px;width:100%;padding:11px 12px;border:0;background:none;font:inherit;color:#241235;text-align:left;cursor:pointer}
.cz-cvh em{flex:none;font-style:normal;font-size:13px;font-weight:800;color:#5b2a86}
.cz-ck{flex:none;width:24px;height:24px;border-radius:50%;border:2px solid #cdbbe8;display:grid;place-items:center;color:#fff}.cz-ck svg{width:13px;height:13px;opacity:0}
.cz-cvh.on .cz-ck{background:#177245;border-color:#177245}.cz-cvh.on .cz-ck svg{opacity:1}
.cz-cvb{padding:0 12px 12px;border-top:1px dashed #ece3fb}
.cz-two{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cz-w{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-height:52px;padding:8px 12px;border:1.5px solid #e0d5f5;border-radius:14px;background:#fff;font:inherit;color:#241235;text-align:left;cursor:pointer}
.cz-w b{font-size:13.5px;font-weight:800}.cz-w small{font-size:11.5px;color:#6b5f80}.cz-w.on{border-color:#6D3AA3;background:#f7f1ff}.cz-w.on b{color:#5b2a86}
.cz-tog{display:flex;align-items:center;gap:11px;width:100%;margin-top:14px;padding:12px 14px;border:1.5px solid #e0d5f5;border-radius:16px;background:#fff;font:inherit;color:#241235;text-align:left;cursor:pointer}
.cz-tog>svg{flex:none;width:24px;height:24px;padding:4px;border-radius:50%;border:2px solid #cdbbe8;color:transparent}
.cz-tog span{flex:1;min-width:0}.cz-tog b{display:block;font-size:14px;font-weight:800}.cz-tog small{display:block;font-size:12px;color:#6b5f80}.cz-tog em{flex:none;font-style:normal;font-size:13.5px;font-weight:800;color:#8a5300}
.cz-tog.on{border-color:#177245;background:#eefaf3}.cz-tog.on>svg{background:#177245;border-color:#177245;color:#fff}.cz-tog.on em{color:#177245}
.cz-dl{margin:4px 0 0;display:grid;gap:6px}.cz-dl div{display:flex;justify-content:space-between;gap:12px;padding:9px 12px;border-radius:12px;background:#fff;border:1px solid #eadff8}
.cz-dl dt{font-size:12.5px;font-weight:700;color:#6b5f80}.cz-dl dd{margin:0;text-align:right;font-size:13px;font-weight:800;color:#241235}
.cz-ul{margin:6px 0 0;padding:0;list-style:none;display:grid;gap:5px}.cz-ul li{position:relative;padding-left:20px;font-size:13px;line-height:1.45;color:#3d2f55}
.cz-ul li::before{content:"";position:absolute;left:4px;top:7px;width:7px;height:7px;border-radius:50%;background:#C79A3C}
@media(min-width:561px){.cz-ov{align-items:center;padding:18px}.cz-pop{max-width:460px;border-radius:22px;max-height:calc(100% - 36px)}}
.bn-amt b.bn-ld{color:#b9a9d3;letter-spacing:2px}
.bn-date input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:auto;height:auto;margin:0;opacity:0;cursor:pointer}   /* v79: the whole box opens the calendar; the purple icon is the hint */
/* v80 Short Stay phase 3 — hourly: start-time and hours chips */
.bn-tms{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;border-radius:14px}
.bn-tms>button{min-height:44px;padding:4px 2px;border:1.5px solid #e0d5f5;border-radius:12px;background:#fff;font:inherit;font-size:13px;font-weight:var(--fw-700,700);color:#241235;cursor:pointer;line-height:1.15}
.bn-tms>button small{display:block;font-size:10.5px;font-weight:600;color:#7a6e8e}
.bn-tms>button.sel{border-color:#6D3AA3;background:#f0e9fb;color:#6D3AA3}.bn-tms>button.sel small{color:#6D3AA3}
.bn-tms>button:disabled{opacity:.38;cursor:default}
.bn-tms.bad{box-shadow:0 0 0 2px #e7a1a1}
.bn-tmx{grid-column:1/-1;margin:0;padding:11px 12px;border-radius:12px;background:#fff8e8;border:1px solid #f3dfae;color:#7a5200;font-size:12.5px;font-weight:var(--fw-700,700)}
@media(min-width:600px){.bn-tms{grid-template-columns:repeat(6,minmax(0,1fr))}}

/* ===== v99 cross-device (2026-10-04) — same proportions on every phone; nothing clipped or hidden =====
   390px is the reference: below it sizes scale down with the width (clamp/vw), at 390+ they are unchanged. */
.bn-date input{width:100%;max-width:100%}
.bn-date input::-webkit-date-and-time-value{text-align:left;margin:0}          /* iOS centres the value and lets it push the box wider */
.cz-trow{grid-template-columns:repeat(2,minmax(0,1fr))}                         /* was 1fr 1fr: the native date / time input's intrinsic width pushed TIME off-screen at 280-320px */
.cz-trow label{min-width:0;gap:1px;padding:5px 10px 4px;overflow:hidden}
.cz-trow input{display:block;min-width:0;max-width:100%;height:24px;font-size:16px;line-height:24px;-webkit-appearance:none;appearance:none}   /* 16px = no iOS zoom; box stays ~46px */
.cz-trow input::-webkit-date-and-time-value{text-align:left;margin:0}
.cz-trow .dfx-w{min-width:0;max-width:100%}
.cz-x{width:44px;height:44px;top:8px;right:8px}
.cz-stp>button{width:44px;height:44px}
.cz-ch{min-height:44px}
.cz-age{height:44px;font-size:16px}
.bn-chip button{position:relative}
.bn-chip button::after{content:"";position:absolute;inset:-8px}                /* 44px touch area, same 28px look */
@media (max-width:389px){
  .bn-head{gap:clamp(8px,3.1vw,12px);padding:clamp(12px,4.1vw,16px) 52px clamp(10px,3.3vw,13px) clamp(12px,4.6vw,18px)}
  .bn-ic{width:clamp(36px,11.3vw,44px);height:clamp(36px,11.3vw,44px);border-radius:clamp(11px,3.6vw,14px)}
  .bn-head b{font-size:clamp(15px,4.36vw,17px)}
  .bn-head small{font-size:clamp(11.5px,3.2vw,12.5px)}
  .bn-body{padding:clamp(10px,3.6vw,14px) clamp(12px,4.6vw,18px) 16px}
  .bn-foot{gap:clamp(8px,2.6vw,10px);padding-left:clamp(10px,3.6vw,14px);padding-right:clamp(10px,3.6vw,14px)}
  .bn-amt i{white-space:normal;line-height:1.3;border-radius:8px}                /* "Booking ₹300 to confirm" no longer cut to "to con…" */
  .cz{padding:clamp(11px,3.6vw,14px) clamp(8px,3.1vw,12px) clamp(9px,3.1vw,12px);border-radius:clamp(16px,5.1vw,20px)}
  .cz-h b{font-size:clamp(16px,4.6vw,18px)}
  .cz-card{gap:clamp(8px,2.8vw,11px);padding:clamp(9px,2.8vw,11px)}
  .cz-ic{width:clamp(32px,10.3vw,40px);height:clamp(32px,10.3vw,40px);border-radius:clamp(10px,3.3vw,13px)}
  .cz-ic svg{width:clamp(17px,5.4vw,21px);height:clamp(17px,5.4vw,21px)}
  .cz-b b{font-size:clamp(13.5px,3.85vw,15px);line-height:1.25}
  .cz-r i{padding:5px clamp(8px,2.8vw,11px)}
  .cz-ph{padding:clamp(13px,4.1vw,16px) 56px 12px clamp(14px,4.6vw,18px)}
  .cz-ph b{font-size:clamp(17px,4.9vw,19px)}
  .cz-pb{padding:12px clamp(12px,4.1vw,16px) 16px}
  .cz-pf{padding-left:clamp(12px,4.1vw,16px);padding-right:clamp(12px,4.1vw,16px);gap:clamp(8px,3.1vw,12px)}
  .cz-done{min-width:clamp(104px,33.8vw,132px);padding:0 clamp(14px,5.1vw,20px)}
  .cz-stp{padding-left:clamp(10px,3.6vw,14px)}
  .cz-stp>b{min-width:clamp(40px,14.9vw,58px)}
}
@media (max-width:339px){
  .bn-tms{grid-template-columns:repeat(3,minmax(0,1fr))}                          /* "8:30 AM" on one line at Fold / 280-320px */
  .cz-card .cz-b small{-webkit-line-clamp:3}
  .cz-vrow{gap:6px}
  .cz-trow{grid-template-columns:minmax(0,1fr)}                                  /* "10/10/2026" + time each get the full width */
}
/* Customise popup inside the phone sheet: the sheet follows window.visualViewport (book-now.js fit()), so the
   popup is placed inside the sheet instead of the layout viewport — its Done button stays above the keyboard. */
@media (max-width:560px),(max-height:500px){.bn>.cz-ov{position:absolute}}
/* v304 — with food / without food */
.bn-food{margin-top:4px}.bn-food.bad{outline:2px solid #B42323;outline-offset:3px;border-radius:12px}
.bn-room em small{font-size:10.5px;font-weight:700;color:#7a6e8e}
/* v474 (owner) — "With food or without food?" right under the picked bed / room: two clear cards, each with its rent */
.bn-foodw[hidden]{display:none}
.bn-food{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}
.bn-food button{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-height:76px;padding:12px 14px;border:1.5px solid #e0d5f5;border-radius:16px;background:#fff;font:inherit;color:#241235;text-align:left;cursor:pointer;position:relative}
.bn-food button b{font-size:15px;font-weight:800}
.bn-food button small{font-size:13px;font-weight:700;color:#6D3AA3;min-height:16px}
.bn-food .bn-fi{font-size:18px;line-height:1}
.bn-food button.sel{border-color:#6D3AA3;background:#f0e9fb;box-shadow:0 10px 22px -16px rgba(84,47,130,.8)}
.bn-food button.sel::after{content:"✓";position:absolute;top:10px;right:12px;width:22px;height:22px;border-radius:50%;background:#6D3AA3;color:#fff;font-size:13px;font-weight:800;display:grid;place-items:center}
@media (max-width:360px){.bn-food{grid-template-columns:1fr}}
