/* ════════════════════════════════════════════════════════════════
   EDUWEB SLIDER — CSS Public
   Animations haute performance : Ken Burns · Parallaxe · 3D · Particules
   v1.0.0 | Charte EduWeb — Vert #3aaf7f · Orange #f5a623
════════════════════════════════════════════════════════════════ */

/* ── Variables ── */
:root {
    --ews-green:       #3aaf7f;
    --ews-green-dark:  #1e7d55;
    --ews-orange:      #f5a623;
    --ews-orange-dark: #d4891a;
    --ews-dark:        #1a1f1c;
    --ews-height:      650px;
    --ews-mobile-height: 380px;
    --ews-speed:       700ms;
    --ews-ease:        cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* ── Wrapper principal ── */
.eduweb-slider-wrap {
    position: relative;
    width: 100%;
    height: var(--ews-height);
    overflow: hidden;
    background: #1a1f1c;
    font-family: 'Montserrat', 'Poppins', system-ui, sans-serif;
    -webkit-font-smoothing: antialiased;
    user-select: none;
}
@media (max-width: 768px) {
    .eduweb-slider-wrap { height: var(--ews-mobile-height); }
}

/* ════════════════════════════════════════
   BARRE DE PROGRESSION
════════════════════════════════════════ */
.ews-progress {
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    z-index: 100;
    background: rgba(255,255,255,0.15);
}
.ews-progress-bar {
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, var(--ews-green), var(--ews-orange));
    transition: width linear;
    transform-origin: left;
}

/* ════════════════════════════════════════
   PISTE DES SLIDES
════════════════════════════════════════ */
.ews-track {
    position: relative;
    width: 100%;
    height: 100%;
}

/* ════════════════════════════════════════
   SLIDE INDIVIDUEL
════════════════════════════════════════ */
.ews-slide {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;

    /* Transitions d'entrée/sortie */
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    z-index: 1;
}
.ews-slide.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    z-index: 2;
}
.ews-slide.is-leaving { z-index: 3; }

/* ════════════════════════════════════════
   FOND — Ken Burns & Parallaxe
════════════════════════════════════════ */
.ews-bg {
    position: absolute;
    inset: -8%;
    width: 116%; height: 116%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    will-change: transform;
    transform-origin: center;
}

/* Mode "Tout voir" (contain) : image entièrement visible, pas de rognage */
.ews-bg[data-img-fit="contain"] {
    inset: 0;
    width: 100%;
    height: 100%;
    background-size: contain !important;
    background-repeat: no-repeat;
    /* Désactiver les animations Ken Burns qui agrandiraient et rogneraient */
    animation: none !important;
    transform: none !important;
}

/* Mode "Taille réelle" */
.ews-bg[data-img-fit="auto"] {
    background-size: auto !important;
}

/* Mode personnalisé : la taille est déjà dans le style inline, on désactive l'override */
.ews-bg[data-img-fit="custom"] {
    inset: 0;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    animation: none !important;
    transform: none !important;
}

/* Ken Burns — Zoom entrant */
.ews-slide.is-active .ews-bg--kenburns-zoom {
    animation: ews-kb-zoom 8s var(--ews-ease) forwards;
}
@keyframes ews-kb-zoom {
    0%   { transform: scale(1.12) translate(0, 0); }
    100% { transform: scale(1)    translate(0, 0); }
}

/* Ken Burns — Zoom sortant */
.ews-slide.is-active .ews-bg--kenburns-zoom-out {
    animation: ews-kb-zoom-out 8s var(--ews-ease) forwards;
}
@keyframes ews-kb-zoom-out {
    0%   { transform: scale(1) translate(0, 0); }
    100% { transform: scale(1.08) translate(-1%, 1%); }
}

/* Ken Burns — Panoramique droite */
.ews-slide.is-active .ews-bg--kenburns-pan-right {
    animation: ews-kb-right 9s linear forwards;
}
@keyframes ews-kb-right {
    0%   { transform: scale(1.1) translate(-4%, 0); }
    100% { transform: scale(1.05) translate(2%, -1%); }
}

/* Ken Burns — Panoramique gauche */
.ews-slide.is-active .ews-bg--kenburns-pan-left {
    animation: ews-kb-left 9s linear forwards;
}
@keyframes ews-kb-left {
    0%   { transform: scale(1.1) translate(4%, 0); }
    100% { transform: scale(1.05) translate(-2%, 1%); }
}

