/* Seasonal accent themes — overrides brand greens via --vl-* */

html[data-season="spring"] {
    --vl-green: #2db84d;
    --vl-green-light: #5dff7a;
    --vl-green-dark: #1a8f35;
    --vl-accent-soft: #b8ff90;
    --vl-accent-rgb: 45, 184, 77;
    --vl-accent-light-rgb: 93, 255, 122;
    --vl-accent-soft-rgb: 184, 255, 144;
    --vl-green-glow: rgba(var(--vl-accent-rgb), 0.38);
    --vl-glass-border: rgba(var(--vl-accent-rgb), 0.2);
    --vl-accent-bg: rgba(var(--vl-accent-rgb), 0.14);
    --vl-bg-overlay:
        radial-gradient(ellipse 80% 50% at 50% -10%, rgba(120, 255, 160, 0.14) 0%, transparent 55%),
        linear-gradient(180deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.35) 40%, rgba(0, 0, 0, 0.65) 100%);
    --vl-header-glow: radial-gradient(ellipse, rgba(90, 255, 140, 0.22) 0%, rgba(255, 180, 220, 0.08) 42%, transparent 72%);
    --vl-surface: rgba(16, 28, 20, 0.72);
    --vl-surface-dark: rgba(8, 14, 10, 0.66);
    --vl-chrome-bg: rgba(8, 14, 10, 0.92);
    --vl-glass: rgba(14, 24, 16, 0.78);
    --vl-glass-light: rgba(18, 32, 22, 0.55);
    --vl-modal-bg: rgba(12, 20, 14, 0.92);
}

html[data-season="summer"] {
    --vl-green: #00a896;
    --vl-green-light: #2ee6c8;
    --vl-green-dark: #007a6e;
    --vl-accent-soft: #7fffd4;
    --vl-accent-rgb: 0, 168, 150;
    --vl-accent-light-rgb: 46, 230, 200;
    --vl-accent-soft-rgb: 127, 255, 212;
    --vl-green-glow: rgba(var(--vl-accent-rgb), 0.38);
    --vl-glass-border: rgba(var(--vl-accent-light-rgb), 0.2);
    --vl-accent-bg: rgba(var(--vl-accent-rgb), 0.14);
    --vl-bg-overlay:
        radial-gradient(ellipse 80% 50% at 50% -10%, rgba(var(--vl-accent-light-rgb), 0.12) 0%, transparent 55%),
        linear-gradient(180deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.35) 40%, rgba(0, 0, 0, 0.65) 100%);
    --vl-header-glow: radial-gradient(ellipse, rgba(var(--vl-accent-light-rgb), 0.2) 0%, rgba(255, 220, 80, 0.07) 40%, transparent 72%);
    --vl-surface: rgba(10, 24, 22, 0.72);
    --vl-surface-dark: rgba(6, 14, 13, 0.66);
    --vl-chrome-bg: rgba(6, 14, 13, 0.92);
    --vl-glass: rgba(8, 22, 20, 0.78);
    --vl-glass-light: rgba(12, 30, 28, 0.55);
    --vl-modal-bg: rgba(8, 18, 16, 0.92);
}

html[data-season="autumn"] {
    --vl-green: #d97706;
    --vl-green-light: #f59e0b;
    --vl-green-dark: #b45309;
    --vl-accent-soft: #fb923c;
    --vl-accent-rgb: 217, 119, 6;
    --vl-accent-light-rgb: 245, 158, 11;
    --vl-accent-soft-rgb: 251, 146, 60;
    --vl-green-glow: rgba(var(--vl-accent-rgb), 0.4);
    --vl-glass-border: rgba(var(--vl-accent-light-rgb), 0.22);
    --vl-accent-bg: rgba(var(--vl-accent-rgb), 0.14);
    --vl-bg-overlay:
        radial-gradient(ellipse 80% 50% at 50% -10%, rgba(var(--vl-accent-light-rgb), 0.14) 0%, transparent 55%),
        linear-gradient(180deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.35) 40%, rgba(0, 0, 0, 0.65) 100%);
    --vl-header-glow: radial-gradient(ellipse, rgba(var(--vl-accent-light-rgb), 0.22) 0%, rgba(196, 92, 38, 0.1) 40%, transparent 72%);
    --vl-surface: rgba(28, 20, 12, 0.72);
    --vl-surface-dark: rgba(14, 10, 6, 0.66);
    --vl-chrome-bg: rgba(14, 10, 6, 0.92);
    --vl-glass: rgba(24, 16, 10, 0.78);
    --vl-glass-light: rgba(32, 22, 14, 0.55);
    --vl-modal-bg: rgba(20, 14, 8, 0.92);
}

