/* DS AAEV Manager — Front CSS v2.0.1 — Mobile fixes */

/* ══════════════════════════════════════
   VARIABLES
══════════════════════════════════════ */
:root {
    /* ── Couleurs sections AAEV ── */
    --aaev-vitrines:    #ED841F;
    --aaev-entreprises: #006D42;
    --aaev-artisans:    #33ADA0;
    --aaev-general:     #2E4D90;
    --aaev-lavilla:     #5C5855;
    --aaev-activite:    #2E4D90;
    --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 8px 32px rgba(0,0,0,.12), 0 2px 8px rgba(0,0,0,.06);
    border:1px solid rgba(0,0,0,.05);
    background:#ffffff;
    position:relative;
}
.aaev-card:hover {
    transform:translateY(-8px) scale(1.01);
    box-shadow:0 20px 48px rgba(26,82,118,.16);
    border-color:transparent;
}

/* Contour coloré au hover selon la section */
.aaev-card[data-section="vitrines"]:hover    { border-color:var(--aaev-vitrines); box-shadow:0 12px 40px rgba(237,132,31,.2); }
.aaev-card[data-section="entreprises"]:hover { border-color:var(--aaev-entreprises); box-shadow:0 12px 40px rgba(0,109,66,.18); }
.aaev-card[data-section="artisans"]:hover    { border-color:var(--aaev-artisans); box-shadow:0 12px 40px rgba(51,173,160,.2); }
.aaev-card[data-section="la-villa"]:hover    { border-color:var(--aaev-lavilla); box-shadow:0 12px 40px rgba(92,88,85,.18); }
.aaev-card-inner {
    display:flex;
    flex-direction:column;
    height:100%;
    text-decoration:none;
    color:inherit;
}

