/*
Theme Name: Élan Passion
Theme URI: https://elanpassion.fr
Author: Élan Passion
Description: Thème officiel du kop Élan Passion — association des supporters de l'Élan Chalon. Rouge #E51D39, typographies Anton et Archivo.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: elan-passion
Tags: sports, association, custom-logo, custom-menu, featured-images
*/

/* ===== VARIABLES ===== */
:root{
  --rouge:#E51D39; --rouge-fonce:#B01029; --rouge-pale:#FCE9EC;
  --nuit:#1C0A10; --gris-fond:#F5F4F4; --gris-texte:#6B6065;
  --gris-ligne:#E6E3E4; --blanc:#FFFFFF;
  --shadow-sm:0 2px 8px rgba(28,10,16,.08);
  --shadow-md:0 6px 24px rgba(28,10,16,.14);
  --shadow-lg:0 18px 40px rgba(28,10,16,.2);
  --r:8px;
}

/* ===== RESET ===== */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:'Archivo',sans-serif;color:var(--nuit);background:var(--blanc);line-height:1.62;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
button,input,textarea{font-family:inherit}
svg{display:block}
.screen-reader-text{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute!important;width:1px}

/* ===== LAYOUT ===== */
.ep-wrap{max-width:1140px;margin:0 auto;padding:0 28px}
.ep-section{padding:42px 0}
.ep-eyebrow{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.24em;color:var(--rouge);margin-bottom:10px;display:block}
.ep-title{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(1.9rem,4vw,3rem);line-height:.95;margin-bottom:14px}
.ep-bar{width:52px;height:4px;background:var(--rouge);margin-top:8px;margin-bottom:20px}
.ep-lead{color:var(--gris-texte);max-width:52ch;font-size:1rem}

/* ===== ÉCHARPE ===== */
.ep-echarpe{height:24px;background:repeating-linear-gradient(-45deg,var(--rouge) 0 20px,var(--blanc) 20px 40px);border-top:3px solid var(--nuit);border-bottom:3px solid var(--nuit)}

