/* Theme toggle and alternate palette for Halden Builders, Essential.
   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. */
.site-header{grid-template-columns:1fr auto auto 1fr}
.site-header>.theme-toggle{margin-left:-12px}
@media (max-width:900px){
.site-header{grid-template-columns:minmax(0,1fr) auto auto;grid-template-rows:auto auto;row-gap:0;column-gap:10px;padding-bottom:0}
.site-header>.brand{grid-column:1;grid-row:1}
.site-header>.theme-toggle{grid-column:2;grid-row:1;justify-self:end;align-self:center;width:34px;height:34px;margin:0}
.site-header .header-phone{grid-column:3;grid-row:1;justify-self:end}
.site-header>.site-nav{grid-column:1/-1;grid-row:2;justify-self:stretch;min-width:0;display:flex;flex-wrap:wrap;column-gap:14px;row-gap:2px;overflow:visible;padding:0 0 10px}
.site-header>.site-nav a{white-space:nowrap}
}
@media (max-width:420px){
.site-header>.site-nav{column-gap:6px;justify-content:space-between}
.site-header>.site-nav a{font-size:13.5px}
}
/* Alternate palette. The designed palette stays the default. */
html[data-theme="dark"]{color-scheme:dark;--bg:#1A1715;--paper:#1A1715;--surface:#24201D;--ink:#F1EBE2;--muted:#B4AAA0;--line:#3B3530;--accent:#D07A72;--accent-ink:#1A1715}
html[data-theme="dark"] .site-header{background:color-mix(in srgb,var(--bg) 92%,transparent)}
html[data-theme="dark"] .skip-link{color:var(--bg)}
html[data-theme="dark"] :is(.reviews,.warranty){background:#2C2622}
html[data-theme="dark"] .area-map{background:#2C2622}
html[data-theme="dark"] .call-bar{color:var(--accent-ink)}
html[data-theme="dark"] .field :is(input,select,textarea){background:var(--surface);color:var(--ink)}