html[data-season="halloween"] {
    --vl-green: #9b30ff;
    --vl-green-light: #c77dff;
    --vl-green-dark: #6b1fb8;
    --vl-accent-soft: #e0b3ff;
    --vl-accent-rgb: 155, 48, 255;
    --vl-accent-light-rgb: 199, 125, 255;
    --vl-accent-soft-rgb: 224, 179, 255;
    --vl-green-glow: rgba(var(--vl-accent-rgb), 0.42);
    --vl-glass-border: rgba(var(--vl-accent-rgb), 0.28);
    --vl-accent-bg: rgba(var(--vl-accent-rgb), 0.16);
    --vl-bg-overlay:
        radial-gradient(ellipse 80% 50% at 50% -10%, rgba(var(--vl-accent-rgb), 0.16) 0%, transparent 55%),
        radial-gradient(ellipse 40% 30% at 90% 10%, rgba(199, 125, 255, 0.1) 0%, transparent 50%),
        linear-gradient(180deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.4) 40%, rgba(0, 0, 0, 0.7) 100%);
    --vl-header-glow: radial-gradient(ellipse, rgba(var(--vl-accent-rgb), 0.28) 0%, rgba(var(--vl-accent-light-rgb), 0.12) 45%, transparent 72%);
    --vl-surface: rgba(22, 14, 28, 0.72);
    --vl-surface-dark: rgba(12, 8, 16, 0.66);
    --vl-chrome-bg: rgba(12, 8, 16, 0.92);
    --vl-glass: rgba(18, 10, 24, 0.8);
    --vl-glass-light: rgba(28, 16, 36, 0.55);
    --vl-modal-bg: rgba(16, 10, 22, 0.94);
}

html[data-season="winter"] {
    --vl-green: #2b8fd9;
    --vl-green-light: #6ec1ff;
    --vl-green-dark: #1769a8;
    --vl-accent-soft: #e0f2fe;
    --vl-accent-rgb: 43, 143, 217;
    --vl-accent-light-rgb: 110, 193, 255;
    --vl-accent-soft-rgb: 224, 242, 254;
    --vl-green-glow: rgba(var(--vl-accent-rgb), 0.4);
    --vl-glass-border: rgba(var(--vl-accent-light-rgb), 0.22);
    --vl-accent-bg: rgba(var(--vl-accent-rgb), 0.14);
    --vl-bg-overlay:
        radial-gradient(ellipse 80% 50% at 50% -10%, rgba(var(--vl-accent-light-rgb), 0.14) 0%, transparent 55%),
        linear-gradient(180deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.35) 40%, rgba(0, 0, 0, 0.65) 100%);
    --vl-header-glow: radial-gradient(ellipse, rgba(var(--vl-accent-light-rgb), 0.24) 0%, rgba(220, 240, 255, 0.08) 40%, transparent 72%);
    --vl-surface: rgba(12, 20, 28, 0.72);
    --vl-surface-dark: rgba(6, 12, 18, 0.66);
    --vl-chrome-bg: rgba(6, 12, 18, 0.92);
    --vl-glass: rgba(10, 18, 26, 0.78);
    --vl-glass-light: rgba(14, 26, 36, 0.55);
    --vl-modal-bg: rgba(10, 16, 22, 0.92);
}