/* ===== BUTTONS ===== */
.ep-btn{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;font-weight:700;font-size:.95rem;border-radius:4px;border:2px solid var(--rouge);background:var(--rouge);color:var(--blanc);transition:all .18s;cursor:pointer}
.ep-btn:hover,.ep-btn:focus{background:var(--rouge-fonce);border-color:var(--rouge-fonce);color:var(--blanc)}
.ep-btn-lg{padding:16px 32px;font-size:1.05rem}
.ep-btn-nuit{background:var(--nuit);border-color:var(--nuit)}
.ep-btn-nuit:hover{background:#000;border-color:#000}
.ep-btn-ghost{background:transparent;border-color:var(--blanc);color:var(--blanc)}
.ep-btn-ghost:hover{background:rgba(255,255,255,.14)}
.ep-btn-outline{background:transparent;border-color:var(--rouge);color:var(--rouge)}
.ep-btn-outline:hover{background:var(--rouge);color:var(--blanc)}

/* ===== HEADER ===== */
#ep-header{position:sticky;top:0;z-index:200;background:var(--blanc);border-bottom:1px solid var(--gris-ligne);transition:box-shadow .25s}
#ep-header.scrolled{box-shadow:var(--shadow-md)}
.ep-hdr{display:flex;align-items:center;gap:16px;padding:9px 28px;max-width:1140px;margin:0 auto}
.ep-hdr-logo img,.ep-hdr-logo .custom-logo{height:50px;width:auto}
.ep-hdr-logo .site-title{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:1.3rem;color:var(--nuit)}
.ep-nav{display:flex;gap:2px;margin-left:auto}
.ep-nav ul{display:flex;gap:2px;list-style:none;margin:0;padding:0}
.ep-nav li a{font-weight:600;font-size:.9rem;padding:7px 13px;border-radius:4px;color:var(--nuit);display:block;transition:all .15s}
.ep-nav li a:hover,.ep-nav li.current-menu-item a,.ep-nav li.current_page_item a,.ep-nav li.on a{color:var(--rouge);background:var(--gris-fond)}
.ep-hdr-sep{width:1px;background:var(--gris-ligne);margin:0 6px;align-self:stretch}
.ep-hdr-rs{display:flex;gap:6px}
.ep-hdr-rs a{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;color:var(--gris-texte);transition:all .18s}
.ep-hdr-rs a:hover{background:var(--rouge);color:var(--blanc)}
.ep-hdr-rs svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ep-hdr-adherer{margin-left:6px;padding:9px 18px;font-size:.88rem}
.ep-burger{display:none;flex-direction:column;gap:5px;padding:8px;background:none;border:none;cursor:pointer;margin-left:auto}
.ep-burger span{display:block;width:24px;height:2.5px;background:var(--nuit);border-radius:2px;transition:all .3s}
.ep-burger.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.ep-burger.open span:nth-child(2){opacity:0}
.ep-burger.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
.ep-mob-nav{display:none;position:absolute;inset:100% 0 auto;background:var(--blanc);border-bottom:3px solid var(--rouge);padding:12px 28px 20px;box-shadow:var(--shadow-md);z-index:300}
.ep-mob-nav.open{display:block}
.ep-mob-nav ul{list-style:none;margin:0;padding:0}
.ep-mob-nav li a{display:block;padding:11px 0;font-weight:600;font-size:1rem;border-bottom:1px solid var(--gris-ligne);color:var(--nuit)}
.ep-mob-nav li:last-child a{color:var(--rouge);border-bottom:none}
.ep-mob-rs{display:flex;gap:14px;padding-top:14px;flex-wrap:wrap}
.ep-mob-rs a{font-size:.85rem;font-weight:700;color:var(--gris-texte);display:flex;align-items:center;gap:6px}
.ep-mob-rs svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ===== HERO ===== */
#ep-hero{background:var(--rouge);color:var(--blanc);padding:84px 0 104px;position:relative;overflow:hidden}
.ep-hero-wm{position:absolute;right:-80px;top:50%;transform:translateY(-50%);width:520px;height:520px;background-size:contain;background-repeat:no-repeat;background-position:center;opacity:.09;pointer-events:none}
.ep-hero-in{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;position:relative;z-index:1}
.ep-hero-eyebrow{font-size:.73rem;font-weight:800;text-transform:uppercase;letter-spacing:.24em;opacity:.88;margin-bottom:18px;display:block}
.ep-hero-h1{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(2.8rem,6.5vw,5.2rem);line-height:.95;margin-bottom:22px}
.ep-hero-h1 .ep-ul{box-shadow:inset 0 -.28em 0 rgba(0,0,0,.28)}
.ep-hero-body{font-size:1.08rem;opacity:.96;max-width:38em;margin-bottom:30px;line-height:1.62}
.ep-hero-cta{display:flex;gap:13px;flex-wrap:wrap}
.ep-hero-card{background:var(--blanc);color:var(--nuit);border-radius:12px;padding:30px;box-shadow:var(--shadow-lg)}
.ep-hc-badge{display:inline-flex;align-items:center;gap:8px;background:var(--rouge-pale);color:var(--rouge);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;padding:5px 12px;border-radius:3px;margin-bottom:14px}
.ep-hc-title{font-family:'Anton',sans-serif;text-transform:uppercase;font-weight:400;font-size:1.85rem;line-height:1;margin-bottom:18px}
.ep-hc-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px}
.ep-hc-stat{text-align:center;padding:12px;background:var(--gris-fond);border-radius:var(--r)}
.ep-hc-num{font-family:'Anton',sans-serif;font-size:2.1rem;color:var(--rouge);line-height:1}
.ep-hc-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--gris-texte);margin-top:3px}

/* ===== CHANT ===== */
.ep-chant{background:var(--nuit);overflow:hidden;padding:12px 0;white-space:nowrap}
.ep-chant-track{display:inline-block;animation:ep-scroll 28s linear infinite;font-family:'Anton',sans-serif;font-size:1.08rem;text-transform:uppercase;letter-spacing:.09em;color:var(--blanc)}
.ep-chant-track .sep{color:var(--rouge);margin:0 16px}
@keyframes ep-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.ep-chant-track{animation:none}}

