/*
 * Seasonal theme layer.
 *
 * The existing storefront remains the classic baseline. Theme selectors carry
 * higher specificity than the inline baseline so this file can be removed
 * without changing store behavior.
 */
html[data-theme][data-store="fig"] {
  --theme-accent: var(--cyan);
}

html[data-theme][data-store="tech"] {
  --theme-accent: var(--pink);
}

html[data-theme]:not([data-theme="classic"]) body::before {
  background: var(--theme-pattern);
  background-size: var(--theme-pattern-size, auto);
}

html[data-theme]:not([data-theme="classic"]) header,
html[data-theme]:not([data-theme="classic"]) body.techmode header {
  background: var(--theme-accent);
  border-bottom-color: var(--theme-border);
}

html[data-theme]:not([data-theme="classic"]) .intentbar,
html[data-theme]:not([data-theme="classic"]) footer {
  background: var(--theme-chrome);
  border-color: var(--theme-border);
}

html[data-theme]:not([data-theme="classic"]) .hero-car .slides,
html[data-theme]:not([data-theme="classic"]) .card,
html[data-theme]:not([data-theme="classic"]) .hcard,
html[data-theme]:not([data-theme="classic"]) .brandcard,
html[data-theme]:not([data-theme="classic"]) .reassure .rgrid div,
html[data-theme]:not([data-theme="classic"]) .spec,
html[data-theme]:not([data-theme="classic"]) .ditem {
  border-color: var(--theme-border);
  box-shadow: var(--theme-shadow);
}

html[data-theme]:not([data-theme="classic"]) .hero-car .slide.tech {
  background: var(--theme-tech-panel);
}

html[data-theme]:not([data-theme="classic"]) .cta,
html[data-theme]:not([data-theme="classic"]) .bigadd,
html[data-theme]:not([data-theme="classic"]) .fig-vault-cta,
html[data-theme]:not([data-theme="classic"]) .tech-vault-cta {
  background: var(--theme-accent);
  border-color: var(--theme-border);
}

html[data-theme]:not([data-theme="classic"]) .logo .wordmark span,
html[data-theme]:not([data-theme="classic"]) .logo .wordmark em {
  color: var(--theme-highlight);
}

