/* Integrated seasonal palettes and one bounded illustration inside the masthead. */
.kitl-seasonal-scene { display: none !important; }
.kitl-seasonal-overlay { display: none; }

:is([data-kitl-seasonal-root], [data-kitl-seasonal-preview-root])[data-season="halloween"] {
  --kitl-season-primary: #4d3156;
  --kitl-season-strong: #34213b;
  --kitl-season-soft: #eedfe9;
  --kitl-season-accent: #e8a046;
  --kitl-season-surface: #fbf3e9;
  --kitl-season-raised: #fffaf4;
  --kitl-season-border: #bba58f;
}

:is([data-kitl-seasonal-root], [data-kitl-seasonal-preview-root])[data-season="christmas"] {
  --kitl-season-primary: #204b3d;
  --kitl-season-strong: #12362c;
  --kitl-season-soft: #dfe9de;
  --kitl-season-accent: #dfc078;
  --kitl-season-surface: #f2f5ee;
  --kitl-season-raised: #fcfdf8;
  --kitl-season-border: #9faf9f;
}

:is([data-kitl-seasonal-root], [data-kitl-seasonal-preview-root])[data-season="spring"] {
  --kitl-season-primary: #395b3e;
  --kitl-season-strong: #29422e;
  --kitl-season-soft: #e0ebdd;
  --kitl-season-accent: #e7c86a;
  --kitl-season-surface: #f2f7ef;
  --kitl-season-raised: #fbfdf8;
  --kitl-season-border: #a4b59f;
}

:is([data-kitl-seasonal-root], [data-kitl-seasonal-preview-root])[data-season="summer"] {
  --kitl-season-primary: #255a58;
  --kitl-season-strong: #173f3e;
  --kitl-season-soft: #ddece4;
  --kitl-season-accent: #f0c65e;
  --kitl-season-surface: #fff8e8;
  --kitl-season-raised: #fffcf4;
  --kitl-season-border: #a7b8ac;
}

:is([data-kitl-seasonal-root], [data-kitl-seasonal-preview-root])[data-season="autumn"] {
  --kitl-season-primary: #794631;
  --kitl-season-strong: #542f23;
  --kitl-season-soft: #eeddce;
  --kitl-season-accent: #dfad60;
  --kitl-season-surface: #f8f0e5;
  --kitl-season-raised: #fffaf3;
  --kitl-season-border: #b9a08b;
}

:is([data-kitl-seasonal-root], [data-kitl-seasonal-preview-root])[data-season="winter"] {
  --kitl-season-primary: #305763;
  --kitl-season-strong: #1d3b45;
  --kitl-season-soft: #dfe9ec;
  --kitl-season-accent: #d8c59a;
  --kitl-season-surface: #f0f5f6;
  --kitl-season-raised: #fafdfd;
  --kitl-season-border: #a0b3b8;
}

:is([data-kitl-seasonal-root], [data-kitl-seasonal-preview-root])[data-season="black-friday"] {
  --kitl-season-primary: #292c2e;
  --kitl-season-strong: #171b1d;
  --kitl-season-soft: #e5e2da;
  --kitl-season-accent: #d9b86c;
  --kitl-season-surface: #f3f0e8;
  --kitl-season-raised: #fcfaf4;
  --kitl-season-border: #afa99c;
}