/* Parallaxe — géré en JS via translateX/Y */
.ews-bg--parallax {
    transition: transform 0.1s linear;
}

/* Statique */
.ews-bg--static { transform: scale(1.05); }

/* ════════════════════════════════════════
   OVERLAYS
════════════════════════════════════════ */
.ews-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
}
.ews-overlay--gradient-green {
    background: linear-gradient(125deg, rgba(45,62,54,0.88) 0%, rgba(30,125,85,0.55) 60%, rgba(58,175,127,0.25) 100%);
}
.ews-overlay--gradient-dark {
    background: linear-gradient(160deg, rgba(26,31,28,0.9) 0%, rgba(26,31,28,0.5) 100%);
}
.ews-overlay--gradient-accent {
    background: linear-gradient(135deg, rgba(30,125,85,0.80) 0%, rgba(245,166,35,0.30) 100%);
}
.ews-overlay--solid-dark  { background: rgba(0,0,0,0.60); }
.ews-overlay--solid-light { background: rgba(0,0,0,0.30); }
.ews-overlay--none        { background: none; }

/* ════════════════════════════════════════
   PARTICULES DÉCORATIVES
════════════════════════════════════════ */
.ews-particles {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    z-index: 2;
}
.ews-particle {
    position: absolute;
    border-radius: 50%;
    opacity: 0;
    background: rgba(255,255,255,0.08);
}
.ews-slide.is-active .ews-particle {
    animation: ews-particle-float 8s ease-in-out infinite;
}
.ews-particle--1 { width:80px;  height:80px;  top:10%; left:5%;   animation-delay:0s;   animation-duration:8s;  }
.ews-particle--2 { width:40px;  height:40px;  top:30%; right:10%; animation-delay:1.5s; animation-duration:6s;  }
.ews-particle--3 { width:120px; height:120px; bottom:15%; left:20%; animation-delay:0.5s; animation-duration:10s; }
.ews-particle--4 { width:60px;  height:60px;  bottom:30%; right:5%; animation-delay:2s;  animation-duration:7s;  }
.ews-particle--5 { width:30px;  height:30px;  top:50%; left:50%;  animation-delay:1s;   animation-duration:9s;  background:rgba(245,166,35,0.12); }
.ews-particle--6 { width:50px;  height:50px;  top:20%; left:40%;  animation-delay:3s;   animation-duration:11s; background:rgba(58,175,127,0.10); }
.ews-particle--7 { width:20px;  height:20px;  bottom:10%; left:60%; animation-delay:0.8s;animation-duration:7s;  }
.ews-particle--8 { width:90px;  height:90px;  top:60%; right:25%; animation-delay:2.5s; animation-duration:12s; background:rgba(245,166,35,0.06); }

@keyframes ews-particle-float {
    0%   { transform: translateY(0)    scale(0.8); opacity: 0; }
    20%  { opacity: 1; }
    50%  { transform: translateY(-30px) scale(1.1); }
    80%  { opacity: 0.6; }
    100% { transform: translateY(-60px) scale(0.6); opacity: 0; }
}

/* ════════════════════════════════════════
   CONTENU TEXTE
════════════════════════════════════════ */
.ews-content {
    position: relative;
    z-index: 10;
    text-align: center;
    padding: 0 5vw;
    max-width: 900px;
    margin: 0 auto;
}

/* ── Badge ── */
.ews-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    background: rgba(245,166,35,0.2);
    border: 1px solid rgba(245,166,35,0.5);
    color: var(--ews-orange);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    padding: 0.3rem 0.9rem;
    border-radius: 100px;
    margin-bottom: 1rem;
    backdrop-filter: blur(4px);
}

/* ── Sous-titre ── */
.ews-subtitle {
    font-size: clamp(0.8rem, 1.5vw, 0.95rem);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: var(--ews-green);
    margin-bottom: 0.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
}
.ews-subtitle::before,
.ews-subtitle::after {
    content: '';
    display: inline-block;
    width: 32px;
    height: 2px;
    background: var(--ews-green);
    border-radius: 1px;
}