/* ===== ACTUALITÉS ===== */
.ep-actus-grid{display:grid;grid-template-columns:1.55fr 1fr 1fr;gap:22px}
.ep-actu{background:var(--blanc);border:1px solid var(--gris-ligne);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.ep-actu:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.ep-actu.ep-lead{grid-row:span 2}
.ep-actu-img{aspect-ratio:16/9;background:linear-gradient(150deg,var(--rouge),var(--rouge-fonce));overflow:hidden;position:relative;display:flex;align-items:flex-end;padding:14px}
.ep-actu.ep-lead .ep-actu-img{aspect-ratio:4/3}
.ep-actu-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ep-actu-tag{display:inline-block;padding:4px 9px;border-radius:3px;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;background:rgba(0,0,0,.45);color:var(--blanc);position:relative;z-index:1}
.ep-actu-body{padding:18px;display:flex;flex-direction:column;gap:7px;flex:1}
.ep-actu-date{font-size:.73rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--gris-texte)}
.ep-actu-body h3{font-size:1.08rem;font-weight:800;line-height:1.3;margin:0}
.ep-actu.ep-lead .ep-actu-body h3{font-size:1.32rem}
.ep-actu-body p{font-size:.9rem;color:var(--gris-texte);flex:1;margin:0}
.ep-actu-more{font-size:.86rem;font-weight:700;color:var(--rouge);margin-top:4px;display:inline-block}
.ep-actu-more:hover{text-decoration:underline}

/* ===== ASSOCIATION ===== */
.ep-asso-layout{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.ep-asso-sub{font-size:1.15rem;font-weight:800;margin-bottom:22px;padding-bottom:10px;border-bottom:3px solid var(--gris-ligne);display:flex;align-items:center;gap:10px}
.ep-asso-sub::before{content:'';width:4px;height:20px;background:var(--rouge);border-radius:2px;flex-shrink:0}
.ep-tl{position:relative;padding-left:26px}
.ep-tl::before{content:'';position:absolute;left:0;top:6px;bottom:6px;width:3px;background:var(--gris-ligne);border-radius:2px}
.ep-tl-item{position:relative;padding-bottom:26px}
.ep-tl-item:last-child{padding-bottom:0}
.ep-tl-dot{position:absolute;left:-33px;top:4px;width:13px;height:13px;border-radius:50%;background:var(--rouge);border:3px solid var(--blanc);box-shadow:0 0 0 2px var(--rouge)}
.ep-tl-year{font-family:'Anton',sans-serif;color:var(--rouge);font-size:1.05rem;font-weight:400;text-transform:uppercase;letter-spacing:.04em;display:block}
.ep-tl-item h4{font-weight:700;font-size:.98rem;margin:3px 0}
.ep-tl-item p{font-size:.88rem;color:var(--gris-texte);margin:0}
.ep-bureau-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.ep-bcard{display:flex;align-items:center;gap:13px;background:var(--gris-fond);border-radius:var(--r);padding:16px;transition:background .18s}
.ep-bcard:hover{background:var(--rouge-pale)}
.ep-bavatar{width:48px;height:48px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,var(--rouge),var(--rouge-fonce));display:flex;align-items:center;justify-content:center;color:var(--blanc);font-family:'Anton',sans-serif;font-size:1.1rem;font-weight:400;overflow:hidden}
.ep-bavatar img{width:100%;height:100%;object-fit:cover}
.ep-binfo h4{font-weight:700;font-size:.95rem;line-height:1.2;margin:0}
.ep-binfo span{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--rouge)}

/* ===== ACTIVITÉS ===== */
#ep-activites{background:var(--nuit);color:var(--blanc)}
#ep-activites .ep-eyebrow{color:rgba(255,255,255,.55)}
#ep-activites .ep-bar{background:rgba(255,255,255,.25)}
.ep-act-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ep-acard{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--r);padding:26px;transition:all .2s}
.ep-acard:hover{background:rgba(255,255,255,.12);transform:translateY(-3px)}
.ep-acard-icon{font-size:1.8rem;margin-bottom:16px;width:52px;height:52px;background:rgba(229,29,57,.25);border-radius:var(--r);display:flex;align-items:center;justify-content:center}
.ep-acard h3{font-weight:800;font-size:1.05rem;margin-bottom:9px}
.ep-acard p{font-size:.9rem;opacity:.72;line-height:1.55;margin:0}

