/* Public site themes: warm paper by day, a quiet wood-toned room by night. */
html{color-scheme:light}
.theme-desktop[hidden],.theme-mobile[hidden],.theme-icon[hidden]{display:none!important}
.theme-desktop{display:flex;align-items:center;flex:none}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:3px;background:transparent;color:var(--brand-deep);cursor:pointer;touch-action:manipulation;-webkit-appearance:none;appearance:none;transition:border-color .18s ease}
.theme-toggle:hover,.theme-toggle:active{background:var(--soft);border-color:var(--brand)}
.theme-toggle:focus-visible,.theme-options button:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
.theme-toggle :is(lucian-sun,lucian-moon),.theme-options :is(lucian-sun,lucian-moon){display:inline-flex;align-items:center;justify-content:center;flex:none;width:20px;height:20px;--li-size:20px;pointer-events:none}
.theme-mobile{display:none}
.theme-options{display:flex;align-items:center;gap:6px;min-width:0}
.theme-options button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:86px;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:2px;background:transparent;color:var(--ink);font:500 14px/1.5 var(--sans);cursor:pointer;touch-action:manipulation;-webkit-appearance:none;appearance:none;transition:border-color .18s ease}
.theme-options button[aria-pressed="true"]{border-color:var(--brand);background:var(--soft);color:var(--brand-deep)}
.theme-options button:active{background:var(--soft)}
@media(max-width:850px){
 .theme-desktop{display:none}
 .theme-mobile{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:18px;margin-bottom:20px;border-bottom:1px solid var(--line)}
 .theme-mobile>label,.theme-mobile>.theme-label{font:12px/1.6 var(--sans);color:var(--muted);letter-spacing:.02em}
}
@media(max-width:370px){.theme-mobile{flex-wrap:wrap;row-gap:8px}.theme-options{margin-left:auto}.theme-options button{min-width:82px;padding-inline:10px}}
@media(prefers-reduced-motion:reduce){.theme-toggle,.theme-options button{transition:none}}

html[data-theme="dark"]{
 color-scheme:dark;
 --paper:#241e1a;
 --white:#302822;
 --soft:#362c25;
 --ink:#f5ede3;
 --muted:#c2b2a5;
 --brand:#e8ad8e;
 --brand-deep:#f0c2a8;
 --line:#685344;
}
html[data-theme="dark"] body{background:var(--paper);color:var(--ink)}
html[data-theme="dark"] ::selection{background:#725240;color:#fff4e9}
html[data-theme="dark"] :is(button,a,input,select,textarea,summary):focus-visible{outline-color:var(--brand)}
html[data-theme="dark"] .hero,html[data-theme="dark"] .hero-opening-panel{background:#2c241e}
html[data-theme="dark"] .hero-opening-panel-left,html[data-theme="dark"] .hero-opening-panel-right{border-color:var(--line)}
html[data-theme="dark"] :is(.hero-content .eyebrow,.hero-note){color:#d6b99f}
html[data-theme="dark"] .hero-link{border-color:#a8836c}
html[data-theme="dark"] .hero-gallery{background:#302822ed;border-color:#b28b6c;color:var(--ink)}
html[data-theme="dark"] .hero-gallery:hover{background:#3c3027}
html[data-theme="dark"] .moment-image{background:var(--soft)}
html[data-theme="dark"] .stay-option:hover{background:var(--soft)}
html[data-theme="dark"] .booking-card{--control-line:#ac8d74}
html[data-theme="dark"] .booking-card :is(input,select,textarea){color-scheme:dark}
html[data-theme="dark"] .form-error{color:#ffb7a4}
html[data-theme="dark"] .location-copy .outline-button{border-color:var(--line)}
html[data-theme="dark"] #location .arrival-map{border-color:var(--brand);color:var(--paper)}
html[data-theme="dark"] :is(.film-player,.fire-ambient-player){background:#191512}
html[data-theme="dark"] .film-play{background:var(--white);color:var(--brand);border-color:var(--line)}
html[data-theme="dark"] .film-play:hover{background:var(--brand);color:var(--paper)}
html[data-theme="dark"] :is(.primary-button,.mobile-booking>.mobile-inquiry-call){color:var(--paper)}
html[data-theme="dark"] .primary-button:hover{background:var(--brand-deep)}
html[data-theme="dark"] .mobile-nav{box-shadow:0 18px 30px #100c0952}
html[data-theme="dark"] .language-panel{box-shadow:0 16px 40px #100c0959}
html[data-theme="dark"] .language-status{box-shadow:0 12px 24px #100c0940}
html[data-theme="dark"] #spaces .gallery-toolbar{box-shadow:0 6px 12px -10px #100c09a3}
html[data-theme="dark"] .site-footer{background:#1b1714;color:var(--ink)}
html[data-theme="dark"] .footer-brand .brand-mark{stroke:var(--brand)}
html[data-theme="dark"] .footer-bottom{color:var(--muted)}
html[data-theme="dark"] .site-footer :focus-visible{outline-color:var(--brand)}
html[data-theme="dark"] #shareButton.is-copied{color:var(--brand)}

/* This viewer already has a dark canvas; keep its original light controls and captions. */
html[data-theme="dark"] .photo-dialog{
 color-scheme:dark;
 --paper:#f8f5ef;
 --white:#fffdf8;
 --soft:#f0e7de;
 --ink:#332d28;
 --muted:#70645c;
 --brand:#985039;
 --brand-deep:#553b30;
 --line:#e2d8cf;
 color:var(--paper);
}
html[data-theme="dark"] .photo-dialog :is(button,a,input,select,textarea,summary):focus-visible{outline-color:var(--paper)}
html[data-theme="dark"] .photo-dialog .photo-retry{background:var(--paper);color:var(--ink)}
html[data-theme="dark"] .photo-dialog .photo-thumbnail-check{background:var(--paper);color:var(--brand-deep);border-color:var(--paper)}
@media(forced-colors:active){
 .theme-toggle,.theme-options button{border-color:ButtonText;color:ButtonText}
 .theme-options button[aria-pressed="true"]{border-color:Highlight;outline:1px solid Highlight}
}
/* Give the theme and language controls room before navigation labels crowd. */
@media(min-width:851px) and (max-width:1000px){
 .desktop-nav{display:none}
 .menu-toggle{display:flex}
 .mobile-nav:not([hidden]){display:block!important}
}
@media(min-width:851px){.header-book{white-space:nowrap;flex-shrink:0}}
/* Interactive outlines stay distinct from surfaces; section rules remain quiet. */
html[data-theme="dark"]{
 --control-line:#8f735e;
}
html[data-theme="dark"] :is(.theme-toggle,.theme-options button,.language-trigger,.language-mobile .language-option){border-color:var(--control-line)}
html[data-theme="dark"] :is(.theme-toggle:hover,.theme-toggle:active,.theme-options button[aria-pressed="true"],.language-trigger:hover,.language-trigger[aria-expanded="true"],.language-mobile .language-option[aria-pressed="true"]){border-color:var(--brand)}

@media(max-width:850px){
 #mobileNav .mobile-nav-settings .theme-mobile{margin:0;padding:0;border:0;min-height:44px}
}