/* ── Titre ── */
.ews-title {
    font-size: clamp(1.8rem, 5vw, 4.2rem);
    font-weight: 900;
    color: #ffffff;
    line-height: 1.08;
    letter-spacing: -0.025em;
    margin: 0 0 1.1rem;
    text-shadow: 0 2px 20px rgba(0,0,0,0.3);
}
.ews-title em {
    font-style: normal;
    color: var(--ews-orange);
}

/* ── Description ── */
.ews-desc {
    font-size: clamp(0.9rem, 1.8vw, 1.05rem);
    color: rgba(255,255,255,0.78);
    line-height: 1.7;
    max-width: 600px;
    margin: 0 auto 2rem;
}

/* ── Boutons ── */
.ews-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.ews-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-family: 'Montserrat', 'Poppins', sans-serif;
    font-size: 0.82rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 0.85rem 1.8rem;
    border-radius: 4px;
    text-decoration: none;
    transition: transform 0.25s var(--ews-ease),
                box-shadow 0.25s ease,
                background 0.25s ease;
    white-space: nowrap;
}
.ews-btn:hover { transform: translateY(-3px); }

.ews-btn--primary {
    background: linear-gradient(135deg, var(--ews-orange), var(--ews-orange-dark));
    color: #ffffff;
    box-shadow: 0 6px 24px rgba(245,166,35,0.35);
}
.ews-btn--primary:hover {
    box-shadow: 0 12px 32px rgba(245,166,35,0.50);
    color: #ffffff;
    text-decoration: none;
}

.ews-btn--outline {
    background: transparent;
    color: #ffffff;
    border: 2px solid rgba(255,255,255,0.55);
    backdrop-filter: blur(4px);
}
.ews-btn--outline:hover {
    background: rgba(255,255,255,0.12);
    border-color: rgba(255,255,255,0.85);
    color: #ffffff;
    text-decoration: none;
}

/* ── Scroll hint ── */
.ews-scroll-hint {
    position: absolute;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 20;
}
.ews-scroll-hint-dot {
    display: block;
    width: 24px;
    height: 38px;
    border: 2px solid rgba(255,255,255,0.4);
    border-radius: 12px;
    position: relative;
}
.ews-scroll-hint-dot::after {
    content: '';
    position: absolute;
    top: 5px;
    left: 50%;
    transform: translateX(-50%);
    width: 4px;
    height: 8px;
    background: rgba(255,255,255,0.7);
    border-radius: 2px;
    animation: ews-scroll-bounce 1.6s ease infinite;
}
@keyframes ews-scroll-bounce {
    0%, 100% { transform: translateX(-50%) translateY(0); opacity: 1; }
    60%       { transform: translateX(-50%) translateY(10px); opacity: 0.3; }
}

/* ════════════════════════════════════════
   ANIMATIONS DE TEXTE
════════════════════════════════════════ */

/* ── fade-up ── */
.ews-content--fade-up .ews-badge,
.ews-content--fade-up .ews-subtitle,
.ews-content--fade-up .ews-title,
.ews-content--fade-up .ews-desc,
.ews-content--fade-up .ews-actions {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.7s var(--ews-ease), transform 0.7s var(--ews-ease);
}
.ews-slide.is-active .ews-content--fade-up .ews-badge     { opacity:1; transform:translateY(0); transition-delay: 0.3s; }
.ews-slide.is-active .ews-content--fade-up .ews-subtitle  { opacity:1; transform:translateY(0); transition-delay: 0.45s; }
.ews-slide.is-active .ews-content--fade-up .ews-title     { opacity:1; transform:translateY(0); transition-delay: 0.6s; }
.ews-slide.is-active .ews-content--fade-up .ews-desc      { opacity:1; transform:translateY(0); transition-delay: 0.75s; }
.ews-slide.is-active .ews-content--fade-up .ews-actions   { opacity:1; transform:translateY(0); transition-delay: 0.9s; }