/* ===== GALERIE ===== */
.ep-gtabs{display:flex;gap:8px;margin-bottom:26px}
.ep-gtab{padding:9px 22px;border-radius:999px;font-weight:700;font-size:.9rem;border:2px solid var(--gris-ligne);background:var(--blanc);color:var(--gris-texte);cursor:pointer;transition:all .15s}
.ep-gtab.on{background:var(--rouge);border-color:var(--rouge);color:var(--blanc)}
.ep-gpanel{display:none}
.ep-gpanel.on{display:block}
.ep-pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.ep-pitem{aspect-ratio:1;border-radius:6px;overflow:hidden;cursor:zoom-in;position:relative;background:linear-gradient(135deg,var(--rouge),var(--rouge-fonce))}
.ep-pitem::after{content:'';position:absolute;inset:0;background:rgba(28,10,16,0);transition:background .2s}
.ep-pitem:hover::after{background:rgba(28,10,16,.38)}
.ep-pitem img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.ep-pitem-label{position:absolute;bottom:10px;left:10px;color:var(--blanc);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;z-index:1;text-shadow:0 1px 4px rgba(0,0,0,.5)}
.ep-vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ep-vcard{background:var(--blanc);border:1px solid var(--gris-ligne);border-radius:var(--r);overflow:hidden;cursor:pointer;transition:all .2s}
.ep-vcard:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.ep-vthumb{aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;position:relative;background:linear-gradient(135deg,var(--nuit),#3a1018);overflow:hidden}
.ep-vthumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ep-play{width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;transition:transform .18s;position:relative;z-index:1}
.ep-vcard:hover .ep-play{transform:scale(1.12)}
.ep-play svg{width:20px;height:20px;fill:var(--rouge);margin-left:3px}
.ep-vinfo{padding:14px}
.ep-vinfo h4{font-weight:700;font-size:.95rem;margin-bottom:4px}
.ep-vinfo .ep-dur{font-size:.75rem;color:var(--gris-texte);font-weight:600}

/* ===== LIGHTBOX ===== */
.ep-lb{display:none;position:fixed;inset:0;z-index:500;background:rgba(10,2,4,.93);align-items:center;justify-content:center}
.ep-lb.on{display:flex}
.ep-lb-wrap{position:relative;max-width:88vw;max-height:88vh;border-radius:var(--r);overflow:hidden}
.ep-lb-img{min-width:580px;min-height:400px;display:flex;align-items:flex-end;padding:18px;color:var(--blanc);font-family:'Anton',sans-serif;font-size:1.1rem;text-transform:uppercase;letter-spacing:.04em;background:linear-gradient(135deg,var(--rouge),var(--rouge-fonce))}
.ep-lb-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ep-lb-close,.ep-lb-arr{position:absolute;background:rgba(255,255,255,.14);border:none;color:var(--blanc);border-radius:50%;cursor:pointer;transition:background .18s;display:flex;align-items:center;justify-content:center}
.ep-lb-close{top:12px;right:12px;width:38px;height:38px;font-size:1.1rem}
.ep-lb-arr{top:50%;transform:translateY(-50%);width:42px;height:42px;font-size:1.3rem}
.ep-lb-close:hover,.ep-lb-arr:hover{background:var(--rouge)}
.ep-lb-prev{left:12px}
.ep-lb-next{right:12px}
.ep-vm{display:none;position:fixed;inset:0;z-index:500;background:rgba(10,2,4,.93);align-items:center;justify-content:center}
.ep-vm.on{display:flex}
.ep-vm-wrap{position:relative;width:78vw;max-width:880px}
.ep-vm-close{position:absolute;top:-46px;right:0;background:none;border:none;color:var(--blanc);font-size:1.9rem;cursor:pointer;opacity:.8}
.ep-vm-close:hover{opacity:1}
.ep-vm-ph{aspect-ratio:16/9;background:var(--nuit);border-radius:var(--r);display:flex;align-items:center;justify-content:center;overflow:hidden}
.ep-vm-ph iframe{width:100%;height:100%;border:none}

/* ===== RÉSEAUX SOCIAUX ===== */
.ep-rs-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.ep-rscard{border:2px solid var(--gris-ligne);border-radius:var(--r);padding:22px 14px;text-align:center;transition:all .2s;cursor:pointer;display:block}
.ep-rscard:hover{border-color:var(--rouge);transform:translateY(-3px);box-shadow:var(--shadow-sm)}
.ep-rscard:hover .ep-rs-ic{background:var(--rouge);color:var(--blanc)}
.ep-rs-ic{width:50px;height:50px;border-radius:50%;background:var(--gris-fond);margin:0 auto 11px;display:flex;align-items:center;justify-content:center;transition:all .2s;color:var(--nuit)}
.ep-rs-ic svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ep-rs-stat{font-family:'Anton',sans-serif;font-size:1.45rem;color:var(--rouge);line-height:1;margin-bottom:2px}
.ep-rs-name{font-weight:800;font-size:.92rem;margin-bottom:3px}
.ep-rs-desc{font-size:.74rem;color:var(--gris-texte)}

/* ===== ADHÉSION ===== */
#ep-adhesion{background:var(--rouge);color:var(--blanc)}
#ep-adhesion .ep-eyebrow{color:rgba(255,255,255,.72)}
#ep-adhesion .ep-bar{background:rgba(255,255,255,.3)}
.ep-adh-in{display:grid;grid-template-columns:1.2fr .8fr;gap:64px;align-items:center}
.ep-adh-body{font-size:1.06rem;opacity:.96;line-height:1.62;margin-bottom:22px;max-width:42em}
.ep-adh-perks{display:flex;flex-direction:column;gap:9px;margin-bottom:28px}
.ep-adh-perk{display:flex;align-items:center;gap:9px;font-size:.95rem;font-weight:600}
.ep-adh-perk-ic{width:24px;height:24px;border-radius:50%;background:rgba(0,0,0,.2);display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0}
.ep-tarifs{background:rgba(0,0,0,.2);border-radius:12px;padding:26px}
.ep-tarif{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.18)}
.ep-tarif:last-of-type{border-bottom:none;padding-bottom:0}
.ep-tarif-lb{font-weight:700;font-size:1.02rem}
.ep-tarif-sub{font-size:.8rem;opacity:.78}
.ep-tarif-px{font-family:'Anton',sans-serif;font-size:2.3rem;line-height:1}
.ep-tarif-unit{font-size:.78rem;font-weight:600;opacity:.78;text-align:right}
.ep-tarif-note{margin-top:16px;font-size:.82rem;opacity:.85;display:flex;align-items:flex-start;gap:8px;padding-top:14px;border-top:1px solid rgba(255,255,255,.18)}

/* ===== BLOG / ARCHIVE ===== */
.ep-archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ep-pagination{display:flex;justify-content:center;gap:8px;padding-top:40px}
.ep-pagination a,.ep-pagination span{padding:8px 14px;border:2px solid var(--gris-ligne);border-radius:4px;font-weight:600;font-size:.9rem;color:var(--nuit)}
.ep-pagination a:hover,.ep-pagination .current{background:var(--rouge);border-color:var(--rouge);color:var(--blanc)}

/* ===== PAGE / SINGLE ===== */
.ep-page-hero{background:var(--rouge);color:var(--blanc);padding:32px 0}
.ep-page-hero h1{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:clamp(2rem,5vw,3.5rem);font-weight:400;line-height:.95}
.ep-content{padding:36px 0}
.ep-content-in{display:grid;grid-template-columns:2fr 1fr;gap:48px}
.ep-prose{max-width:68ch}
.ep-prose h2{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:1.6rem;font-weight:400;margin:32px 0 14px;color:var(--rouge)}
.ep-prose h3{font-size:1.2rem;font-weight:800;margin:24px 0 10px}
.ep-prose p{margin-bottom:1.2em;font-size:1rem;line-height:1.7}
.ep-prose img{border-radius:var(--r);margin:20px 0;width:100%;height:auto}
.ep-prose ul,.ep-prose ol{padding-left:1.4em;margin-bottom:1.2em}
.ep-prose li{margin-bottom:.4em}
.ep-prose blockquote{border-left:4px solid var(--rouge);padding-left:18px;margin:20px 0;font-style:italic;color:var(--gris-texte)}
.ep-sidebar{display:flex;flex-direction:column;gap:24px}
.ep-widget{background:var(--gris-fond);border-radius:var(--r);padding:24px}
.ep-widget h3{font-weight:800;margin-bottom:16px;font-size:1rem}

/* ===== FOOTER ===== */
#ep-footer{background:var(--nuit);color:var(--blanc);padding:52px 0 26px}
.ep-foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:38px;margin-bottom:38px}
.ep-foot-brand img,.ep-foot-brand .custom-logo{height:68px;width:auto;margin-bottom:14px}
.ep-foot-brand p{font-size:.88rem;opacity:.68;line-height:1.65;margin:0}
.ep-foot-rs{display:flex;gap:9px;margin-top:16px}
.ep-foot-rs a{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.65);transition:all .2s}
.ep-foot-rs a:hover{background:var(--rouge);border-color:var(--rouge);color:var(--blanc)}
.ep-foot-rs svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ep-foot-col h4{font-family:'Anton',sans-serif;text-transform:uppercase;font-weight:400;font-size:.95rem;letter-spacing:.06em;color:var(--rouge);filter:brightness(1.5);margin-bottom:14px}
.ep-foot-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px}
.ep-foot-col li a{font-size:.88rem;opacity:.72;transition:opacity .15s;color:var(--blanc)}
.ep-foot-col li a:hover{opacity:1}
.ep-foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:.78rem;opacity:.5}

