/* ═══════════════════════════════════════════════════════
   EV HERO SLIDER — FRONTEND v2.8
   E-Ven Gaming Design System
═══════════════════════════════════════════════════════ */
:root {
    --evhs-acc:    #ff8c00;
    --evhs-acc2:   #2f86ff;
    --evhs-dark:   #0a0c14;
    --evhs-surface:rgba(8,12,22,.52);
    --evhs-border: rgba(255,255,255,.1);
    --evhs-text:   #f0f4f8;
    --evhs-radius: 24px;
}

/* ── RESET & WRAPPER ──────────────────────────────────── */
.evhs-block {
    position: relative; width: 100%;
    /* Coller au header via overlap */
    margin-top: calc(-1 * var(--evhs-overlap, 0px));
}
.evhs-block *, .evhs-block *::before, .evhs-block *::after { box-sizing: border-box; margin: 0; padding: 0; }
/* Isolation complète du dark-mode WordPress/Elementor */
.evhs-block {
    color-scheme: normal;
    isolation: isolate;          /* Crée un nouveau stacking context */
    contain: layout style;       /* Empêche les styles externes de cascader */
}
.evhs-block img { filter: none !important; }
.evhs-slider-wrap { filter: none !important; }
.evhs-slide { filter: none !important; }
.evhs-block.is-full-width { margin-left: calc(50% - 50vw); width: 100vw; }
.evhs-block + * { margin-top: 0 !important; }