/* ── fade-down ── */
.ews-content--fade-down .ews-badge,
.ews-content--fade-down .ews-subtitle,
.ews-content--fade-down .ews-title,
.ews-content--fade-down .ews-desc,
.ews-content--fade-down .ews-actions {
    opacity: 0;
    transform: translateY(-30px);
    transition: opacity 0.7s var(--ews-ease), transform 0.7s var(--ews-ease);
}
.ews-slide.is-active .ews-content--fade-down .ews-badge    { opacity:1; transform:translateY(0); transition-delay: 0.3s; }
.ews-slide.is-active .ews-content--fade-down .ews-subtitle { opacity:1; transform:translateY(0); transition-delay: 0.45s; }
.ews-slide.is-active .ews-content--fade-down .ews-title    { opacity:1; transform:translateY(0); transition-delay: 0.6s; }
.ews-slide.is-active .ews-content--fade-down .ews-desc     { opacity:1; transform:translateY(0); transition-delay: 0.75s; }
.ews-slide.is-active .ews-content--fade-down .ews-actions  { opacity:1; transform:translateY(0); transition-delay: 0.9s; }

/* ── fade-left ── */
.ews-content--fade-left .ews-badge,
.ews-content--fade-left .ews-subtitle,
.ews-content--fade-left .ews-title,
.ews-content--fade-left .ews-desc,
.ews-content--fade-left .ews-actions {
    opacity: 0;
    transform: translateX(-50px);
    transition: opacity 0.7s var(--ews-ease), transform 0.7s var(--ews-ease);
}
.ews-slide.is-active .ews-content--fade-left .ews-badge    { opacity:1; transform:translateX(0); transition-delay: 0.2s; }
.ews-slide.is-active .ews-content--fade-left .ews-subtitle { opacity:1; transform:translateX(0); transition-delay: 0.35s; }
.ews-slide.is-active .ews-content--fade-left .ews-title    { opacity:1; transform:translateX(0); transition-delay: 0.5s; }
.ews-slide.is-active .ews-content--fade-left .ews-desc     { opacity:1; transform:translateX(0); transition-delay: 0.65s; }
.ews-slide.is-active .ews-content--fade-left .ews-actions  { opacity:1; transform:translateX(0); transition-delay: 0.8s; }

/* ── fade-right ── */
.ews-content--fade-right .ews-badge,
.ews-content--fade-right .ews-subtitle,
.ews-content--fade-right .ews-title,
.ews-content--fade-right .ews-desc,
.ews-content--fade-right .ews-actions {
    opacity: 0;
    transform: translateX(50px);
    transition: opacity 0.7s var(--ews-ease), transform 0.7s var(--ews-ease);
}
.ews-slide.is-active .ews-content--fade-right .ews-badge    { opacity:1; transform:translateX(0); transition-delay: 0.2s; }
.ews-slide.is-active .ews-content--fade-right .ews-subtitle { opacity:1; transform:translateX(0); transition-delay: 0.35s; }
.ews-slide.is-active .ews-content--fade-right .ews-title    { opacity:1; transform:translateX(0); transition-delay: 0.5s; }
.ews-slide.is-active .ews-content--fade-right .ews-desc     { opacity:1; transform:translateX(0); transition-delay: 0.65s; }
.ews-slide.is-active .ews-content--fade-right .ews-actions  { opacity:1; transform:translateX(0); transition-delay: 0.8s; }

/* ── zoom-in ── */
.ews-content--zoom-in .ews-badge,
.ews-content--zoom-in .ews-subtitle,
.ews-content--zoom-in .ews-title,
.ews-content--zoom-in .ews-desc,
.ews-content--zoom-in .ews-actions {
    opacity: 0;
    transform: scale(0.85);
    transition: opacity 0.65s var(--ews-ease), transform 0.65s var(--ews-ease);
}
.ews-slide.is-active .ews-content--zoom-in .ews-badge    { opacity:1; transform:scale(1); transition-delay: 0.25s; }
.ews-slide.is-active .ews-content--zoom-in .ews-subtitle { opacity:1; transform:scale(1); transition-delay: 0.4s; }
.ews-slide.is-active .ews-content--zoom-in .ews-title    { opacity:1; transform:scale(1); transition-delay: 0.55s; }
.ews-slide.is-active .ews-content--zoom-in .ews-desc     { opacity:1; transform:scale(1); transition-delay: 0.7s; }
.ews-slide.is-active .ews-content--zoom-in .ews-actions  { opacity:1; transform:scale(1); transition-delay: 0.85s; }

/* ── flip-x ── */
.ews-content--flip-x .ews-title {
    opacity: 0;
    transform: rotateX(90deg);
    transform-origin: center bottom;
    transition: opacity 0.6s ease, transform 0.6s var(--ews-ease);
    transition-delay: 0.5s;
}
.ews-slide.is-active .ews-content--flip-x .ews-title { opacity:1; transform:rotateX(0); }