/* ===== RESPONSIVE ===== */
@media(max-width:1040px){
  .ep-actus-grid{grid-template-columns:1fr 1fr}
  .ep-actu.ep-lead{grid-row:span 1}
  .ep-rs-grid{grid-template-columns:repeat(3,1fr)}
  .ep-foot-grid{grid-template-columns:1fr 1fr}
  .ep-content-in{grid-template-columns:1fr}
}
@media(max-width:820px){
  .ep-section{padding:30px 0}
  .ep-nav,.ep-hdr-sep,.ep-hdr-rs,.ep-hdr-adherer{display:none!important}
  .ep-burger{display:flex}
  .ep-hero-in{grid-template-columns:1fr}
  .ep-hero-card{display:none}
  .ep-asso-layout,.ep-adh-in{grid-template-columns:1fr}
  .ep-act-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:580px){
  .ep-actus-grid,.ep-act-grid{grid-template-columns:1fr}
  .ep-pgrid{grid-template-columns:1fr 1fr}
  .ep-vgrid{grid-template-columns:1fr}
  .ep-rs-grid{grid-template-columns:1fr 1fr}
  .ep-bureau-grid{grid-template-columns:1fr}
  .ep-archive-grid{grid-template-columns:1fr}
  .ep-foot-grid{grid-template-columns:1fr}
  .ep-lb-img{min-width:90vw;min-height:55vw}
}