@media screen {
  /* Remap only browsing surfaces. Mini-cart and semantic status tokens stay native. */
  :is([data-kitl-seasonal-root], [data-kitl-seasonal-preview-root])[data-season]:not([data-season=""]) :is(.announcement-bar, .site-header, .site-content-wrap, .home-hero, .atelier-story, .trust-strip, .category-showcase, .product-section, .catalog-hero, .woocommerce-products-header, .site-footer, .kitl-seasonal-preview__content, .kitl-seasonal-preview__footer, .kitl-seasonal-preview__nav) {
    --kitl-primary: var(--kitl-season-primary);
    --kitl-primary-strong: var(--kitl-season-strong);
    --kitl-primary-soft: var(--kitl-season-soft);
    --kitl-accent: var(--kitl-season-accent);
    --kitl-accent-strong: color-mix(in srgb, var(--kitl-season-accent) 80%, var(--kitl-season-strong));
    --kitl-surface: var(--kitl-season-surface);
    --kitl-surface-raised: var(--kitl-season-raised);
    --kitl-border: var(--kitl-season-border);
    --kitl-ink: #202623;
    --kitl-muted: #56615c;
  }

  :is([data-kitl-seasonal-root], [data-kitl-seasonal-preview-root])[data-season]:not([data-season=""]) { background-color: var(--kitl-season-surface); }

  :is([data-kitl-seasonal-root], [data-kitl-seasonal-preview-root])[data-season]:not([data-season=""]) .announcement-bar {
    color: #fff;
    background: var(--kitl-season-strong);
    box-shadow: inset 0 -2px var(--kitl-season-accent);
  }

  :is([data-kitl-seasonal-root], [data-kitl-seasonal-preview-root])[data-season]:not([data-season=""]) .site-header {
    border-color: var(--kitl-season-border);
    background: linear-gradient(105deg, var(--kitl-season-soft), var(--kitl-season-raised) 55%);
  }

  :is([data-kitl-seasonal-root], [data-kitl-seasonal-preview-root])[data-season]:not([data-season=""]) .site-navigation { border-color: var(--kitl-season-border); background: var(--kitl-season-raised); }
  :is([data-kitl-seasonal-root], [data-kitl-seasonal-preview-root])[data-season]:not([data-season=""]) .search-form input.search-field { border-color: var(--kitl-season-primary); background: var(--kitl-season-raised); }
  :is([data-kitl-seasonal-root], [data-kitl-seasonal-preview-root])[data-season]:not([data-season=""]) :is(.home-hero, .atelier-story, .kitl-seasonal-preview__content) { background-color: var(--kitl-season-primary); }

  :is([data-kitl-seasonal-root], [data-kitl-seasonal-preview-root])[data-season]:not([data-season=""]) .home-hero::before {
    background-image:
      radial-gradient(circle at 78% 18%, color-mix(in srgb, var(--kitl-season-accent) 20%, transparent), transparent 23rem),
      linear-gradient(rgb(255 255 255 / 4%) 1px, transparent 1px),
      linear-gradient(90deg, rgb(255 255 255 / 4%) 1px, transparent 1px);
  }

  :is([data-kitl-seasonal-root], [data-kitl-seasonal-preview-root])[data-season]:not([data-season=""]) :is(.trust-strip, .category-showcase, .product-section, .woocommerce-products-header) { background-color: var(--kitl-season-surface); }
  :is([data-kitl-seasonal-root], [data-kitl-seasonal-preview-root])[data-season]:not([data-season=""]) :is(.site-footer, .kitl-seasonal-preview__footer) { background-color: var(--kitl-season-strong); box-shadow: inset 0 2px var(--kitl-season-accent); }

  :is([data-kitl-seasonal-root], [data-kitl-seasonal-preview-root])[data-season]:not([data-season=""]) :is(.home-hero .button--primary, .kitl-seasonal-preview__button) { border-color: var(--kitl-season-accent); color: #202623; background-color: var(--kitl-season-accent); }
  :is([data-kitl-seasonal-root], [data-kitl-seasonal-preview-root])[data-season]:not([data-season=""]) :is(.home-hero .button--primary:hover, .kitl-seasonal-preview__button:hover) { border-color: color-mix(in srgb, var(--kitl-season-accent) 85%, #fff); color: #202623; background-color: color-mix(in srgb, var(--kitl-season-accent) 85%, #fff); }

  /* Existing horizontal room beside the logo; no extra row or vertical padding. */
  :is([data-kitl-seasonal-root], [data-kitl-seasonal-preview-root])[data-season]:not([data-season=""]) .site-header .site-branding { padding-inline-start: 88px; }

  .kitl-seasonal-overlay {
    position: absolute;
    inset-inline-start: 0;
    top: 50%;
    width: 80px;
    height: 72px;
    margin: 0;
    overflow: hidden;
    transform: translateY(-50%);
    pointer-events: none;
    user-select: none;
    contain: layout paint;
  }

  :is([data-kitl-seasonal-root], [data-kitl-seasonal-preview-root])[data-season]:not([data-season=""]) .kitl-seasonal-overlay { display: block; }
  .kitl-seasonal-overlay__art { display: block; width: 100%; height: 100%; max-width: none; margin: 0; padding: 0; border: 0; border-radius: 0; object-fit: contain; }
  [data-season="halloween"] .kitl-seasonal-overlay__art { transform: scale(1.35); }
  [data-season="halloween"] .kitl-seasonal-overlay__art[src*="-festive.webp"] { transform: none; }

  :is([data-kitl-seasonal-root], [data-kitl-seasonal-preview-root])[data-season]:not([data-season=""]) .site-header :is(a, button, input):focus-visible { outline: 3px solid var(--kitl-season-primary); outline-offset: 3px; }
  :is([data-kitl-seasonal-root], [data-kitl-seasonal-preview-root])[data-season]:not([data-season=""]) .site-content-wrap :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 3px solid var(--kitl-season-primary); outline-offset: 3px; }
  :is([data-kitl-seasonal-root], [data-kitl-seasonal-preview-root])[data-season]:not([data-season=""]) :is(.announcement-bar, .home-hero, .atelier-story, .site-footer) :is(a, button, input, summary):focus-visible { outline: 3px solid #fff; outline-offset: 3px; }

  /* Nested dark controls and the pale signup card need their own focus context. */
  :is([data-kitl-seasonal-root], [data-kitl-seasonal-preview-root])[data-season]:not([data-season=""]) .site-header .category-menu__head .category-menu__lead:focus-visible { outline: 3px solid #fff; outline-offset: -4px; }
  :is([data-kitl-seasonal-root], [data-kitl-seasonal-preview-root])[data-season]:not([data-season=""]) .site-header .category-menu__head .category-menu__toggle:focus-visible { color: var(--kitl-season-strong); background: var(--kitl-season-accent); outline: 3px solid var(--kitl-season-strong); outline-offset: -4px; }
  :is([data-kitl-seasonal-root], [data-kitl-seasonal-preview-root])[data-season]:not([data-season=""]) .site-footer .wcn-signup-form :is(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid var(--kitl-season-primary); outline-offset: 3px; }

  @media (max-width: 782px) {
    :is([data-kitl-seasonal-root], [data-kitl-seasonal-preview-root])[data-season]:not([data-season=""]) .site-header .site-branding { padding-inline-start: 64px; }
    .kitl-seasonal-overlay { width: 56px; height: 56px; }
  }

  @media (max-width: 359px) {
    :is([data-kitl-seasonal-root], [data-kitl-seasonal-preview-root])[data-season]:not([data-season=""]) .site-header .site-branding { padding-inline-start: 54px; }
    .kitl-seasonal-overlay { width: 48px; height: 56px; }
  }
}

.kitl-seasonal-overlay[hidden],
.kitl-seasonal-overlay__art[hidden] { display: none !important; }

@media (prefers-reduced-motion: reduce) {
  .kitl-seasonal-overlay,
  .kitl-seasonal-overlay * { animation: none !important; transition: none !important; }
}

@media print, (forced-colors: active) {
  .kitl-seasonal-overlay { display: none !important; }
  :is([data-kitl-seasonal-root], [data-kitl-seasonal-preview-root]) .site-header .site-branding { padding-inline-start: 0 !important; }
}