/* Halloween: refined alchemical vault, not a direct game/IP imitation. */
html[data-theme="alchemist-hunt"] {
  --bg: #efe8d8;
  --bg2: #fffaf0;
  --panel: #fffaf0;
  --panel2: #f4ead5;
  --line: #171513;
  --text: #171513;
  --dim: #62594f;
  --ink: #171513;
  --cyan: #7a0f1a;
  --pink: #145d63;
  --gold: #c7a15a;
  --theme-border: #241d18;
  --theme-chrome: #181411;
  --theme-highlight: #e0bd75;
  --theme-shadow: 4px 4px 0 #241d18;
  --theme-tech-panel: linear-gradient(135deg, #dce9e6 0%, #fffaf0 62%);
  --theme-pattern:
    radial-gradient(circle at 18% 10%, rgba(122, 15, 26, .11), transparent 34%),
    radial-gradient(circle at 82% 18%, rgba(20, 93, 99, .09), transparent 30%),
    repeating-radial-gradient(circle at 50% 50%, rgba(36, 29, 24, .035) 0 1px, transparent 1px 22px);
}

html[data-theme="alchemist-hunt"][data-store="fig"] {
  --theme-accent: #7a0f1a;
}

html[data-theme="alchemist-hunt"][data-store="tech"] {
  --theme-accent: #145d63;
}

/* Christmas: evergreen, vault red, warm ivory, and restrained snow. */
html[data-theme="vaulted-holidays"] {
  --bg: #f5efe1;
  --bg2: #fffdf7;
  --panel: #fffdf7;
  --panel2: #edf2e8;
  --line: #17231c;
  --text: #17231c;
  --dim: #586158;
  --ink: #17231c;
  --cyan: #a52232;
  --pink: #146054;
  --gold: #d5ad4b;
  --theme-border: #17231c;
  --theme-chrome: #10231c;
  --theme-highlight: #f1c969;
  --theme-shadow: 4px 4px 0 #17231c;
  --theme-tech-panel: linear-gradient(135deg, #e3f0ee 0%, #fffdf7 62%);
  --theme-pattern:
    radial-gradient(circle at 12px 12px, rgba(255, 255, 255, .8) 0 2px, transparent 2.5px),
    linear-gradient(140deg, rgba(165, 34, 50, .055), transparent 42%),
    linear-gradient(220deg, rgba(20, 96, 84, .06), transparent 38%);
  --theme-pattern-size: 34px 34px, auto, auto;
}

html[data-theme="vaulted-holidays"][data-store="fig"] {
  --theme-accent: #a52232;
}

html[data-theme="vaulted-holidays"][data-store="tech"] {
  --theme-accent: #146054;
}

/* Memorial Day: restrained remembrance treatment, deliberately not sales-first. */
html[data-theme="memorial-day"] {
  --bg: #efede7;
  --bg2: #faf8f2;
  --panel: #faf8f2;
  --panel2: #e7e9e9;
  --line: #171b1f;
  --text: #171b1f;
  --dim: #5f676d;
  --ink: #171b1f;
  --cyan: #27384a;
  --pink: #65717b;
  --gold: #b79a60;
  --theme-border: #171b1f;
  --theme-chrome: #202b35;
  --theme-highlight: #d1b779;
  --theme-shadow: 4px 4px 0 #171b1f;
  --theme-tech-panel: linear-gradient(135deg, #e2e6e8 0%, #faf8f2 62%);
  --theme-pattern:
    linear-gradient(135deg, rgba(39, 56, 74, .07), transparent 35%),
    repeating-linear-gradient(0deg, rgba(23, 27, 31, .025) 0 1px, transparent 1px 18px);
}

html[data-theme="memorial-day"][data-store="fig"] {
  --theme-accent: #27384a;
}

html[data-theme="memorial-day"][data-store="tech"] {
  --theme-accent: #65717b;
}

/* Independence Day: original Americana treatment, composed from core geometry. */
html[data-theme="independence-day"] {
  --bg: #f5f0e5;
  --bg2: #fffdf8;
  --panel: #fffdf8;
  --panel2: #e9eff5;
  --line: #101923;
  --text: #101923;
  --dim: #56606a;
  --ink: #101923;
  --cyan: #b4212f;
  --pink: #184e78;
  --gold: #d3aa47;
  --theme-border: #101923;
  --theme-chrome: #0d2740;
  --theme-highlight: #f0cd72;
  --theme-shadow: 4px 4px 0 #101923;
  --theme-tech-panel: linear-gradient(135deg, #e1ebf4 0%, #fffdf8 62%);
  --theme-pattern:
    radial-gradient(circle at 20% 8%, rgba(180, 33, 47, .08), transparent 32%),
    radial-gradient(circle at 80% 8%, rgba(24, 78, 120, .08), transparent 32%),
    repeating-linear-gradient(0deg, rgba(16, 25, 35, .025) 0 1px, transparent 1px 14px);
}

html[data-theme="independence-day"][data-store="fig"] {
  --theme-accent: #b4212f;
}

html[data-theme="independence-day"][data-store="tech"] {
  --theme-accent: #184e78;
}

/* Veterans Day: service-focused olive, navy, brass, and warm neutral tones. */
html[data-theme="veterans-day"] {
  --bg: #efede4;
  --bg2: #faf8f1;
  --panel: #faf8f1;
  --panel2: #e8eadf;
  --line: #171b18;
  --text: #171b18;
  --dim: #5d6457;
  --ink: #171b18;
  --cyan: #4d5838;
  --pink: #28536b;
  --gold: #b6934f;
  --theme-border: #171b18;
  --theme-chrome: #222a20;
  --theme-highlight: #d1b36c;
  --theme-shadow: 4px 4px 0 #171b18;
  --theme-tech-panel: linear-gradient(135deg, #dce6e8 0%, #faf8f1 62%);
  --theme-pattern:
    radial-gradient(circle at 18% 12%, rgba(77, 88, 56, .09), transparent 34%),
    radial-gradient(circle at 82% 15%, rgba(40, 83, 107, .07), transparent 30%),
    repeating-linear-gradient(45deg, rgba(23, 27, 24, .025) 0 1px, transparent 1px 20px);
}

html[data-theme="veterans-day"][data-store="fig"] {
  --theme-accent: #4d5838;
}

html[data-theme="veterans-day"][data-store="tech"] {
  --theme-accent: #28536b;
}

/* Grand Opening: higher-energy core palette for the store launch campaign. */
html[data-theme="grand-opening"] {
  --bg: #f5efe0;
  --bg2: #fffdf7;
  --panel: #fffdf7;
  --panel2: #fff3cf;
  --line: #151515;
  --text: #151515;
  --dim: #5b554b;
  --ink: #151515;
  --cyan: #c62828;
  --pink: #155bb7;
  --gold: #d4af37;
  --theme-border: #151515;
  --theme-chrome: #151515;
  --theme-highlight: #ffd864;
  --theme-shadow: 6px 6px 0 #151515;
  --theme-tech-panel: linear-gradient(135deg, #e2edff 0%, #fffdf7 62%);
  --theme-pattern:
    radial-gradient(circle at 15% 8%, rgba(198, 40, 40, .12), transparent 30%),
    radial-gradient(circle at 85% 10%, rgba(21, 91, 183, .1), transparent 30%),
    repeating-conic-gradient(from 0deg at 50% -20%, rgba(212, 175, 55, .04) 0 4deg, transparent 4deg 12deg);
}

html[data-theme="grand-opening"][data-store="fig"] {
  --theme-accent: #c62828;
}

html[data-theme="grand-opening"][data-store="tech"] {
  --theme-accent: #155bb7;
}

@media (prefers-reduced-motion: reduce) {
  html[data-theme] *,
  html[data-theme] *::before,
  html[data-theme] *::after {
    scroll-behavior: auto !important;
  }
}
