:root {
    --season-primary: #00d4ff;
    --season-secondary: #7b68ee;
    --season-tertiary: #ff00ff;
    --season-surface: rgba(6, 12, 24, 0.84);
    --season-surface-strong: rgba(8, 15, 30, 0.96);
    --season-border: rgba(0, 212, 255, 0.28);
    --season-glow: rgba(0, 212, 255, 0.24);
}

body[data-season-theme="halloween"] {
    --season-primary: #ff7a00;
    --season-secondary: #b735ff;
    --season-tertiary: #ff3d00;
    --season-surface: rgba(30, 12, 7, 0.86);
    --season-surface-strong: rgba(20, 8, 5, 0.97);
    --season-border: rgba(255, 122, 0, 0.34);
    --season-glow: rgba(255, 92, 0, 0.28);
}

body[data-season-theme="christmas"] {
    --season-primary: #ff3c50;
    --season-secondary: #318cff;
    --season-tertiary: #ffd15c;
    --season-surface: rgba(8, 20, 37, 0.88);
    --season-surface-strong: rgba(7, 15, 29, 0.97);
    --season-border: rgba(84, 155, 255, 0.36);
    --season-glow: rgba(55, 133, 255, 0.28);
}

body[data-season-theme="easter"] {
    --season-primary: #20d7f2;
    --season-secondary: #f04cdb;
    --season-tertiary: #a8e544;
    --season-surface: rgba(11, 29, 33, 0.86);
    --season-surface-strong: rgba(7, 18, 24, 0.97);
    --season-border: rgba(84, 225, 219, 0.34);
    --season-glow: rgba(240, 76, 219, 0.24);
}

body[data-season-theme] {
    background:
        radial-gradient(circle at 12% 8%, var(--season-glow), transparent 30%),
        radial-gradient(circle at 88% 18%, color-mix(in srgb, var(--season-secondary) 20%, transparent), transparent 32%),
        #000;
    background-attachment: fixed;
}

body[data-season-theme] .gradient-text {
    background-image: linear-gradient(135deg, var(--season-primary), var(--season-secondary), var(--season-tertiary));
}

body[data-season-theme] .cta-button,
body[data-season-theme] .service-button,
body[data-season-theme] .lang-btn.active,
body[data-season-theme] .lang-btn:hover {
    background-image: linear-gradient(135deg, var(--season-primary), var(--season-secondary), var(--season-tertiary));
}

body[data-season-theme] .language-switcher {
    border-color: var(--season-border);
    background: var(--season-surface-strong);
    box-shadow: 0 10px 34px rgba(0, 0, 0, 0.34);
}

body[data-season-theme] .lang-btn {
    border-color: var(--season-border);
}

body[data-season-theme] .hero::before {
    background:
        radial-gradient(circle at 50% 45%, var(--season-glow), transparent 62%),
        radial-gradient(circle at 25% 15%, color-mix(in srgb, var(--season-primary) 14%, transparent), transparent 36%);
}

body[data-season-theme] .service-card {
    background: linear-gradient(145deg, var(--season-surface), rgba(0, 0, 0, 0.72));
    border-color: var(--season-border);
    box-shadow: 0 14px 38px rgba(0, 0, 0, 0.26);
}

body[data-season-theme] .service-card:hover {
    border-color: var(--season-primary);
    box-shadow: 0 18px 48px var(--season-glow);
}

#seasonal-theme-logo {
    display: block;
    width: min(82vw, 340px);
    max-width: none;
    max-height: 340px;
    object-fit: contain;
    margin: 0 auto;
    filter: drop-shadow(0 18px 40px var(--season-glow));
    transition: width 0.35s ease, filter 0.35s ease;
}

body:not([data-season-theme="standard"]) #seasonal-theme-logo {
    width: min(88vw, 620px);
    max-height: 440px;
}

#seasonal-theme-banner {
    position: relative;
    z-index: 1100;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 11px 80px 11px 18px;
    color: #fff;
    text-align: center;
    font-weight: 700;
    letter-spacing: 0.02em;
    background: linear-gradient(110deg, var(--season-surface-strong), color-mix(in srgb, var(--season-primary) 28%, #05070d), var(--season-surface-strong));
    border-bottom: 1px solid var(--season-border);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.28);
}

#seasonal-theme-banner[hidden] {
    display: none !important;
}

#seasonal-theme-banner-close {
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    width: 34px;
    height: 34px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    color: #fff;
    background: rgba(0, 0, 0, 0.25);
    cursor: pointer;
    font-size: 20px;
}

#seasonal-effects {
    position: fixed;
    inset: 0;
    z-index: 2;
    overflow: hidden;
    pointer-events: none;
}

.seasonal-effect-item {
    position: absolute;
    top: -12%;
    left: var(--season-left);
    color: var(--season-primary);
    opacity: 0.58;
    font-size: var(--season-size);
    filter: drop-shadow(0 0 8px var(--season-glow));
    animation: seasonal-fall var(--season-duration) linear infinite;
    animation-delay: var(--season-delay);
}

@keyframes seasonal-fall {
    to {
        transform: translate3d(var(--season-drift), 115vh, 0) rotate(320deg);
    }
}

body[data-season-theme="halloween"] .hero {
    background-image: linear-gradient(180deg, rgba(255, 92, 0, 0.03), rgba(117, 20, 161, 0.08));
}

body[data-season-theme="christmas"] .hero {
    background-image: linear-gradient(180deg, rgba(20, 77, 150, 0.06), rgba(170, 14, 35, 0.06));
}

body[data-season-theme="easter"] .hero {
    background-image: linear-gradient(180deg, rgba(22, 195, 214, 0.05), rgba(235, 61, 200, 0.07));
}

@media (max-width: 700px) {
    body:not([data-season-theme="standard"]) #seasonal-theme-logo {
        width: min(94vw, 520px);
        max-height: 330px;
    }

    #seasonal-theme-banner {
        justify-content: flex-start;
        min-height: 44px;
        padding: 10px 56px 10px 14px;
        text-align: left;
        font-size: 0.9rem;
    }

    #seasonal-theme-banner-close {
        right: 10px;
        width: 32px;
        height: 32px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .seasonal-effect-item {
        animation: none !important;
        display: none;
    }

    #seasonal-theme-logo {
        transition: none;
    }
}