/* Zone nom stylisé */
.aaev-card-name-block {
    width:100%;
    height:160px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:10px;
    flex-shrink:0;
    position:relative;
    padding:20px 16px;
    background:linear-gradient(135deg,#f0f4f8 0%,#e8eef4 100%);
    transition:background .3s ease;
    overflow:hidden;
}
.aaev-card-name-block::before {
    content:'';
    position:absolute;
    bottom:-20px; right:-20px;
    width:80px; height:80px;
    border-radius:50%;
    background:rgba(0,0,0,.04);
    transition:transform .4s ease;
}
.aaev-card:hover .aaev-card-name-block::before {
    transform:scale(2);
}
.aaev-card-name-text {
    font-size:18px;
    font-weight:900;
    text-align:center;
    color:#1a2a3a;
    line-height:1.25;
    letter-spacing:.3px;
    text-transform:uppercase;
    z-index:1;
    transition:color .3s;
    padding:0 8px;
}
.aaev-card:hover .aaev-card-name-text {
    color:var(--aaev-blue);
}

/* Badge métier — couleur selon section */
.aaev-card-badge {
    position:relative;
    background:var(--aaev-blue);
    color:#fff;
    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.5px;
    padding:4px 12px;
    border-radius:20px;
    box-shadow:0 2px 8px rgba(0,0,0,.2);
    z-index:1;
}
.aaev-card[data-cats*="vitrines"]    .aaev-card-badge { background:var(--aaev-vitrines); }
.aaev-card[data-cats*="entreprises"] .aaev-card-badge { background:var(--aaev-entreprises); }
.aaev-card[data-cats*="artisans"]    .aaev-card-badge { background:var(--aaev-artisans); }
.aaev-card[data-cats*="la-villa"]    .aaev-card-badge { background:var(--aaev-lavilla); }

/* Fond haut pastel selon section */
.aaev-card[data-section="vitrines"]    .aaev-card-name-block { background:linear-gradient(135deg,#FEF0DC 0%,#FDE8C8 100%); }
.aaev-card[data-section="entreprises"] .aaev-card-name-block { background:linear-gradient(135deg,#D6EFE0 0%,#C4E8D2 100%); }
.aaev-card[data-section="artisans"]    .aaev-card-name-block { background:linear-gradient(135deg,#D4F0EE 0%,#C0E8E5 100%); }
.aaev-card[data-section="la-villa"]    .aaev-card-name-block { background:linear-gradient(135deg,#E8E6E5 0%,#DAD7D5 100%); }

/* Fond haut pastel selon section */
.aaev-card[data-section="vitrines"]    .aaev-card-name-block { background:linear-gradient(135deg,#FEF0DC 0%,#FDE8C8 100%); }
.aaev-card[data-section="entreprises"] .aaev-card-name-block { background:linear-gradient(135deg,#D6EFE0 0%,#C4E8D2 100%); }
.aaev-card[data-section="artisans"]    .aaev-card-name-block { background:linear-gradient(135deg,#D4F0EE 0%,#C0E8E5 100%); }
.aaev-card[data-section="la-villa"]    .aaev-card-name-block { background:linear-gradient(135deg,#E8E6E5 0%,#DAD7D5 100%); }

/* Hover — shadow bleue, pas de contour coloré */
.aaev-card[data-cats*="vitrines"]:hover    { border-color:transparent; box-shadow:0 20px 48px rgba(26,82,118,.16); }
.aaev-card[data-cats*="entreprises"]:hover { border-color:transparent; box-shadow:0 20px 48px rgba(26,82,118,.16); }
.aaev-card[data-cats*="artisans"]:hover    { border-color:transparent; box-shadow:0 20px 48px rgba(26,82,118,.16); }
.aaev-card[data-cats*="la-villa"]:hover    { border-color:transparent; box-shadow:0 20px 48px rgba(26,82,118,.16); }

/* 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 FLEXBOX v3.0.0)
══════════════════════════════════════ */
.aaev-slider { position:relative; border-radius:var(--aaev-radius); overflow:hidden; background:#1a2a3a; height:460px; margin-top:40px; width:100%; }

.aaev-slide { display:none; height:460px; width:100%; }
.aaev-slide.aaev-slide-active { display:flex; height:460px; overflow:hidden; }

/* Gauche — infos BLANC */
.aaev-slide-left { width:48%; display:flex; flex-direction:column; justify-content:flex-start; gap:0; padding:44px; background:#ffffff; height:460px; overflow-y:auto; flex-shrink:0; }

.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; height:72px; }
.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; }

/* Hauteur fixe pour les catégories — évite le saut */
.aaev-slide-cats-wrap { min-height:32px; display:flex; flex-wrap:wrap; gap:6px; margin-bottom:16px; align-items:flex-start; flex-shrink:0; }
.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:0; flex-shrink:0; }

/* Couleur catégorie et bouton selon section */
.aaev-slide[data-section="vitrines"]    .aaev-slide-cat { background:var(--aaev-vitrines); }
.aaev-slide[data-section="entreprises"] .aaev-slide-cat { background:var(--aaev-entreprises); }
.aaev-slide[data-section="artisans"]    .aaev-slide-cat { background:var(--aaev-artisans); }
.aaev-slide[data-section="la-villa"]    .aaev-slide-cat { background:var(--aaev-lavilla); }
.aaev-slide[data-section="vitrines"]    .aaev-slide-btn { color:var(--aaev-vitrines); }
.aaev-slide[data-section="entreprises"] .aaev-slide-btn { color:var(--aaev-entreprises); }
.aaev-slide[data-section="artisans"]    .aaev-slide-btn { color:var(--aaev-artisans); }
.aaev-slide[data-section="la-villa"]    .aaev-slide-btn { color:var(--aaev-lavilla); }

.aaev-slide-title { font-size:20px; font-weight:800; color:#1A3A5C; margin:0 0 14px 0; line-height:1.3; flex-grow:1; }
.aaev-slide-title a { color:#1A3A5C; text-decoration:none; }
.aaev-slide-title a:hover { color:var(--aaev-blue); }
.aaev-slide-location { font-size:13px; color:#666; margin:0 0 6px 0; flex-shrink:0; display:flex; align-items:center; gap:6px; }
.aaev-slide-price { font-size:13px; color:#666; margin:0 0 20px 0; flex-shrink:0; display:flex; align-items:center; gap:6px; }
.aaev-slide-btn { display:inline-block; background:#1A5276; color:#fff; padding:11px 26px; border-radius:8px; font-weight:700; font-size:14px; text-decoration:none; transition:all .2s; width:fit-content; flex-shrink:0; }
.aaev-slide-btn:hover { background:#2471A3; }

/* Droite — image COVER */
.aaev-slide-right { width:52%; height:460px; overflow:hidden; position:relative; padding:15px; background:#1a2a3a; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.aaev-slide-right img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; transition:transform .4s ease; border-radius:10px; flex:1; }
.aaev-slide-right a { display:flex; width:100%; height:100%; border-radius:10px; overflow:hidden; }
.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); }


/* ══════════════════════════════════════
   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:opacity .2s; }
.aaev-cal-event-dot:hover { opacity:.85; }

/* Couleurs par section */
.aaev-cal-section-vitrines     { background:#ED841F !important; }
.aaev-cal-section-entreprises  { background:#006D42 !important; }
.aaev-cal-section-artisans     { background:#33ADA0 !important; }
.aaev-cal-section-activite-eco { background:#2E4D90 !important; }
.aaev-cal-section-la-villa     { background:#7B5EA7 !important; }

/* Couleur fond cellule selon section dominante */
.aaev-cal-cell.has-event { background:#fff8f0; }
.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;}}

/* ── COULEURS PAR SECTION — calendrier général et calendriers individuels ── */
.aaev-cal-event-dot                         { background:var(--aaev-general); }
.aaev-cal-event-dot:hover                   { background:var(--aaev-general); filter:brightness(1.2); }
.aaev-cal-event-dot.section-vitrines        { background:var(--aaev-vitrines); }
.aaev-cal-event-dot.section-vitrines:hover  { background:var(--aaev-vitrines); filter:brightness(1.15); }
.aaev-cal-event-dot.section-entreprises     { background:var(--aaev-entreprises); }
.aaev-cal-event-dot.section-entreprises:hover { background:var(--aaev-entreprises); filter:brightness(1.2); }
.aaev-cal-event-dot.section-artisans        { background:var(--aaev-artisans); }
.aaev-cal-event-dot.section-artisans:hover  { background:var(--aaev-artisans); filter:brightness(1.15); }
.aaev-cal-event-dot.section-la-villa        { background:var(--aaev-lavilla); }
.aaev-cal-event-dot.section-la-villa:hover  { background:var(--aaev-lavilla); filter:brightness(1.2); }
.aaev-cal-event-dot.section-activite-eco    { background:var(--aaev-activite); }

/* Cellule avec événement — couleur par section */
.aaev-cal-cell.has-event-vitrines           { background:#FEF3E8; }
.aaev-cal-cell.has-event-entreprises        { background:#E8F4EF; }
.aaev-cal-cell.has-event-artisans           { background:#E8F5F4; }
.aaev-cal-cell.has-event-lavilla            { background:#EEEEED; }
.aaev-cal-cell.has-event                    { background:#EEF2F8; }

/* Header calendrier individuel par section */
.aaev-calendar.cal-vitrines    .aaev-cal-header { background:var(--aaev-vitrines); }
.aaev-calendar.cal-vitrines    .aaev-cal-nav    { color:#fff; }
.aaev-calendar.cal-entreprises .aaev-cal-header { background:var(--aaev-entreprises); }
.aaev-calendar.cal-artisans    .aaev-cal-header { background:var(--aaev-artisans); }
.aaev-calendar.cal-la-villa    .aaev-cal-header { background:var(--aaev-lavilla); }
.aaev-calendar.cal-activite-eco .aaev-cal-header { background:var(--aaev-general); }

/* Légende couleurs dans le calendrier général */
.aaev-cal-legend {
    display:flex;
    gap:16px;
    flex-wrap:wrap;
    padding:12px 20px;
    background:#f9fafb;
    border-top:1px solid var(--aaev-border);
}
.aaev-cal-legend-item {
    display:flex;
    align-items:center;
    gap:6px;
    font-size:12px;
    font-weight:600;
    color:var(--aaev-text);
}
.aaev-cal-legend-dot {
    width:12px;
    height:12px;
    border-radius:3px;
    flex-shrink: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:grid;
    grid-template-columns:120px 1fr auto;
    align-items:center;
    gap:32px;
    padding:32px 40px;
    background:linear-gradient(135deg,#0D2B5E 0%,#1A5276 60%,#2471A3 100%);
    border-radius:20px;
    margin-bottom:28px;
    position:relative;
    overflow:hidden;
    min-height:180px;
}
.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 {
    width:110px;
    height:110px;
    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 {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    gap:12px;
    z-index:1;
}
.aaev-f2-badges {
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-bottom:12px;
}
.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:40px;
    font-weight:900;
    color:#fff;
    margin:0;
    line-height:1.15;
    letter-spacing:-.8px;
}
.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;
    flex-direction:column;
    gap:7px;
    z-index:1;
    width:140px;
    flex-shrink:0;
}
.aaev-f2-hero-link {
    display:flex;
    align-items:center;
    gap:8px;
    padding:8px 14px;
    background:rgba(255,255,255,.15);
    color:#fff;
    border-radius:30px;
    font-size:12px;
    font-weight:600;
    text-decoration:none;
    transition:all .2s;
    backdrop-filter:blur(4px);
    border:1px solid rgba(255,255,255,.2);
    white-space:nowrap;
    width:100%;
    box-sizing:border-box;
}
.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:1.6;
    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:768px){
    .aaev-f2-hero {
        grid-template-columns: 1fr;
        text-align:center;
        padding:24px 20px;
        gap:16px;
        min-height:auto;
    }
    .aaev-f2-logo-wrap { margin:0 auto; }
    .aaev-f2-hero-content { align-items:center; }
    .aaev-f2-hero-links {
        flex-direction:row;
        flex-wrap:wrap;
        justify-content:center;
        width:100%;
        gap:8px;
    }
    .aaev-f2-hero-link { width:auto; }
    .aaev-f2-title { font-size:26px; letter-spacing:-.3px; }
}
@media(max-width:480px){
    .aaev-f2-title { font-size:20px; }
    .aaev-f2-hero { padding:20px 16px; }
}

/* ── 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; }

/* Border-left coloré par section dans la liste */
.aaev-event-row.aaev-section-vitrines     { border-left-color:#ED841F !important; }
.aaev-event-row.aaev-section-entreprises  { border-left-color:#006D42 !important; }
.aaev-event-row.aaev-section-artisans     { border-left-color:#33ADA0 !important; }
.aaev-event-row.aaev-section-activite-eco { border-left-color:#2E4D90 !important; }
.aaev-event-row.aaev-section-la-villa     { border-left-color:#7B5EA7 !important; }

/* Badge section coloré */
.aaev-event-cat.aaev-section-vitrines     { background:#ED841F; color:#fff; }
.aaev-event-cat.aaev-section-entreprises  { background:#006D42; color:#fff; }
.aaev-event-cat.aaev-section-artisans     { background:#33ADA0; color:#fff; }
.aaev-event-cat.aaev-section-activite-eco { background:#2E4D90; color:#fff; }
.aaev-event-cat.aaev-section-la-villa     { background:#7B5EA7; color:#fff; }

/* Légende calendrier */
.aaev-cal-legend { display:flex; gap:16px; flex-wrap:wrap; padding:14px 20px; background:#f9fafb; border-top:1px solid var(--aaev-border); }
.aaev-cal-legend-item { display:flex; align-items:center; gap:6px; font-size:12px; font-weight:600; color:var(--aaev-text); }
.aaev-cal-legend-dot { width:12px; height:12px; border-radius:3px; flex-shrink:0; }
/* Fond carte par section */
.aaev-card[data-cats*="vitrines"] .aaev-card-name-block    { background:linear-gradient(135deg,#FEF3E8,#FDDDB0); }
.aaev-card[data-cats*="vitrines"] .aaev-card-name-text      { color:#7A4010; }
.aaev-card[data-cats*="vitrines"]:hover .aaev-card-name-text{ color:#ED841F; }
.aaev-card[data-cats*="entreprises"] .aaev-card-name-block  { background:linear-gradient(135deg,#E8F4EF,#C3E6D5); }
.aaev-card[data-cats*="entreprises"] .aaev-card-name-text   { color:#004028; }
.aaev-card[data-cats*="entreprises"]:hover .aaev-card-name-text { color:#006D42; }
.aaev-card[data-cats*="artisans"] .aaev-card-name-block     { background:linear-gradient(135deg,#E8F5F4,#B8E5E2); }
.aaev-card[data-cats*="artisans"] .aaev-card-name-text      { color:#1A5552; }
.aaev-card[data-cats*="artisans"]:hover .aaev-card-name-text{ color:#33ADA0; }
.aaev-card[data-cats*="la-villa"] .aaev-card-name-block     { background:linear-gradient(135deg,#EEEEED,#D5D2D0); }
.aaev-card[data-cats*="la-villa"] .aaev-card-name-text      { color:#2A2725; }
.aaev-card[data-cats*="la-villa"]:hover .aaev-card-name-text{ color:#5C5855; }

/* Ligne bas carte couleur section */
.aaev-card[data-cats*="vitrines"]::after    { background:linear-gradient(90deg,#ED841F,#F5A94E); }
.aaev-card[data-cats*="entreprises"]::after { background:linear-gradient(90deg,#006D42,#2EAD74); }
.aaev-card[data-cats*="artisans"]::after    { background:linear-gradient(90deg,#33ADA0,#5DCFC3); }
.aaev-card[data-cats*="la-villa"]::after    { background:linear-gradient(90deg,#5C5855,#8A8480); }

/* Hero couleur par section */
.single-aaev_membre.section-vitrines    .aaev-f2-hero { background:linear-gradient(135deg,#7A3A0A 0%,#C0621A 60%,#ED841F 100%) !important; }
.single-aaev_membre.section-entreprises .aaev-f2-hero { background:linear-gradient(135deg,#003D25 0%,#005A38 60%,#006D42 100%) !important; }
.single-aaev_membre.section-artisans    .aaev-f2-hero { background:linear-gradient(135deg,#1A6A65 0%,#279B93 60%,#33ADA0 100%) !important; }
.single-aaev_membre.section-la-villa    .aaev-f2-hero { background:linear-gradient(135deg,#2A2725 0%,#45403D 60%,#5C5855 100%) !important; }

/* ══════════════════════════════════════
   FICHE AUTO (hook the_content) — responsive mobile
══════════════════════════════════════ */
.aaev-fiche-gallery-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px;
    margin-bottom:28px;
}
.aaev-fiche-body-grid {
    display:grid;
    grid-template-columns:280px 1fr;
    gap:32px;
    align-items:start;
    margin-bottom:28px;
}
@media(max-width:900px){
    .aaev-fiche-body-grid { grid-template-columns:240px 1fr; gap:20px; }
}
@media(max-width:700px){
    .aaev-fiche-gallery-grid { grid-template-columns:repeat(2,1fr) !important; }
    .aaev-fiche-body-grid { grid-template-columns:1fr !important; gap:16px; }
    .aaev-fiche-body-grid > div:first-child { order:2; }
    .aaev-fiche-body-grid > div:last-child { order:1; }
}
@media(max-width:480px){
    .aaev-fiche-gallery-grid { grid-template-columns:repeat(2,1fr) !important; }
    .aaev-fiche-gallery-grid img { height:100px !important; }
}

/* ══════════════════════════════════════
   SEARCH + FILTRES — mobile
══════════════════════════════════════ */
@media(max-width:600px){
    .aaev-search { font-size:14px; padding:12px 16px 12px 44px !important; }
    .aaev-cat-btn { padding:9px 16px; font-size:13px; }
    .aaev-membres-wrap [style*="max-width:580px"] { max-width:100% !important; }
}

/* ══════════════════════════════════════
   FICHE ÉVÉNEMENT — mobile
══════════════════════════════════════ */
@media(max-width:580px){
    .aaev-ef-hero img { max-height:220px; }
    .aaev-ef-sidebar { padding:16px; }
    .aaev-ef-cta { font-size:14px; padding:11px 16px; }
}

/* ══════════════════════════════════════
   CALENDRIER — mobile amélioré
══════════════════════════════════════ */
@media(max-width:768px){
    .aaev-cal-title { font-size:18px; letter-spacing:0; }
    .aaev-cal-header { padding:16px 16px; }
    .aaev-cal-nav { font-size:28px; padding:0 8px; }
    .aaev-cal-day-label { font-size:11px; padding:10px 2px; }
}
@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; }
    .aaev-cal-day-label { font-size:10px; }
    .aaev-cal-num { font-size:12px; }
    .aaev-cal-legend { gap:8px; padding:10px 12px; }
    .aaev-cal-legend-item { font-size:11px; }
}

/* ══════════════════════════════════════
   SLIDER — affichage desktop / mobile
══════════════════════════════════════ */

/* Desktop : masquer mobile, afficher desktop */
.aaev-slider-mobile  { display: none !important; }
.aaev-slider-desktop { display: block !important; }

/* Mobile : afficher mobile, masquer desktop */
@media (max-width: 768px) {
    .aaev-slider-mobile  { display: flex !important; flex-direction: column; gap: 16px; }
    .aaev-slider-desktop { display: none !important; }
}

/* ── Cards mobile slider ── */
.aaev-sm-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,.10);
    text-decoration: none;
    color: inherit;
}
/* Image pleine largeur EN HAUT */
.aaev-sm-img {
    position: relative;
    width: 100%;
    height: 180px;
}
.aaev-sm-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
/* Badge date sur l'image */
.aaev-sm-date {
    position: absolute;
    top: 12px;
    left: 12px;
    background: #1A5276;
    color: #fff;
    border-radius: 8px;
    padding: 6px 10px;
    text-align: center;
    line-height: 1.1;
}
.aaev-sm-day   { display: block; font-size: 22px; font-weight: 900; }
.aaev-sm-month { display: block; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; }
/* Infos EN BAS */
.aaev-sm-body {
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.aaev-sm-cat {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: #E74C3C;
}
.aaev-sm-title {
    font-size: 16px;
    font-weight: 800;
    color: #1A3A5C;
    line-height: 1.3;
}
.aaev-sm-info {
    font-size: 13px;
    color: #666;
}

/* ── Bouton S'abonner au calendrier ── */
.aaev-subscribe-wrap {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 16px;
}
.aaev-subscribe-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    background: #1A5276;
    color: #fff !important;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none !important;
    border: none;
    cursor: pointer;
    transition: background 0.2s;
    white-space: nowrap;
}
.aaev-subscribe-btn:hover {
    background: #154360;
    color: #fff !important;
    text-decoration: none !important;
}

/* ════════════════════════════════════════════
   ACTUS — Liste
════════════════════════════════════════════ */
.aaev-actus-list { display:flex; flex-direction:column; gap:20px; }
.aaev-actu-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-actu-row:hover { box-shadow:0 4px 16px rgba(0,0,0,.08); }
.aaev-actu-img-wrap { flex-shrink:0; }
.aaev-actu-img-wrap img { width:180px; height:120px; object-fit:cover; border-radius:8px; display:block; }
.aaev-actu-info { flex:1; }
.aaev-actu-meta { display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin-bottom:8px; }
.aaev-actu-date-badge { font-size:13px; font-weight:700; color:var(--aaev-muted); }
.aaev-actu-cat-chip { font-size:11px; font-weight:700; text-transform:uppercase; color:#fff; padding:3px 10px; border-radius:20px; letter-spacing:.4px; }
.aaev-actu-title { font-size:18px; font-weight:700; margin:0 0 8px; }
.aaev-actu-title a { color:var(--aaev-text); text-decoration:none; }
.aaev-actu-title a:hover { color:var(--aaev-blue); }
.aaev-actu-excerpt { font-size:14px; color:var(--aaev-muted); margin:0 0 12px; }
.aaev-actu-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-actu-btn:hover { background:var(--aaev-blue2); color:#fff; }
@media(max-width:600px){ .aaev-actu-row{flex-direction:column;} .aaev-actu-img-wrap img{width:100%;height:180px;} }

/* ════════════════════════════════════════════
   ACTUS — Grille
════════════════════════════════════════════ */
.aaev-actus-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
@media(max-width:900px){ .aaev-actus-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:580px){ .aaev-actus-grid{grid-template-columns:1fr;} }

.aaev-actu-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-actu-card-grid:hover { box-shadow:0 8px 24px rgba(0,0,0,.1); transform:translateY(-3px); }
.aaev-acg-img { display:block; position:relative; overflow:hidden; }
.aaev-acg-img img { width:100%; height:200px; object-fit:cover; display:block; transition:transform .3s; }
.aaev-actu-card-grid:hover .aaev-acg-img img { transform:scale(1.05); }
.aaev-acg-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-acg-date-no-img { background:var(--aaev-light); padding:16px; text-align:center; }
.aaev-acg-day { display:block; font-size:22px; font-weight:800; line-height:1; }
.aaev-acg-month { display:block; font-size:11px; font-weight:700; letter-spacing:.5px; }
.aaev-acg-color-bar { height:4px; width:100%; }
.aaev-acg-body { padding:16px; flex:1; display:flex; flex-direction:column; gap:8px; }
.aaev-acg-cat { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; }
.aaev-acg-title { font-size:16px; font-weight:700; margin:0; line-height:1.3; }
.aaev-acg-title a { color:var(--aaev-text); text-decoration:none; }
.aaev-acg-title a:hover { color:var(--aaev-blue); }
.aaev-acg-excerpt { font-size:13px; color:var(--aaev-muted); margin:0; flex:1; }
.aaev-acg-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-acg-btn:hover { background:var(--aaev-blue); color:#fff; }

/* ════════════════════════════════════════════
   ACTUS — Vue page entière (grille 2 col)
════════════════════════════════════════════ */
.aaev-actus-page-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    align-items: start;
}
@media(max-width:900px){ .aaev-actus-page-grid { grid-template-columns: repeat(2, 1fr); } }
@media(max-width:600px){ .aaev-actus-page-grid { grid-template-columns: 1fr; } }

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

.aaev-apg-color-bar { height: 5px; width: 100%; flex-shrink: 0; }

.aaev-apg-img-wrap { display: block; overflow: hidden; flex-shrink: 0; }
.aaev-apg-img-wrap img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block;
    transition: transform .3s;
}
.aaev-apg-card:hover .aaev-apg-img-wrap img { transform: scale(1.04); }

.aaev-apg-body {
    padding: 20px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.aaev-apg-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}
.aaev-apg-cat-chip {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    color: #fff;
    padding: 3px 10px;
    border-radius: 20px;
    letter-spacing: .4px;
}
.aaev-apg-date { font-size: 12px; color: var(--aaev-muted); }

.aaev-apg-title {
    font-size: 18px;
    font-weight: 800;
    margin: 0 0 10px;
    line-height: 1.3;
}
.aaev-apg-title a { color: var(--aaev-text); text-decoration: none; }
.aaev-apg-title a:hover { color: var(--aaev-blue); }

.aaev-apg-excerpt {
    font-size: 14px;
    color: var(--aaev-muted);
    line-height: 1.6;
    margin: 0 0 16px;
    flex: 1;
    /* Tronquer à 3 lignes pour égaliser les cards */
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.aaev-apg-btn {
    display: inline-block;
    align-self: flex-start;
    margin-top: auto;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    border: 2px solid;
    border-radius: 6px;
    padding: 7px 16px;
    transition: all .2s;
}
.aaev-apg-btn:hover {
    color: #fff !important;
    background: currentColor;
}

/* ════════════════════════════════════════════
   ACTUS — Carousel
════════════════════════════════════════════ */
.aaev-carousel-wrap {
    position: relative;
    padding: 0 0 40px;
}
.aaev-carousel-track-wrap {
    overflow: hidden;
    border-radius: var(--aaev-radius);
}
.aaev-carousel-track {
    display: flex;
    gap: 28px;
    transition: transform .4s cubic-bezier(.4,0,.2,1);
    will-change: transform;
    pointer-events: auto;
}

/* Card carousel = même base que acg mais taille fixe */
.aaev-carousel-card {
    flex: 0 0 calc((100% - 56px) / 3);
    min-width: 0;
    background: #fff;
    border: 1px solid var(--aaev-border);
    border-radius: var(--aaev-radius);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: box-shadow .2s, transform .2s;
}
.aaev-carousel-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,.10); transform: translateY(-3px); }

@media(max-width:900px){
    .aaev-carousel-card { flex: 0 0 calc((100% - 28px) / 2); }
}
@media(max-width:580px){
    .aaev-carousel-card { flex: 0 0 100%; }
}

.aaev-cc-color-bar { height: 4px; width: 100%; flex-shrink: 0; }
.aaev-cc-img-wrap { display: block; overflow: hidden; flex-shrink: 0; height: 250px; position: relative; z-index: 1; }
.aaev-cc-img-wrap img { width: 100%; height: 100%; object-fit: contain; background: #f4f6f8; display: block; transition: transform .3s; }
.aaev-carousel-card:hover .aaev-cc-img-wrap img { transform: scale(1.05); }

.aaev-cc-body { padding: 16px; display: flex; flex-direction: column; flex: 1; gap: 8px; }
.aaev-cc-meta { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.aaev-cc-cat { font-size: 10px; font-weight: 700; text-transform: uppercase; color: #fff; padding: 2px 8px; border-radius: 20px; letter-spacing: .4px; }
.aaev-cc-date { font-size: 11px; color: var(--aaev-muted); }
.aaev-cc-title { font-size: 15px; font-weight: 700; margin: 0; line-height: 1.3; }
.aaev-cc-title a { color: var(--aaev-text); text-decoration: none; }
.aaev-cc-title a:hover { color: var(--aaev-blue); }
.aaev-cc-excerpt {
    font-size: 13px;
    color: var(--aaev-muted);
    margin: 0;
    flex: 1;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.aaev-cc-btn { align-self: flex-start; margin-top: auto; font-size: 12px; font-weight: 600; text-decoration: none; border: 2px solid; border-radius: 6px; padding: 5px 12px; transition: all .2s; }
.aaev-cc-btn:hover { color: #fff !important; }

/* Flèches */
.aaev-carousel-nav {
    position: absolute;
    top: calc(50% - 30px);
    transform: translateY(-50%);
    background: #fff;
    border: 1px solid var(--aaev-border);
    border-radius: 50%;
    width: 40px; height: 40px;
    font-size: 22px;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0,0,0,.12);
    display: flex; align-items: center; justify-content: center;
    transition: background .2s;
    z-index: 2;
    color: var(--aaev-text);
}
.aaev-carousel-nav:hover { background: var(--aaev-blue); color: #fff; border-color: var(--aaev-blue); }
.aaev-carousel-prev { left: -20px; }
.aaev-carousel-next { right: -20px; }

/* Dots */
.aaev-carousel-dots { display: flex; justify-content: center; gap: 6px; margin-top: 16px; }
.aaev-carousel-dot { width: 8px; height: 8px; border-radius: 50%; border: none; background: #d1d5db; cursor: pointer; padding: 0; transition: background .2s, transform .2s; }
.aaev-carousel-dot.active { background: var(--aaev-blue); transform: scale(1.3); }

/* Ajout individuel d'un événement à un agenda */
.aaev-ef-calendar {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid var(--aaev-border, #e2e8f0);
}
.aaev-ef-calendar-title {
    display: block;
    margin-bottom: 10px;
    font-size: 14px;
}
.aaev-ef-calendar-links {
    display: grid;
    gap: 8px;
}
.aaev-ef-calendar-btn {
    display: block;
    padding: 10px 12px;
    border: 1px solid #1a5276;
    border-radius: 6px;
    color: #1a5276;
    background: #fff;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
    transition: background .2s, color .2s;
}
.aaev-ef-calendar-btn:hover,
.aaev-ef-calendar-btn:focus {
    color: #fff;
    background: #1a5276;
}

/* ── Menu d'abonnement calendrier v3.2.7 ── */
.aaev-subscribe-menu { position:relative; }
.aaev-subscribe-menu > summary { list-style:none; }
.aaev-subscribe-menu > summary::-webkit-details-marker { display:none; }
.aaev-subscribe-panel {
    position:absolute; right:0; z-index:9999; width:min(390px, 92vw);
    margin-top:8px; padding:14px; background:#fff; border:1px solid #d9e1e8;
    border-radius:10px; box-shadow:0 12px 32px rgba(0,0,0,.16);
}
.aaev-subscribe-help { margin:0 0 10px; font-weight:700; color:#1A3A5C; }
.aaev-calendar-choice {
    display:flex; flex-direction:column; width:100%; gap:2px; box-sizing:border-box;
    margin:0 0 8px; padding:10px 12px; text-align:left; background:#f7f9fb;
    border:1px solid #dce4eb; border-radius:8px; color:#1A3A5C !important;
    text-decoration:none !important; cursor:pointer; font:inherit;
}
.aaev-calendar-choice:hover, .aaev-calendar-choice:focus { background:#edf4f8; border-color:#1A5276; }
.aaev-calendar-choice span { font-size:12px; color:#5f6b76; line-height:1.35; }
.aaev-calendar-url-label { display:block; margin:12px 0 5px; font-size:12px; font-weight:700; color:#394957; }
.aaev-calendar-url-row { display:flex; gap:6px; }
.aaev-calendar-url { min-width:0; flex:1; padding:8px; border:1px solid #cfd8df; border-radius:6px; font-size:12px; }
.aaev-copy-url { padding:8px 12px; border:0; border-radius:6px; background:#1A5276; color:#fff; cursor:pointer; }
.aaev-copy-status { min-height:18px; margin:6px 0 0; font-size:12px; color:#27743a; }
@media (max-width:600px) {
    .aaev-subscribe-wrap { justify-content:stretch; }
    .aaev-subscribe-menu, .aaev-subscribe-btn { width:100%; }
    .aaev-subscribe-btn { justify-content:center; }
    .aaev-subscribe-panel { position:fixed; left:4vw; right:4vw; top:18vh; width:auto; max-height:70vh; overflow:auto; }
}
