/**
 * aird-festivals.css — Pages Festivals (hub + catégories) — DA or + sombre
 * Emplacement cible : blocksy-child/assets/css/aird-festivals.css
 * Auto-suffisant, scopé sous .aird-fest.
 */

.aird-fest-page {
    --aird-fest-accent: #E5A93D;        /* or (DA header) */
    --aird-fest-accent-deep: #B8821F;   /* or profond — lisible sur blanc */
    --aird-fest-dark: #15101a;          /* sombre header */
    --aird-fest-ink: #14181f;
    --aird-fest-muted: #6b7280;
    --aird-fest-line: #e7e9ee;
    --aird-fest-bg-soft: #f7f8fa;
}

.aird-fest {
    max-width: 1240px;
    margin: 0 auto;
    padding: 40px 20px 80px;
    font-family: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
    color: var(--aird-fest-ink);
    box-sizing: border-box;
}
.aird-fest *, .aird-fest *::before, .aird-fest *::after { box-sizing: border-box; }

/* ─── En-tête ──────────────────────────────────────────────────────────── */
.aird-fest__head { text-align: center; margin-bottom: 32px; }
.aird-fest__back {
    display: inline-block; margin-bottom: 18px;
    font-size: 13px; font-weight: 600; color: var(--aird-fest-muted);
    text-decoration: none; transition: color .15s ease;
}
.aird-fest__back:hover { color: var(--aird-fest-accent-deep); }
.aird-fest__title {
    margin: 0; font-family: 'Cinzel', Georgia, serif; font-weight: 700;
    font-size: clamp(28px, 4vw, 44px); line-height: 1.1; letter-spacing: .01em;
}
.aird-fest__subtitle { margin: 10px auto 0; max-width: 640px; font-size: 16px; color: var(--aird-fest-muted); }
.aird-fest__count {
    margin: 18px 0 0;
    display: inline-flex; align-items: baseline; gap: 9px;
}
.aird-fest__count-num {
    font-family: 'Cinzel', Georgia, serif;
    font-weight: 700; line-height: 1;
    font-size: clamp(32px, 4.6vw, 44px);
    font-variant-numeric: tabular-nums;
    background: linear-gradient(118deg, #B8821F 0%, #E5A93D 42%, #F7D27E 100%);
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent;
    color: var(--aird-fest-accent-deep); /* fallback si background-clip non supporté */
}
.aird-fest__count-label {
    font-size: 12.5px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase;
    color: var(--aird-fest-muted);
}

/* ─── Barre de filtres ─────────────────────────────────────────────────── */
/* Bloc filtres = « LightCard » du dashboard, hairline dorée incluse (2026-06-12).
   PAS d'overflow:hidden (couperait d'éventuels menus déroulants). */
.aird-fest__filters {
    position: relative;
    display: flex; flex-direction: column; gap: 16px;
    margin: 0 auto 36px; max-width: 1040px;
    padding: 18px;
    background: linear-gradient(180deg, rgba(255, 253, 247, .92) 0%, rgba(252, 247, 235, .88) 100%);
    border: 1px solid rgba(212, 168, 74, .25); border-radius: 18px;
    box-shadow: 0 1px 0 rgba(255, 255, 255, .9) inset, 0 20px 40px -20px rgba(120, 90, 30, .25), 0 4px 12px rgba(0, 0, 0, .04);
}
.aird-fest__filters::before {
    content: ''; position: absolute; top: 0; left: 18px; right: 18px; height: 2px; pointer-events: none;
    background: linear-gradient(90deg, transparent, #d4a84a, #f5d98a, #d4a84a, transparent);
    opacity: .7;
}
.aird-fest__filter-row {
    display: flex; align-items: flex-start; justify-content: space-between;
    gap: 16px 28px; flex-wrap: wrap;
}
.aird-fest__filter-group { display: flex; align-items: flex-start; gap: 14px; flex-wrap: wrap; }
.aird-fest__filter-group--country { margin-left: auto; }

/* ─── Recherche ────────────────────────────────────────────────────────── */
.aird-fest__search { position: relative; display: flex; align-items: center; }
.aird-fest__search-icon {
    position: absolute; left: 16px; top: 50%; transform: translateY(-50%);
    width: 18px; height: 18px; pointer-events: none;
    fill: none; stroke: var(--aird-fest-muted); stroke-width: 2; stroke-linecap: round;
}
.aird-fest-page .aird-fest__search-input {
    width: 100%; box-sizing: border-box;
    padding: 14px 46px 14px 48px !important; border-radius: 10px;
    border: 1.5px solid var(--aird-fest-line); background: #fff;
    font: inherit; font-size: 15px; font-weight: 500; color: var(--aird-fest-ink);
    height: auto !important; line-height: 1.3 !important;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.aird-fest__search-input::placeholder { color: var(--aird-fest-muted); opacity: 1; }
.aird-fest__search-input:focus {
    outline: none; border-color: #d4a84a;
    box-shadow: 0 0 0 3px rgba(229, 169, 61, .16);
}
.aird-fest__search-input::-webkit-search-decoration,
.aird-fest__search-input::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; }
.aird-fest__search-clear {
    position: absolute; right: 10px; display: grid; place-items: center;
    width: 28px; height: 28px; padding: 0; border: none; border-radius: 50%;
    background: rgba(20, 24, 31, .07); color: var(--aird-fest-ink);
    font-size: 19px; line-height: 1; cursor: pointer; transition: background .15s ease;
}
.aird-fest__search-clear:hover { background: rgba(20, 24, 31, .14); }
.aird-fest__search-clear[hidden] { display: none; }
.aird-fest__filter-label {
    flex: 0 0 auto; min-width: 78px; padding-top: 8px;
    font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--aird-fest-ink);
}
.aird-fest__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.aird-fest__chip {
    appearance: none; cursor: pointer;
    padding: 8px 16px; border-radius: 10px;
    border: 1.5px solid var(--aird-fest-line); background: #fff;
    color: var(--aird-fest-ink); font: inherit; font-size: 13.5px; font-weight: 600; line-height: 1;
    transition: border-color .15s ease, background .15s ease, color .15s ease;
}
.aird-fest__chip:hover { border-color: #d4a84a; }
.aird-fest__chip.is-active { background: #5b5b60; border-color: #5b5b60; color: #f5d98a; }

.aird-fest-page .aird-fest__select {
    appearance: none; -webkit-appearance: none;
    box-sizing: border-box; height: auto !important; min-height: 46px; line-height: 1.25 !important;
    padding: 11px 40px 11px 42px !important; border-radius: 10px;
    border: 1.5px solid var(--aird-fest-line); background-color: #fff;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314181f' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 16px center; background-size: 13px;
    font: inherit; font-size: 14px; font-weight: 700; color: var(--aird-fest-ink); cursor: pointer;
    min-width: 200px;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.aird-fest__select-wrap { position: relative; display: inline-flex; align-items: center; }
.aird-fest__select-icon {
    position: absolute; left: 14px; top: 50%; transform: translateY(-50%);
    width: 17px; height: 17px; pointer-events: none;
    fill: none; stroke: var(--aird-fest-accent-deep); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round;
}
.aird-fest__select:hover, .aird-fest__select:focus {
    border-color: #d4a84a; outline: none;
    box-shadow: 0 0 0 3px rgba(229, 169, 61, .14);
}

/* ─── Groupes par mois (filet doré séparateur) ─────────────────────────── */
.aird-fest__month { position: relative; margin-bottom: 40px; padding-bottom: 36px; }
.aird-fest__month.is-fest-hidden { display: none; }
.aird-fest__month::after {
    content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 2px;
    background: linear-gradient(to right,
        rgba(229, 169, 61, 0) 3%,
        rgba(229, 169, 61, .55) 24%,
        rgba(245, 199, 110, .95) 50%,
        rgba(229, 169, 61, .55) 76%,
        rgba(229, 169, 61, 0) 97%);
    box-shadow: 0 0 6px rgba(229, 169, 61, .35);
}
.aird-fest__month:last-child { margin-bottom: 0; padding-bottom: 0; }
.aird-fest__month:last-child::after { display: none; }
.aird-fest__month-title {
    margin: 0 0 18px;
    font-family: 'Cinzel', Georgia, serif; font-size: 21px; font-weight: 700;
    text-transform: capitalize; color: #191414;
}
.aird-fest__month.is-past .aird-fest__month-title { color: var(--aird-fest-muted); }

/* ─── Grille de cards ──────────────────────────────────────────────────── */
.aird-fest__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 22px; align-items: start; }
/* Cards = peau « LightCard » du dashboard (validé 2026-06-12) */
.aird-fest__card {
    border-radius: 16px; overflow: hidden;
    background: linear-gradient(180deg, rgba(255, 253, 247, .96) 0%, rgba(252, 247, 235, .94) 100%);
    border: 1px solid rgba(212, 168, 74, .28);
    box-shadow: 0 1px 0 rgba(255, 255, 255, .9) inset, 0 14px 28px -16px rgba(120, 90, 30, .28), 0 4px 12px rgba(0, 0, 0, .04);
    transition: transform .18s ease, box-shadow .18s ease;
}
.aird-fest__card[hidden] { display: none; }
.aird-fest__card:hover { transform: translateY(-4px); box-shadow: 0 1px 0 rgba(255, 255, 255, .9) inset, 0 20px 36px -16px rgba(120, 90, 30, .36), 0 6px 14px rgba(0, 0, 0, .05); }
.aird-fest__card.is-past { opacity: .72; }
.aird-fest__card-link { display: block; text-decoration: none; color: inherit; }

.aird-fest__card-media { position: relative; height: 140px; background: var(--aird-fest-bg-soft); overflow: hidden; }
.aird-fest__card-img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }
.aird-fest__card-img--ph { display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--aird-fest-accent), var(--aird-fest-dark)); }
.aird-fest__card-img--ph span { font-family: 'Cinzel', serif; font-size: 52px; font-weight: 700; color: rgba(255, 255, 255, .85); }

