/* Light remains the existing palette. Dark is an explicit surface palette, not an image filter. */
:root { color-scheme:light; }
:root[data-theme="dark"] {
  color-scheme:dark;
  --ink:#e8eef8; --ink-2:#cedbf0; --ink-soft:#b3c2d9; --muted:#a3b5d0;
  --line:#293a54; --line-strong:#3b506f; --base:#132137; --white:#0d1524;
  --accent:#8bb7ff; --accent-ink:#a8caff; --accent-soft:#1d3252;
  --shadow-sm:0 4px 14px #0002; --shadow-md:0 12px 32px #0003; --shadow-lg:0 24px 64px #0004;
}
.theme-toggle { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; flex:none; padding:0; border:1px solid var(--line); border-radius:12px; background:var(--white); color:var(--ink); cursor:pointer; }
.theme-toggle svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; }
.theme-toggle:focus-visible { outline:3px solid var(--accent-ink); outline-offset:3px; }
@media (hover:hover) and (pointer:fine) { .theme-toggle:hover { background:var(--accent-soft); } }

:root[data-theme="dark"] .site-header { background:rgba(13,21,36,.94); }
:root[data-theme="dark"] .main-nav.open { background:#101d30; }
:root[data-theme="dark"] :is(.btn-primary,.chip[aria-pressed="true"],.cat-btn[aria-pressed="true"],.tab-btn[aria-pressed="true"],.save-product[aria-pressed="true"]) { background:#285fc9; color:#fff; border-color:#285fc9; }
:root[data-theme="dark"] .btn-dark { background:#283b5a; color:#edf3ff; }
:root[data-theme="dark"] .btn-light { background:#edf3fc; color:#10213d; }
:root[data-theme="dark"] :is(.card,.feature,.value-card,.office-card,.cat-sidebar,.product-card,.form-card,.side-card,.modal,.shortlist-dialog,.filter-drawer,.image-viewer) { background:#142137; color:var(--ink); }
:root[data-theme="dark"] :is(.shortlist-trigger,.save-product,.chip,.shortlist-head button,.shortlist-items button) { background:#1a2941; color:var(--ink); }
:root[data-theme="dark"] .page-hero { background:linear-gradient(120deg,#1c2e4c,#131f33 55%,#0d1524); }
:root[data-theme="dark"] .page-hero::after { opacity:.2!important; }
:root[data-theme="dark"] #main > .section-alt,
:root[data-theme="dark"] .discovery-section { background:linear-gradient(180deg,#0d1524,#142137 64px,#142137 calc(100% - 64px),#0d1524); }
:root[data-theme="dark"] body[data-page="products"] #main > .section { background:linear-gradient(180deg,#0d1524,#151f2e 64px,#151f2e calc(100% - 64px),#0d1524); }
:root[data-theme="dark"] body[data-page="contact"] .form-card { background:#142137; }
:root[data-theme="dark"] :is(.contact-choice,.office-map,.enquiry-review,.flow-icon,.way-item,.way-item .ic) { background:#1a2d49; color:var(--ink); }
:root[data-theme="dark"] :is(.contact-choice span span,.enquiry-review > p) { color:var(--ink-soft); }
:root[data-theme="dark"] :is(.contact-choice > svg,.contact-choice .arrow,.flow-icon svg,.office-map-footer .btn,.office-card a.office-directions,.image-expand,.clear-filters,.review-edit) { color:var(--accent); stroke:currentColor; }
:root[data-theme="dark"] .active-filter { background:#233c60; color:#d0e2ff; }
:root[data-theme="dark"] .search-box input { background:#0f1b2c; color:var(--ink); border-color:var(--line-strong); caret-color:var(--accent); }
:root[data-theme="dark"] .search-box input::placeholder { color:#a3b5d0; }
:root[data-theme="dark"] .cat-btn .count { opacity:1; }
:root[data-theme="dark"] .finder-choices label { background:#16253c; border-color:var(--line); }
:root[data-theme="dark"] .finder-choices label:has(input:checked) { background:#233c60; color:#d0e2ff; }
:root[data-theme="dark"] .brand-chip { background:#192b45; color:#d0e2ff; }
:root[data-theme="dark"] .office-card .tag { background:#1c3356; color:#c6dcff; }
:root[data-theme="dark"] .cat-brands span { background:#1c3356; color:#c6dcff; border-color:#3b5780; }
:root[data-theme="dark"] .component-flow li::after { color:#9dbfee; }
:root[data-theme="dark"] .enquiry-review dl > div { border-color:var(--line-strong); }
:root[data-theme="dark"] :is(.field input,.field select,.field textarea) { background:#0f1b2c; color:var(--ink); border-color:var(--line-strong); caret-color:var(--accent); }
:root[data-theme="dark"] :is(.field input,.field select,.field textarea):focus { background:#172740; }
:root[data-theme="dark"] :is(.field input,.field textarea)::placeholder { color:#a3b5d0; }
:root[data-theme="dark"] :is(.field input,.field select,.field textarea).invalid { background:#311e2c; border-color:#f397a0; }
:root[data-theme="dark"] .field-error { color:#ffabb3; }
:root[data-theme="dark"] .mobile-contact-bar { background:#101d30; box-shadow:0 -4px 20px #0004; }
:root[data-theme="dark"] :is(.filter-drawer,.image-viewer,.shortlist-dialog)::backdrop { background:rgba(0,5,14,.75); }
:root[data-theme="dark"] .modal-backdrop { background:rgba(0,5,14,.75); }
:root[data-theme="dark"] .modal-close { background:#243753; color:#e8eef8; }
:root[data-theme="dark"] .modal-close svg { stroke:currentColor; }
:root[data-theme="dark"] .whatsapp-link { background:#1d3252; color:#b6d2ff; }
:root[data-theme="dark"] .site-footer { background:#09111f; }
:root[data-theme="dark"] ::selection { background:#37598b; color:#fff; }
:root[data-theme="dark"] :focus-visible { outline-color:#8bb7ff; }

/* Supplied light logo and a faithful transparent version for navy surfaces. */
.brand:has(.brand-logo) { align-items:center; flex:none; }
.brand-logo { display:block; width:230px; height:66px; object-fit:contain; }
.brand-logo-dark { display:none; }
:root[data-theme="dark"] .brand-logo-light { display:none; }
:root[data-theme="dark"] .brand-logo-dark { display:block; }
.footer-brand .brand-logo { width:260px; height:auto; }
@media (max-width:640px) {
  .site-header .brand-logo { width:164px; height:48px; }
}
@media (max-width:360px) {
  .site-header .brand-logo { width:140px; height:42px; }
}

/* Hero artwork, scene layers and product photographs retain their original colours. */
:root[data-theme="dark"] :is(.float-pill,.control-card) { background:#16253ced; color:var(--ink); }
:root[data-theme="dark"] .hero-visual .control-card { background:transparent; }
:root[data-theme="dark"] .hero-visual .control-row { background:rgba(20,37,59,.62); color:#e8eef8; border-color:rgba(226,238,255,.28); }
:root[data-theme="dark"] .hero-visual .control-row[aria-pressed="true"] { background:rgba(36,69,107,.65); color:#f2f7ff; border-color:rgba(164,204,255,.5); }
:root[data-theme="dark"] .float-pill.is-off { background:#29394e; color:#bfcee2; }
:root[data-theme="dark"] .control-row { background:#1b2b43; color:var(--ink-soft); }
:root[data-theme="dark"] .control-row[aria-pressed="true"] { background:#233c60; color:#e8eef8; }
:root[data-theme="dark"] .toggle { background:#4a5d79; }
:root[data-theme="dark"] .control-row[aria-pressed="true"] .toggle { background:#285fc9; }
:root[data-theme="dark"] .scene-chip { background:#1b2b43; color:var(--ink-soft); }
:root[data-theme="dark"] .scene-chip[aria-pressed="true"] { background:#285fc9; color:#fff; }
:root[data-theme="dark"] #homeExperience { --hp-ink:#e8eef8; --hp-muted:#b3c2d9; --hp-line:#293a54; --hp-base:#132137; --hp-blue:#8bb7ff; background:#0d1524; }
:root[data-theme="dark"] .hp-navigator { background:#111d30; }
:root[data-theme="dark"] .hp-products { background:linear-gradient(180deg,#111d30,#151f2e 64px,#151f2e calc(100% - 64px),#101a2a); }
:root[data-theme="dark"] .hp-spaces { background:#101a2a; }
:root[data-theme="dark"] .hp-brand-row { background:#192b45; }
:root[data-theme="dark"] .hp-choice:hover,
:root[data-theme="dark"] .hp-navigator-list .hp-choice[aria-pressed="true"] { background:#233c60; color:#d0e2ff; }
:root[data-theme="dark"] .hp-segment button[aria-pressed="true"] { background:#285fc9; color:#fff; }
:root[data-theme="dark"] #projectAssistant { background:#152339; }
:root[data-theme="dark"] .hp-form-choices input:checked + span { background:#233c60; color:#d0e2ff; }
:root[data-theme="dark"] .hp-field :is(input,textarea) { background:#0f1b2c; color:#e8eef8; border-color:#3b506f; caret-color:#8bb7ff; }
:root[data-theme="dark"] .hp-field input[aria-invalid="true"] { border-color:#f397a0; }
:root[data-theme="dark"] .hp-error { color:#ffabb3; }
:root[data-theme="dark"] #homeExperience :focus-visible { outline-color:#8bb7ff; }
:root[data-theme="dark"] #homeExperience ::selection { background:#37598b; color:#fff; }
@media (hover:hover) and (pointer:fine) {
  :root[data-theme="dark"] .btn-primary:hover { background:#2254b5; color:#fff; }
  :root[data-theme="dark"] .contact-choice:hover { background:#233c60; }
}

/* Make room for the additional control without squeezing the navigation. */
@media (max-width:1100px) {
  .main-nav { display:none; }
  .nav-toggle { display:inline-flex; }
  .main-nav.open { display:flex; position:absolute; top:calc(var(--header-h) + env(safe-area-inset-top)); left:0; right:0; flex-direction:column; background:var(--white); border-bottom:1px solid var(--line); padding:14px 24px 20px; gap:4px; box-shadow:var(--shadow-md); }
  .main-nav.open .mobile-contact { display:inline-flex; justify-content:center; }
}
@media (max-width:480px) {
  .site-header .container { padding-inline:16px; }
  .header-inner { gap:10px; }
  .header-actions { gap:8px; }
  .site-header .brand-suffix { display:none; }
  .site-header .brand-mark { font-size:20px; letter-spacing:.12em; }
  .nav-toggle { width:44px; height:44px; }
}