/* ── typewriter — géré en JS ── */
.ews-content--typewriter .ews-title .ews-typewriter-cursor {
    display: inline-block;
    width: 3px;
    height: 0.85em;
    background: var(--ews-orange);
    margin-left: 2px;
    vertical-align: middle;
    animation: ews-blink 0.75s step-end infinite;
}
@keyframes ews-blink {
    0%, 100% { opacity: 1; }
    50%       { opacity: 0; }
}

/* ── split — géré en JS ── */
.ews-title-split-char {
    display: inline-block;
    opacity: 0;
    transform: translateY(40px) rotate(5deg);
    transition: opacity 0.5s ease, transform 0.5s var(--ews-ease);
}

/* ════════════════════════════════════════
   TRANSITIONS ENTRE SLIDES
════════════════════════════════════════ */

/* ── Slide (défaut) ── */
.ews-transition-slide .ews-slide.enter-from-right { transform: translateX(100%); }
.ews-transition-slide .ews-slide.enter-from-left  { transform: translateX(-100%); }
.ews-transition-slide .ews-slide.is-active        { transform: translateX(0); transition: transform var(--ews-speed) var(--ews-ease), opacity 0.1s; }
.ews-transition-slide .ews-slide.leave-to-left    { transform: translateX(-100%); transition: transform var(--ews-speed) var(--ews-ease); }
.ews-transition-slide .ews-slide.leave-to-right   { transform: translateX(100%);  transition: transform var(--ews-speed) var(--ews-ease); }

/* ── Fade ── */
.ews-transition-fade .ews-slide { transition: opacity var(--ews-speed) ease; }
.ews-transition-fade .ews-slide.is-active  { opacity: 1; }
.ews-transition-fade .ews-slide.is-leaving { opacity: 0; }

/* ── Zoom + Fade ── */
.ews-transition-zoom-fade .ews-slide { transition: opacity 0.8s ease, transform 0.8s var(--ews-ease); }
.ews-transition-zoom-fade .ews-slide.enter-from-right { transform: scale(1.08); }
.ews-transition-zoom-fade .ews-slide.is-active        { transform: scale(1); opacity: 1; }
.ews-transition-zoom-fade .ews-slide.is-leaving       { transform: scale(0.94); opacity: 0; }

/* ── Flip 3D ── */
.ews-transition-flip { perspective: 1400px; }
.ews-transition-flip .ews-track { transform-style: preserve-3d; }
.ews-transition-flip .ews-slide { transition: transform var(--ews-speed) var(--ews-ease), opacity 0.3s; backface-visibility: hidden; }
.ews-transition-flip .ews-slide.enter-from-right { transform: rotateY(90deg); }
.ews-transition-flip .ews-slide.enter-from-left  { transform: rotateY(-90deg); }
.ews-transition-flip .ews-slide.is-active        { transform: rotateY(0deg); opacity: 1; }
.ews-transition-flip .ews-slide.is-leaving       { transform: rotateY(-90deg); opacity: 0; }

/* ── Cube 3D ── */
.ews-transition-cube { perspective: 1200px; }
.ews-transition-cube .ews-slide { transition: transform var(--ews-speed) var(--ews-ease), opacity 0.2s; transform-style: preserve-3d; backface-visibility: hidden; }
.ews-transition-cube .ews-slide.enter-from-right { transform: rotateY(90deg) translateZ(50vw); }
.ews-transition-cube .ews-slide.enter-from-left  { transform: rotateY(-90deg) translateZ(50vw); }
.ews-transition-cube .ews-slide.is-active        { transform: rotateY(0) translateZ(0); opacity: 1; }
.ews-transition-cube .ews-slide.is-leaving       { transform: rotateY(-90deg) translateZ(50vw); opacity: 0; }

/* ── Cards (empilées) ── */
.ews-transition-cards .ews-slide { transition: transform var(--ews-speed) var(--ews-ease), opacity 0.5s ease; }
.ews-transition-cards .ews-slide.enter-from-right { transform: translateX(100%) scale(0.9); }
.ews-transition-cards .ews-slide.enter-from-left  { transform: translateX(-100%) scale(0.9); }
.ews-transition-cards .ews-slide.is-active        { transform: translateX(0) scale(1); opacity: 1; }
.ews-transition-cards .ews-slide.is-leaving       { transform: scale(0.88); opacity: 0; }