.aird-fest__card-pill {
    position: absolute; top: 10px; left: 10px;
    padding: 5px 12px; border-radius: 999px;
    background: #fff; color: #191414;
    font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em;
    box-shadow: 0 2px 8px rgba(18, 24, 31, .25);
}
.aird-fest__card-flag {
    position: absolute; top: 10px; right: 10px; padding: 4px 10px; border-radius: 6px;
    font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: #fff;
}
.aird-fest__card-flag--cancel { background: #dc2626; }
.aird-fest__card-flag--past { background: rgba(20, 24, 31, .62); }

.aird-fest__card-body { padding: 14px 14px 16px; }
.aird-fest__card-title {
    margin: 0; font-size: 16px; font-weight: 700; line-height: 1.25; font-style: italic;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.aird-fest__card-date { margin: 7px 0 0; font-size: 13.5px; font-weight: 600; color: var(--aird-fest-accent-deep); }
.aird-fest__card-city {
    margin: 3px 0 0; font-size: 13px; color: var(--aird-fest-muted);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

.aird-fest__card-tags {
    display: flex; flex-wrap: nowrap; gap: 5px; margin-top: 10px; overflow: hidden;
    -webkit-mask-image: linear-gradient(to right, #000 86%, transparent 100%);
    mask-image: linear-gradient(to right, #000 86%, transparent 100%);
}
.aird-fest__card-tag {
    flex: 0 0 auto; white-space: nowrap;
    padding: 3px 9px; border-radius: 6px;
    background: rgba(229, 169, 61, .10); border: 1px solid rgba(212, 168, 74, .28);
    font-size: 11.5px; font-weight: 600; color: #6b5a40;
}
.aird-fest__card-tag--more { color: var(--aird-fest-muted); }

/* ─── États vides ──────────────────────────────────────────────────────── */
.aird-fest__empty, .aird-fest__noresult { text-align: center; padding: 60px 20px; color: var(--aird-fest-muted); }
.aird-fest__empty-title { margin: 0 0 8px; font-size: 20px; color: var(--aird-fest-ink); }
.aird-fest__noresult[hidden] { display: none; }
.aird-fest__reset {
    margin-top: 14px; cursor: pointer; padding: 9px 20px; border-radius: 999px; border: none;
    background: linear-gradient(160deg, #f6d79a, #e5a93d); color: var(--aird-fest-dark); font: inherit; font-weight: 800;
}

/* ─── Notice ───────────────────────────────────────────────────────────── */
.aird-fest--notice { text-align: center; }
.aird-fest--notice code { padding: 1px 6px; border-radius: 5px; background: var(--aird-fest-bg-soft); border: 1px solid var(--aird-fest-line); font-size: .9em; }

/* ─── HUB (tuiles sombre + or, design moderne, accent par famille) ──────── */
.aird-fest__head--hub { margin-bottom: 40px; }
.aird-fest__hub-block { margin-bottom: 44px; }
.aird-fest__hub-block-title {
    margin: 0 0 20px; font-size: 15px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--aird-fest-muted);
}
.aird-fest__hub-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 20px; }

.aird-fest__tile {
    /* SKIN (fond/bordure/halo/filet/ombre/hover) = .aird-dtile (assets/css/aird-tile.css).
       Ici : mise en page + couleur d'accent du halo (--tile-accent). */
    --tile-accent: var(--aird-fest-accent, #E5A93D);
    display: flex; flex-direction: column; gap: 7px;
    padding: 24px 22px 20px; min-height: 158px;
    color: #F6D79A;
}

.aird-fest__tile-label {
    font-family: 'Cinzel', serif; font-size: 20px; font-weight: 700; line-height: 1.08;
    letter-spacing: .01em; overflow-wrap: anywhere;
}
.aird-fest__tile-sub { font-size: 12.5px; color: rgba(255, 255, 255, .62); line-height: 1.3; }

.aird-fest__tile-count {
    position: relative; margin-top: auto; padding-top: 14px;
    display: flex; align-items: baseline; gap: 7px;
}
.aird-fest__tile-count::before { /* séparation visuelle avant le compteur (filet doré dégradé) */
    content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px;
    background: linear-gradient(90deg, var(--tile-accent), rgba(229, 169, 61, .15) 72%, transparent);
    opacity: .6;
}
.aird-fest__tile-count-num {
    font-family: 'Cinzel', serif; font-weight: 700; font-size: 23px; line-height: 1;
    font-variant-numeric: tabular-nums;
    background: linear-gradient(118deg, #E5A93D, #F7D27E);
    -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
    color: #F5C76E;
}
.aird-fest__tile-count-label {
    font-size: 11.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .12em;
    color: rgba(255, 255, 255, .7);
}

.aird-fest__tile-todo { margin-top: 8px; font-size: 11px; font-weight: 600; background: rgba(0, 0, 0, .35); padding: 3px 7px; border-radius: 5px; align-self: flex-start; color: rgba(255, 255, 255, .8); }
.aird-fest__tile-todo code { background: rgba(255, 255, 255, .2); padding: 0 4px; border-radius: 3px; }

/* ─── HUB — barre de recherche de danse (autosuggestion) ───────────────── */
.aird-fest__hubsearch { position: relative; max-width: 560px; margin: 0 auto 40px; }
.aird-fest__hubsearch-icon {
    position: absolute; left: 18px; top: 50%; transform: translateY(-50%);
    width: 18px; height: 18px; pointer-events: none;
    fill: none; stroke: var(--aird-fest-muted); stroke-width: 2; stroke-linecap: round;
}
.aird-fest-page .aird-fest__hubsearch-input {
    width: 100%; box-sizing: border-box;
    height: auto !important; line-height: 1.3 !important;
    padding: 15px 46px 15px 48px !important; border-radius: 14px;
    border: 1.5px solid var(--aird-fest-line); background: #fff;
    font: inherit; font-size: 15.5px; font-weight: 500; color: var(--aird-fest-ink);
    box-shadow: 0 6px 20px rgba(18, 24, 31, .06);
    transition: border-color .15s ease, box-shadow .15s ease;
}
.aird-fest__hubsearch-input::placeholder { color: var(--aird-fest-muted); opacity: 1; }
.aird-fest-page .aird-fest__hubsearch-input:focus {
    outline: none; border-color: var(--aird-fest-accent-deep);
    box-shadow: 0 0 0 3px rgba(229, 169, 61, .18);
}
.aird-fest__hubsearch-input::-webkit-search-decoration,
.aird-fest__hubsearch-input::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; }
.aird-fest__hubsearch-clear {
    position: absolute; right: 12px; top: 50%; transform: translateY(-50%);
    display: grid; place-items: center; width: 26px; height: 26px;
    padding: 0; border: none; border-radius: 50%;
    background: rgba(20, 24, 31, .07); color: var(--aird-fest-ink);
    font-size: 18px; line-height: 1; cursor: pointer; transition: background .15s ease;
}
.aird-fest__hubsearch-clear:hover { background: rgba(20, 24, 31, .14); }
.aird-fest__hubsearch-clear[hidden] { display: none; }
.aird-fest__hubsearch-list {
    position: absolute; z-index: 30; left: 0; right: 0; top: calc(100% + 8px);
    margin: 0; padding: 6px; list-style: none;
    background: #fff; border: 1px solid var(--aird-fest-line); border-radius: 14px;
    box-shadow: 0 16px 40px rgba(18, 24, 31, .16); max-height: 340px; overflow-y: auto;
}
.aird-fest__hubsearch-list[hidden] { display: none; }
.aird-fest__hubsearch-item {
    display: flex; align-items: baseline; justify-content: space-between; gap: 12px;
    padding: 10px 14px; border-radius: 9px; cursor: pointer;
}
.aird-fest__hubsearch-item.is-active,
.aird-fest__hubsearch-item:hover { background: var(--aird-fest-bg-soft); }
.aird-fest__hubsearch-item-name { font-size: 14.5px; font-weight: 600; color: var(--aird-fest-ink); }
.aird-fest__hubsearch-item-cat {
    flex: 0 0 auto; font-size: 11.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em;
    color: var(--aird-fest-accent-deep);
}

/* Hub — ligne recherche + boutons membre CÔTE À CÔTE */
.aird-fest__searchrow {
    display: flex; align-items: center; justify-content: center; gap: 12px; flex-wrap: wrap;
    max-width: 1000px; margin: 0 auto 30px;
}
.aird-fest__searchrow .aird-fest__hubsearch { flex: 1 1 420px; max-width: 560px; margin: 0; }
.aird-fest__searchrow .aird-fest__memberbar { margin: 0; flex: 0 0 auto; }

/* Hub — barre membre : « Mes suggestions » (filtre par danses) + « + » (ajouter) */
.aird-fest__memberbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px; margin: 0 auto 32px; }
.aird-fest__suggestions, .aird-fest__addsuggest {
    display: inline-flex; align-items: center; gap: 7px; white-space: nowrap;
    padding: 10px 17px; border-radius: 10px; text-decoration: none; cursor: pointer;
    font: inherit; font-size: 14px; font-weight: 800;
    color: #f5d98a;                                                  /* texte doré (comme sociales) */
    background: linear-gradient(135deg, #6c6c73 0%, #4f4f55 100%);   /* gris dégradé */
    border: 1.5px solid #45454b;
    box-shadow: 0 2px 8px rgba(18, 24, 31, .18);
    transition: background .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .15s ease;
}
.aird-fest__suggestions:hover, .aird-fest__addsuggest:hover,
.aird-fest__suggestions.is-active {
    background: linear-gradient(135deg, #f5d98a 0%, #E5A93D 100%); /* survol / actif = inversion or */
    color: #4f4f55; border-color: #e0a93d;
    box-shadow: 0 6px 16px rgba(120, 90, 30, .28);
    transform: translateY(-1px);
}
.aird-fest__suggestions svg { flex: 0 0 auto; }
.aird-fest__addsuggest { padding: 10px 14px; font-size: 19px; line-height: 1; }
.aird-fest__hub-block[hidden] { display: none; }
.aird-fest__tile[hidden] { display: none; }

/* ─── Hero catégorie (sombre + or, validé 2026-06-12) — même DA que le hero
      ville sociales ; halo à la couleur de la famille (--aird-fest-accent
      posée inline par le template, comme les tuiles du hub). ─── */
.aird-fest__hero {
    position: relative; overflow: hidden; isolation: isolate;
    /* Full-bleed : pleine largeur, comme le hero des pages event (2026-06-12) */
    width: 100vw; max-width: 100vw;
    margin: -40px calc(50% - 50vw) 30px;
    padding: 38px 20px 34px;
    border-radius: 0; text-align: center;
    /* Verre sombre semi-transparent (recette DarkCard dashboard) : laisse
       transparaître la toile de fond du site (demande 2026-06-12). */
    background: linear-gradient(160deg, rgba(28, 26, 32, .62) 0%, rgba(14, 12, 17, .72) 100%);
    backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
    border: none; border-bottom: 1px solid rgba(229, 169, 61, .22);
    box-shadow: 0 16px 30px -24px rgba(8, 5, 12, .55);
}
/* Halo + filet en DORÉ fixe (#E5A93D) sur TOUS les heros, identique à sociales/
   écoles (2026-06-12). Avant : couleur de la famille → bande orange sur salsa,
   refusée par le user. La couleur de famille ne sert plus dans le hero. */
.aird-fest__hero::before {
    content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none;
    background: radial-gradient(80% 70% at 50% -20%, #E5A93D, transparent 62%);
    opacity: .16;
}
.aird-fest__hero::after {
    content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
    background: linear-gradient(90deg, transparent, #E5A93D, transparent); opacity: .85;
}
.aird-fest__hero-back {
    display: inline-block; margin-bottom: 14px;
    font-size: 13px; font-weight: 600; color: #cdb98b; text-decoration: none;
}
.aird-fest__hero-back:hover { color: #F5C76E; }
.aird-fest__hero-title {
    margin: 0; font-family: 'Cinzel', Georgia, serif; font-size: 42px; font-weight: 700; line-height: 1.05;
    background: linear-gradient(180deg, #F8E3B0 8%, #E5A93D 90%);
    -webkit-background-clip: text; background-clip: text; color: transparent;
}
.aird-fest__hero-sub { margin: 10px auto 0; max-width: 640px; font-size: 14.5px; color: #cdb98b; }
/* Carte « fraîcheur » : +N events ajoutés cette semaine — highlight doré dans le
   bloc stats, à côté des totaux (2026-06-23). Reprend .aird-fest__hero-stat. */
.aird-fest__hero-stat--fresh {
    background: linear-gradient(180deg, #FBEAC4 0%, #F4D89B 100%);
    border-color: rgba(184, 130, 31, .55);
}
.aird-fest__hero-stat--fresh .aird-fest__hero-stat-num { color: #9a6a14; }
.aird-fest__hero-stats { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
/* Tuiles compteurs en CLAIR (LightCard dashboard) sur le hero sombre (2026-06-12) */
.aird-fest__hero-stat {
    display: flex; flex-direction: column; gap: 2px; min-width: 118px;
    padding: 12px 20px 10px; border-radius: 14px;
    background: linear-gradient(180deg, rgba(255, 253, 247, .96) 0%, rgba(252, 247, 235, .92) 100%);
    border: 1px solid rgba(212, 168, 74, .45);
    box-shadow: 0 1px 0 rgba(255, 255, 255, .85) inset, 0 12px 24px -12px rgba(0, 0, 0, .55);
}
.aird-fest__hero-stat-num { font-family: 'Cinzel', Georgia, serif; font-size: 24px; font-weight: 700; color: #b8821f; line-height: 1; }
.aird-fest__hero-stat-label { font-size: 10.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .09em; color: #6b5a40; }
@media (max-width: 640px) {
    .aird-fest__hero { margin: -28px calc(50% - 50vw) 22px; padding: 30px 16px 26px; }
    .aird-fest__hero-title { font-size: 30px; }
    .aird-fest__hero-stat { min-width: 104px; padding: 10px 16px 9px; }
    .aird-fest__hero-stat-num { font-size: 21px; }
}

/* ─── Responsive ───────────────────────────────────────────────────────── */
@media (max-width: 640px) {
    .aird-fest { padding: 28px 16px 60px; }
    .aird-fest__filter-label { min-width: 100%; padding-top: 0; }
    .aird-fest__filter-row { flex-direction: column; gap: 16px; }
    .aird-fest__filter-group--country { margin-left: 0; width: 100%; }
    .aird-fest__select-wrap, .aird-fest__select { width: 100%; }
    .aird-fest__count-num { font-size: 34px; }
    .aird-fest__hub-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ─── Mobile : cards événements en LISTE (1/ligne, affiche à gauche, infos à
      droite, format compact). Seuil 700px = celui où aird-cols.css force la
      grille 2 colonnes (on le surclasse en spécificité). (Demande 2026-06-12) */
@media (max-width: 700px) {
    .aird-fest__grid[data-aird-grid] { grid-template-columns: 1fr !important; gap: 10px; }

    /* Hauteur FIXE = cartes toutes identiques (alignées sur la plus compacte) ;
       l'img en absolute pour que le ratio de l'affiche ne pilote plus la ligne. */
    .aird-fest__card-link { display: grid; grid-template-columns: 98px minmax(0, 1fr); align-items: stretch; height: 118px; }
    .aird-fest__card-media { height: 100%; min-height: 0; }
    .aird-fest__card-img { position: absolute; inset: 0; }
    .aird-fest__card-img--ph span { font-size: 30px; }
    .aird-fest__card-pill { top: 6px; left: 6px; padding: 3px 8px; font-size: 9.5px; }
    .aird-fest__card-flag { top: auto; bottom: 6px; right: auto; left: 6px; padding: 2px 7px; font-size: 9.5px; }

    .aird-fest__card-body { min-width: 0; align-self: center; padding: 10px 12px 11px; }
    .aird-fest__card-title { font-size: 14px; }
    .aird-fest__card-date { margin-top: 4px; font-size: 12.5px; }
    .aird-fest__card-city { margin-top: 2px; font-size: 12px; }
    .aird-fest__card-tags { margin-top: 7px; gap: 4px; }
    .aird-fest__card-tag { padding: 2px 7px; font-size: 10.5px; }
}
