/* Site-wide appearance. Day preserves the theme's original storefront design. */
.cb-site-theme {
  --cb-bg: #f7f7f5; --cb-surface: #fff; --cb-soft: #efefed;
  --cb-text: #17181a; --cb-muted: #575a60; --cb-border: #d9dbdd;
  --cb-action: #17181a; --cb-action-text: #fff; --cb-focus: #656970;
  color-scheme: light;
}
:root[data-cb-theme="night"] .cb-site-theme {
  --cb-bg: #111214; --cb-surface: #1b1d20; --cb-soft: #25282d;
  --cb-text: #f4f4f2; --cb-muted: #b8bbc1; --cb-border: #3b3e44;
  --cb-action: #f3f3f1; --cb-action-text: #151619; --cb-focus: #c1c5cd;
  --theme-palette-color-1: #f4f4f2; --theme-palette-color-2: #d8dadd;
  --theme-palette-color-3: #f4f4f2; --theme-palette-color-4: #f4f4f2;
  --theme-palette-color-5: #3b3e44; --theme-palette-color-6: #25282d;
  --theme-palette-color-7: #111214; --theme-palette-color-8: #1b1d20;
  --theme-text-color: var(--cb-text); --theme-headings-color: var(--cb-text);
  --theme-link-initial-color: var(--cb-text); --theme-link-hover-color: #d8dadd;
  --theme-border-color: var(--cb-border);
  --theme-button-background-initial-color: var(--cb-action);
  --theme-button-background-hover-color: #d8dadd;
  --theme-button-text-initial-color: var(--cb-action-text);
  --theme-button-text-hover-color: var(--cb-action-text);
  --theme-form-text-initial-color: var(--cb-text);
  --theme-form-text-focus-color: var(--cb-text);
  --theme-form-field-background-initial-color: var(--cb-surface);
  --theme-form-field-background-focus-color: var(--cb-surface);
  --theme-form-field-border-initial-color: var(--cb-border);
  --theme-form-field-border-focus-color: #b8bbc1;
  --theme-form-select-background-active-color: var(--cb-soft);
  --theme-form-selection-field-initial-color: var(--cb-border);
  --theme-form-selection-field-active-color: var(--cb-text);
  --paletteColor3: var(--cb-text); --paletteColor4: var(--cb-text);
  --paletteColor7: var(--cb-bg); --paletteColor8: var(--cb-surface);
  background-color: var(--cb-bg); color: var(--cb-text); color-scheme: dark;
}
.cb-theme-page { background-color: var(--cb-bg); color: var(--cb-text); }
.cb-site-theme-control { position: fixed; z-index: 1000; left: max(16px, env(safe-area-inset-left)); bottom: max(16px, env(safe-area-inset-bottom)); }
.cb-site-theme-control .cb-toolbar { margin: 0; }
.cb-theme-toggle { display: inline-flex; gap: 4px; padding: 4px; background: var(--cb-surface); border: 1px solid var(--cb-border); border-radius: 100px; box-shadow: 0 3px 18px #0003; }
.cb-theme-toggle button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: 82px; min-height: 44px; border: 0; padding: 8px 12px; border-radius: 100px; background: transparent; color: var(--cb-muted); font-family: inherit; font-size: 14px; line-height: 1.3; cursor: pointer; }
.cb-theme-toggle button[aria-pressed="true"] { background: var(--cb-action); color: var(--cb-action-text); font-weight: 600; }
.cb-theme-toggle button:focus-visible { outline: 3px solid var(--cb-focus); outline-offset: 3px; }
:root[data-cb-theme="night"] .cb-site-theme :is(#header [data-row], #header .sub-menu, #offcanvas .ct-panel-inner, #search-modal .ct-panel-inner, .ct-cart-content) { background-color: var(--cb-surface); color: var(--cb-text); }
:root[data-cb-theme="night"] .cb-site-theme :is(#header, #offcanvas, #search-modal) :is(a, button, .ct-label) { color: var(--cb-text); }
:root[data-cb-theme="night"] .cb-site-theme #header svg { fill: var(--cb-text); color: var(--cb-text); }
:root[data-cb-theme="night"] .cb-site-theme #header .site-logo-container img { filter: brightness(0) invert(1); }
:root[data-cb-theme="night"] .cb-site-theme #header .current-menu-item > a::after { background-color: var(--cb-text); }
:root[data-cb-theme="night"] .cb-site-theme :is(#main, .hero-section) { background-color: var(--cb-bg); color: var(--cb-text); }
:root[data-cb-theme="night"] .cb-site-theme #main :is(h1,h2,h3,h4,h5,h6,.ct-breadcrumbs,.ct-breadcrumbs a,.price,.woocommerce-result-count) { color: var(--cb-text); }
/* Stackable blocks have generated colors; keep photographs and their overlays intact. */
:root[data-cb-theme="night"] .cb-site-theme #main .stk-block-background:not(.stk--has-background-overlay) { background-color: var(--cb-surface) !important; }
:root[data-cb-theme="night"] .cb-site-theme #main :is(.stk-block-heading__text,.stk-block-text__text,.stk-block-text__text p) { color: var(--cb-text) !important; }
:root[data-cb-theme="night"] .cb-site-theme #main :is(.stk-block-icon svg,.stk-block-icon path) { fill: var(--cb-text) !important; }
:root[data-cb-theme="night"] .cb-site-theme #main :is(.woocommerce-tabs,.cart_totals,.woocommerce-checkout-review-order,.woocommerce-checkout-payment,.woocommerce-message,.woocommerce-info,.woocommerce-error,.ct-woo-card-extra,.wc-block-components-sidebar) { background-color: var(--cb-surface); color: var(--cb-text); border-color: var(--cb-border); }
:root[data-cb-theme="night"] .cb-site-theme #main :is(input:not([type="submit"]):not([type="button"]),select,textarea,.select2-selection,.wc-block-components-text-input input) { background-color: var(--cb-surface); color: var(--cb-text); border-color: var(--cb-border); }
:root[data-cb-theme="night"] .cb-site-theme #main :is(input,textarea)::placeholder { color: var(--cb-muted); opacity: 1; }
:root[data-cb-theme="night"] .cb-site-theme :is(.select2-dropdown,.select2-results__option) { background-color: var(--cb-surface); color: var(--cb-text); }
:root[data-cb-theme="night"] .cb-site-theme .select2-container .select2-selection__rendered { color: var(--cb-text); }
:root[data-cb-theme="night"] .cb-site-theme #main :is(table,th,td,.woocommerce-tabs li) { border-color: var(--cb-border); }
:root[data-cb-theme="night"] .cb-site-theme #footer [data-row] { background-color: var(--cb-surface); }
:root[data-cb-theme="night"] .cb-site-theme #footer :is(a,p,h6,strong) { color: var(--cb-text); }
:root[data-cb-theme="night"] .cb-site-theme #footer mark { background: transparent; color: inherit; }
@media(max-width:600px) { .cb-site-theme-control { left: 10px; bottom: max(10px, env(safe-area-inset-bottom)); } .cb-theme-toggle button { min-width: 68px; padding-inline: 9px; } }
@media print { .cb-site-theme-control { display: none; } }