/* ===== CARTE ACTIVITE CLIQUABLE ===== */
.ep-acard-link { display:block; text-decoration:none; color:inherit; }
.ep-acard-link:hover { background:rgba(255,255,255,.14); transform:translateY(-4px); }
.ep-acard { display:flex; flex-direction:column; }
.ep-acard .ep-btn { align-self:flex-start; }

/* ===== IMAGES DE FOND HERO ROTATIVES ===== */
.ep-hero-bg-rotator { position:absolute; inset:0; pointer-events:none; z-index:0; }
.ep-hero-bg-slide { position:absolute; inset:0; background-size:cover; background-position:center; transition:opacity 1.4s ease; opacity:0; }
#ep-hero { position:relative; }
#ep-hero .ep-wrap { position:relative; z-index:1; }

/* ===== MOBILE RS BAR (dans le menu hamburger) ===== */
.ep-mob-rs-bar {
  display:flex;
  gap:10px;
  padding:14px 0 4px;
  border-top:1px solid var(--gris-ligne);
  margin-top:8px;
  flex-wrap:wrap;
}
.ep-mob-rs-bar a {
  display:flex;
  align-items:center;
  justify-content:center;
  width:40px; height:40px;
  border-radius:50%;
  background:var(--gris-fond);
  color:var(--nuit);
  transition:all .18s;
}
.ep-mob-rs-bar a:hover {
  background:var(--rouge);
  color:var(--blanc);
}
.ep-mob-rs-bar svg {
  width:18px; height:18px;
  fill:none; stroke:currentColor;
  stroke-width:2; stroke-linecap:round; stroke-linejoin:round;
}

