/* DS AAEV Manager — Front CSS v2.0.0 */

/* ══════════════════════════════════════
   VARIABLES
══════════════════════════════════════ */
:root {
    --aaev-blue:    #1A5276;
    --aaev-blue2:   #2471A3;
    --aaev-accent:  #E74C3C;
    --aaev-light:   #EBF5FB;
    --aaev-border:  #E5E7EB;
    --aaev-text:    #222222;
    --aaev-muted:   #666666;
    --aaev-radius:  10px;
}

/* ══════════════════════════════════════
   ADHÉRENTS — filtres & grille
══════════════════════════════════════ */
.aaev-membres-wrap { max-width:100%; }
/* ══ FILTRES & RECHERCHE ══ */
.aaev-filters {
    margin-bottom:40px;
    text-align:center;
}

/* Barre recherche */
.aaev-search-wrap {
    position:relative;
    display:inline-block;
    width:100%;
    max-width:600px;
    margin-bottom:24px;
}
.aaev-search-wrap::before {
    content:'';
    position:absolute;
    left:22px;
    top:50%;
    transform:translateY(-50%);
    width:20px;
    height:20px;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E") center/contain no-repeat;
}
.aaev-search {
    width:100%;
    padding:16px 24px 16px 56px;
    border:2px solid #e2e8f0;
    border-radius:60px;
    font-size:16px;
    outline:none;
    background:#fff;
    color:#333;
    box-shadow:0 4px 20px rgba(0,0,0,.06);
    transition:all .25s;
    box-sizing:border-box;
}
.aaev-search::placeholder { color:#bbb; font-size:15px; }
.aaev-search:focus {
    border-color:#1A5276;
    box-shadow:0 4px 24px rgba(26,82,118,.12);
}

/* Boutons filtres */
.aaev-cats {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    justify-content:center;
}
.aaev-cat-btn {
    padding:11px 26px;
    border:2px solid #e2e8f0;
    background:#fff;
    border-radius:60px;
    cursor:pointer;
    font-size:14px;
    font-weight:600;
    color:#555;
    transition:all .2s;
    box-shadow:0 2px 8px rgba(0,0,0,.05);
}
.aaev-cat-btn:hover {
    border-color:#1A5276;
    color:#1A5276;
    transform:translateY(-2px);
    box-shadow:0 6px 16px rgba(26,82,118,.12);
}
.aaev-cat-btn.active {
    border-color:#1A5276;
    background:#1A5276;
    color:#fff;
    box-shadow:0 6px 20px rgba(26,82,118,.25);
}
.aaev-count {
    display:inline-block;
    padding:1px 9px;
    border-radius:20px;
    font-size:11px;
    font-weight:700;
    margin-left:6px;
    background:rgba(255,255,255,.3);
}
.aaev-cat-btn:not(.active) .aaev-count {
    background:#edf2f7;
    color:#888;
}
.aaev-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
@media(max-width:1200px){.aaev-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:768px){.aaev-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.aaev-grid{grid-template-columns:1fr;}}

/* ── CARTE MEMBRE — effet waouh ── */
.aaev-card {
    border-radius:16px;
    overflow:hidden;
    transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease;
    display:flex;
    flex-direction:column;
    background:#fff;
    box-shadow:0 2px 12px rgba(0,0,0,.07);
    position:relative;
}
.aaev-card:hover {
    transform:translateY(-8px) scale(1.01);
    box-shadow:0 20px 48px rgba(26,82,118,.16);
}
.aaev-card-inner {
    display:flex;
    flex-direction:column;
    height:100%;
    text-decoration:none;
    color:inherit;
}

/* Zone image */
.aaev-card-logo {
    width:100%;
    height:200px;
    overflow:hidden;
    background:linear-gradient(135deg,#EBF5FB 0%,#D6EAF8 100%);
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    position:relative;
}
.aaev-card-logo img {
    width:100%;
    height:200px;
    object-fit:cover;
    object-position:center;
    display:block;
    transition:transform .4s ease;
}
.aaev-card:hover .aaev-card-logo img {
    transform:scale(1.06);
}

/* Badge métier */
.aaev-card-badge {
    position:absolute;
    bottom:10px;
    left:10px;
    background:var(--aaev-blue);
    color:#fff;
    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.5px;
    padding:4px 12px;
    border-radius:20px;
    backdrop-filter:blur(4px);
    box-shadow:0 2px 8px rgba(0,0,0,.2);
}

/* Placeholder lettre */
.aaev-logo-placeholder {
    width:80px;
    height:80px;
    border-radius:50%;
    background:linear-gradient(135deg,var(--aaev-blue) 0%,var(--aaev-blue2) 100%);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:32px;
    font-weight:800;
    box-shadow:0 4px 16px rgba(26,82,118,.3);
}

/* Corps carte */
.aaev-card-body {
    padding:18px 18px 14px;
    flex:1;
    display:flex;
    flex-direction:column;
    gap:6px;
}
.aaev-card-title {
    font-size:15px;
    font-weight:700;
    margin:0;
    color:var(--aaev-text);
    line-height:1.3;
}
.aaev-card-excerpt {
    font-size:12px;
    color:var(--aaev-muted);
    margin:0;
    line-height:1.5;
    flex:1;
}

/* CTA inline */
.aaev-card-cta {
    font-size:12px;
    font-weight:700;
    color:var(--aaev-blue2);
    margin-top:6px;
    display:inline-block;
    transition:gap .2s;
}
.aaev-card:hover .aaev-card-cta {
    color:var(--aaev-accent);
}

/* Ligne colorée bas de carte */
.aaev-card::after {
    content:'';
    position:absolute;
    bottom:0;
    left:0;
    right:0;
    height:3px;
    background:linear-gradient(90deg,var(--aaev-blue),var(--aaev-accent));
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .3s ease;
}
.aaev-card:hover::after {
    transform:scaleX(1);
}

.aaev-card-phone { font-size:13px; color:var(--aaev-blue2); margin:0; }
.aaev-no-result { color:var(--aaev-muted); font-style:italic; }
.aaev-load-more { padding:12px 32px; background:var(--aaev-blue); color:#fff; border:none; border-radius:30px; cursor:pointer; font-size:14px; font-weight:700; transition:all .2s; box-shadow:0 4px 14px rgba(26,82,118,.25); }
.aaev-load-more:hover { background:var(--aaev-blue2); transform:translateY(-2px); box-shadow:0 8px 20px rgba(26,82,118,.3); }
.aaev-empty { color:var(--aaev-muted); font-style:italic; }

/* ══════════════════════════════════════
   FICHE ADHÉRENT
══════════════════════════════════════ */
.aaev-fiche { max-width:900px; }
.aaev-fiche-hero { display:flex; align-items:center; gap:24px; margin-bottom:24px; }
.aaev-fiche-logo img { max-width:160px; max-height:120px; object-fit:contain; border:1px solid var(--aaev-border); padding:8px; border-radius:8px; }
.aaev-fiche-title { font-size:28px; font-weight:700; margin:0 0 6px; color:var(--aaev-blue); }
.aaev-fiche-sector { background:var(--aaev-light); color:var(--aaev-blue2); padding:4px 12px; border-radius:12px; font-size:13px; font-weight:600; }
.aaev-fiche-gallery { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:20px 0; }
.aaev-fiche-gallery img { width:100%; height:140px; object-fit:cover; border-radius:8px; }
.aaev-fiche-content { margin:20px 0; }
.aaev-fiche-body { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin:24px 0; }
.aaev-fiche-block { background:#f9fafb; border-radius:8px; padding:16px; }
.aaev-fiche-block h4 { font-size:13px; text-transform:uppercase; letter-spacing:.5px; color:var(--aaev-blue); margin:0 0 12px; font-weight:700; }
.aaev-fiche-row { display:flex; gap:10px; align-items:flex-start; margin-bottom:8px; font-size:14px; }
.aaev-fiche-row a { color:var(--aaev-blue2); text-decoration:none; }
.aaev-fiche-hours-text { font-size:14px; line-height:1.8; white-space:pre-line; }
.aaev-fiche-social { display:flex; gap:10px; margin:16px 0; }
.aaev-social-icon { padding:6px 12px; border-radius:6px; font-size:12px; font-weight:700; color:#fff; text-decoration:none; }
.aaev-fb { background:#1877f2; } .aaev-ig { background:#e1306c; } .aaev-li { background:#0a66c2; }
.aaev-fiche-map iframe,.aaev-fiche-map-link { margin-top:20px; }
.aaev-fiche-map iframe { width:100%; height:300px; border:none; border-radius:10px; display:block; }

/* ══════════════════════════════════════
   FICHE ÉVÉNEMENT — style The Events Calendar
══════════════════════════════════════ */
.aaev-event-fiche { max-width:1000px; margin:0 auto; font-family:inherit; }

.aaev-ef-hero { position:relative; border-radius:var(--aaev-radius); overflow:hidden; margin-bottom:28px; }
.aaev-ef-hero img { width:100%; max-height:440px; object-fit:cover; display:block; }
.aaev-ef-cats { position:absolute; top:16px; left:16px; display:flex; gap:8px; flex-wrap:wrap; }
.aaev-ef-cat { background:var(--aaev-blue); color:#fff; padding:4px 12px; border-radius:12px; font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.5px; }

.aaev-ef-header { margin-bottom:24px; }
.aaev-ef-title { font-size:32px; font-weight:800; color:var(--aaev-text); margin:0; line-height:1.2; }

.aaev-ef-body { display:grid; grid-template-columns:300px 1fr; gap:36px; align-items:start; }
@media(max-width:768px){.aaev-ef-body{grid-template-columns:1fr;}}

.aaev-ef-sidebar { background:#f9fafb; border:1px solid var(--aaev-border); border-radius:var(--aaev-radius); padding:24px; }
.aaev-ef-block { display:flex; gap:14px; align-items:flex-start; padding:14px 0; border-bottom:1px solid var(--aaev-border); }
.aaev-ef-block:last-of-type { border-bottom:none; }
.aaev-ef-block-icon { font-size:22px; flex-shrink:0; margin-top:2px; }
.aaev-ef-block-content { display:flex; flex-direction:column; gap:3px; }
.aaev-ef-block-content strong { font-size:11px; text-transform:uppercase; letter-spacing:.5px; color:var(--aaev-blue); font-weight:700; }
.aaev-ef-block-content span { font-size:15px; color:var(--aaev-text); font-weight:500; }
.aaev-ef-time,.aaev-ef-end { font-size:14px!important; color:var(--aaev-muted)!important; font-weight:400!important; }
.aaev-ef-maps-link { font-size:13px; color:var(--aaev-blue2); text-decoration:none; margin-top:4px; display:inline-block; }
.aaev-ef-maps-link:hover { text-decoration:underline; }
.aaev-ef-cta { display:block; margin-top:20px; background:var(--aaev-accent); color:#fff; text-align:center; padding:13px 20px; border-radius:8px; font-weight:700; font-size:15px; text-decoration:none; transition:background .2s; }
.aaev-ef-cta:hover { background:#c0392b; color:#fff; }

.aaev-ef-content { font-size:16px; line-height:1.8; color:var(--aaev-text); }

.aaev-ef-map { margin-top:40px; border-radius:var(--aaev-radius); overflow:hidden; border:1px solid var(--aaev-border); }
.aaev-ef-map iframe { width:100%; height:320px; border:none; display:block; }

/* ══════════════════════════════════════
   ÉVÉNEMENTS — liste
══════════════════════════════════════ */
.aaev-events-list { display:flex; flex-direction:column; gap:20px; }
.aaev-event-row { display:flex; gap:20px; background:#fff; border:1px solid var(--aaev-border); border-left:4px solid var(--aaev-blue); border-radius:var(--aaev-radius); padding:20px; align-items:flex-start; transition:box-shadow .2s; }
.aaev-event-row:hover { box-shadow:0 4px 16px rgba(0,0,0,.08); }
.aaev-event-img-wrap { flex-shrink:0; }
.aaev-event-img-wrap img { width:160px; height:110px; object-fit:cover; border-radius:8px; display:block; }
.aaev-event-info { flex:1; }
.aaev-event-meta { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:8px; }
.aaev-event-date-badge { font-size:13px; font-weight:700; color:var(--aaev-blue); }
.aaev-meta-chip { font-size:12px; color:var(--aaev-muted); }
.aaev-event-title { font-size:18px; font-weight:700; margin:0 0 8px; }
.aaev-event-title a { color:var(--aaev-text); text-decoration:none; }
.aaev-event-title a:hover { color:var(--aaev-blue); }
.aaev-event-excerpt { font-size:14px; color:var(--aaev-muted); margin:0 0 12px; }
.aaev-event-btn { display:inline-block; background:var(--aaev-blue); color:#fff; text-decoration:none; padding:7px 18px; border-radius:6px; font-size:13px; font-weight:600; transition:background .2s; }
.aaev-event-btn:hover { background:var(--aaev-blue2); color:#fff; }
@media(max-width:600px){.aaev-event-row{flex-direction:column;} .aaev-event-img-wrap img{width:100%;height:180px;}}

/* ══════════════════════════════════════
   ÉVÉNEMENTS — grille 3 colonnes
══════════════════════════════════════ */
.aaev-events-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
@media(max-width:900px){.aaev-events-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:580px){.aaev-events-grid{grid-template-columns:1fr;}}

.aaev-event-card-grid { background:#fff; border:1px solid var(--aaev-border); border-radius:var(--aaev-radius); overflow:hidden; transition:box-shadow .2s,transform .2s; display:flex; flex-direction:column; }
.aaev-event-card-grid:hover { box-shadow:0 8px 24px rgba(0,0,0,.1); transform:translateY(-3px); }

.aaev-ecg-img { display:block; position:relative; overflow:hidden; }
.aaev-ecg-img img { width:100%; height:200px; object-fit:cover; display:block; transition:transform .3s; }
.aaev-event-card-grid:hover .aaev-ecg-img img { transform:scale(1.05); }
.aaev-ecg-date-badge { position:absolute; top:12px; left:12px; background:var(--aaev-blue); color:#fff; border-radius:8px; padding:6px 10px; text-align:center; min-width:48px; }
.aaev-ecg-date-no-img { background:var(--aaev-light); padding:16px; text-align:center; }
.aaev-ecg-day { display:block; font-size:22px; font-weight:800; line-height:1; }
.aaev-ecg-month { display:block; font-size:11px; font-weight:700; letter-spacing:.5px; }

.aaev-ecg-body { padding:16px; flex:1; display:flex; flex-direction:column; gap:8px; }
.aaev-ecg-cat { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; color:var(--aaev-blue2); }
.aaev-ecg-title { font-size:16px; font-weight:700; margin:0; line-height:1.3; }
.aaev-ecg-title a { color:var(--aaev-text); text-decoration:none; }
.aaev-ecg-title a:hover { color:var(--aaev-blue); }
.aaev-ecg-meta { display:flex; flex-direction:column; gap:4px; font-size:13px; color:var(--aaev-muted); margin-top:auto; }
.aaev-ecg-btn { display:inline-block; margin-top:12px; font-size:13px; font-weight:600; color:var(--aaev-blue); text-decoration:none; border:2px solid var(--aaev-blue); border-radius:6px; padding:6px 14px; transition:all .2s; align-self:flex-start; }
.aaev-ecg-btn:hover { background:var(--aaev-blue); color:#fff; }

/* ══════════════════════════════════════
   SLIDER — page accueil (split gauche/droite)
══════════════════════════════════════ */
.aaev-slider { position:relative; border-radius:var(--aaev-radius); overflow:hidden; background:#1a2a3a; height:auto; min-height:420px; margin-top:40px; }

.aaev-slide { display:none; grid-template-columns:1fr 1fr; min-height:420px; }
.aaev-slide.active { display:grid; }

/* Gauche — infos */
.aaev-slide-left { display:flex; flex-direction:column; justify-content:flex-start; gap:0; padding:40px 40px 40px 44px; background:#1a2a3a; }

.aaev-slide-date { display:flex; align-items:center; gap:10px; background:var(--aaev-blue); color:#fff; border-radius:10px; padding:10px 18px; width:fit-content; margin-bottom:16px; flex-shrink:0; }
.aaev-slide-day { font-size:40px; font-weight:900; line-height:1; }
.aaev-slide-month-wrap { display:flex; flex-direction:column; }
.aaev-slide-month { font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; }
.aaev-slide-year { font-size:11px; opacity:.7; }

.aaev-slide-cat { display:inline-block; background:var(--aaev-accent); color:#fff; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; padding:3px 12px; border-radius:10px; width:fit-content; margin-bottom:16px; flex-shrink:0; }
.aaev-slide-title { font-size:26px; font-weight:800; color:#fff; margin:0 0 16px 0; line-height:1.3; flex-grow:1; }
.aaev-slide-title a { color:#fff; text-decoration:none; }
.aaev-slide-title a:hover { color:var(--aaev-light); }
.aaev-slide-location { font-size:15px; color:rgba(255,255,255,.7); margin:0 0 6px 0; flex-shrink:0; }
.aaev-slide-price { font-size:15px; color:rgba(255,255,255,.7); margin:0 0 6px 0; flex-shrink:0; }
.aaev-slide-btn { display:inline-block; background:#fff; color:var(--aaev-blue); padding:12px 28px; border-radius:6px; font-weight:700; font-size:15px; text-decoration:none; transition:all .2s; width:fit-content; margin-top:6px; flex-shrink:0; }
.aaev-slide-btn:hover { background:var(--aaev-light); color:var(--aaev-blue); }

/* Droite — image */
.aaev-slide-right { overflow:hidden; position:relative; height:auto; min-height:420px; }
.aaev-slide-right img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s ease; }
.aaev-slide-right a { display:block; height:100%; }
.aaev-slide-right a:hover img { transform:scale(1.04); }
.aaev-slide-no-img { width:100%; height:100%; background:#2c3e50; }

/* Navigation */
.aaev-sl-prev,.aaev-sl-next { position:absolute; top:50%; transform:translateY(-50%); background:rgba(255,255,255,.15); backdrop-filter:blur(4px); border:none; color:#fff; font-size:28px; width:44px; height:44px; border-radius:50%; cursor:pointer; z-index:10; transition:background .2s; display:flex; align-items:center; justify-content:center; }
.aaev-sl-prev { left:12px; } .aaev-sl-next { right:12px; }
.aaev-sl-prev:hover,.aaev-sl-next:hover { background:rgba(255,255,255,.35); }
.aaev-sl-dots { position:absolute; bottom:14px; left:44px; display:flex; gap:6px; z-index:10; }
.aaev-sl-dot { width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,.35); border:none; cursor:pointer; transition:all .2s; padding:0; }
.aaev-sl-dot.active { background:#fff; transform:scale(1.3); }

@media(max-width:768px){
    .aaev-slide { grid-template-columns:1fr; }
    .aaev-slide-right { height:220px; }
    .aaev-slide-left { padding:24px; gap:10px; }
    .aaev-slide-title { font-size:18px; }
}

/* ══════════════════════════════════════
   CALENDRIER MENSUEL
══════════════════════════════════════ */
.aaev-calendar { background:#fff; border:1px solid var(--aaev-border); border-radius:var(--aaev-radius); overflow:hidden; width:100%; max-width:100%; }
.aaev-cal-header { display:flex; align-items:center; justify-content:space-between; background:#0d2d4a; color:#fff; padding:22px 28px; }
.aaev-cal-title { font-size:26px; font-weight:800; margin:0; color:#fff; text-transform:uppercase; letter-spacing:1px; }
.aaev-cal-nav { color:#fff; text-decoration:none; font-size:36px; font-weight:300; line-height:1; padding:0 14px; opacity:.9; transition:opacity .2s; }
.aaev-cal-nav:hover { opacity:1; color:#fff; }
.aaev-cal-grid { display:grid; grid-template-columns:repeat(7,1fr); }
.aaev-cal-day-label { text-align:center; font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; color:var(--aaev-muted); padding:14px 0; background:#f9fafb; border-bottom:1px solid var(--aaev-border); }
.aaev-cal-cell { min-height:140px; border:1px solid var(--aaev-border); padding:6px; display:flex; flex-direction:column; gap:4px; background:#fff; }
.aaev-cal-cell.aaev-cal-empty { background:#fafafa; }
.aaev-cal-cell.today { background:var(--aaev-light); }
.aaev-cal-cell.today .aaev-cal-num { background:var(--aaev-blue); color:#fff; border-radius:50%; width:24px; height:24px; display:flex; align-items:center; justify-content:center; }
.aaev-cal-num { font-size:15px; font-weight:700; color:var(--aaev-text); }
.aaev-cal-cell.has-event { background:#fff8f0; }
.aaev-cal-events { display:flex; flex-direction:column; gap:3px; }
.aaev-cal-event-dot { display:block; background:var(--aaev-blue); border-radius:4px; padding:2px 6px; text-decoration:none; transition:background .2s; }
.aaev-cal-event-dot:hover { background:var(--aaev-blue2); }
.aaev-cal-event-label { font-size:11px; color:#fff; font-weight:600; display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; }
@media(max-width:600px){.aaev-cal-cell{min-height:50px;padding:3px;} .aaev-cal-event-label{display:none;} .aaev-cal-event-dot{width:8px;height:8px;border-radius:50%;padding:0;}}

/* ── FICHE ADHÉRENT — override couleurs Divi ── */
.aaev-fiche * { color:#333 !important; background-color:transparent !important; }
.aaev-fiche h1 { color:#1A5276 !important; }
.aaev-fiche a { color:#2471A3 !important; }
.aaev-fiche .aaev-ef-hero { background:#f9fafb !important; }
.aaev-fiche .et_pb_section,
.aaev-fiche .et_pb_row,
.aaev-fiche .et_pb_column { display:none !important; }

/* ══════════════════════════════════════
   FICHE ADHÉRENT v2 — effet waouh
══════════════════════════════════════ */
.aaev-fiche2 {
    max-width:1000px;
    margin:0 auto;
    font-family:inherit;
}

/* Hero */
.aaev-f2-hero {
    display:flex;
    align-items:center;
    gap:32px;
    padding:40px;
    background:linear-gradient(135deg,#0D2B5E 0%,#1A5276 60%,#2471A3 100%);
    border-radius:20px;
    margin-bottom:28px;
    position:relative;
    overflow:hidden;
}
.aaev-f2-hero::before {
    content:'';
    position:absolute;
    top:-40px;right:-40px;
    width:200px;height:200px;
    background:rgba(255,255,255,.05);
    border-radius:50%;
}
.aaev-f2-hero::after {
    content:'';
    position:absolute;
    bottom:-60px;left:30%;
    width:300px;height:300px;
    background:rgba(255,255,255,.03);
    border-radius:50%;
}

/* Logo hero */
.aaev-f2-logo-wrap {
    flex-shrink:0;
    width:120px;
    height:120px;
    background:#fff;
    border-radius:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 8px 32px rgba(0,0,0,.25);
    overflow:hidden;
    z-index:1;
}
.aaev-f2-logo {
    width:100%;
    height:100%;
    object-fit:contain;
    padding:10px;
}

/* Contenu hero */
.aaev-f2-hero-content {
    flex:1;
    z-index:1;
}
.aaev-f2-badges {
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-bottom:10px;
}
.aaev-f2-badge {
    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.5px;
    padding:4px 12px;
    border-radius:20px;
}
.aaev-f2-badge-section {
    background:rgba(255,255,255,.2);
    color:#fff;
    backdrop-filter:blur(4px);
}
.aaev-f2-badge-cat {
    background:var(--aaev-accent);
    color:#fff;
}
.aaev-f2-title {
    font-size:30px;
    font-weight:800;
    color:#fff;
    margin:0 0 6px;
    line-height:1.2;
}
.aaev-f2-sector {
    font-size:15px;
    color:rgba(255,255,255,.75);
    margin:0 0 16px;
}

/* Liens héro */
.aaev-f2-hero-links {
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}
.aaev-f2-hero-link {
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:8px 18px;
    background:rgba(255,255,255,.15);
    color:#fff;
    border-radius:30px;
    font-size:13px;
    font-weight:600;
    text-decoration:none;
    transition:all .2s;
    backdrop-filter:blur(4px);
    border:1px solid rgba(255,255,255,.2);
}
.aaev-f2-hero-link:hover {
    background:rgba(255,255,255,.25);
    transform:translateY(-2px);
}
.aaev-f2-ig { background:linear-gradient(135deg,rgba(225,48,108,.6),rgba(131,58,180,.6)) !important; }
.aaev-f2-fb { background:rgba(24,119,242,.5) !important; }
.aaev-f2-li { background:rgba(10,102,194,.5) !important; }

/* Galerie */
.aaev-f2-gallery {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
    margin-bottom:28px;
}
@media(max-width:768px){.aaev-f2-gallery{grid-template-columns:repeat(2,1fr);}}
.aaev-f2-gallery-item {
    border-radius:12px;
    overflow:hidden;
    aspect-ratio:4/3;
    background:#f0f4f8;
}
.aaev-f2-gallery-item img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .4s ease;
}
.aaev-f2-gallery-item:hover img {
    transform:scale(1.06);
}

/* Body */
.aaev-f2-body {
    display:grid;
    grid-template-columns:1fr 320px;
    gap:28px;
    align-items:start;
    margin-bottom:28px;
}
@media(max-width:768px){.aaev-f2-body{grid-template-columns:1fr;}}

/* Contenu */
.aaev-f2-content {
    font-size:16px;
    line-height:1.8;
    color:var(--aaev-text);
}
.aaev-f2-content p { margin:0 0 16px; }

/* Sidebar */
.aaev-f2-sidebar {
    display:flex;
    flex-direction:column;
    gap:16px;
}
.aaev-f2-block {
    background:#fff;
    border:1px solid var(--aaev-border);
    border-radius:14px;
    padding:20px;
    box-shadow:0 2px 12px rgba(0,0,0,.06);
}
.aaev-f2-block-title {
    display:flex;
    align-items:center;
    gap:8px;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.6px;
    color:var(--aaev-blue);
    font-weight:700;
    margin:0 0 14px;
}
.aaev-f2-row {
    display:flex;
    align-items:flex-start;
    gap:10px;
    padding:8px 0;
    border-bottom:1px solid #f0f4f8;
    font-size:14px;
    color:var(--aaev-text);
    text-decoration:none;
    transition:color .2s;
}
.aaev-f2-row:last-child { border-bottom:none; }
.aaev-f2-row:hover { color:var(--aaev-blue2); }
.aaev-f2-row-icon { font-size:16px; flex-shrink:0; }
.aaev-f2-hours {
    font-size:14px;
    line-height:2;
    color:var(--aaev-text);
    white-space:pre-line;
}

/* Bouton retour */
.aaev-f2-back {
    display:inline-block;
    padding:10px 20px;
    background:var(--aaev-light);
    color:var(--aaev-blue);
    border-radius:30px;
    font-size:13px;
    font-weight:600;
    text-decoration:none;
    transition:all .2s;
    text-align:center;
}
.aaev-f2-back:hover {
    background:var(--aaev-blue);
    color:#fff;
}

/* Carte */
.aaev-f2-map {
    border-radius:16px;
    overflow:hidden;
    border:1px solid var(--aaev-border);
    box-shadow:0 4px 20px rgba(0,0,0,.08);
}
.aaev-f2-map iframe {
    width:100%;
    height:340px;
    border:none;
    display:block;
}
.aaev-f2-cta {
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:14px 28px;
    background:var(--aaev-blue);
    color:#fff;
    border-radius:30px;
    font-weight:700;
    font-size:15px;
    text-decoration:none;
    transition:all .2s;
    box-shadow:0 4px 16px rgba(26,82,118,.25);
}
.aaev-f2-cta:hover {
    background:var(--aaev-accent);
    transform:translateY(-2px);
    box-shadow:0 8px 24px rgba(231,76,60,.3);
}

@media(max-width:600px){
    .aaev-f2-hero { flex-direction:column; text-align:center; padding:28px 20px; }
    .aaev-f2-hero-links { justify-content:center; }
    .aaev-f2-title { font-size:22px; }
}

/* ── FORCE override Divi sur fiche membre ── */
.single-aaev_membre .et_pb_section,
.single-aaev_membre .et_pb_row,
.single-aaev_membre .et_pb_column,
.single-aaev_membre .et_pb_module {
    padding:0 !important;
    margin:0 !important;
    background:none !important;
}
.single-aaev_membre .et_pb_post_title,
.single-aaev_membre .et_pb_image,
.single-aaev_membre .et_post_meta_wrapper {
    display:none !important;
}
.aaev-fiche2 { background:#fff; }
.aaev-f2-hero {
    background:linear-gradient(135deg,#0D2B5E 0%,#1A5276 60%,#2471A3 100%) !important;
    color:#fff !important;
}
.aaev-f2-title { color:#fff !important; }
.aaev-f2-sector { color:rgba(255,255,255,.75) !important; }
