:root[data-seasonal-theme="nouvel-an"] {
    --color-primary: var(--seasonal-primary-color, #fdd835);
    --color-accent: var(--seasonal-accent-color, #1a237e);
    --color-background: var(--seasonal-background-color, #ffffff);
    --nouvel-an-dark-background: var(--seasonal-dark-background, #0b1020);
    --nouvel-an-cta-decoration: var(
        --seasonal-cta-decoration,
        url("/img/themes/nouvel-an/sparkler.svg")
    );
}

[data-seasonal-theme="nouvel-an"] .lemwork-cta-box,
body[data-seasonal-theme="nouvel-an"] .lemwork-cta-box,
body.nouvel-an-theme .lemwork-cta-box {
    color: #fff ;
}

[data-seasonal-theme="nouvel-an"] .lemwork-cta-box h2,
[data-seasonal-theme="nouvel-an"] .lemwork-cta-box p,
[data-seasonal-theme="nouvel-an"] .lemwork-cta-box a {
    color: #fff ;
}


[data-seasonal-theme="nouvel-an"] body,
body[data-seasonal-theme="nouvel-an"],
body.nouvel-an-theme {
    color: #121212;
    background-color: var(--color-background);
    background-image:
        radial-gradient(circle at 20% 20%, rgba(253, 216, 53, 0.16), transparent 58%),
        radial-gradient(circle at 80% 10%, rgba(26, 35, 126, 0.18), transparent 60%),
        radial-gradient(circle at 50% 90%, rgba(29, 233, 182, 0.14), transparent 52%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(245, 248, 255, 0.94));
}

[data-seasonal-theme="nouvel-an"] body.invert-theme,
body[data-seasonal-theme="nouvel-an"].invert-theme,
body.nouvel-an-theme.invert-theme,
html[data-seasonal-theme="nouvel-an"] body.invert-theme {
    color: #f4f7ff;
    background-color: var(--nouvel-an-dark-background);
    background-image:
        radial-gradient(circle at 20% 20%, rgba(253, 216, 53, 0.18), transparent 60%),
        radial-gradient(circle at 80% 10%, rgba(26, 35, 126, 0.25), transparent 62%),
        radial-gradient(circle at 50% 90%, rgba(29, 233, 182, 0.18), transparent 55%),
        linear-gradient(180deg, rgba(11, 16, 32, 0.95), rgba(15, 22, 48, 0.94));
}

[data-seasonal-theme="nouvel-an"] .start-chat-btn.lem-animate.lem-rubber-band,
body[data-seasonal-theme="nouvel-an"] .start-chat-btn.lem-animate.lem-rubber-band,
body.nouvel-an-theme .start-chat-btn.lem-animate.lem-rubber-band {
    background: linear-gradient(135deg, var(--color-primary), #ffb300 35%, #ff4081 90%);
    color: #1a1a1a;
    border: 2px solid rgba(253, 216, 53, 0.85);
    box-shadow: 0 16px 36px rgba(255, 193, 7, 0.35);
}

[data-seasonal-theme="nouvel-an"] body.invert-theme .start-chat-btn.lem-animate.lem-rubber-band,
body[data-seasonal-theme="nouvel-an"].invert-theme .start-chat-btn.lem-animate.lem-rubber-band,
body.nouvel-an-theme.invert-theme .start-chat-btn.lem-animate.lem-rubber-band,
html[data-seasonal-theme="nouvel-an"] body.invert-theme .start-chat-btn.lem-animate.lem-rubber-band {
    background: linear-gradient(135deg, #fff8e1, #ffe082);
    color: var(--color-accent);
    border-color: rgba(255, 248, 225, 0.9);
    box-shadow: 0 14px 32px rgba(26, 35, 126, 0.35);
}

[data-seasonal-theme="nouvel-an"] a,
body[data-seasonal-theme="nouvel-an"] a,
body.nouvel-an-theme a {
    color : #0d6efd;
}


[data-seasonal-theme="nouvel-an"] .btn-primary,
body[data-seasonal-theme="nouvel-an"] .btn-primary,
body.nouvel-an-theme .btn-primary {
    background: linear-gradient(120deg, var(--color-accent), #3949ab 45%, #00b8d4 95%);
    border-color: rgba(130, 177, 255, 0.75);
    color: #fefefe;
    box-shadow: 0 18px 40px rgba(57, 73, 171, 0.35);
}

[data-seasonal-theme="nouvel-an"] .lemwork-cta-box,
body[data-seasonal-theme="nouvel-an"] .lemwork-cta-box,
body.nouvel-an-theme .lemwork-cta-box {
    position: relative;
    overflow: visible;
    border-color: rgba(130, 177, 255, 0.45);
    background: linear-gradient(145deg, rgba(26, 35, 126, 0.7), rgba(11, 16, 32, 0.9)),
    linear-gradient(45deg, rgba(253, 216, 53, 0.2), transparent 60%);
    box-shadow: 0 28px 54px rgba(8, 15, 40, 0.65);
    padding-bottom: clamp(3rem, 7vw, 4.5rem);
}

[data-seasonal-theme="nouvel-an"] .lemwork-cta-box,
body[data-seasonal-theme="nouvel-an"] .lemwork-cta-box,
body.nouvel-an-theme .lemwork-cta-box p {
    position: relative;
    overflow: visible;
    border-color: rgba(130, 177, 255, 0.45);
    background: linear-gradient(145deg, rgba(26, 35, 126, 0.7), rgba(11, 16, 32, 0.9)),
    linear-gradient(45deg, rgba(253, 216, 53, 0.2), transparent 60%);
    box-shadow: 0 28px 54px rgba(8, 15, 40, 0.65);
    padding-bottom: clamp(3rem, 7vw, 4.5rem);
}

[data-seasonal-theme="nouvel-an"] .lemwork-cta-box::after,
body[data-seasonal-theme="nouvel-an"] .lemwork-cta-box::after,
body.nouvel-an-theme .lemwork-cta-box::after {
    content: "";
    position: absolute;
    bottom: -30px;
    right: -10px;
    width: clamp(90px, 22vw, 170px);
    height: clamp(90px, 22vw, 170px);
    background-image: var(--nouvel-an-cta-decoration);
    background-repeat: no-repeat;
    background-size: contain;
    pointer-events: none;
    filter: drop-shadow(0 12px 24px rgba(253, 216, 53, 0.35));
}

[data-seasonal-theme="nouvel-an"] .lemwork-faq,
body[data-seasonal-theme="nouvel-an"] .lemwork-faq,
body.nouvel-an-theme .lemwork-faq {
    position: relative;
    overflow: hidden;
    border-color: rgba(130, 177, 255, 0.4);
    box-shadow: 0 30px 62px rgba(12, 18, 42, 0.55);
    background: linear-gradient(165deg, rgba(20, 28, 62, 0.92), rgba(18, 33, 74, 0.88)),
    radial-gradient(circle at top left, rgba(253, 216, 53, 0.28), transparent 60%);
    backdrop-filter: blur(4px);
}

[data-seasonal-theme="nouvel-an"] .lemwork-faq::after,
body[data-seasonal-theme="nouvel-an"] .lemwork-faq::after,
body.nouvel-an-theme .lemwork-faq::after {
    content: "";
    position: absolute;
    inset: -20px -40px auto auto;
    width: clamp(120px, 28vw, 200px);
    height: clamp(120px, 28vw, 200px);
    background-image: var(
        --seasonal-faq-decoration,
        url("/img/themes/nouvel-an/fireworks.svg")
    );
    background-repeat: no-repeat;
    background-size: contain;
    opacity: 0.9;
    pointer-events: none;
    transform: rotate(-6deg);
}

[data-seasonal-theme="nouvel-an"] .lemwork-faq h2,
body[data-seasonal-theme="nouvel-an"] .lemwork-faq h2,
body.nouvel-an-theme .lemwork-faq h2 {
    color: #ffe082;
    text-shadow: 0 0 18px rgba(255, 204, 128, 0.45);
}

[data-seasonal-theme="nouvel-an"] .lemwork-faq__item,
body[data-seasonal-theme="nouvel-an"] .lemwork-faq__item,
body.nouvel-an-theme .lemwork-faq__item {
    border-color: rgba(130, 177, 255, 0.35);
    background: rgba(26, 35, 126, 0.72);
    box-shadow: 0 22px 42px rgba(11, 16, 32, 0.6);
    color: #e8edff;
}

[data-seasonal-theme="nouvel-an"] .lemwork-faq__item summary,
body[data-seasonal-theme="nouvel-an"] .lemwork-faq__item summary,
body.nouvel-an-theme .lemwork-faq__item summary,
[data-seasonal-theme="nouvel-an"] .lemwork-faq__item p,
body[data-seasonal-theme="nouvel-an"] .lemwork-faq__item p,
body.nouvel-an-theme .lemwork-faq__item p {
    color: inherit;
}

[data-seasonal-theme="nouvel-an"] .lemwork-faq__item[open],
body[data-seasonal-theme="nouvel-an"] .lemwork-faq__item[open],
body.nouvel-an-theme .lemwork-faq__item[open] {
    border-color: rgba(253, 216, 53, 0.65);
    box-shadow: 0 26px 48px rgba(255, 193, 7, 0.35);
    background: rgba(48, 63, 159, 0.82);
}

[data-seasonal-theme="nouvel-an"] .lemwork-faq__item summary::after,
body[data-seasonal-theme="nouvel-an"] .lemwork-faq__item summary::after,
body.nouvel-an-theme .lemwork-faq__item summary::after {
    color: rgba(253, 216, 53, 0.85);
}

[data-seasonal-theme="nouvel-an"] .lemwork-banner,
body[data-seasonal-theme="nouvel-an"] .lemwork-banner,
body.nouvel-an-theme .lemwork-banner {
    position: relative;
    margin-top: clamp(2.5rem, 6vw, 4rem);
    padding: clamp(2.5rem, 6vw, 3.75rem) clamp(2rem, 5vw, 3.5rem);
    border-radius: 34px;
    border: 1px solid rgba(130, 177, 255, 0.35);
    background: radial-gradient(circle at top right, rgba(253, 216, 53, 0.24), transparent 55%),
    radial-gradient(circle at 15% 120%, rgba(0, 200, 255, 0.3), rgba(0, 150, 255, 0.65) 65%),
    linear-gradient(135deg, rgba(20, 30, 65, 0.95), rgba(12, 20, 44, 0.92));
    box-shadow: 0 32px 60px rgba(6, 12, 32, 0.65);
}

[data-seasonal-theme="nouvel-an"] .lemwork-banner h1,
body[data-seasonal-theme="nouvel-an"] .lemwork-banner h1,
body.nouvel-an-theme .lemwork-banner h1 {
    color: #fff59d;
    text-shadow: 0 6px 18px rgba(255, 193, 7, 0.45);
}

[data-seasonal-theme="nouvel-an"] .lemwork-banner p,
body[data-seasonal-theme="nouvel-an"] .lemwork-banner p,
body.nouvel-an-theme .lemwork-banner p {
    color: rgba(226, 235, 255, 0.95);
}

[data-seasonal-theme="nouvel-an"] .lemwork-banner .btn-primary,
body[data-seasonal-theme="nouvel-an"] .lemwork-banner .btn-primary,
body.nouvel-an-theme .lemwork-banner .btn-primary {
    background: linear-gradient(130deg, #ffb300, var(--color-primary) 50%, #ff4081 100%);
    border-color: rgba(253, 216, 53, 0.8);
    color: #1a1a1a;
}

[data-seasonal-theme="nouvel-an"] .lemwork-hero-illustration,
body[data-seasonal-theme="nouvel-an"] .lemwork-hero-illustration,
body.nouvel-an-theme .lemwork-hero-illustration {
    filter: drop-shadow(0 22px 60px rgba(0, 150, 255, 0.35));
}