/* ===== ARTICLE PLEINE PAGE ===== */
.ep-article-title {
  font-family:'Anton',sans-serif;
  text-transform:uppercase;
  font-size:clamp(2rem,5vw,3.5rem);
  font-weight:400;
  line-height:.95;
  color:var(--blanc);
  max-width:20ch;
  margin-top:8px;
}
.ep-article-meta {
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:14px;
  font-size:.9rem;
  opacity:.82;
  color:var(--blanc);
}
.ep-meta-sep { opacity:.5 }
.ep-article-wrap { padding:36px 0 48px }
.ep-article-full {
  max-width:68ch;
  margin:0 auto;
}
.ep-article-thumb {
  margin-bottom:32px;
  border-radius:var(--r);
  overflow:hidden;
}
.ep-article-thumb img {
  width:100%;
  height:auto;
  display:block;
}
.ep-article-nav {
  max-width:68ch;
  margin:48px auto 0;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

/* ===== EP-PAGE-HERO : support fond image ===== */
.ep-page-hero { position:relative; overflow:hidden; }
.ep-page-hero .ep-wrap { position:relative; z-index:1; }

/* ===== FIX : bouton activité — ne prend pas toute la largeur ===== */
.ep-acard { align-items:flex-start; }
.ep-acard .ep-btn {
  align-self:flex-start;
  width:auto;
  margin-top:12px;
  font-size:.85rem;
  padding:9px 18px;
}

/* ===== FIX : hauteur uniforme des vignettes actu ===== */
.ep-actu-img {
  position:relative;
  flex-shrink:0;
  height:180px;
  aspect-ratio:unset;
}
.ep-actu.ep-lead .ep-actu-img { height:260px; }
.ep-actu-img img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
/* Toutes les cartes non-lead ont la même hauteur totale */
.ep-actus-grid { align-items:start; }
.ep-actu { height:100%; }

/* ===== PAGINATION ARCHIVE ===== */
.ep-archive-nav { margin-top:48px; display:flex; justify-content:center; }
.ep-archive-nav .page-numbers { list-style:none; display:flex; gap:8px; flex-wrap:wrap; padding:0; margin:0; align-items:center; }
.ep-archive-nav .page-numbers li a,
.ep-archive-nav .page-numbers li span {
  display:inline-flex; align-items:center; justify-content:center;
  padding:9px 16px; border:2px solid var(--gris-ligne);
  border-radius:4px; font-weight:600; font-size:.9rem;
  color:var(--nuit); text-decoration:none; transition:all .18s;
  white-space:nowrap;
}
.ep-archive-nav .page-numbers li a:hover { background:var(--gris-fond); border-color:var(--rouge); color:var(--rouge); }
.ep-archive-nav .page-numbers li .current { background:var(--rouge); border-color:var(--rouge); color:var(--blanc); }
.ep-archive-nav .page-numbers li .prev,
.ep-archive-nav .page-numbers li .next { background:var(--nuit); border-color:var(--nuit); color:var(--blanc); }
.ep-archive-nav .page-numbers li .prev:hover,
.ep-archive-nav .page-numbers li .next:hover { background:var(--rouge-fonce); border-color:var(--rouge-fonce); }

/* ===== ICÔNE MAISON (retour accueil) ===== */
.ep-nav-home {
  display:flex;
  align-items:center;
  justify-content:center;
  width:34px; height:34px;
  border-radius:50%;
  color:var(--nuit);
  flex-shrink:0;
  transition:all .18s;
  margin-right:2px;
}
.ep-nav-home:hover {
  background:var(--rouge);
  color:var(--blanc);
}
.ep-nav-home svg {
  width:17px; height:17px;
}

/* ===== GRILLE ACTU ADAPTIVE (1 ou 2 articles) ===== */
.ep-actus-1col { grid-template-columns: 1fr !important; max-width:600px; }
.ep-actus-2col { grid-template-columns: 1fr 1fr !important; }
.ep-actus-1col .ep-actu,
.ep-actus-2col .ep-actu { grid-row: span 1 !important; }

/* ===== ARCHIVE — grille et flèches de navigation ===== */
.ep-archive-wrap { padding:36px 0 48px; }

/* Grille 3 colonnes — même hauteur par ligne */
.ep-archive-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  align-items:start;
}
@media(max-width:900px){ .ep-archive-grid{ grid-template-columns:1fr 1fr; } }
@media(max-width:560px){ .ep-archive-grid{ grid-template-columns:1fr; } }