/* ══════════════════════════════════════════════════════
   BANDEAU PROMO — STRUCTURE DE BASE
══════════════════════════════════════════════════════ */
.evhs-promo-bar {
    display: block; position: relative; width: 100%;
    height: var(--evhs-promo-h, 58px);
    overflow: hidden; text-decoration: none; z-index: 5;
}
.evhs-promo-shell {
    display: grid; grid-template-columns: auto 1fr auto;
    align-items: center; height: 100%;
    gap: 16px; padding: 0 24px; position: relative;
}
.evhs-promo-track {
    /* Fenêtre overflow : le marquee déborde, le track masque les bords */
    flex: 1;
    overflow: hidden;
    display: flex;
    align-items: center;
    /* Fondu aux bords pour un effet propre */
    mask-image: linear-gradient(to right, transparent 0%, #000 4%, #000 96%, transparent 100%);
    -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 4%, #000 96%, transparent 100%);
}
/*
 * SCROLL INFINI — technique éprouvée :
 * Le marquee contient le texte répété 8× en PHP.
 * On anime de translateX(0) → translateX(-50%).
 * Quand la moitié est parcourue, on se retrouve
 * exactement au même point visuel → boucle parfaite.
 */
.evhs-promo-marquee {
    display: flex;          /* flex (pas inline-flex) pour que ça prenne toute la largeur */
    align-items: center;
    white-space: nowrap;
    flex-shrink: 0;
    width: max-content;     /* s'étire à la largeur réelle du contenu */
    animation: evhs-marquee var(--evhs-promo-speed, 26s) linear infinite;
    will-change: transform;
}
@keyframes evhs-marquee {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}
.evhs-promo-item { display: inline-flex; align-items: center; gap: 16px; }
.evhs-promo-badge {
    flex-shrink: 0; display: inline-flex; align-items: center;
    padding: 5px 14px; border-radius: 999px;
    font-family: 'Rajdhani', sans-serif;
    font-size: 11px; font-weight: 800; letter-spacing: .14em;
    text-transform: uppercase; white-space: nowrap;
}
.evhs-promo-arrow { font-size: 14px; flex-shrink: 0; opacity: .7; }
.evhs-promo-dot { display: inline-block; width: 4px; height: 4px; border-radius: 50%; }

/* ── THÈME : NEON (défaut) ─────────────────────────── */
.evhs-promo-theme-neon .evhs-promo-bar {
    background: #04060e;
    border-top:    1px solid rgba(255,140,0,.5);
    border-bottom: 1px solid rgba(47,134,255,.3);
    box-shadow: inset 0 1px 0 rgba(255,140,0,.15);
}
.evhs-promo-theme-neon .evhs-promo-bar::before {
    content:''; position:absolute; inset:0 0 auto 0; height:1px;
    background:linear-gradient(90deg,transparent,rgba(255,140,0,.9) 25%,rgba(47,134,255,.9) 70%,transparent);
}
.evhs-promo-theme-neon .evhs-promo-badge { background:var(--evhs-accent,#ff8c00); color:#fff; box-shadow:0 0 12px rgba(255,140,0,.4); }
.evhs-promo-theme-neon .evhs-promo-item  { color:rgba(255,255,255,.85); font-size:12px; font-weight:600; letter-spacing:.03em; }
.evhs-promo-theme-neon .evhs-promo-dot   { background:var(--evhs-accent,#ff8c00); box-shadow:0 0 6px var(--evhs-accent,#ff8c00); }
.evhs-promo-theme-neon .evhs-promo-arrow { color:var(--evhs-accent,#ff8c00); }

/* ── THÈME : NOËL 🎄 ────────────────────────────────── */
.evhs-promo-theme-noel .evhs-promo-bar {
    background: linear-gradient(135deg, #0d1f0d 0%, #1a0a0a 50%, #0d1f0d 100%);
    border-top:    1px solid rgba(192,57,43,.5);
    border-bottom: 1px solid rgba(39,174,96,.4);
    position: relative; overflow: hidden;
}
.evhs-promo-theme-noel .evhs-promo-bar::before {
    content:''; position:absolute; inset:0; pointer-events:none;
    background:
        radial-gradient(circle at 10% 50%, rgba(192,57,43,.15) 0%, transparent 40%),
        radial-gradient(circle at 90% 50%, rgba(39,174,96,.12) 0%, transparent 40%);
}
.evhs-promo-theme-noel .evhs-promo-bar::after {
    content:'❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄';
    position:absolute; top:2px; left:0; right:0;
    font-size:8px; color:rgba(255,255,255,.15); letter-spacing:12px;
    white-space:nowrap; overflow:hidden;
    animation: evhs-snow 12s linear infinite;
}
@keyframes evhs-snow { 0%{letter-spacing:12px;opacity:.15} 50%{opacity:.25} 100%{letter-spacing:12px;opacity:.15} }
.evhs-promo-theme-noel .evhs-promo-badge { background:linear-gradient(135deg,#c0392b,#922b21); color:#fff; border:1px solid rgba(192,57,43,.5); }
.evhs-promo-theme-noel .evhs-promo-item  { color:rgba(255,240,220,.9); font-size:12px; font-weight:600; }
.evhs-promo-theme-noel .evhs-promo-dot   { background:#27ae60; box-shadow:0 0 8px rgba(39,174,96,.6); }
.evhs-promo-theme-noel .evhs-promo-arrow { color:#e74c3c; }

/* ── THÈME : PRINTEMPS 🌿 ───────────────────────────── */
.evhs-promo-theme-printemps .evhs-promo-bar {
    background: linear-gradient(135deg, #f4fff4 0%, #ecfff5 50%, #f8fff1 100%);
    border-top:    1px solid rgba(122, 201, 67, .45);
    border-bottom: 1px solid rgba(240, 195, 0, .35);
    box-shadow: 0 8px 24px rgba(80, 120, 60, .12);
}
.evhs-promo-theme-printemps .evhs-promo-bar::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(ellipse at 20% 50%, rgba(122, 201, 67, .12) 0%, transparent 55%),
        radial-gradient(ellipse at 80% 50%, rgba(240, 195, 0, .10) 0%, transparent 55%);
}
@keyframes evhs-spring {0%,100% { filter: hue-rotate(0deg) }50% { filter: hue-rotate(8deg) }}
.evhs-promo-theme-printemps .evhs-promo-bar {animation: evhs-spring 10s ease-in-out infinite;}
.evhs-promo-theme-printemps .evhs-promo-badge {background: linear-gradient(135deg, #7ac943, #58b947);color: #fff;box-shadow: 0 0 16px rgba(122, 201, 67, .28);}
.evhs-promo-theme-printemps .evhs-promo-item {color: rgba(70, 105, 45, .92);font-size: 12px;font-weight: 600;letter-spacing: .02em;}
.evhs-promo-theme-printemps .evhs-promo-dot {background: #F0C300;box-shadow: 0 0 8px rgba(240, 195, 0, .7);}
.evhs-promo-theme-printemps .evhs-promo-arrow {color: #58b947;text-shadow: 0 0 8px rgba(88, 185, 71, .25);}

/* ── THÈME : AUTOMNE 🍂 ───────────────────────────── */
.evhs-promo-theme-automne .evhs-promo-bar {
    background: linear-gradient(135deg, #150a00 0%, #1b0d00 50%, #150a00 100%);
    border-top:    1px solid rgba(230,126,34,.5);
    border-bottom: 1px solid rgba(140,195,0,.45);
    box-shadow: 0 8px 24px rgba(0,0,0,.45);
}
.evhs-promo-theme-automne .evhs-promo-bar::before {
    content:''; 
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        radial-gradient(ellipse at 20% 50%, rgba(230,126,34,.12) 0%, transparent 55%),
        radial-gradient(ellipse at 80% 50%, rgba(240,195,0,.12) 0%, transparent 55%);
}
.evhs-promo-theme-automne .evhs-promo-marquee {
    animation: evhs-marquee var(--evhs-promo-speed,26s) linear infinite,
               evhs-spooky 4s ease-in-out infinite;
}
@keyframes evhs-spooky { 0%,100%{filter:hue-rotate(0deg)} 50%{filter:hue-rotate(20deg)} }
.evhs-promo-theme-automne .evhs-promo-badge { background:linear-gradient(135deg,#e67e22,#d35400); color:#fff; box-shadow:0 0 18px rgba(230,126,34,.4); }
.evhs-promo-theme-automne .evhs-promo-item  { color:rgba(255,210,160,.95); font-size:12px; font-weight:600; letter-spacing:.02em; }
.evhs-promo-theme-automne .evhs-promo-dot   { background:#F0C300; box-shadow:0 0 8px rgba(240,195,0,.5); }
.evhs-promo-theme-automne .evhs-promo-arrow { color:#F0C300; }

/* ── THÈME : HALLOWEEN 🎃 ───────────────────────────── */
.evhs-promo-theme-halloween .evhs-promo-bar {
    background: linear-gradient(135deg, #150a00 0%, #1e0a2e 50%, #150a00 100%);
    border-top:    1px solid rgba(230,126,34,.5);
    border-bottom: 1px solid rgba(142,68,173,.4);
}
.evhs-promo-theme-halloween .evhs-promo-bar::before {
    content:''; position:absolute; inset:0; pointer-events:none;
    background:
        radial-gradient(ellipse at 20% 50%, rgba(230,126,34,.12) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 50%, rgba(142,68,173,.1) 0%, transparent 50%);
}
.evhs-promo-theme-halloween .evhs-promo-marquee {
    animation: evhs-marquee var(--evhs-promo-speed,26s) linear infinite,
               evhs-spooky 4s ease-in-out infinite;
}
@keyframes evhs-spooky { 0%,100%{filter:hue-rotate(0deg)} 50%{filter:hue-rotate(20deg)} }
.evhs-promo-theme-halloween .evhs-promo-badge { background:linear-gradient(135deg,#e67e22,#d35400); color:#fff; box-shadow:0 0 16px rgba(230,126,34,.4); }
.evhs-promo-theme-halloween .evhs-promo-item  { color:rgba(255,200,150,.9); font-size:12px; font-weight:600; letter-spacing:.02em; }
.evhs-promo-theme-halloween .evhs-promo-dot   { background:#8e44ad; box-shadow:0 0 8px rgba(142,68,173,.8); }
.evhs-promo-theme-halloween .evhs-promo-arrow { color:#e67e22; }

/* ── THÈME : SAINT-VALENTIN 💕 ──────────────────────── */
.evhs-promo-theme-valentine .evhs-promo-bar {
    background: linear-gradient(135deg, #1a0010 0%, #200015 50%, #1a0010 100%);
    border-top:    1px solid rgba(233,30,140,.45);
    border-bottom: 1px solid rgba(255,64,129,.3);
}
.evhs-promo-theme-valentine .evhs-promo-bar::before {
    content:''; position:absolute; inset:0; pointer-events:none;
    background: radial-gradient(ellipse at 50% 0%, rgba(233,30,140,.15) 0%, transparent 60%);
}
.evhs-promo-theme-valentine .evhs-promo-marquee { animation: evhs-marquee var(--evhs-promo-speed,26s) linear infinite; }
.evhs-promo-theme-valentine .evhs-promo-item::after { content:'  ♥ '; color:rgba(233,30,140,.5); }
.evhs-promo-theme-valentine .evhs-promo-badge {
    background: linear-gradient(135deg,#e91e8c,#c2185b);
    color: #fff;
    box-shadow: 0 0 20px rgba(233,30,140,.5);
    animation: evhs-heartbeat 1.4s ease-in-out infinite;
}
@keyframes evhs-heartbeat { 0%,100%{transform:scale(1)} 14%{transform:scale(1.08)} 28%{transform:scale(1)} 42%{transform:scale(1.05)} }
.evhs-promo-theme-valentine .evhs-promo-item  { color:rgba(255,200,220,.9); font-size:12px; font-weight:600; }
.evhs-promo-theme-valentine .evhs-promo-dot   { background:#ff4081; box-shadow:0 0 8px rgba(255,64,129,.7); }
.evhs-promo-theme-valentine .evhs-promo-arrow { color:#e91e8c; }

/* ── THÈME : SUMMER 🌞 ──────────────────────────────── */
.evhs-promo-theme-summer .evhs-promo-bar {
    background: linear-gradient(135deg, #0a1520 0%, #0d1a25 50%, #0a1520 100%);
    border-top:    1px solid rgba(243,156,18,.5);
    border-bottom: 1px solid rgba(0,188,212,.35);
}
.evhs-promo-theme-summer .evhs-promo-bar::before {
    content:''; position:absolute; inset:0; pointer-events:none;
    background:
        radial-gradient(ellipse at 20% 50%, rgba(243,156,18,.12) 0%, transparent 45%),
        radial-gradient(ellipse at 80% 50%, rgba(0,188,212,.1) 0%, transparent 45%);
}
.evhs-promo-theme-summer .evhs-promo-marquee { animation: evhs-marquee var(--evhs-promo-speed,26s) linear infinite; }
.evhs-promo-theme-summer .evhs-promo-badge { background:linear-gradient(135deg,#f39c12,#e67e22); color:#fff; box-shadow:0 0 14px rgba(243,156,18,.4); }
.evhs-promo-theme-summer .evhs-promo-item  { color:rgba(255,245,200,.9); font-size:12px; font-weight:600; }
.evhs-promo-theme-summer .evhs-promo-dot   { background:#00bcd4; box-shadow:0 0 8px rgba(0,188,212,.7); }
.evhs-promo-theme-summer .evhs-promo-arrow { color:#f39c12; }

/* ── THÈME : CYBER 💻 ───────────────────────────────── */
.evhs-promo-theme-cyber .evhs-promo-bar {
    background: #020a04;
    border-top:    1px solid rgba(0,255,159,.4);
    border-bottom: 1px solid rgba(0,102,255,.3);
    font-family: 'Courier New', monospace;
}
.evhs-promo-theme-cyber .evhs-promo-bar::before {
    content:''; position:absolute; inset:0 0 auto 0; height:1px;
    background: linear-gradient(90deg, transparent, rgba(0,255,159,.8) 30%, rgba(0,102,255,.8) 70%, transparent);
    animation: evhs-scan 3s linear infinite;
}
@keyframes evhs-scan { 0%{opacity:.3} 50%{opacity:1} 100%{opacity:.3} }
.evhs-promo-theme-cyber .evhs-promo-badge {
    background: transparent; color:#00ff9f;
    border:1px solid rgba(0,255,159,.5);
    box-shadow: 0 0 10px rgba(0,255,159,.3), inset 0 0 6px rgba(0,255,159,.1);
    font-family: 'Courier New', monospace;
    animation: evhs-glitch .8s steps(1) infinite;
}
@keyframes evhs-glitch {
    0%,90%,100%{text-shadow:none}
    92%{text-shadow:2px 0 #ff0040,-2px 0 #00ff9f;opacity:.8}
    94%{text-shadow:-1px 0 #00f,1px 0 #f00;opacity:1}
}
.evhs-promo-theme-cyber .evhs-promo-item  { color:rgba(0,255,159,.85); font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; }
.evhs-promo-theme-cyber .evhs-promo-dot   { background:#0066ff; box-shadow:0 0 8px rgba(0,102,255,.9); }
.evhs-promo-theme-cyber .evhs-promo-arrow { color:#00ff9f; }

/* ── NOUVEL AN 🎆 ───────────────────────────────────── */
.evhs-promo-theme-nouvelan .evhs-promo-bar {
    background: linear-gradient(135deg, #0d0221 0%, #1a0533 100%);
    border-bottom: 1px solid rgba(255,215,0,.3);
}
.evhs-promo-theme-nouvelan .evhs-promo-bar::before {
    content:''; position:absolute; inset:0; pointer-events:none;
    background: radial-gradient(ellipse at 50% 0%, rgba(255,215,0,.15) 0%, transparent 65%);
}
/* émojis ::after supprimés (compatibilité navigateurs) */
.evhs-promo-theme-nouvelan .evhs-promo-badge { background:linear-gradient(135deg,#ffd700,#ff8c00); color:#000; box-shadow:0 0 16px rgba(255,215,0,.5); }
.evhs-promo-theme-nouvelan .evhs-promo-item  { color:#ffe066; font-size:12px; font-weight:700; letter-spacing:.04em; }
.evhs-promo-theme-nouvelan .evhs-promo-dot   { background:#ff3333; box-shadow:0 0 8px rgba(255,51,51,.8); }
.evhs-promo-theme-nouvelan .evhs-promo-arrow { color:#ffd700; }

/* ── PÂQUES 🐣 ──────────────────────────────────────── */
.evhs-promo-theme-paques .evhs-promo-bar {
    background: linear-gradient(135deg, #1a3a1a 0%, #2d5a1b 100%);
    border-bottom: 1px solid rgba(168,224,99,.3);
}
.evhs-promo-theme-paques .evhs-promo-bar::before {
    content:''; position:absolute; inset:0; pointer-events:none;
    background: radial-gradient(ellipse at 50% 100%, rgba(168,224,99,.12) 0%, transparent 60%);
}
.evhs-promo-theme-paques .evhs-promo-badge { background:linear-gradient(135deg,#a8e063,#56ab2f); color:#1a3a1a; font-weight:900; }
.evhs-promo-theme-paques .evhs-promo-item  { color:rgba(230,255,200,.9); font-size:12px; font-weight:600; }
.evhs-promo-theme-paques .evhs-promo-dot   { background:#f9ca24; box-shadow:0 0 8px rgba(249,202,36,.7); }
.evhs-promo-theme-paques .evhs-promo-arrow { color:#a8e063; }

/* ── THÈME : HIVER ❄️ ───────────────────────────── */
.evhs-promo-theme-hiver .evhs-promo-bar {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #0b1220 0%, #101a2e 50%, #0b1220 100%);
    border-top: 1px solid rgba(143, 211, 255, .45);
    border-bottom: 1px solid rgba(255, 255, 255, .18);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .35);
}
.evhs-promo-theme-hiver .evhs-promo-bar::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(ellipse at 20% 50%, rgba(143, 211, 255, .14) 0%, transparent 55%),
        radial-gradient(ellipse at 80% 50%, rgba(255, 255, 255, .10) 0%, transparent 55%);
}
.evhs-promo-theme-hiver .evhs-promo-bar::after {
    content: "❄  •  ❅  •  ❄  •  ❅  •  ❄  •  ❅  •  ❄";
    position: absolute;
    top: -2px;
    left: -10%;
    width: 120%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-around;
    color: rgba(255,255,255,.16);
    font-size: 14px;
    letter-spacing: 18px;
    pointer-events: none;
    animation: evhs-snow-drift 16s linear infinite;
}
.evhs-promo-theme-hiver .evhs-promo-shell::before {
    content: "•  ❄  •  ❅  •  ❄  •  ❅  •  ❄";
    position: absolute;
    top: 0;
    left: -15%;
    width: 130%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-around;
    color: rgba(143,211,255,.14);
    font-size: 11px;
    letter-spacing: 20px;
    pointer-events: none;
    animation: evhs-snow-drift-2 24s linear infinite;
}
.evhs-promo-theme-hiver .evhs-promo-badge {background: linear-gradient(135deg, #8fd3ff, #56b8ff);color: #08111d;box-shadow: 0 0 16px rgba(143, 211, 255, .35);font-weight: 800;}
.evhs-promo-theme-hiver .evhs-promo-item {color: rgba(223, 246, 255, .95);font-size: 12px;font-weight: 600;letter-spacing: .02em;}
.evhs-promo-theme-hiver .evhs-promo-dot {background: #ffffff;box-shadow: 0 0 8px rgba(143, 211, 255, .8);}
.evhs-promo-theme-hiver .evhs-promo-arrow {color: #8fd3ff;text-shadow: 0 0 8px rgba(143, 211, 255, .45);}
/* animations */
@keyframes evhs-snow-drift {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(6%);
    }
}
@keyframes evhs-snow-drift-2 {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-6%);
    }
}

/* ── SAINT-PATRICK ☘️ ────────────────────────────────── */
.evhs-promo-theme-stpatrick .evhs-promo-bar {
    background: linear-gradient(135deg, #003d1a 0%, #006b2c 100%);
    border-bottom: 1px solid rgba(0,168,107,.4);
}
.evhs-promo-theme-stpatrick .evhs-promo-bar::before {
    content:''; position:absolute; inset:0; pointer-events:none;
    background: radial-gradient(circle at 20% 50%, rgba(0,168,107,.2) 0%, transparent 50%),
                radial-gradient(circle at 80% 50%, rgba(0,168,107,.15) 0%, transparent 50%);
}
.evhs-promo-theme-stpatrick .evhs-promo-badge { background:linear-gradient(135deg,#00a86b,#007a4d); color:#fff; box-shadow:0 0 14px rgba(0,168,107,.5); }
.evhs-promo-theme-stpatrick .evhs-promo-item  { color:rgba(180,255,210,.9); font-size:12px; font-weight:600; letter-spacing:.03em; }
.evhs-promo-theme-stpatrick .evhs-promo-dot   { background:#f9ca24; box-shadow:0 0 6px rgba(249,202,36,.7); }
.evhs-promo-theme-stpatrick .evhs-promo-arrow { color:#00a86b; }

/* ── FÊTE NATIONALE 🎇 ──────────────────────────────── */
.evhs-promo-theme-fetenationale .evhs-promo-bar {
    background: linear-gradient(135deg, #001f5b 0%, #002395 50%, #001f5b 100%);
    border-bottom: 1px solid rgba(237,41,57,.4);
}
.evhs-promo-theme-fetenationale .evhs-promo-bar::before {
    content:''; position:absolute; inset:0; pointer-events:none;
    background: linear-gradient(90deg, rgba(0,35,149,.8) 0%, transparent 33%,
                transparent 67%, rgba(237,41,57,.3) 100%);
}

.evhs-promo-theme-fetenationale .evhs-promo-badge { background:linear-gradient(135deg,#002395,#ed2939); color:#fff; border:1px solid rgba(255,255,255,.2); }
.evhs-promo-theme-fetenationale .evhs-promo-item  { color:rgba(220,230,255,.9); font-size:12px; font-weight:700; letter-spacing:.04em; }
.evhs-promo-theme-fetenationale .evhs-promo-dot   { background:#ed2939; box-shadow:0 0 8px rgba(237,41,57,.7); }
.evhs-promo-theme-fetenationale .evhs-promo-arrow { color:#ed2939; }

/* ── FÊTE DES MÈRES 🌸 ──────────────────────────────── */
.evhs-promo-theme-fetedesmeres .evhs-promo-bar {
    background: linear-gradient(135deg, #3d0026 0%, #5c0035 100%);
    border-bottom: 1px solid rgba(255,105,180,.3);
}
.evhs-promo-theme-fetedesmeres .evhs-promo-bar::before {
    content:''; position:absolute; inset:0; pointer-events:none;
    background: radial-gradient(ellipse at 50% 0%, rgba(255,105,180,.18) 0%, transparent 65%);
}
.evhs-promo-theme-fetedesmeres .evhs-promo-badge {
    background:linear-gradient(135deg,#ff69b4,#ff1493); color:#fff;
    box-shadow:0 0 12px rgba(255,20,147,.4);
    animation: evhs-heartbeat 1.4s ease-in-out infinite;
}
.evhs-promo-theme-fetedesmeres .evhs-promo-item  { color:rgba(255,200,220,.9); font-size:12px; font-weight:600; }
.evhs-promo-theme-fetedesmeres .evhs-promo-dot   { background:#ff69b4; box-shadow:0 0 8px rgba(255,105,180,.8); }
.evhs-promo-theme-fetedesmeres .evhs-promo-arrow { color:#ff69b4; }


/* ── BLACK FRIDAY 🖤 ─────────────────────────────────── */
.evhs-promo-theme-blackfriday .evhs-promo-bar {
    background: #000;
    border-bottom: 1px solid rgba(255,45,45,.5);
}
.evhs-promo-theme-blackfriday .evhs-promo-bar::before {
    content:''; position:absolute; inset:0; pointer-events:none;
    background: radial-gradient(ellipse at 50% 50%, rgba(255,45,45,.08) 0%, transparent 70%);
}
/* Effet scan */
.evhs-promo-theme-blackfriday .evhs-promo-bar::after {
    content:''; position:absolute; left:0; right:0; height:1px;
    background:rgba(255,45,45,.3); pointer-events:none;
    animation: evhs-scan 2s linear infinite;
    top:0;
}
.evhs-promo-theme-blackfriday .evhs-promo-badge {
    background:#ff2d2d; color:#fff; font-weight:900; letter-spacing:.1em;
    box-shadow:0 0 20px rgba(255,45,45,.5);
    animation: evhs-glitch .6s steps(1) infinite;
}
.evhs-promo-theme-blackfriday .evhs-promo-item  { color:rgba(255,180,180,.9); font-size:12px; font-weight:800; letter-spacing:.05em; }
.evhs-promo-theme-blackfriday .evhs-promo-dot   { background:#ff2d2d; box-shadow:0 0 10px rgba(255,45,45,1); }
.evhs-promo-theme-blackfriday .evhs-promo-arrow { color:#ff2d2d; }

/* ── THANKSGIVING 🦃 ─────────────────────────────────── */
.evhs-promo-theme-thanksgiving .evhs-promo-bar {
    background: linear-gradient(135deg, #2c1503 0%, #4a2008 100%);
    border-bottom: 1px solid rgba(210,105,30,.4);
}
.evhs-promo-theme-thanksgiving .evhs-promo-bar::before {
    content:''; position:absolute; inset:0; pointer-events:none;
    background: radial-gradient(ellipse at 30% 50%, rgba(210,105,30,.15) 0%, transparent 55%),
                radial-gradient(ellipse at 70% 50%, rgba(255,140,0,.1) 0%, transparent 55%);
}
.evhs-promo-theme-thanksgiving .evhs-promo-badge { background:linear-gradient(135deg,#d2691e,#8b4513); color:#ffe4b5; box-shadow:0 0 12px rgba(210,105,30,.4); }
.evhs-promo-theme-thanksgiving .evhs-promo-item  { color:rgba(255,228,181,.9); font-size:12px; font-weight:600; letter-spacing:.03em; }
.evhs-promo-theme-thanksgiving .evhs-promo-dot   { background:#ff8c00; box-shadow:0 0 7px rgba(255,140,0,.7); }
.evhs-promo-theme-thanksgiving .evhs-promo-arrow { color:#d2691e; }


/* ── RAMADAN 🌙 ─────────────────────────────────────── */
.evhs-promo-theme-ramadan .evhs-promo-bar {
    background: linear-gradient(135deg, #060d18 0%, #0a1a2e 100%);
    border-bottom: 1px solid rgba(255,215,0,.35);
}
.evhs-promo-theme-ramadan .evhs-promo-bar::before {
    content:''; position:absolute; inset:0; pointer-events:none;
    background: radial-gradient(ellipse at 50% 50%, rgba(26,107,60,.25) 0%, transparent 70%);
}
/* Étoiles scintillantes */

.evhs-promo-theme-ramadan .evhs-promo-badge { background:linear-gradient(135deg,#1a6b3c,#0d5c2f); color:#ffd700; border:1px solid rgba(255,215,0,.3); box-shadow:0 0 14px rgba(255,215,0,.2); }
.evhs-promo-theme-ramadan .evhs-promo-item  { color:rgba(255,230,150,.9); font-size:12px; font-weight:600; letter-spacing:.04em; }
.evhs-promo-theme-ramadan .evhs-promo-dot   { background:#ffd700; box-shadow:0 0 8px rgba(255,215,0,.8); }
.evhs-promo-theme-ramadan .evhs-promo-arrow { color:#ffd700; }

/* ── DIWALI 🪔 ──────────────────────────────────────── */
.evhs-promo-theme-diwali .evhs-promo-bar {
    background: linear-gradient(135deg, #1a0800 0%, #2d1000 100%);
    border-bottom: 1px solid rgba(255,204,0,.4);
}
.evhs-promo-theme-diwali .evhs-promo-bar::before {
    content:''; position:absolute; inset:0; pointer-events:none;
    background: radial-gradient(ellipse at 20% 50%, rgba(255,102,0,.15) 0%, transparent 45%),
                radial-gradient(ellipse at 80% 50%, rgba(255,204,0,.15) 0%, transparent 45%),
                radial-gradient(ellipse at 50% 0%, rgba(255,153,0,.1) 0%, transparent 55%);
}
.evhs-promo-theme-diwali .evhs-promo-badge {
    background:linear-gradient(135deg,#ff6600,#ffcc00); color:#1a0800; font-weight:900;
    box-shadow:0 0 20px rgba(255,153,0,.6);
    animation: evhs-diwali-glow 1.5s ease-in-out infinite alternate;
}
@keyframes evhs-diwali-glow {
    0%   { box-shadow:0 0 10px rgba(255,102,0,.6); }
    100% { box-shadow:0 0 25px rgba(255,204,0,.9); }
}
.evhs-promo-theme-diwali .evhs-promo-item  { color:rgba(255,220,120,.9); font-size:12px; font-weight:700; letter-spacing:.03em; }
.evhs-promo-theme-diwali .evhs-promo-dot   { background:#ffcc00; box-shadow:0 0 10px rgba(255,204,0,.9); }
.evhs-promo-theme-diwali .evhs-promo-arrow { color:#ff6600; }


/* ══════════════════════════════════════════════════════
   SLIDER
══════════════════════════════════════════════════════ */
.evhs-slider-wrap {
    position: relative;
    height: var(--evhs-hd, 640px);
    overflow: hidden;
}

/* Barre de progression */
.evhs-progress { position:absolute; top:0; left:0; right:0; height:3px; z-index:10; background:rgba(255,255,255,.06); }
.evhs-progress-bar { height:100%; width:0; background:linear-gradient(90deg,var(--evhs-acc),var(--evhs-acc2)); border-radius:0 2px 2px 0; transition:width .1s linear; }

/* Slides */
.evhs-slider { position:relative; width:100%; height:100%; }
.evhs-slide {
    position: absolute; inset: 0;
    background-size: cover; background-position: center; background-repeat: no-repeat;
    opacity: 0; pointer-events: none;
    transition: opacity .7s ease;
}
.evhs-slide.is-active { opacity:1; pointer-events:auto; }
.evhs-slide-media{position:absolute;inset:0;z-index:0;display:block;overflow:hidden}
.evhs-slide-media img{width:100%;height:100%;display:block;object-fit:cover;object-position:center center}

/* Transitions */
.evhs-trans-slide .evhs-slide { transform:translateX(100%); transition:transform .65s cubic-bezier(.4,0,.2,1), opacity .3s; opacity:1; }
.evhs-trans-slide .evhs-slide.is-active { transform:translateX(0); }
.evhs-trans-slide .evhs-slide.is-leaving { transform:translateX(-100%); }
.evhs-trans-zoom .evhs-slide { transform:scale(1.06); opacity:0; transition:transform .7s ease,opacity .7s ease; }
.evhs-trans-zoom .evhs-slide.is-active { transform:scale(1); opacity:1; }

/* Overlay */
.evhs-slide-overlay {
    position:absolute; inset:0; z-index:1;
    background: linear-gradient(
        135deg,
        rgba(4,8,18,calc(var(--evhs-overlay,35)*.012)) 0%,
        rgba(4,8,18,calc(var(--evhs-overlay,35)*.008)) 100%
    );
}

/* ── INNER (no-glass mode) ─────────────────────────── */
.evhs-inner {
    position: relative; z-index: 3;
    width: 100%; max-width: 1380px;
    margin: 0 auto; padding: 0 48px;
    height: 100%; display: flex; align-items: center;
}
.evhs-align-left   .evhs-inner { justify-content: flex-start; }
.evhs-align-center .evhs-inner { justify-content: center; }
.evhs-align-right  .evhs-inner { justify-content: flex-end; }

/* Quand has-glass : l'inner devient plein-slide transparent */
.evhs-slide:has(.evhs-content.has-glass) .evhs-inner {
    position: absolute; inset: 0;
    max-width: none; padding: 0; display: block;
}

/* ── CONTENT BOX ───────────────────────────────────── */
.evhs-content { max-width: min(660px,100%); color: var(--evhs-text); }
.evhs-align-center .evhs-content { text-align:center; }
.evhs-align-right  .evhs-content { text-align:right; }

.evhs-content.no-glass { padding: 0; }
.evhs-content.no-glass .evhs-title { text-shadow: 0 2px 40px rgba(0,0,0,.6); }

/* ── GLASSMORPHISM CARD ─────────────────────────────── */
.evhs-content.has-glass {
    padding: calc(var(--evhs-card-p,32)*1px) calc(var(--evhs-card-p,32)*1.4px);
    border-radius: var(--evhs-radius);
    background: var(--evhs-surface);
    border: 1px solid var(--evhs-border);
    backdrop-filter: blur(18px) saturate(160%);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    box-shadow: 0 32px 80px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.06);
    overflow: visible; box-sizing: border-box;
    /* Position via CSS vars */
    position: absolute; z-index: 4;
    left: calc(var(--evhs-card-x,8)*1%);
    top:  calc(var(--evhs-card-y,50)*1%);
    transform: translateY(-50%);
    width: calc(var(--evhs-card-w,42)*1%);
    max-width: calc(var(--evhs-card-w,42)*1%);
}
.evhs-content.has-glass::before {
    content:''; position:absolute; top:0; left:28px; width:55%; height:2px;
    border-radius:999px;
    background:linear-gradient(90deg,var(--evhs-acc),var(--evhs-acc2),transparent);
}

/* ── TYPOGRAPHY ────────────────────────────────────── */
.evhs-eyebrow {
    display:inline-flex !important; align-items:center; gap:10px;
    font-family: var(--evhs-font-body,'Rajdhani'),sans-serif !important;
    font-size:12px !important; font-weight:800 !important;
    letter-spacing:.16em !important; text-transform:uppercase !important;
    color: var(--evhs-ew-color, var(--evhs-acc2)) !important;
    margin-bottom:12px !important;
    line-height:1 !important;
}
.evhs-eyebrow-dot {
    display:inline-block !important; width:6px; height:6px; border-radius:50%;
    background:currentColor; box-shadow:0 0 8px currentColor; flex-shrink:0;
}
.evhs-badge {
    display:inline-flex !important; align-items:center;
    padding:6px 14px !important; border-radius:999px !important;
    background:var(--badge-bg,var(--evhs-acc)) !important;
    color:#fff !important;
    font-family: var(--evhs-font-body,'Rajdhani'),sans-serif !important;
    font-size:11px !important; font-weight:800 !important;
    letter-spacing:.12em !important; text-transform:uppercase !important;
    margin-bottom:12px !important; box-shadow:0 4px 16px rgba(0,0,0,.3);
}
.evhs-title {
    font-family: var(--evhs-font-title,'Bebas Neue'),sans-serif !important;
    font-size:clamp(36px,4.5vw,68px) !important;
    line-height:.92 !important; font-weight:400 !important;
    letter-spacing:.01em !important;
    color:#fff !important; text-transform:uppercase !important;
    margin-bottom:16px !important;
    text-indent:0 !important;
}
.has-tshadow .evhs-title { text-shadow:0 4px 30px rgba(0,0,0,.8) !important; }
.evhs-subtitle {
    font-family: var(--evhs-font-body,'Rajdhani'),sans-serif !important;
    font-size:clamp(14px,1.5vw,18px) !important; line-height:1.5 !important;
    color:rgba(255,255,255,.75) !important; margin-bottom:24px !important;
    max-width:50ch; text-transform:none !important; font-weight:600 !important;
}
.evhs-align-center .evhs-eyebrow { justify-content:center; }
.evhs-align-right  .evhs-eyebrow { justify-content:flex-end; }
.evhs-align-center .evhs-subtitle { margin-left:auto; margin-right:auto; }

/* ── BOUTONS ───────────────────────────────────────── */
.evhs-btns { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.evhs-align-center .evhs-btns { justify-content:center; }
.evhs-align-right  .evhs-btns { justify-content:flex-end; }

/* Mode libre : boutons positionnés sur le slide */
.evhs-btns--free {
    position: absolute; z-index: 5;
    left:  calc(var(--evhs-btn-x,12)*1%);
    top:   calc(var(--evhs-btn-y,78)*1%);
    transform: translateY(-50%);
    display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
}

/* ── Tailles de boutons : XS / SM / MD (défaut) / LG / XL ──
   Piloté par --evhs-btn-size sur .evhs-slide
   via sélecteurs :is() */
.evhs-slide[style*="--evhs-btn-size:xs"] .evhs-btn { padding: 7px 14px;  border-radius: 8px;  font-size: 11px; }
.evhs-slide[style*="--evhs-btn-size:sm"] .evhs-btn { padding: 10px 18px; border-radius: 10px; font-size: 13px; }
/* md = taille par défaut dans .evhs-btn */
.evhs-slide[style*="--evhs-btn-size:lg"] .evhs-btn { padding: 18px 32px; border-radius: 14px; font-size: 17px; }
.evhs-slide[style*="--evhs-btn-size:xl"] .evhs-btn { padding: 22px 42px; border-radius: 16px; font-size: 20px; }

.evhs-btn {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 14px 26px; border-radius: 12px;
    font-family: 'Rajdhani', sans-serif;
    font-size: 15px; font-weight: 800; letter-spacing: .04em;
    text-decoration: none; text-transform: uppercase;
    transition: transform .2s, box-shadow .2s;
    white-space: nowrap;
}
.evhs-btn:hover { transform:translateY(-2px); }

.evhs-btn-primary {
    background: linear-gradient(135deg, var(--evhs-btn-c,var(--evhs-acc)), color-mix(in srgb, var(--evhs-btn-c,var(--evhs-acc)) 80%, #000));
    color: #fff;
    box-shadow: 0 6px 24px rgba(0,0,0,.3);
}
.evhs-btn-primary:hover { box-shadow:0 12px 36px rgba(0,0,0,.4); }

.evhs-btn-ghost {
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.18);
    color: #fff;
    backdrop-filter: blur(8px);
}
.evhs-btn-ghost:hover { background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.3); }

/* ── NAVIGATION ────────────────────────────────────── */
.evhs-nav {
    position:absolute; top:50%; transform:translateY(-50%); z-index:8;
    width:48px; height:48px; border-radius:12px;
    background:rgba(8,12,22,.55); border:1px solid rgba(255,255,255,.1);
    color:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center;
    backdrop-filter:blur(10px); transition:.2s;
}
.evhs-nav:hover { background:rgba(255,140,0,.2); border-color:rgba(255,140,0,.4); }
.evhs-prev { left:20px; } .evhs-next { right:20px; }

.evhs-dots { position:absolute; bottom:20px; left:50%; transform:translateX(-50%); z-index:8; display:flex; gap:8px; }
.evhs-dot {
    width:8px; height:8px; border-radius:999px;
    background:rgba(255,255,255,.35); border:none; cursor:pointer; padding:0; transition:.25s;
}
.evhs-dot.is-active { background:#fff; width:24px; }




/* ══ THÈME CUSTOM ══════════════════════════════════════
   Toutes les couleurs via CSS vars injectées en inline
══════════════════════════════════════════════════════ */
.evhs-promo-theme-custom .evhs-promo-bar {
    background: linear-gradient(90deg, var(--evhs-ct-bg1,#0a0c14), var(--evhs-ct-bg2,#1a1f35));
    border-bottom: 1px solid rgba(255,255,255,.08);
}
.evhs-promo-theme-custom .evhs-promo-bar::before {
    background: linear-gradient(90deg, var(--evhs-ct-dot,#ff8c00), transparent 60%);
    opacity: .25;
}
.evhs-promo-theme-custom .evhs-promo-badge {
    background: var(--evhs-ct-badge,#ff8c00);
    color: #fff;
    box-shadow: 0 0 14px color-mix(in srgb, var(--evhs-ct-badge,#ff8c00) 60%, transparent);
}
.evhs-promo-theme-custom .evhs-promo-item {
    color: var(--evhs-ct-text,#ffffff);
    font-size: 12px; font-weight: 600; letter-spacing: .04em;
}
.evhs-promo-theme-custom .evhs-promo-dot {
    /* Mode émoji : width/height auto, fond transparent */
    width: auto; height: auto; border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--evhs-ct-dot,#ff8c00);
    font-size: 14px; line-height: 1; vertical-align: middle;
}
/* Quand pas d'émoji défini → point coloré classique */
.evhs-promo-theme-custom .evhs-promo-dot:empty {
    display: inline-block;
    width: 5px; height: 5px; border-radius: 50%;
    background: var(--evhs-ct-dot,#ff8c00) !important;
    box-shadow: 0 0 8px var(--evhs-ct-dot,#ff8c00) !important;
    font-size: 0;
}
.evhs-promo-theme-custom .evhs-promo-arrow { color: var(--evhs-ct-dot,#ff8c00); }

/* ── EFFETS FX ──────────────────────────────────────── */

/* Shimmer : balayage lumineux */
.evhs-ct-fx-shimmer::after {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(105deg,
        transparent 30%,
        rgba(255,255,255,.08) 50%,
        transparent 70%
    );
    background-size: 200% 100%;
    animation: evhs-ct-shimmer 3s ease-in-out infinite;
    pointer-events: none;
}
@keyframes evhs-ct-shimmer {
    0%   { background-position: 200% center; }
    100% { background-position: -200% center; }
}

/* Scanlines : lignes horizontales subtiles */
.evhs-ct-fx-scanlines::after {
    content: ''; position: absolute; inset: 0; pointer-events: none;
    background: repeating-linear-gradient(
        0deg,
        transparent,
        transparent 2px,
        rgba(0,0,0,.15) 2px,
        rgba(0,0,0,.15) 4px
    );
}

/* Glow : lueur pulsée sur les bords */
.evhs-ct-fx-glow {
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.06),
        inset 0 -1px 0 rgba(255,255,255,.04);
    animation: evhs-ct-glow 2.5s ease-in-out infinite;
}
@keyframes evhs-ct-glow {
    0%,100% { filter: brightness(1); }
    50%      { filter: brightness(1.12); }
}

/* Pulse : le badge pulse */
.evhs-ct-fx-pulse .evhs-promo-badge {
    animation: evhs-ct-pulse 1.8s ease-in-out infinite;
}
@keyframes evhs-ct-pulse {
    0%,100% { transform: scale(1);    box-shadow: 0 0 10px var(--evhs-ct-badge,#ff8c00); }
    50%      { transform: scale(1.06); box-shadow: 0 0 22px var(--evhs-ct-badge,#ff8c00); }
}

/* Snow : neige qui tombe */
@keyframes evhs-snow-drift {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(6%);
    }
}
@keyframes evhs-snow-drift-2 {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-6%);
    }
}

/* ── ÉMOJIS SÉPARATEURS PAR THÈME ─────────────────────
   Le .evhs-promo-dot est remplacé visuellement par un émoji.
   Il défile naturellement avec le texte (répété 8× dans le marquee).
─────────────────────────────────────────────────────── */
.evhs-promo-theme-nouvelan .evhs-promo-dot {
    width: auto; height: auto; border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 13px; line-height: 1;
    vertical-align: middle;
}
.evhs-promo-theme-nouvelan .evhs-promo-dot::before {
    content: '🎆';
}

.evhs-promo-theme-paques .evhs-promo-dot {
    width: auto; height: auto; border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 13px; line-height: 1;
    vertical-align: middle;
}
.evhs-promo-theme-paques .evhs-promo-dot::before {
    content: '🐣';
}

.evhs-promo-theme-hiver .evhs-promo-dot {
    width: auto; height: auto; border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 13px; line-height: 1;
    vertical-align: middle;
}
.evhs-promo-theme-hiver .evhs-promo-dot::before {
    content: '❄️';
}

.evhs-promo-theme-stpatrick .evhs-promo-dot {
    width: auto; height: auto; border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 13px; line-height: 1;
    vertical-align: middle;
}
.evhs-promo-theme-stpatrick .evhs-promo-dot::before {
    content: '☘️';
}

.evhs-promo-theme-fetenationale .evhs-promo-dot {
    width: auto; height: auto; border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 13px; line-height: 1;
    vertical-align: middle;
}
.evhs-promo-theme-fetenationale .evhs-promo-dot::before {
    content: '🎇';
}

.evhs-promo-theme-fetedesmeres .evhs-promo-dot {
    width: auto; height: auto; border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 13px; line-height: 1;
    vertical-align: middle;
}
.evhs-promo-theme-fetedesmeres .evhs-promo-dot::before {
    content: '🌸';
}

.evhs-promo-theme-printemps .evhs-promo-dot {
    width: auto; height: auto; border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 13px; line-height: 1;
    vertical-align: middle;
}
.evhs-promo-theme-printemps .evhs-promo-dot::before {
    content: '🌿';
}

.evhs-promo-theme-blackfriday .evhs-promo-dot {
    width: auto; height: auto; border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 13px; line-height: 1;
    vertical-align: middle;
}
.evhs-promo-theme-blackfriday .evhs-promo-dot::before {
    content: '🏷️';
}

.evhs-promo-theme-thanksgiving .evhs-promo-dot {
    width: auto; height: auto; border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 13px; line-height: 1;
    vertical-align: middle;
}
.evhs-promo-theme-thanksgiving .evhs-promo-dot::before {
    content: '🦃';
}

.evhs-promo-theme-ramadan .evhs-promo-dot {
    width: auto; height: auto; border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 13px; line-height: 1;
    vertical-align: middle;
}
.evhs-promo-theme-ramadan .evhs-promo-dot::before {
    content: '🌙';
}

.evhs-promo-theme-diwali .evhs-promo-dot {
    width: auto; height: auto; border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 13px; line-height: 1;
    vertical-align: middle;
}
.evhs-promo-theme-diwali .evhs-promo-dot::before {
    content: '🪔';
}

.evhs-promo-theme-noel .evhs-promo-dot {
    width: auto; height: auto; border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 13px; line-height: 1;
    vertical-align: middle;
}
.evhs-promo-theme-noel .evhs-promo-dot::before {
    content: '❄️';
}

.evhs-promo-theme-automne .evhs-promo-dot {
    width: auto; height: auto; border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 13px; line-height: 1;
    vertical-align: middle;
}
.evhs-promo-theme-automne .evhs-promo-dot::before {
    content: '🍂';
}

.evhs-promo-theme-halloween .evhs-promo-dot {
    width: auto; height: auto; border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 13px; line-height: 1;
    vertical-align: middle;
}
.evhs-promo-theme-halloween .evhs-promo-dot::before {
    content: '🎃';
}

.evhs-promo-theme-summer .evhs-promo-dot {
    width: auto; height: auto; border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 13px; line-height: 1;
    vertical-align: middle;
}
.evhs-promo-theme-summer .evhs-promo-dot::before {
    content: '🌊';
}

.evhs-promo-theme-cyber .evhs-promo-dot {
    width: auto; height: auto; border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 13px; line-height: 1;
    vertical-align: middle;
}
.evhs-promo-theme-cyber .evhs-promo-dot::before {
    content: '⚡';
}

.evhs-promo-theme-valentine .evhs-promo-dot {
    width: auto; height: auto; border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 13px; line-height: 1;
    vertical-align: middle;
}
.evhs-promo-theme-valentine .evhs-promo-dot::before {
    content: '💕';
}

/* ══ TAILLE DE TITRE PAR SLIDE ════════════════════════ */
.evhs-ts-small  .evhs-title { font-size:clamp(24px,2.8vw,44px)  !important; }
.evhs-ts-normal .evhs-title { font-size:clamp(36px,4.5vw,68px)  !important; }
.evhs-ts-large  .evhs-title { font-size:clamp(48px,6vw,96px)    !important; }
.evhs-ts-xlarge .evhs-title { font-size:clamp(60px,8vw,128px)   !important; line-height:.88 !important; }

/* ══ OVERLAY COULEUR PAR SLIDE ═════════════════════════ */
/* Quand --evhs-ov-color est défini, on l'utilise comme teinte */
.evhs-slide-overlay {
    position:absolute; inset:0; z-index:1;
    background: linear-gradient(
        135deg,
        rgba(var(--evhs-ov-r,4),var(--evhs-ov-g,8),var(--evhs-ov-b,18),calc(var(--evhs-overlay,35)*.012)) 0%,
        rgba(var(--evhs-ov-r,4),var(--evhs-ov-g,8),var(--evhs-ov-b,18),calc(var(--evhs-overlay,35)*.008)) 100%
    );
}
/* Si une couleur hex est définie via style inline, elle s'applique directement */
.evhs-slide[style*="--evhs-ov-color"] .evhs-slide-overlay {
    background: linear-gradient(135deg,
        color-mix(in srgb, var(--evhs-ov-color) 100%, transparent) 0%,
        color-mix(in srgb, var(--evhs-ov-color) 60%, transparent) 100%
    );
    opacity: calc(var(--evhs-overlay,35) * 0.012);
}

/* ══ ANIMATIONS D'ENTRÉE ═══════════════════════════════ */
/* Appliquées sur .evhs-inner ou .evhs-content quand is-active */
.evhs-anim-fade .evhs-inner    { opacity:0; transition:opacity .8s ease .15s; }
.evhs-anim-slide-up .evhs-inner  { opacity:0; transform:translateY(40px); transition:opacity .7s ease .1s, transform .7s cubic-bezier(.2,0,.1,1) .1s; }
.evhs-anim-slide-left .evhs-inner{ opacity:0; transform:translateX(60px);  transition:opacity .7s ease .1s, transform .7s cubic-bezier(.2,0,.1,1) .1s; }
.evhs-anim-zoom .evhs-inner      { opacity:0; transform:scale(.92);         transition:opacity .7s ease .1s, transform .8s cubic-bezier(.2,0,.1,1) .1s; }

.evhs-anim-fade.is-active .evhs-inner,
.evhs-anim-slide-up.is-active .evhs-inner,
.evhs-anim-slide-left.is-active .evhs-inner,
.evhs-anim-zoom.is-active .evhs-inner,
.evhs-anim-flip.is-active .evhs-inner,
.evhs-anim-bounce.is-active .evhs-inner,
.evhs-anim-none.is-active .evhs-inner {
    opacity:1; transform:none;
}

/* ══ IMAGES RESPONSIVES PAR SLIDE ═════════════════════
   --evhs-img-t et --evhs-img-m injectés en inline CSS
═════════════════════════════════════════════════════ */
@media (max-width:1024px){
    .evhs-slide[style*="--evhs-img-t"] {
        background-image: var(--evhs-img-t) !important;
    }
}
@media (max-width:640px){
    .evhs-slide[style*="--evhs-img-m"] {
        background-image: var(--evhs-img-m) !important;
    }
}

/* ══ FOND VIDÉO ═════════════════════════════════════════════
   Panel admin + rendu front
══════════════════════════════════════════════════════════ */
.evhs-bg-video-panel { display:none }
.evhs-bg-video-panel.is-on { display:block }
.evhs-slide-video {
    position:absolute; inset:0; z-index:0; overflow:hidden;
    background:#000;
}
/* L'overlay s'affiche PAR-DESSUS la vidéo */
.evhs-slide-video ~ .evhs-slide-overlay { z-index:1 }
/* Le contenu du slide s'affiche au-dessus */
.evhs-slide-video ~ * { position:relative; z-index:2 }

/* ══ COMPTEUR ANIMÉ ═══════════════════════════════════ */
.evhs-counter {
    position: absolute;
    z-index: 5;
    transform: translate(-50%, -50%);
    text-align: center;
    pointer-events: none;
    /* Entrée : fade-in au même timing que le slide */
    opacity: 0;
    transition: opacity .6s ease .3s;
}
.evhs-slide.is-active .evhs-counter {
    opacity: 1;
}

.evhs-counter__num {
    display: flex; align-items: baseline; justify-content: center;
    gap: .08em;
    font-family: var(--evhs-font-title,'Bebas Neue');
    color: var(--ctr-color, #ff8c00);
    line-height: 1;
    text-shadow:
        0 0 40px color-mix(in srgb, var(--ctr-color,#ff8c00) 60%, transparent),
        0 2px 4px rgba(0,0,0,.4);
}
.evhs-counter__val  { font-weight: 400; }
.evhs-counter__prefix,
.evhs-counter__suffix {
    font-size: .55em;
    font-weight: 400;
    opacity: .85;
    align-self: flex-end;
    padding-bottom: .05em;
}

.evhs-counter__label {
    margin-top: .25em;
    font-family: var(--evhs-font-body,'Rajdhani');
    font-size: clamp(10px, 1vw, 16px);
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #fff;
    text-shadow: 0 1px 6px rgba(0,0,0,.8), 0 0 16px rgba(0,0,0,.5);
}

/* Tailles */
.evhs-counter[data-size="small"]  .evhs-counter__num { font-size: clamp(28px, 4vw,  60px); }
.evhs-counter[data-size="medium"] .evhs-counter__num { font-size: clamp(42px, 6vw,  90px); }
.evhs-counter[data-size="large"]  .evhs-counter__num { font-size: clamp(60px, 9vw, 130px); }
.evhs-counter[data-size="xlarge"] .evhs-counter__num { font-size: clamp(80px,12vw, 180px); }

/* Séparateurs de milliers : fine barre */
.evhs-counter--counting .evhs-counter__val {
    animation: evhs-ctr-pop .3s cubic-bezier(.2,0,.1,1.4);
}
@keyframes evhs-ctr-pop {
    0%   { transform: scale(.9); opacity: .7; }
    100% { transform: scale(1);  opacity: 1;  }
}
/* ── CHRONO COUNTDOWN ──────────────────────────────────
   .evhs-counter--countdown → affichage jj:hh:mm:ss
───────────────────────────────────────────────────── */
.evhs-counter--countdown .evhs-counter__cd {
    display: flex;
    align-items: center;
    gap: .1em;
}
.evhs-counter__cd-block {
    display: flex; flex-direction: column; align-items: center;
    min-width: 1.6em;
}
.evhs-counter__cd-val {
    font-family: var(--evhs-font-title,'Bebas Neue');
    color: var(--ctr-color,#ff8c00);
    line-height: 1;
    text-shadow:
        0 0 40px color-mix(in srgb, var(--ctr-color,#ff8c00) 60%, transparent),
        0 2px 4px rgba(0,0,0,.4);
    /* taille héritée du data-size sur .evhs-counter */
}
.evhs-counter__cd-sep {
    font-family: var(--evhs-font-title,'Bebas Neue');
    color: var(--ctr-color,#ff8c00);
    opacity: .5;
    align-self: flex-start;
    padding-top: .05em;
    /* même taille de police que les valeurs */
    font-size: inherit;
}
.evhs-counter__cd-lbl {
    font-family: var(--evhs-font-body,'Rajdhani');
    font-size: .18em;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #fff;
    text-shadow: 0 1px 6px rgba(0,0,0,.8), 0 0 16px rgba(0,0,0,.5);
    margin-top: .2em;
    white-space: nowrap;
}
/* Le .evhs-counter__cd-val et .evhs-counter__cd-sep héritent la font-size de .evhs-counter__num sizes */
.evhs-counter[data-size="small"]  .evhs-counter__cd-val,
.evhs-counter[data-size="small"]  .evhs-counter__cd-sep  { font-size: clamp(28px, 4vw,  60px); }
.evhs-counter[data-size="medium"] .evhs-counter__cd-val,
.evhs-counter[data-size="medium"] .evhs-counter__cd-sep  { font-size: clamp(42px, 6vw,  90px); }
.evhs-counter[data-size="large"]  .evhs-counter__cd-val,
.evhs-counter[data-size="large"]  .evhs-counter__cd-sep  { font-size: clamp(60px, 9vw, 130px); }
.evhs-counter[data-size="xlarge"] .evhs-counter__cd-val,
.evhs-counter[data-size="xlarge"] .evhs-counter__cd-sep  { font-size: clamp(80px,12vw, 180px); }

/* Animation de la seconde qui tourne */
.evhs-counter__cd-val.is-ticking {
    animation: evhs-cd-tick .12s cubic-bezier(.2,0,.1,1.4);
}
@keyframes evhs-cd-tick {
    0%   { transform: scaleY(.8); opacity: .6; }
    100% { transform: scaleY(1);  opacity: 1;  }
}
/* Offre expirée */
.evhs-counter--expired .evhs-counter__cd-val { color: #6b7280; }
.evhs-counter--expired .evhs-counter__label  { color: rgba(255,255,255,.4); }



/* ══ SLIDE FOND COULEUR ════════════════════════════════ */
.evhs-bg-color {
    /* Le fond est défini en inline style sur l'article */
    background-size: cover;
}
/* Sur fond couleur, l'overlay est plus discret */
.evhs-bg-color .evhs-slide-overlay {
    background: rgba(0,0,0,.15) !important;
}


/* ══════════════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════════════ */
@media (max-width:1024px) {
    .evhs-slider-wrap { height:var(--evhs-ht,500px); }
    .evhs-slide:not(:has(.evhs-content.has-glass)) .evhs-inner { padding:0 32px; }
}
@media (max-width:767px) {
    .evhs-slider-wrap { height:var(--evhs-hm,380px); }
    .evhs-slide:not(:has(.evhs-content.has-glass)) .evhs-inner { padding:0 20px; }
    .evhs-content.has-glass {
        left:4%!important; width:92%!important; max-width:92%!important;
        border-radius:16px; padding:22px 20px!important;
    }
    .evhs-btns--free { left:50%!important; transform:translateX(-50%) translateY(-50%)!important; justify-content:center; }
    .evhs-title { font-size:clamp(28px,7vw,42px); }
    .evhs-promo-shell { padding:0 12px; gap:10px; }
    .evhs-nav { width:38px; height:38px; }
}

/* ══════════════════════════════════════════════════════
   EVG BESTSELLER CAROUSEL — Dark Gaming Theme
   Shortcode : [ev_bestsellers]
══════════════════════════════════════════════════════ */

/* ── Variables locales ───────────────────────────── */
.evgbs-wrap {
    --evgbs-acc:    #ff8c00;
    --evgbs-bg:     #0a0c14;
    --evgbs-surface:#111420;
    --evgbs-border: rgba(255,255,255,.07);
    --evgbs-text:   #e8eaf0;
    --evgbs-muted:  rgba(255,255,255,.45);
    --evgbs-cols:   4;
    --evgbs-gap:    20px;

    position: relative;
    background: var(--evgbs-bg);
    padding: 56px 0 64px;
    overflow: hidden;
    font-family: 'Rajdhani', sans-serif;
}

/* Orbes de fond */
.evgbs-wrap::before,
.evgbs-wrap::after {
    content: ''; position: absolute; pointer-events: none;
    border-radius: 50%; filter: blur(80px); z-index: 0;
}
.evgbs-wrap::before {
    width: 600px; height: 400px;
    top: -100px; right: -100px;
    background: radial-gradient(circle, rgba(255,140,0,.12) 0%, transparent 70%);
}
.evgbs-wrap::after {
    width: 500px; height: 400px;
    bottom: -80px; left: -80px;
    background: radial-gradient(circle, rgba(47,134,255,.09) 0%, transparent 70%);
}

/* ── Header ─────────────────────────────────────── */
.evgbs-hd {
    position: relative; z-index: 2;
    display: flex; align-items: center; flex-wrap: wrap; gap: 12px;
    max-width: 1400px; margin: 0 auto 36px;
    padding: 0 32px;
}
.evgbs-hd__left {
    display: flex; align-items: center; gap: 14px; flex: 1;
}
.evgbs-hd__line {
    display: block; width: 4px; height: 36px; border-radius: 999px;
    background: linear-gradient(180deg, var(--evgbs-acc), color-mix(in srgb, var(--evgbs-acc) 60%, #2f86ff));
    box-shadow: 0 0 16px color-mix(in srgb, var(--evgbs-acc) 60%, transparent);
    flex-shrink: 0;
}
.evgbs-hd__title {
    font-family: 'Bebas Neue', sans-serif !important;
    font-size: clamp(24px, 3vw, 42px) !important;
    font-weight: 400 !important;
    color: #fff !important;
    letter-spacing: .02em !important;
    text-transform: uppercase !important;
    margin: 0 !important; line-height: 1 !important;
}
.evgbs-hd__sub {
    font-size: 14px; color: var(--evgbs-muted);
    margin: 0; font-weight: 600; letter-spacing: .02em;
    flex: 1 1 100%; padding-left: 18px;
}
.evgbs-hd__nav {
    display: flex; gap: 8px; flex-shrink: 0;
}

/* ── Boutons nav ─────────────────────────────────── */
.evgbs-prev, .evgbs-next {
    width: 42px; height: 42px; border-radius: 10px;
    border: 1px solid var(--evgbs-border);
    background: var(--evgbs-surface);
    color: var(--evgbs-muted);
    cursor: pointer; display: flex; align-items: center; justify-content: center;
    transition: .2s;
}
.evgbs-prev:hover, .evgbs-next:hover {
    border-color: var(--evgbs-acc);
    color: var(--evgbs-acc);
    box-shadow: 0 0 12px rgba(255,140,0,.25);
}

/* ── Track (scroll horizontal) ──────────────────── */
.evgbs-track-outer {
    position: relative; z-index: 2;
    max-width: 1400px; margin: 0 auto;
    padding: 0 32px;
    overflow: hidden;
}
.evgbs-track {
    display: grid;
    grid-template-columns: repeat(var(--evgbs-cols), 1fr);
    gap: var(--evgbs-gap);
    transition: transform .5s cubic-bezier(.4,0,.2,1);
}

/* ── Carte produit ───────────────────────────────── */
.evgbs-card {
    position: relative;
    background: var(--evgbs-surface);
    border: 1px solid var(--evgbs-border);
    border-radius: 16px;
    overflow: hidden;
    display: flex; flex-direction: column;
    transition: transform .25s ease, border-color .25s, box-shadow .25s;
    cursor: pointer;
}
.evgbs-card:hover {
    transform: translateY(-6px);
    border-color: rgba(255,140,0,.35);
    box-shadow: 0 16px 48px rgba(0,0,0,.5), 0 0 0 1px rgba(255,140,0,.15);
}
.evgbs-card.is-top {
    border-color: rgba(255,140,0,.2);
}
.evgbs-card.is-top::before {
    content: '';
    position: absolute; inset: 0;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(255,140,0,.04) 0%, transparent 60%);
    pointer-events: none; z-index: 0;
}

/* Glow effect au hover */
.evgbs-card__glow {
    position: absolute; inset: 0;
    border-radius: 16px;
    background: radial-gradient(circle at 50% 0%, rgba(255,140,0,.08) 0%, transparent 60%);
    opacity: 0; transition: opacity .3s;
    pointer-events: none; z-index: 0;
}
.evgbs-card:hover .evgbs-card__glow { opacity: 1; }

/* ── Image ───────────────────────────────────────── */
.evgbs-card__img-wrap {
    display: block; position: relative;
    aspect-ratio: 1/1; overflow: hidden;
    background: #0d1020;
}
.evgbs-card__img {
    width: 100%; height: 100%;
    object-fit: cover; object-position: center;
    transition: transform .4s ease;
    display: block;
}
.evgbs-card:hover .evgbs-card__img { transform: scale(1.05); }

/* ── Badges ──────────────────────────────────────── */
.evgbs-card__rank {
    position: absolute; top: 10px; left: 10px;
    font-family: 'Bebas Neue', sans-serif;
    font-size: 13px; letter-spacing: .06em;
    padding: 4px 10px; border-radius: 999px;
    font-weight: 400; z-index: 2;
}
.evgbs-rank--gold   { background: linear-gradient(135deg,#ffd700,#ff8c00); color: #1a0a00; box-shadow: 0 0 16px rgba(255,215,0,.4); }
.evgbs-rank--silver { background: linear-gradient(135deg,#c0c0c0,#909090); color: #111; box-shadow: 0 0 12px rgba(192,192,192,.3); }
.evgbs-rank--bronze { background: linear-gradient(135deg,#cd7f32,#a0522d); color: #fff; box-shadow: 0 0 12px rgba(205,127,50,.3); }

.evgbs-card__sale {
    position: absolute; top: 10px; right: 10px;
    background: linear-gradient(135deg,#ef4444,#dc2626);
    color: #fff; font-size: 10px; font-weight: 800;
    letter-spacing: .12em; padding: 3px 8px; border-radius: 6px;
    text-transform: uppercase; z-index: 2;
    box-shadow: 0 4px 12px rgba(239,68,68,.4);
}

/* ── Body ────────────────────────────────────────── */
.evgbs-card__body {
    position: relative; z-index: 1;
    padding: 16px; display: flex; flex-direction: column; gap: 8px; flex: 1;
}

/* Étoiles */
.evgbs-card__stars {
    display: flex; align-items: center; gap: 2px;
    font-size: 13px;
}
.evgbs-star        { color: rgba(255,255,255,.2); line-height: 1; }
.evgbs-star.is-on  { color: var(--evgbs-acc); text-shadow: 0 0 8px rgba(255,140,0,.5); }
.evgbs-star.is-half{ color: var(--evgbs-acc); opacity: .55; }
.evgbs-card__rcount{ font-size: 11px; color: var(--evgbs-muted); margin-left: 4px; font-weight: 600; }

/* Nom */
.evgbs-card__name {
    font-family: 'Rajdhani', sans-serif !important;
    font-size: 14px !important; font-weight: 700 !important;
    line-height: 1.3 !important; color: var(--evgbs-text) !important;
    margin: 0 !important;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
    overflow: hidden;
}
.evgbs-card__name a {
    color: inherit !important; text-decoration: none !important;
    transition: color .15s;
}
.evgbs-card__name a:hover { color: var(--evgbs-acc) !important; }

/* Prix */
.evgbs-card__price {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 20px; letter-spacing: .02em;
    color: #fff;
    margin-top: auto;
}
.evgbs-card__price del { font-size: .65em; color: var(--evgbs-muted); }
.evgbs-card__price ins {
    text-decoration: none;
    color: color-mix(in srgb, var(--evgbs-acc) 90%, #fff);
}
.evgbs-card__price .woocommerce-Price-currencySymbol { font-size: .75em; }

/* Bouton panier */
.evgbs-card__btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    width: 100%; padding: 11px 16px;
    border-radius: 10px;
    background: linear-gradient(135deg,
        var(--evgbs-acc),
        color-mix(in srgb, var(--evgbs-acc) 75%, #000));
    color: #fff !important;
    font-family: 'Rajdhani', sans-serif;
    font-size: 13px; font-weight: 800; letter-spacing: .05em;
    text-transform: uppercase; text-decoration: none !important;
    border: none; cursor: pointer;
    transition: .2s; margin-top: auto;
    box-shadow: 0 4px 16px rgba(0,0,0,.3);
}
.evgbs-card__btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 24px rgba(0,0,0,.4),
                0 0 20px color-mix(in srgb, var(--evgbs-acc) 40%, transparent);
}
.evgbs-card__btn svg { flex-shrink: 0; }

/* ── Dots de pagination ──────────────────────────── */
.evgbs-dots {
    position: relative; z-index: 2;
    display: flex; justify-content: center; align-items: center; gap: 6px;
    margin-top: 28px;
}
.evgbs-dot {
    width: 24px; height: 4px; border-radius: 999px;
    border: none; background: rgba(255,255,255,.18); cursor: pointer;
    transition: .2s; padding: 0;
}
.evgbs-dot.is-on {
    width: 40px;
    background: var(--evgbs-acc);
    box-shadow: 0 0 8px rgba(255,140,0,.5);
}

/* ── Responsive ──────────────────────────────────── */
@media (max-width: 1200px) {
    .evgbs-wrap { --evgbs-cols: 3; }
}
@media (max-width: 820px) {
    .evgbs-wrap { --evgbs-cols: 2; padding: 36px 0 48px; }
    .evgbs-hd { padding: 0 20px; }
    .evgbs-track-outer { padding: 0 20px; }
}
@media (max-width: 480px) {
    .evgbs-wrap { --evgbs-cols: 1; }
}


/* ══════════════════════════════════════════════════════════════
   NOUVELLES TRANSITIONS
══════════════════════════════════════════════════════════════ */

/* ── Glitch ───────────────────────────────────────────────── */
@keyframes evhs-glitch-in {
  0%   { clip-path:inset(40% 0 61% 0); transform:translate(-4px,0) skewX(-2deg); }
  10%  { clip-path:inset(92% 0 1% 0);  transform:translate(4px,0) skewX(2deg); }
  20%  { clip-path:inset(43% 0 1% 0);  transform:translate(-4px,0); }
  30%  { clip-path:inset(25% 0 58% 0); transform:translate(4px,0) skewX(-1deg); }
  40%  { clip-path:inset(54% 0 7% 0);  transform:translate(-2px,0); }
  50%  { clip-path:inset(58% 0 43% 0); transform:translate(0,0); }
  60%  { clip-path:inset(10% 0 63% 0); transform:translate(3px,0); }
  70%  { clip-path:inset(70% 0 8% 0);  transform:translate(-3px,0) skewX(1deg); }
  80%  { clip-path:inset(30% 0 50% 0); transform:translate(2px,0); }
  90%  { clip-path:inset(5% 0 80% 0);  transform:translate(-2px,0) skewX(-2deg); }
  100% { clip-path:inset(0% 0 0% 0);   transform:translate(0,0) skewX(0); }
}
.evhs-trans-glitch .evhs-slide { opacity:0; }
.evhs-trans-glitch .evhs-slide.is-active {
  opacity:1; animation:evhs-glitch-in .55s steps(2,end) forwards;
}
.evhs-trans-glitch .evhs-slide.is-leaving { opacity:0; transition:opacity .1s; }

/* ── Morph ────────────────────────────────────────────────── */
@keyframes evhs-morph-in {
  0%   { filter:blur(18px); transform:scale(1.04); opacity:0; }
  40%  { filter:blur(6px);  transform:scale(1.02); opacity:.6; }
  100% { filter:blur(0);    transform:scale(1);    opacity:1; }
}
.evhs-trans-morph .evhs-slide { opacity:0; }
.evhs-trans-morph .evhs-slide.is-active {
  opacity:1; animation:evhs-morph-in .8s cubic-bezier(.4,0,.2,1) forwards;
}
.evhs-trans-morph .evhs-slide.is-leaving {
  opacity:0; filter:blur(12px); transform:scale(.97); transition:.5s ease;
}

/* ── Liquid ───────────────────────────────────────────────── */
@keyframes evhs-liquid-in {
  0%   { clip-path:polygon(0 0,0 0,0 100%,0 100%); opacity:1; }
  40%  { clip-path:polygon(0 0,60% 0,55% 100%,0 100%); }
  100% { clip-path:polygon(0 0,100% 0,100% 100%,0 100%); }
}
@keyframes evhs-liquid-out {
  0%   { clip-path:polygon(0 0,100% 0,100% 100%,0 100%); opacity:1; }
  100% { clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%); opacity:1; }
}
.evhs-trans-liquid .evhs-slide { opacity:0; }
.evhs-trans-liquid .evhs-slide.is-active {
  opacity:1; animation:evhs-liquid-in .75s cubic-bezier(.77,0,.18,1) forwards;
}
.evhs-trans-liquid .evhs-slide.is-leaving {
  animation:evhs-liquid-out .45s cubic-bezier(.77,0,.18,1) forwards; opacity:1;
}

/* ── Zoom-Blur ────────────────────────────────────────────── */
@keyframes evhs-zblur-in {
  0%   { transform:scale(1.25); filter:blur(22px); opacity:0; }
  60%  { transform:scale(1.04); filter:blur(4px);  opacity:.8; }
  100% { transform:scale(1);    filter:blur(0);    opacity:1; }
}
.evhs-trans-zoom-blur .evhs-slide { opacity:0; }
.evhs-trans-zoom-blur .evhs-slide.is-active {
  opacity:1; animation:evhs-zblur-in .85s cubic-bezier(.4,0,.2,1) forwards;
}
.evhs-trans-zoom-blur .evhs-slide.is-leaving {
  opacity:0; filter:blur(8px); transform:scale(.94); transition:.5s ease;
}

/* ── Split ────────────────────────────────────────────────── */
.evhs-trans-split .evhs-slide { opacity:0; }
.evhs-trans-split .evhs-slide.is-active {
  opacity:1;
  animation:evhs-split-top .7s cubic-bezier(.4,0,.2,1) forwards,
            evhs-split-bot .7s cubic-bezier(.4,0,.2,1) forwards;
}
@keyframes evhs-split-top {
  0%   { clip-path:polygon(0 0,100% 0,100% 0,0 0); }
  100% { clip-path:polygon(0 0,100% 0,100% 50%,0 50%); }
}
@keyframes evhs-split-bot {
  0%   { clip-path:polygon(0 100%,100% 100%,100% 100%,0 100%); }
  100% { clip-path:polygon(0 50%,100% 50%,100% 100%,0 100%); }
}
.evhs-trans-split .evhs-slide.is-leaving { opacity:0; transition:opacity .15s .6s; }

/* ── Cube ─────────────────────────────────────────────────── */
.evhs-trans-cube { perspective:1400px; transform-style:preserve-3d; }
@keyframes evhs-cube-in  {
  0%   { transform:rotateY(-90deg) translateZ(0); opacity:0; }
  100% { transform:rotateY(0deg)   translateZ(0); opacity:1; }
}
@keyframes evhs-cube-out {
  0%   { transform:rotateY(0deg)  translateZ(0); opacity:1; }
  100% { transform:rotateY(90deg) translateZ(0); opacity:0; }
}
.evhs-trans-cube .evhs-slide { opacity:0; transform-style:preserve-3d; }
.evhs-trans-cube .evhs-slide.is-active {
  opacity:1; animation:evhs-cube-in .7s cubic-bezier(.4,0,.2,1) forwards;
}
.evhs-trans-cube .evhs-slide.is-leaving {
  animation:evhs-cube-out .5s cubic-bezier(.4,0,.2,1) forwards; opacity:1;
}

/* ══════════════════════════════════════════════════════════════
   ANIMATIONS D'ENTRÉE ÉTENDUES (par slide)
══════════════════════════════════════════════════════════════ */
@keyframes evhs-flip-in  { 0%{opacity:0;transform:rotateX(90deg) translateY(-40px)} 100%{opacity:1;transform:rotateX(0) translateY(0)} }
@keyframes evhs-bounce-in{ 0%{opacity:0;transform:translateY(-60px)} 60%{transform:translateY(10px)} 80%{transform:translateY(-6px)} 100%{opacity:1;transform:translateY(0)} }
.evhs-anim-flip .evhs-inner   { opacity:0; perspective:800px; }
.evhs-anim-bounce .evhs-inner { opacity:0; }
.evhs-slide.is-active.evhs-anim-flip .evhs-inner   { animation:evhs-flip-in   .7s cubic-bezier(.4,0,.2,1) .1s forwards; }
.evhs-slide.is-active.evhs-anim-bounce .evhs-inner { animation:evhs-bounce-in .8s cubic-bezier(.4,0,.2,1) .1s forwards; }

/* ══════════════════════════════════════════════════════════════
   PARTICULES — canvas positionné en absolute inset:0
══════════════════════════════════════════════════════════════ */
.evhs-particles-canvas {
  position:absolute; inset:0; z-index:1;
  pointer-events:none; width:100%; height:100%;
}

/* ══════════════════════════════════════════════════════════════
   PARALLAXE — l'image de fond bouge au scroll
══════════════════════════════════════════════════════════════ */
.evhs-parallax .evhs-slide {
  background-attachment:fixed;
  will-change:background-position;
}
@media (max-width:768px) {
  .evhs-parallax .evhs-slide { background-attachment:scroll; }
}

/* ══════════════════════════════════════════════════════════════
   TWITCH LIVE BAR
══════════════════════════════════════════════════════════════ */
.evhs-twitch-live-bar {
  display:none; /* affiché par JS seulement si live détecté */
  align-items:center; justify-content:center;
  background:linear-gradient(90deg,#6441a5 0%,#9147ff 100%);
  color:#fff; font-family:'Rajdhani',sans-serif;
  font-size:14px; font-weight:700; letter-spacing:.3px;
  padding:0 20px; height:40px;
  width:100vw; margin-left:calc(50% - 50vw);
  position:relative; z-index:10;
  overflow:hidden;
}
.evhs-twitch-live-bar::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);
  animation:evhs-live-shimmer 2.5s ease-in-out infinite;
}
@keyframes evhs-live-shimmer {
  0%{transform:translateX(-100%)} 100%{transform:translateX(100%)}
}
.evhs-live-link {
  display:inline-flex; align-items:center; gap:10px;
  color:#fff; text-decoration:none; position:relative; z-index:1;
}
.evhs-live-dot {
  width:8px; height:8px; border-radius:50%;
  background:#fff; flex-shrink:0;
  box-shadow:0 0 0 0 rgba(255,255,255,.6);
  animation:evhs-live-pulse 1.4s ease-out infinite;
}
@keyframes evhs-live-pulse {
  0%  {box-shadow:0 0 0 0 rgba(255,255,255,.6)}
  70% {box-shadow:0 0 0 8px rgba(255,255,255,0)}
  100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}
}
.evhs-live-icon { opacity:.9; flex-shrink:0; }
.evhs-live-viewers {
  background:rgba(0,0,0,.25); border-radius:20px;
  padding:2px 10px; font-size:12px; font-weight:600;
}

/* ══ PROTECTION DARK-MODE WORDPRESS ══════════════════
   Certains plugins dark-mode (Astra, Elementor, WP Dark Mode)
   appliquent des filtres ou overrides qui cachent les slides.
═══════════════════════════════════════════════════ */
html.wp-dark-mode-active .evhs-block,
html[data-bs-theme="dark"] .evhs-block,
body.dark-mode .evhs-block,
body.wp-dark-mode .evhs-block,
.dark-mode .evhs-block,
[data-elementor-device-mode] .evhs-block {
    color-scheme: normal;
}
html.wp-dark-mode-active .evhs-slide,
html[data-bs-theme="dark"] .evhs-slide,
body.dark-mode .evhs-slide,
body.wp-dark-mode .evhs-slide {
    filter: none !important;
}
/* Forcer is-active visible peu importe le thème */
.evhs-slider-wrap .evhs-slide.is-active {
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
}
.evhs-slider-wrap .evhs-slide.is-active .evhs-inner {
    opacity: 1 !important;
    visibility: visible !important;
}
/* Contrer filter:invert / filter:brightness des plugins dark-mode */
.evhs-block { filter: none !important; }
.evhs-slider-wrap { filter: none !important; }
.evhs-slide { filter: none !important; }

