/* Token overrides and explicitly scoped surfaces for all guest routes. */
:root{--muted:#6f5d65;--gold:#866239;--surface:#fffcf8;--surface-soft:#f2e9e1;--field:#fffcf8;--accent:#561f32;--on-accent:#fbf6f1;--shadow:0 8px 25px #30252a10;color-scheme:light}
:root[data-theme=dark]{--pearl:#191519;--ink:#f1e8df;--muted:#c1b2af;--line:#49383e;--burgundy:#e2bd86;--gold:#cfb386;--surface:#251e24;--surface-soft:#30252d;--field:#211a20;--accent:#e6c69a;--on-accent:#24171f;--shadow:0 10px 30px #0003;color-scheme:dark}
.theme-toggle{width:40px;min-width:40px;height:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);padding:9px;transition:background .2s,box-shadow .2s}.theme-toggle:hover{background:var(--surface-soft);box-shadow:0 3px 10px #30252a10}.theme-toggle svg{width:19px;height:19px;stroke-width:1.5}.theme-sun{display:none}.theme-moon{display:block}:root[data-theme=dark] .theme-sun{display:block}:root[data-theme=dark] .theme-moon{display:none}
:root[data-theme=dark] .header .logo-light,:root[data-theme=dark] .footer .logo-light,:root[data-theme=dark] .content-footer .logo-light{display:none}:root[data-theme=dark] .header .logo-dark,:root[data-theme=dark] .footer .logo-dark,:root[data-theme=dark] .content-footer .logo-dark{display:block}
[data-theme=dark] body{background:var(--pearl);color:var(--ink)}[data-theme=dark] .preview-note{background:#100c11;color:#dac5b3}[data-theme=dark] .header{background:#191519;border-color:var(--line)}[data-theme=dark] .header .mobile-nav{background:#211a20;box-shadow:0 15px 30px #0005}[data-theme=dark] .button-burgundy{background:linear-gradient(150deg,#edcfa5,#d3af7b);color:#261a1e;border-color:#efdbb7}[data-theme=dark] .button-burgundy:hover{background:#f2d7b0;color:#21141a}[data-theme=dark] .button-pearl{background:#e8cda8;color:#2a1b23}[data-theme=dark] .round-link{background:#2c2229;color:#ead0a9;border-color:#8b7054}[data-theme=dark] .room-card,[data-theme=dark] .plan-section,[data-theme=dark] .stay-form,[data-theme=dark] .room-body{background:var(--surface);border-color:var(--line)}[data-theme=dark] .room-tag{background:#20161f;color:#f3ddba}[data-theme=dark] .small-image-note{background:#21161ddd;color:#eedcc5}[data-theme=dark] .comforts{background:#211a20}[data-theme=dark] .location-art{background:#2c2229}[data-theme=dark] .location-copy{background:#211a20}[data-theme=dark] .route-line{border-color:#765850}[data-theme=dark] .route-dot{background:#d4b483;box-shadow:0 0 0 9px #d4b48320}[data-theme=dark] .route-name,[data-theme=dark] .route-mark,[data-theme=dark] .route-label{color:#ebd1aa}[data-theme=dark] .route-coordinates{color:#cbb3a8}[data-theme=dark] .closing{background:#3c1c2a;color:#f7eadc}[data-theme=dark] .closing h2,[data-theme=dark] .closing em{color:#f5dfbc}[data-theme=dark] .footer,[data-theme=dark] .content-footer{background:#211a20;color:var(--ink)}[data-theme=dark] .footer a,[data-theme=dark] .content-footer a{color:var(--ink)}[data-theme=dark] .footer-label{color:#c8a77d}[data-theme=dark] #motion-toggle{color:#ead0a9;border-color:#7a6255}[data-theme=dark] #motion-toggle:hover{background:#3b2d35}[data-theme=dark] .mobile-stay-bar{background:#211a20;border-color:var(--line)}[data-theme=dark] .whatsapp{background:#126346;color:#fff3e4;border-color:#7eae92}
[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:var(--field)!important;color:var(--ink)!important;border-color:#735a60!important}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:#a99899}[data-theme=dark] option{background:var(--field);color:var(--ink)}[data-theme=dark] .stay-form input,[data-theme=dark] .stay-form select{background:transparent!important}
[data-theme=dark] .page-intro{background:#211a20;border-color:var(--line)}[data-theme=dark] .disclosure,[data-theme=dark] .message-card,[data-theme=dark] .dining-facts>div,[data-theme=dark] .menu-booklet-frame,[data-theme=dark] .pending-policies article{background:var(--surface);border-color:var(--line);color:var(--ink)}[data-theme=dark] .message-draft pre{background:#30252d;color:#e7d5c5}[data-theme=dark] .filter-bar button,[data-theme=dark] .faq-search button{background:var(--surface);color:var(--ink);border-color:#6f565e}[data-theme=dark] .filter-bar button[aria-pressed=true],[data-theme=dark] .filter-bar button:hover{background:#e1bf8e;color:#22161d}[data-theme=dark] .photo-tile>div{background:#30252d}[data-theme=dark] .photo-tile>div>span,[data-theme=dark] .kind-badge{background:#21161ddd;color:#f0d7b4}[data-theme=dark] .policy-nav a:hover{background:#332730;color:#f1d7ae}[data-theme=dark] thead{background:#dabb8f;color:#261a20}[data-theme=dark] th,[data-theme=dark] td{border-color:var(--line)}[data-theme=dark] .table-scroll{border-color:var(--line)}[data-theme=dark] .inline-error{background:#492934!important;color:#ffdfdf!important;border-color:#d89b9b}[data-theme=dark] .contact-phone,[data-theme=dark] .dining-phone{color:#efd4ab}
[data-theme=dark] dialog{background:#251e24;color:#f0e3d5;border-color:var(--line)}[data-theme=dark] dialog::backdrop{background:#09060bd9}[data-theme=dark] .dialog-close{color:#ead0aa;background:#30252d}[data-theme=dark] .photo-lightbox p{color:var(--muted)}
[data-theme=dark] .booking-page{background:#191519}[data-theme=dark] .wizard-card,[data-theme=dark] .stay-summary,[data-theme=dark] .room-choice,[data-theme=dark] .review-room,[data-theme=dark] .request-result{background:var(--surface);border-color:var(--line);color:var(--ink)}[data-theme=dark] .stay-summary{box-shadow:var(--shadow)}[data-theme=dark] .summary-content,[data-theme=dark] .summary-body{background:var(--surface)}[data-theme=dark] .booking-page .field-help,[data-theme=dark] .booking-page .panel-intro{color:var(--muted)}[data-theme=dark] .summary-image>span{background:#21161de6;color:#ecd5b5}[data-theme=dark] .remove-room{color:#f2bfba;border-color:#9d716f;background:#3f2932}[data-theme=dark] .booking-note,[data-theme=dark] .privacy-note,[data-theme=dark] .review-breakfast{background:#30252d;color:#ddc8b9}[data-theme=dark] .form-error{background:#4b2937;color:#ffe0de;border-color:#d6989c}[data-theme=dark] .step-nav button{color:#c8b5ac}[data-theme=dark] .step-nav button[aria-current=step]{color:#f0d1a2;border-color:#d8b786}[data-theme=dark] .support-note,[data-theme=dark] .account-panel,[data-theme=dark] .stay-card,[data-theme=dark] .stay-change,[data-theme=dark] .account-gate,[data-theme=dark] .account-empty{background:var(--surface);border-color:var(--line);color:var(--ink)}[data-theme=dark] .stay-card-note,[data-theme=dark] .stay-facts>div,[data-theme=dark] .account-error,[data-theme=dark] .account-notice{background:#30252d;color:#eed8c3}[data-theme=dark] .account-refresh,[data-theme=dark] .account-secondary{background:#2c2229;border-color:#8d715f;color:#f1d1a3}[data-theme=dark] .stay-status{background:#3f3341;color:#f2d6ad}
@media(max-width:1100px){.header-actions{gap:13px}.desktop-nav{gap:18px}}@media(max-width:850px){.header-actions{gap:8px}.theme-toggle{min-width:38px;width:38px;height:44px;padding:8px}}@media(max-width:600px){.header-actions{gap:6px}.theme-toggle{min-width:36px;width:36px;height:44px;padding:8px}.booking-header{height:auto;min-height:82px;flex-wrap:wrap;gap:8px;padding-top:12px;padding-bottom:12px}.booking-header .brand{order:0}.booking-header .theme-toggle{order:1;margin-left:auto}.booking-header .back-hotel{order:2;font-size:10px}.booking-header .booking-call{order:3;font-size:10px}.booking-header .back-hotel,.booking-header .booking-call{min-height:36px;display:inline-flex;align-items:center}.booking-header .booking-call{margin-left:auto}.header .call-header{min-width:36px}.header .menu-toggle{min-width:38px;width:38px}.header .menu-toggle span{width:19px}.header .brand{min-width:0}}
@media(prefers-reduced-motion:reduce){.theme-toggle{transition:none}}
[data-theme=dark] .stays,[data-theme=dark] .location{background:#211a20}[data-theme=dark] .welcome-image{background:#30252d}[data-theme=dark] .contact-card{background:var(--surface);color:var(--ink)}[data-theme=dark] .step-nav{background:#191519}[data-theme=dark] #availability-result{background:#30252d;color:#e5d1bf;border-color:var(--line)}[data-theme=dark] .soft-note,[data-theme=dark] .inventory-note,[data-theme=dark] .payment-note{background:#30252d;color:#decbc0;border-color:var(--line)}[data-theme=dark] #request-result{background:#293829;color:#dcf1cf;border-color:#617e55}[data-theme=dark] #send-enquiry[aria-disabled=true]{background:#443840;color:#d1c1c7}[data-theme=dark] .account-access{background:#30252d;color:var(--ink)}[data-theme=dark] .stay-badge{background:#3b3038;color:#ebd5bb}[data-theme=dark] .stay-badge.confirmed,[data-theme=dark] .stay-badge.approved{background:#2a3929;color:#d5eac8}[data-theme=dark] .stay-badge.cancelled,[data-theme=dark] .stay-badge.declined{background:#482b38;color:#f3cfdb}[data-theme=dark] .change-estimate{background:#30252d;color:#efd1a6}[data-theme=dark] .policy-nav a{background:#30252d;color:var(--ink)}[data-theme=dark] .summary-photo small{background:#251a21e0;color:#f1dfc8}[data-theme=dark] .dialog-close:hover{background:#49353e;color:#fff0d7}
@media(min-width:851px) and (max-width:1100px){.header .call-header{display:none}.header .brand>img{width:180px;height:55px}.header{gap:18px;padding-left:4%;padding-right:4%}.desktop-nav{gap:18px;font-size:10px}.header-actions{gap:10px}.header-book{padding:13px 17px;font-size:10px;gap:18px}}
@media(max-width:600px){.content-page .header .brand>img{width:146px;height:46px}.content-page .header-actions{gap:6px}}
@media(max-width:360px){.content-page .header-book{display:none}.content-page .header .brand>img{width:146px;height:44px}}

/* Stage 9: contrast fixes from both-theme accessibility audits. */
[data-theme=dark] .comfort-heading h2,[data-theme=dark] .amenity-grid h3{color:var(--ink)}
.content-page .page-intro h1 em{color:var(--gold)}
[data-theme=dark] .route-card{background:var(--surface-soft);color:var(--ink)}
[data-theme=dark] .route-card p{color:var(--muted)}
[data-theme=dark] .route-card strong,[data-theme=dark] .route-card>span{color:var(--gold)}
[data-theme=dark] .route-card a{color:var(--ink)}
.closing-mark svg{width:1em;height:1em;fill:currentColor}
