/* Device-local appearance preference; project artwork is never recoloured. */
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:44px;min-height:44px;border:1px solid #cbdbe2;border-radius:7px;background:#edf4f7;color:#254d60;padding:8px 10px;cursor:pointer;font:inherit;white-space:nowrap}
.theme-toggle [data-theme-icon]{font:24px/1 Arial,sans-serif}
.theme-toggle [data-theme-label]{font-size:12px}
.theme-toggle:focus-visible{outline:3px solid #4b99af;outline-offset:3px}
html[data-theme=dark]{color-scheme:dark;background:#101b25;color:#e5edf3;--night-surface:#182936;--night-raised:#213746;--night-border:#375061;--night-text:#e5edf3;--night-muted:#afc2cf;--night-link:#a7d9e9}
html[data-theme=dark] body{background:#101b25;color:var(--night-text)}
html[data-theme=dark] :is(header,.filter-panel,.card,.detail-section,.zyon-detail,.project-suggestions,.suggestion-card,.search-intro,.search-card,.panel,form,dialog,.cookies,.bottom-bar,.contact-bar,.journey-panel,.quick-multi-panel,.advanced-modal,.project-picker-list){background:var(--night-surface);color:var(--night-text);border-color:var(--night-border)}
html[data-theme=dark] :is(.contact,.detail-facts,.catalogue-fact-columns .detail-facts,.zyon-highlight>div,.zyon-enquiry-card,.zyon-notice,.zyon-amenities>div,.zyon-specs>div,.suggestion-mrt,.suggestion-empty,.suggestion-year-empty,.catalogue-placeholder,.suggestion-no-image,.avatar,th){background:var(--night-raised);color:var(--night-text);border-color:var(--night-border)}
html[data-theme=dark] :is(h1,h2,h3,h4,h5,strong,dd){color:var(--night-text)}
html[data-theme=dark] :is(p,label,small,dt,.eyebrow,.quick-label,.transit,.facts,.psf,.area,.muted,.data-note,.caption,.note,.journey-heading,.journey-current,.suggestion-badge,.suggestion-area,.suggestion-facts,.suggestion-row-number,.suggestion-method,.suggestion-note,.mrt-legend,.zyon-impression,.zyon-facts dd,.zyon-amenities ul){color:var(--night-muted)}
html[data-theme=dark] :is(.zyon-source){color:var(--night-muted)!important}
html[data-theme=dark] :is(a,.text-btn,.price-request,.zyon-return,.zyon-breadcrumb button,.zyon-plan-actions button,.music,.phone){color:var(--night-link)}
html[data-theme=dark] :is(input,select,textarea,.outline,.quick-multi summary,.result-controls .sort-label select,.theme-toggle,.enquire-link,.floating-search-return,.journey-toggle,.project-journey nav button,.guide-links a,.featured-explainer,.zyon-tag,.ec-label,.zyon-plan-filters button,.close,#lightbox .image-toolbar button,.cookies [data-consent],.zyon-price-table td button){background:var(--night-raised);color:var(--night-text);border-color:var(--night-border)}
html[data-theme=dark] :is(input,textarea)::placeholder{color:#a4b8c6;opacity:1}
html[data-theme=dark] :is(.filter-foot,.card-actions,.card-market,.card-pricing,.suggestion-heading-second,.suggestion-method,.zyon-section,.zyon-plan,.zyon-plan-content,.zyon-facts>div,.catalogue-fact-columns .detail-facts>div,td,th,details,.facts div){border-color:var(--night-border)}
html[data-theme=dark] :is(.primary,.card-actions .detail-link,.suggestion-link,.button,.cookies [data-consent=all],.zyon-plan-filters button[aria-pressed=true]){background:#276278;color:#fff;border-color:#41859b}
html[data-theme=dark] :is(.primary,.card-actions .detail-link,.suggestion-link,.button):hover{background:#32778c;color:#fff}
html[data-theme=dark] :is(.project-journey nav button[aria-current],.project-journey nav button:hover,.theme-toggle:hover,.guide-links a:hover){background:#31576a;color:#fff}
html[data-theme=dark] #grid .catalogue-average strong{color:#d5edf7}
html[data-theme=dark] #grid .catalogue-average span{color:var(--night-muted)}
html[data-theme=dark] :is(.zyon-nav,.zyon-plan,.zyon-plan>button,.plan-button,.zyon-site-button,.zyon-photo,.suggestion-image,#lightbox .image-viewport){background:var(--night-raised);border-color:var(--night-border)}
html[data-theme=dark] :is(.plan-button span,.zyon-site-button span,.zyon-plan p,.zyon-price-table td small,.zyon-heading p,.contact p,.agent small,.bottom-bar small,footer p,footer button){color:var(--night-muted)}
html[data-theme=dark] .project-journey{background:transparent;color:var(--night-text)}
html[data-theme=dark] .welcome-hero :is(h1,p,.eyebrow,a){color:#fff}
html[data-theme=dark] .map-price,html[data-theme=dark] .map-price strong{color:#fff}
html[data-theme=dark] .leaflet-tile-pane{filter:brightness(.72) saturate(.8)}
html[data-theme=dark] .leaflet-control-attribution{background:#182936ed;color:#e5edf3}
html[data-theme=dark] .leaflet-control-attribution a{color:#a7d9e9}
html[data-theme=dark] .leaflet-bar a{background:#213746;color:#e5edf3;border-color:#375061}
@media(max-width:700px){.bottom-bar{gap:8px}.bottom-bar>div,.bottom-bar .music span,.bottom-bar .phone span,.theme-toggle [data-theme-label]{display:none}.bottom-bar .music,.bottom-bar .phone,.theme-toggle{flex:0 0 44px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:4px}.bottom-bar .primary{flex:1;min-width:0;padding:11px 8px;font-size:13px}.theme-toggle{padding:4px}.contact-bar{gap:8px}.contact-bar .button{padding:10px;font-size:13px}}
html[data-theme=dark] .filter-group{background:var(--night-raised);border-color:var(--night-border)}html[data-theme=dark] :is(.filter-group legend,.card h3 button,.price,.suggestion-mrt strong,.zyon-highlight strong){color:var(--night-text)}html[data-theme=dark] :is(.advanced-note,.advanced-heading p,.choice-empty){color:var(--night-muted)}html[data-theme=dark] .filter-error{color:#ffb2a9}
html[data-theme=dark] :is(.district-tag,.count){background:var(--night-raised);color:var(--night-text)}html[data-theme=dark] :is(.featured-explainer summary,.brand,.brand-icon){color:var(--night-link)}html[data-theme=dark] #map{background:#213746;border-color:var(--night-border)}

/* Solid mobile controls use one shared colour, including theme hover states. */
@media(max-width:700px){
  .bottom-bar{--banner-icon:#526d7e}
  html[data-theme=dark] .bottom-bar{--banner-icon:var(--night-link)}
  .bottom-bar .music{color:var(--banner-icon)}
  .bottom-bar .theme-toggle [data-theme-icon],.bottom-bar .phone{font-size:0}
  .bottom-bar .theme-toggle [data-theme-icon]::before,.bottom-bar .phone::before{content:"";display:block;width:24px;height:24px;background:var(--banner-icon);-webkit-mask:var(--control-icon) center/contain no-repeat;mask:var(--control-icon) center/contain no-repeat}
  .bottom-bar .theme-toggle [data-theme-icon]{--control-icon:url("/icons/mobile-moon.svg")}
  html[data-theme=dark] .bottom-bar .theme-toggle [data-theme-icon]{--control-icon:url("/icons/mobile-sun.svg")}
  .bottom-bar .phone{--control-icon:url("/icons/mobile-phone.svg")}
}