/* ── Morph ── */
.ews-transition-morph .ews-slide { transition: transform var(--ews-speed) var(--ews-ease), opacity 0.6s ease, filter 0.6s ease; }
.ews-transition-morph .ews-slide.enter-from-right { transform: translateX(60px); opacity: 0; filter: blur(8px); }
.ews-transition-morph .ews-slide.is-active        { transform: translateX(0); opacity: 1; filter: blur(0); }
.ews-transition-morph .ews-slide.is-leaving       { transform: translateX(-60px); opacity: 0; filter: blur(8px); }

/* ── Reveal (rideau) ── */
.ews-transition-reveal .ews-slide { transition: clip-path var(--ews-speed) var(--ews-ease), opacity 0.2s; }
.ews-transition-reveal .ews-slide.enter-from-right { clip-path: inset(0 100% 0 0); opacity: 1; }
.ews-transition-reveal .ews-slide.enter-from-left  { clip-path: inset(0 0 0 100%); opacity: 1; }
.ews-transition-reveal .ews-slide.is-active        { clip-path: inset(0 0% 0 0); opacity: 1; }
.ews-transition-reveal .ews-slide.is-leaving       { clip-path: inset(0 0 0 100%); opacity: 1; }

/* ════════════════════════════════════════
   FLÈCHES DE NAVIGATION
════════════════════════════════════════ */
.ews-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 50;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    border: none;
    background: rgba(255,255,255,0.10);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    backdrop-filter: blur(8px);
    border: 1.5px solid rgba(255,255,255,0.18);
    transition: background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
    outline: none;
}
.ews-arrow:hover {
    background: var(--ews-green);
    border-color: var(--ews-green);
    transform: translateY(-50%) scale(1.08);
    box-shadow: 0 8px 28px rgba(58,175,127,0.40);
}
.ews-prev { left: 20px; }
.ews-next { right: 20px; }

@media (max-width: 600px) {
    .ews-arrow { width: 40px; height: 40px; }
    .ews-prev  { left: 10px; }
    .ews-next  { right: 10px; }
}

/* ════════════════════════════════════════
   DOTS DE NAVIGATION
════════════════════════════════════════ */
.ews-dots {
    position: absolute;
    bottom: 22px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 8px;
    z-index: 50;
    align-items: center;
}
.ews-dot {
    padding: 0;
    background: none;
    border: none;
    cursor: pointer;
    outline: none;
}
.ews-dot span {
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 100px;
    background: rgba(255,255,255,0.4);
    transition: width 0.3s ease, background 0.3s ease, transform 0.3s ease;
}
.ews-dot.active span {
    width: 28px;
    background: linear-gradient(90deg, var(--ews-green), var(--ews-orange));
}
.ews-dot:hover:not(.active) span {
    background: rgba(255,255,255,0.75);
    transform: scale(1.2);
}

/* ════════════════════════════════════════
   COMPTEUR X / N
════════════════════════════════════════ */
.ews-counter {
    position: absolute;
    bottom: 22px;
    right: 22px;
    z-index: 50;
    font-family: 'Montserrat', 'Poppins', sans-serif;
    font-size: 0.7rem;
    font-weight: 700;
    color: rgba(255,255,255,0.55);
    letter-spacing: 0.08em;
    display: flex;
    align-items: center;
    gap: 4px;
}
.ews-counter-current {
    font-size: 1rem;
    color: #ffffff;
    font-weight: 900;
}
.ews-counter-sep { color: rgba(255,255,255,0.3); }

/* ════════════════════════════════════════
   ACCESSIBILITÉ
════════════════════════════════════════ */
@media (prefers-reduced-motion: reduce) {
    .ews-bg { animation: none !important; }
    .ews-particle { animation: none !important; }
    .ews-scroll-hint-dot::after { animation: none !important; }
    .ews-content > * { transition: none !important; opacity: 1 !important; transform: none !important; }
}

/* Focus visible */
.ews-arrow:focus-visible,
.ews-dot:focus-visible {
    outline: 2px solid var(--ews-orange);
    outline-offset: 3px;
}