html[data-season="newyear"] {
    --vl-green: #c41e3a;
    --vl-green-light: #ff4d6d;
    --vl-green-dark: #8b1428;
    --vl-accent-soft: #ffd700;
    --vl-accent-rgb: 196, 30, 58;
    --vl-accent-light-rgb: 255, 77, 109;
    --vl-accent-soft-rgb: 255, 215, 0;
    --vl-green-glow: rgba(var(--vl-accent-rgb), 0.42);
    --vl-glass-border: rgba(255, 215, 0, 0.28);
    --vl-accent-bg: rgba(var(--vl-accent-rgb), 0.14);
    --vl-bg-overlay:
        radial-gradient(ellipse 80% 50% at 50% -10%, rgba(var(--vl-accent-rgb), 0.16) 0%, transparent 55%),
        radial-gradient(ellipse 35% 30% at 10% 0%, rgba(255, 215, 0, 0.1) 0%, transparent 50%),
        linear-gradient(180deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.35) 40%, rgba(0, 0, 0, 0.65) 100%);
    --vl-header-glow: radial-gradient(ellipse, rgba(255, 215, 0, 0.18) 0%, rgba(var(--vl-accent-rgb), 0.2) 45%, transparent 72%);
    --vl-surface: rgba(24, 12, 16, 0.72);
    --vl-surface-dark: rgba(14, 6, 10, 0.66);
    --vl-chrome-bg: rgba(14, 6, 10, 0.92);
    --vl-glass: rgba(22, 10, 14, 0.8);
    --vl-glass-light: rgba(32, 14, 18, 0.55);
    --vl-modal-bg: rgba(18, 8, 12, 0.94);
}

