/* Theme toggle and alternate palette for Northwind Air, Premium.
   Generated by _design-system/builder/gallery_theme/apply.py; edit themes.py there, not this file. */
/* Theme toggle button. It inherits the header's text colour, so it reads correctly over
   footage and on solid bars alike. Hidden until the head script has set a theme (no-JS visitors
   keep the designed palette and never see a dead control). */
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;flex:none;width:40px;height:40px;margin:0;padding:0;border:1px solid color-mix(in srgb,currentColor 28%,transparent);border-radius:50%;background:transparent;color:inherit;line-height:0;cursor:pointer;transition:border-color .2s,background-color .2s}
.theme-toggle:hover{border-color:currentColor;background:color-mix(in srgb,currentColor 8%,transparent)}
.theme-toggle:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.theme-toggle .theme-toggle__icon{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.theme-toggle .theme-toggle__sun{display:none}
html[data-theme="dark"] .theme-toggle .theme-toggle__sun{display:block}
html[data-theme="dark"] .theme-toggle .theme-toggle__moon{display:none}
html:not([data-theme]) .theme-toggle{display:none}
@media (prefers-reduced-motion:reduce){.theme-toggle{transition:none}}
/* Toggle placement in this header. */
.topbar{justify-content:flex-start}
.topbar>.brand{margin-right:auto}
.topbar>.topbar__right{margin-left:auto}
.topbar>.theme-toggle{margin-left:-10px}
@media (max-width:1080px){.topbar>.topbar__right{margin-left:0}.topbar>.theme-toggle{margin-left:0}}
@media (max-width:1080px){.topbar .nav{display:none;position:absolute;left:0;right:0;top:100%;z-index:40;flex-direction:column;gap:0;background:var(--bg);border-bottom:1px solid var(--line);padding:8px var(--gutter) 16px}.topbar .nav.is-open{display:flex}.topbar .nav a{font-size:18px;padding:14px 0;border-bottom:1px solid var(--line);color:var(--ink)}.topbar .nav-toggle{display:inline-flex}}
/* Alternate palette. The designed palette stays the default. */
html[data-theme="light"]{color-scheme:light;--bg:#F3F4F6;--surface:#FFFFFF;--surface-2:#E7EAEE;--ink:#1E2228;--muted:rgba(30,34,40,.68);--line:rgba(30,34,40,.12);--line-strong:rgba(30,34,40,.28);--accent:#B93A24;--accent-cool:#2F6FE0;--accent-ink:#FFFFFF}
html[data-theme="light"] .map{filter:grayscale(1) contrast(.95)}
html[data-theme="light"] .plan{filter:brightness(calc(1 - var(--stack) * .06))}
/* The hero, the thermostat dial and photo frames stay dark, as designed. */
html[data-theme="light"] :is(.hero,.dial,.frame,.compare__tag,.page-hero__media figcaption){--bg:#1E2228;--surface:#262B32;--ink:#F2F4F6;--muted:rgba(242,244,246,.66);--line:rgba(242,244,246,.12);--line-strong:rgba(242,244,246,.28);--accent:#FF6F59;--accent-ink:#1E2228;color:var(--ink)}
html[data-theme="light"] .btn--ghost{background:transparent}
html[data-theme="light"] :is(.hero,.dial,.frame) .btn--ghost{background:rgba(30,34,40,.35)}
/* Below 900px the dial copy leaves the photo, so the dial keeps its dark ground there. */
@media (max-width:900px){html[data-theme="light"] .dial{background:var(--bg)}}
@media (max-width:767px){html[data-theme="light"] .callbar{background:color-mix(in srgb,var(--bg) 94%,transparent)}}