/* Flèches de navigation */
.ep-archive-nav { margin-top:52px; }
.ep-pagination-arrows {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.ep-pag-arrow {
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:12px 22px;
  background:var(--nuit);
  color:var(--blanc);
  border-radius:4px;
  font-weight:700;
  font-size:.95rem;
  text-decoration:none;
  transition:background .18s;
  flex-shrink:0;
}
.ep-pag-arrow:hover { background:var(--rouge); color:var(--blanc); }
.ep-pag-arrow.ep-pag-disabled {
  background:var(--gris-ligne);
  color:var(--gris-texte);
  cursor:default;
  pointer-events:none;
}
.ep-pag-arrow svg {
  width:18px; height:18px;
  fill:none; stroke:currentColor;
  stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round;
  flex-shrink:0;
}
.ep-pag-pages {
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  justify-content:center;
  flex:1;
}
.ep-pag-pages .page-numbers {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:38px; height:38px;
  padding:0 8px;
  border:2px solid var(--gris-ligne);
  border-radius:4px;
  font-weight:700;
  font-size:.9rem;
  color:var(--nuit);
  text-decoration:none;
  transition:all .15s;
}
.ep-pag-pages a.page-numbers:hover { border-color:var(--rouge); color:var(--rouge); }
.ep-pag-pages .page-numbers.current { background:var(--rouge); border-color:var(--rouge); color:var(--blanc); }
.ep-pag-pages .page-numbers.dots { border:none; pointer-events:none; }

/* ===== GRILLE ACTU : 3 colonnes toujours égales ===== */
.ep-actus-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr) !important;
  gap:22px;
  align-items:stretch;
}
.ep-actu { grid-row:span 1 !important; }
/* Image : hauteur fixe garantissant l'uniformité */
.ep-actu .ep-actu-img {
  height:190px !important;
  aspect-ratio:unset !important;
  position:relative;
  flex-shrink:0;
  overflow:hidden;
}
.ep-actu .ep-actu-img img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
@media(max-width:820px){ .ep-actus-grid{ grid-template-columns:1fr 1fr !important; } }
@media(max-width:560px){ .ep-actus-grid{ grid-template-columns:1fr !important; } }

/* ===== PAGINATION ARCHIVE : barre horizontale propre ===== */
.ep-pag {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:52px;
  flex-wrap:nowrap;
}
@media(max-width:620px){
  .ep-pag { flex-wrap:wrap; justify-content:center; }
  .ep-pag-nums { order:3; width:100%; justify-content:center; }
}
.ep-pag-btn {
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:11px 20px;
  background:var(--nuit);
  color:var(--blanc);
  border-radius:4px;
  font-weight:700;
  font-size:.9rem;
  text-decoration:none;
  transition:background .18s;
  white-space:nowrap;
  flex-shrink:0;
}
.ep-pag-btn:hover { background:var(--rouge); color:var(--blanc); }
.ep-pag-off {
  background:var(--gris-ligne) !important;
  color:var(--gris-texte) !important;
  cursor:default;
  pointer-events:none;
}
.ep-pag-nums {
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  justify-content:center;
}
.ep-pag-n {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:36px;
  height:36px;
  border:2px solid var(--gris-ligne);
  border-radius:4px;
  font-weight:700;
  font-size:.9rem;
  color:var(--nuit);
  text-decoration:none;
  transition:all .15s;
  padding:0 6px;
}
a.ep-pag-n:hover { border-color:var(--rouge); color:var(--rouge); }
.ep-pag-current { background:var(--rouge); border-color:var(--rouge); color:var(--blanc); }
.ep-pag-dots { border:none; min-width:auto; color:var(--gris-texte); pointer-events:none; }

/* paginate_links en mode plain : liens séparés par des sauts de ligne */
.ep-pag-nums a,
.ep-pag-nums span.current,
.ep-pag-nums span.dots {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:36px;
  height:36px;
  padding:0 8px;
  border:2px solid var(--gris-ligne);
  border-radius:4px;
  font-weight:700;
  font-size:.9rem;
  color:var(--nuit);
  text-decoration:none;
  transition:all .15s;
  margin:0 2px;
}
.ep-pag-nums a:hover { border-color:var(--rouge); color:var(--rouge); }
.ep-pag-nums span.current { background:var(--rouge); border-color:var(--rouge); color:var(--blanc); }
.ep-pag-nums span.dots { border:none; pointer-events:none; color:var(--gris-texte); }

/* ===== GALERIE EMBED (shortcode) ===== */
.ep-galerie-embed {
  margin-top:8px;
  width:100%;
}
/* Forcer les feeds Instagram/galeries à prendre toute la largeur */
.ep-galerie-embed > * {
  max-width:100% !important;
}