html[data-season="spring"] .site-brand__name-land {
    background: linear-gradient(135deg, #5dff7a 0%, #b8ff90 50%, #2db84d 100%);
    -webkit-background-clip: text;
    background-clip: text;
}
html[data-season="summer"] .site-brand__name-land {
    background: linear-gradient(135deg, #2ee6c8 0%, #7fffd4 50%, #00a896 100%);
    -webkit-background-clip: text;
    background-clip: text;
}
html[data-season="autumn"] .site-brand__name-land {
    background: linear-gradient(135deg, #f59e0b 0%, #fb923c 50%, #d97706 100%);
    -webkit-background-clip: text;
    background-clip: text;
}
html[data-season="halloween"] .site-brand__name-land {
    background: linear-gradient(135deg, #e0b3ff 0%, #c77dff 45%, #9b30ff 100%);
    -webkit-background-clip: text;
    background-clip: text;
}
html[data-season="winter"] .site-brand__name-land {
    background: linear-gradient(135deg, #6ec1ff 0%, #e0f2fe 50%, #2b8fd9 100%);
    -webkit-background-clip: text;
    background-clip: text;
}
html[data-season="newyear"] .site-brand__name-land {
    background: linear-gradient(135deg, #ff4d6d 0%, #ffd700 50%, #c41e3a 100%);
    -webkit-background-clip: text;
    background-clip: text;
}

html[data-season="easter"] {
    --vl-green: #7c3aed;
    --vl-green-light: #c4b5fd;
    --vl-green-dark: #5b21b6;
    --vl-accent-soft: #f9a8d4;
    --vl-accent-rgb: 124, 58, 237;
    --vl-accent-light-rgb: 196, 181, 253;
    --vl-accent-soft-rgb: 249, 168, 212;
    --vl-green-glow: rgba(var(--vl-accent-rgb), 0.38);
    --vl-glass-border: rgba(249, 168, 212, 0.28);
    --vl-accent-bg: rgba(var(--vl-accent-rgb), 0.14);
    --vl-bg-overlay:
        radial-gradient(ellipse 80% 50% at 50% -10%, rgba(249, 168, 212, 0.14) 0%, transparent 55%),
        linear-gradient(180deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.35) 40%, rgba(0, 0, 0, 0.65) 100%);
    --vl-header-glow: radial-gradient(ellipse, rgba(196, 181, 253, 0.24) 0%, rgba(249, 168, 212, 0.12) 45%, transparent 72%);
    --vl-surface: rgba(18, 12, 28, 0.72);
    --vl-surface-dark: rgba(10, 6, 18, 0.66);
    --vl-chrome-bg: rgba(10, 6, 18, 0.92);
    --vl-glass: rgba(16, 10, 26, 0.8);
    --vl-glass-light: rgba(28, 16, 40, 0.55);
    --vl-modal-bg: rgba(14, 8, 22, 0.94);
}
html[data-season="easter"] .site-brand__name-land {
    background: linear-gradient(135deg, #c4b5fd 0%, #f9a8d4 50%, #7c3aed 100%);
    -webkit-background-clip: text;
    background-clip: text;
}

html[data-season="blackfriday"] {
    --vl-green: #d4af37;
    --vl-green-light: #ffe566;
    --vl-green-dark: #9a7b1a;
    --vl-accent-soft: #fff3b0;
    --vl-accent-rgb: 212, 175, 55;
    --vl-accent-light-rgb: 255, 229, 102;
    --vl-accent-soft-rgb: 255, 243, 176;
    --vl-green-glow: rgba(212, 175, 55, 0.4);
    --vl-glass-border: rgba(255, 215, 0, 0.22);
    --vl-accent-bg: rgba(212, 175, 55, 0.14);
    --vl-bg-overlay:
        radial-gradient(ellipse 80% 50% at 50% -10%, rgba(212, 175, 55, 0.12) 0%, transparent 55%),
        linear-gradient(180deg, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.5) 40%, rgba(0, 0, 0, 0.8) 100%);
    --vl-header-glow: radial-gradient(ellipse, rgba(255, 215, 0, 0.16) 0%, rgba(0, 0, 0, 0.2) 50%, transparent 72%);
    --vl-surface: rgba(10, 10, 10, 0.72);
    --vl-surface-dark: rgba(4, 4, 4, 0.66);
    --vl-chrome-bg: rgba(10, 10, 12, 0.92);
    --vl-glass: rgba(8, 8, 8, 0.82);
    --vl-glass-light: rgba(18, 16, 10, 0.55);
    --vl-modal-bg: rgba(8, 8, 8, 0.94);
}
html[data-season="blackfriday"] .site-brand__name-land {
    background: linear-gradient(135deg, #ffe566 0%, #d4af37 50%, #9a7b1a 100%);
    -webkit-background-clip: text;
    background-clip: text;
}

html[data-season="birthday"] {
    --vl-green: #11aa01;
    --vl-green-light: #5dff7a;
    --vl-green-dark: #0a8000;
    --vl-accent-soft: #ffd700;
    --vl-accent-rgb: 17, 170, 1;
    --vl-accent-light-rgb: 93, 255, 122;
    --vl-accent-soft-rgb: 255, 215, 0;
    --vl-green-glow: rgba(17, 170, 1, 0.42);
    --vl-glass-border: rgba(255, 215, 0, 0.28);
    --vl-accent-bg: rgba(17, 170, 1, 0.14);
    --vl-bg-overlay:
        radial-gradient(ellipse 80% 50% at 50% -10%, rgba(255, 215, 0, 0.12) 0%, transparent 55%),
        radial-gradient(ellipse 40% 30% at 90% 0%, rgba(17, 170, 1, 0.14) 0%, transparent 50%),
        linear-gradient(180deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.35) 40%, rgba(0, 0, 0, 0.65) 100%);
    --vl-header-glow: radial-gradient(ellipse, rgba(255, 215, 0, 0.2) 0%, rgba(17, 170, 1, 0.18) 45%, transparent 72%);
    --vl-surface: rgba(12, 18, 10, 0.72);
    --vl-surface-dark: rgba(6, 12, 6, 0.66);
    --vl-chrome-bg: rgba(6, 12, 6, 0.92);
    --vl-glass: rgba(10, 16, 8, 0.8);
    --vl-glass-light: rgba(18, 28, 14, 0.55);
    --vl-modal-bg: rgba(8, 14, 6, 0.94);
}
html[data-season="birthday"] .site-brand__name-land {
    background: linear-gradient(135deg, #5dff7a 0%, #ffd700 50%, #11aa01 100%);
    -webkit-background-clip: text;
    background-clip: text;
}

/* —— Header decorations —— */
.vl-header-decor {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 2;
    overflow: hidden;
}

.vl-header-decor--fixed {
    position: fixed;
    inset: 0 auto auto 0;
    width: 100%;
    height: 140px;
    z-index: 40;
}

/* Halloween cobwebs */
.vl-decor-web {
    position: absolute;
    width: min(160px, 28vw);
    height: min(120px, 22vw);
    opacity: 0.72;
    color: rgba(230, 220, 255, 0.55);
}
.vl-decor-web--tl { top: -4px; left: -4px; }
.vl-decor-web--tr { top: -4px; right: -4px; transform: scaleX(-1); }
.vl-decor-web svg { width: 100%; height: 100%; display: block; }
.vl-decor-bat {
    position: absolute;
    font-size: 1.1rem;
    opacity: 0.7;
    animation: vl-bat-float 4.5s ease-in-out infinite;
}
.vl-decor-bat--1 { top: 12%; left: 18%; animation-delay: 0s; }
.vl-decor-bat--2 { top: 8%; right: 22%; animation-delay: -1.5s; }
.vl-decor-bat--3 { top: 28%; right: 8%; animation-delay: -2.8s; font-size: 0.9rem; }
@keyframes vl-bat-float {
    0%, 100% { transform: translateY(0) rotate(-4deg); }
    50% { transform: translateY(6px) rotate(4deg); }
}

/* New Year garland + baubles */
.vl-decor-garland {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 18px;
    display: flex;
    justify-content: space-between;
    padding: 0 2%;
    z-index: 3;
}
.vl-decor-garland::before {
    content: "";
    position: absolute;
    left: 2%;
    right: 2%;
    top: 7px;
    height: 2px;
    background: linear-gradient(90deg, #8b7355, #c9a86c, #8b7355);
    opacity: 0.7;
}
.vl-decor-bulb {
    position: relative;
    width: 10px;
    height: 14px;
    border-radius: 40% 40% 45% 45%;
    margin-top: 2px;
    box-shadow: 0 0 8px currentColor;
    animation: vl-bulb-blink 1.8s ease-in-out infinite;
}
.vl-decor-bulb:nth-child(3n) { color: #ff4d6d; background: #ff4d6d; animation-delay: 0s; }
.vl-decor-bulb:nth-child(3n+1) { color: #ffd700; background: #ffd700; animation-delay: 0.4s; }
.vl-decor-bulb:nth-child(3n+2) { color: #4ade80; background: #4ade80; animation-delay: 0.9s; }
@keyframes vl-bulb-blink {
    0%, 100% { opacity: 1; filter: brightness(1.1); }
    50% { opacity: 0.45; filter: brightness(0.7); }
}
.vl-decor-hang {
    position: absolute;
    top: 14px;
    width: 16px;
    height: 20px;
    border-radius: 50%;
    box-shadow: inset -2px -2px 0 rgba(0,0,0,.2), 0 2px 4px rgba(0,0,0,.25);
}
.vl-decor-hang::before {
    content: "";
    position: absolute;
    top: -6px;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 8px;
    background: rgba(255,255,255,.35);
}
.vl-decor-hang--1 { left: 12%; background: #e53935; animation: vl-hang-sway 3.2s ease-in-out infinite; }
.vl-decor-hang--2 { left: 28%; background: #ffd54f; animation: vl-hang-sway 3.6s ease-in-out infinite -0.5s; }
.vl-decor-hang--3 { right: 28%; left: auto; background: #43a047; animation: vl-hang-sway 3.4s ease-in-out infinite -1s; }
.vl-decor-hang--4 { right: 12%; left: auto; background: #1e88e5; animation: vl-hang-sway 3.8s ease-in-out infinite -1.4s; }
@keyframes vl-hang-sway {
    0%, 100% { transform: rotate(-6deg); }
    50% { transform: rotate(6deg); }
}

/* Winter frost sparkles */
.vl-decor-frost {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 8% 12%, rgba(200, 230, 255, 0.35) 0 2px, transparent 3px),
        radial-gradient(circle at 92% 10%, rgba(200, 230, 255, 0.3) 0 2px, transparent 3px),
        radial-gradient(circle at 18% 40%, rgba(200, 230, 255, 0.22) 0 1.5px, transparent 2.5px),
        radial-gradient(circle at 80% 35%, rgba(200, 230, 255, 0.22) 0 1.5px, transparent 2.5px);
    opacity: 0.85;
}

.vl-decor-bf-bar {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #000, #d4af37, #000, #d4af37, #000);
}
.vl-decor-bf-tag {
    position: absolute;
    top: 10px;
    right: 8%;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    color: #ffd700;
    opacity: 0.75;
    text-transform: uppercase;
}

.vl-decor-bday {
    position: absolute;
    top: 6px;
    font-size: 1.15rem;
    opacity: 0.7;
    animation: vl-hang-sway 3s ease-in-out infinite;
}
.vl-decor-bday--1 { left: 10%; }
.vl-decor-bday--2 { right: 12%; animation-delay: -1s; }
.vl-decor-bday--3 { left: 22%; top: 18px; font-size: 0.95rem; animation-delay: -0.5s; }

@media (max-width: 576px) {
    .vl-decor-web { width: 90px; height: 70px; opacity: 0.55; }
    .vl-decor-hang { display: none; }
    .vl-decor-bat--3 { display: none; }
}
