/* =========================================================================
   Association Kit - Club — feuille unique, zéro !important.
   Direction visuelle validée en prévisualisation (v4).

   Toutes les classes sont préfixées akc- : le plugin retire les styles du
   thème actif sur ses pages, mais pas ceux des autres extensions, donc on
   évite toute collision de nom.
   ========================================================================= */

@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Nunito+Sans:ital,opsz,wght@0,6..12,400;0,6..12,600;0,6..12,700;0,6..12,800;0,6..12,900;1,6..12,800&display=swap');

:root{
  --akc-ink:#1E2430;
  --akc-ink-deep:#151A23;
  --akc-cream:#F5F0E8;
  --akc-paper:#FFFDF9;
  --akc-primary:#F39200;

  /* Titre plein : 65% couleur principale / 35% noir.
     Pour #F39200 cela donne #9E5F00 = 4,53:1 sur crème — la cible AA de
     4,5:1 est atteinte sans quitter la famille de la couleur du club. */
  --akc-title-solid: color-mix(in srgb, var(--akc-primary) 65%, #000 35%);
  --akc-title-solid-on-dark: color-mix(in srgb, var(--akc-primary) 72%, #fff 28%);

  --akc-ghost: color-mix(in srgb, var(--akc-primary) 30%, var(--akc-cream));
  --akc-ghost-on-dark: color-mix(in srgb, var(--akc-primary) 19%, var(--akc-ink));
  --akc-primary-deep: color-mix(in srgb, var(--akc-primary) 78%, #000 22%);
  --akc-accent-text: color-mix(in srgb, var(--akc-primary) 60%, #000 40%);
  --akc-on-primary:#101614;
  --akc-primary-on-dark: color-mix(in srgb, var(--akc-primary) 72%, #fff 28%);

  --akc-muted:#626b78;
  --akc-muted-on-dark: rgba(255,255,255,.66);
  --akc-line: color-mix(in srgb, var(--akc-ink) 13%, var(--akc-cream));
  --akc-line-on-dark: rgba(255,255,255,.14);

  --akc-r:14px; --akc-r-sm:9px;
  --akc-shadow:0 10px 30px rgba(30,36,48,.07);
  --akc-shadow-lift:0 18px 44px rgba(30,36,48,.13);

  --akc-display:"Bebas Neue", Impact, "Arial Narrow Bold", sans-serif;
  --akc-body:"Nunito Sans", system-ui, -apple-system, "Segoe UI", sans-serif;

  --akc-shell:1180px;
  --akc-gutter:clamp(20px, 5vw, 52px);
  color-scheme: light;
}

*,*::before,*::after{box-sizing:border-box}

/* overflow-x:clip (et non hidden) : le titre fantôme déborde
   horizontalement et doit être rogné, mais sans créer de conteneur de
   défilement — sinon l'en-tête collant et les carrousels à débord
   négatif cessent de fonctionner. */
html{background:var(--akc-cream);overflow-x:clip}
body.akc-body{
  margin:0;background:var(--akc-cream);color:var(--akc-ink);
  font-family:var(--akc-body);font-size:16.5px;line-height:1.62;
  -webkit-font-smoothing:antialiased;
}
.akc-body img,.akc-body svg{display:block;max-width:100%}
.akc-body a{color:inherit}
.akc-body p{margin:0 0 14px}
.akc-body ul{margin:0;padding:0;list-style:none}
.akc-body button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.akc-body h1,.akc-body h2,.akc-body h3{font-family:var(--akc-display);font-weight:400;text-transform:uppercase;letter-spacing:.5px;line-height:.92;margin:0}

@media (prefers-reduced-motion: reduce){
  .akc-body *,.akc-body *::before,.akc-body *::after{animation-duration:.001ms;transition-duration:.001ms;scroll-behavior:auto}
}

.akc-body :is(a,button,input,select,textarea,summary):focus-visible{
  outline:3px solid var(--akc-ink);outline-offset:3px;border-radius:3px;
  box-shadow:0 0 0 6px color-mix(in srgb, var(--akc-paper) 92%, transparent);
}
.akc-on-dark :is(a,button,summary):focus-visible{
  outline-color:#fff;box-shadow:0 0 0 6px color-mix(in srgb, var(--akc-ink) 90%, transparent);
}

.akc-skip{position:absolute;left:14px;top:-60px;z-index:300;background:var(--akc-ink);color:#fff;padding:12px 20px;border-radius:0 0 8px 8px;font-weight:900;text-decoration:none}
.akc-skip:focus{top:0}
.akc-shell{max-width:var(--akc-shell);margin:0 auto;padding-inline:var(--akc-gutter)}

/* ---------- Titre fantôme ----------
   .akc-gt réserve la hauteur du fantôme via padding-top : aucun
   chevauchement possible avec ce qui précède, quelle que soit la
   longueur du mot. */
.akc-gt{position:relative;display:inline-block;padding-top:.46em;isolation:isolate}
.akc-gt__ghost{
  position:absolute;left:-.03em;top:0;z-index:0;display:inline-block;
  font-family:var(--akc-display);font-weight:400;text-transform:uppercase;
  font-size:1.58em;line-height:.86;letter-spacing:0;
  color:var(--akc-ghost);white-space:nowrap;pointer-events:none;user-select:none;
  transform:skewX(-8deg);transform-origin:0 100%;
}
.akc-gt__text{
  position:relative;z-index:1;display:inline-block;color:var(--akc-title-solid);
  transform:skewX(-8deg);transform-origin:0 100%;
}
.akc-on-dark .akc-gt__ghost{color:var(--akc-ghost-on-dark)}
.akc-on-dark .akc-gt__text{color:var(--akc-title-solid-on-dark)}

/* Sur-titre : display:flex (pas inline-flex) pour être de niveau bloc et
   toujours passer sous le titre, qui est lui-même en inline-block. */
.akc-eyebrow{
  display:flex;width:fit-content;align-items:center;gap:11px;margin:15px 0 0;
  color:var(--akc-accent-text);font-size:11.5px;font-weight:900;font-style:italic;
  letter-spacing:.16em;text-transform:uppercase;
}
.akc-eyebrow i{width:26px;height:2px;background:currentColor;opacity:.75;flex:0 0 auto}
.akc-on-dark .akc-eyebrow{color:var(--akc-primary-on-dark)}

/* ---------- En-tête ---------- */
.akc-header{position:sticky;top:0;z-index:120;background:color-mix(in srgb, var(--akc-cream) 88%, transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--akc-line)}
.akc-header__row{display:flex;align-items:center;gap:22px;min-height:78px}
.akc-brand{margin-right:auto;text-decoration:none;display:flex;align-items:center}
.akc-brand img{max-height:48px;width:auto}
.akc-brand__text{font-family:var(--akc-display);font-size:1.75rem;letter-spacing:.6px}
.akc-nav{display:flex;gap:1px;margin-left:auto}
.akc-nav a{position:relative;padding:9px 14px;text-decoration:none;font-weight:800;font-size:14.5px;border-radius:7px}
.akc-nav a::after{content:"";position:absolute;left:14px;right:14px;bottom:3px;height:2px;background:var(--akc-primary);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.akc-nav a:hover::after,.akc-nav a[aria-current="page"]::after{transform:scaleX(1)}
.akc-nav a[aria-current="page"]{color:var(--akc-accent-text)}
.akc-burger{display:none;width:44px;height:44px;border:1px solid var(--akc-line);border-radius:9px;background:var(--akc-paper);flex-direction:column;align-items:center;justify-content:center;gap:5px;margin-left:auto}
.akc-burger span{width:19px;height:2px;background:var(--akc-ink);border-radius:2px}

.akc-overlay{position:fixed;inset:0;background:rgba(20,24,30,.55);z-index:180}
.akc-drawer{position:fixed;top:0;right:0;bottom:0;width:min(87vw,350px);z-index:190;background:var(--akc-ink);color:#fff;transform:translateX(100%);transition:transform .24s ease;padding:22px;display:flex;flex-direction:column;overflow-y:auto}
.akc-drawer.is-open{transform:translateX(0)}
.akc-drawer__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.akc-drawer__head strong{font-family:var(--akc-display);font-size:1.4rem;font-weight:400}
.akc-drawer__close{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:19px}
.akc-drawer nav{display:flex;flex-direction:column}
.akc-drawer nav a{display:flex;align-items:center;min-height:54px;padding:14px 2px;border-bottom:1px solid var(--akc-line-on-dark);text-decoration:none;font-weight:800;font-size:16.5px;color:#fff}
.akc-drawer nav a[aria-current="page"]{color:var(--akc-primary-on-dark)}

/* ---------- Héros ---------- */
.akc-hero{padding:clamp(46px,6.5vw,80px) 0 clamp(44px,6vw,70px);border-bottom:1px solid var(--akc-line)}
.akc-hero__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,4vw,58px);align-items:end}
.akc-hero h1{font-size:clamp(3.2rem,9.5vw,6.4rem);letter-spacing:0}
.akc-hero__lede{margin-top:24px;max-width:44ch;color:var(--akc-muted);font-size:17.5px}
.akc-hero__lede p:last-child{margin-bottom:0}
.akc-hero__acts{display:flex;flex-wrap:wrap;gap:13px;margin-top:30px}
.akc-hero__side{display:flex;flex-direction:column;gap:12px;padding-bottom:6px}

.akc-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 26px;border-radius:999px;font-weight:900;font-size:15px;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease}
.akc-btn--fill{background:var(--akc-primary);color:var(--akc-on-primary);box-shadow:var(--akc-shadow)}
.akc-btn--fill:hover{transform:translateY(-2px);box-shadow:var(--akc-shadow-lift)}
.akc-btn--line{background:transparent;color:var(--akc-ink);border:1.5px solid var(--akc-ink)}
.akc-btn--line:hover{background:var(--akc-ink);color:var(--akc-paper)}

.akc-next{display:block;padding:22px 24px;background:var(--akc-paper);border:1px solid var(--akc-line);border-radius:var(--akc-r);text-decoration:none;transition:transform .16s ease,box-shadow .16s ease}
.akc-next:hover{transform:translateY(-2px);box-shadow:var(--akc-shadow)}
.akc-next small{display:block;font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--akc-accent-text);margin-bottom:9px}
.akc-next b{display:block;font-family:var(--akc-display);font-size:1.8rem;font-weight:400;letter-spacing:.4px;line-height:1}
.akc-next span{display:block;margin-top:6px;font-size:13.5px;font-weight:700;color:var(--akc-muted)}

/* ---------- Sections ---------- */
.akc-sec{padding:clamp(50px,6.5vw,86px) 0}
.akc-sec--tight{padding-top:clamp(34px,4vw,50px)}
.akc-sec__top{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:34px;flex-wrap:wrap}
.akc-sec__top h2{font-size:clamp(1.9rem,4.2vw,2.8rem)}
.akc-more{font-weight:900;font-size:14px;text-decoration:none;color:var(--akc-accent-text);white-space:nowrap;border-bottom:2px solid transparent;transition:border-color .16s ease}
.akc-more:hover{border-color:currentColor}
.akc-on-dark .akc-more{color:var(--akc-primary-on-dark)}
.akc-band{background:var(--akc-ink);color:#fff}

.akc-page{padding:clamp(34px,4vw,50px) 0 clamp(56px,7vw,92px)}
.akc-page-header{padding:clamp(42px,5.5vw,70px) 0 clamp(30px,4vw,42px);border-bottom:1px solid var(--akc-line)}
.akc-page-header h1{font-size:clamp(2.6rem,7vw,4.8rem)}
.akc-page-header .akc-content{margin-top:22px;max-width:56ch;color:var(--akc-muted);font-size:17px}
.akc-content p:last-child{margin-bottom:0}
.akc-empty{color:var(--akc-muted);padding:24px 0}

/* ---------- Chiffres ---------- */
.akc-figs{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--akc-line);border:1px solid var(--akc-line);border-radius:var(--akc-r);overflow:hidden}
.akc-fig{padding:34px 26px;background:var(--akc-paper);text-align:center}
.akc-fig b{display:block;font-family:var(--akc-display);font-size:clamp(3.4rem,7vw,5rem);font-weight:400;line-height:.86;color:var(--akc-primary);letter-spacing:1px}
.akc-fig span{display:block;margin-top:10px;font-size:12.5px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;color:var(--akc-ink)}

/* ---------- Catégories ---------- */
.akc-cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.akc-cat{display:flex;flex-direction:column;justify-content:flex-end;min-height:168px;padding:24px;background:var(--akc-paper);border:1px solid var(--akc-line);border-radius:var(--akc-r);text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}
.akc-cat:hover{transform:translateY(-3px);box-shadow:var(--akc-shadow-lift)}
.akc-cat b{font-family:var(--akc-display);font-size:1.95rem;font-weight:400;letter-spacing:.4px;line-height:1;color:var(--akc-ink)}
.akc-cat span{margin-top:6px;font-size:13px;font-weight:800;color:var(--akc-muted)}
.akc-cat em{margin-top:16px;font-style:normal;font-size:13px;font-weight:900;color:var(--akc-accent-text)}

/* ---------- Cours ---------- */
.akc-grp{margin-bottom:clamp(44px,6vw,70px)}
.akc-grp:last-child{margin-bottom:0}
.akc-grp__head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:26px;padding-bottom:14px;border-bottom:2px solid var(--akc-ink)}
.akc-grp__head h2{font-size:clamp(1.6rem,3.4vw,2.2rem)}
/* Classe dédiée : un sélecteur .akc-grp__head span attraperait aussi les
   deux spans du titre fantôme et les écraserait. */
.akc-grp__count{font-size:12.5px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--akc-muted);white-space:nowrap;padding-bottom:4px}

.akc-courses{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px}
.akc-course{display:flex;flex-direction:column;background:var(--akc-paper);border:1px solid var(--akc-line);border-radius:var(--akc-r);overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}
.akc-course:hover{transform:translateY(-3px);box-shadow:var(--akc-shadow-lift)}
/* Complet ou fermé : la carte recule visuellement et ne réagit plus au
   survol, puisqu'il n'y a rien à y faire. */
.akc-course--off{background:color-mix(in srgb,var(--akc-ink) 4%,var(--akc-cream))}
.akc-course--off:hover{transform:none;box-shadow:none}
.akc-course--off .akc-course__slot{background:#565E6B}
.akc-course--off .akc-course__body h3,.akc-course--off .akc-price{color:var(--akc-muted)}
.akc-course__slot{padding:15px 20px;background:var(--akc-ink);color:#fff}
.akc-course__slot b{font-family:var(--akc-display);font-size:1.3rem;font-weight:400;letter-spacing:.5px;line-height:1.05}
.akc-course__body{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1}
.akc-course__body h3{font-family:var(--akc-body);font-weight:900;font-size:1.12rem;text-transform:none;letter-spacing:normal;line-height:1.25}
/* Hiérarchie fixe : âge, moniteur, lieu. Une info absente est omise. */
.akc-course__meta{display:flex;flex-wrap:wrap;align-items:center;gap:5px 14px;font-size:13.5px;font-weight:700;color:var(--akc-muted)}
.akc-course__meta li{display:flex;align-items:center;gap:7px}
.akc-course__meta svg{width:14px;height:14px;opacity:.55;flex:0 0 auto}
.akc-course__note{font-size:13px;color:var(--akc-muted);margin:0}
.akc-course__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:15px;border-top:1px solid var(--akc-line)}
.akc-price{font-family:var(--akc-display);font-size:1.45rem;font-weight:400;letter-spacing:.4px;color:var(--akc-ink)}
.akc-course__cta{margin-top:14px;padding:11px 20px;font-size:14px}

.akc-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.akc-tag::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.akc-tag--open{color:#1f6b39;background:color-mix(in srgb,#2E7D46 14%,var(--akc-paper))}
.akc-tag--full{color:var(--akc-ink);background:color-mix(in srgb,var(--akc-ink) 11%,var(--akc-paper))}
.akc-tag--soon{color:var(--akc-accent-text);background:color-mix(in srgb,var(--akc-primary) 19%,var(--akc-paper))}
.akc-tag--closed{color:#7a2b2b;background:color-mix(in srgb,#7a1f1f 10%,var(--akc-paper))}

/* ---------- Agenda ---------- */
.akc-evts{display:flex;flex-direction:column}
.akc-evt{display:grid;grid-template-columns:auto 1fr auto;gap:26px;align-items:center;padding:24px 0;border-bottom:1px solid var(--akc-line-on-dark)}
.akc-evt:first-child{border-top:1px solid var(--akc-line-on-dark)}
.akc-evt__date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:78px;height:78px;border:1px solid var(--akc-line-on-dark);border-radius:var(--akc-r-sm);flex:0 0 auto}
.akc-evt__date b{font-family:var(--akc-display);font-size:2.1rem;font-weight:400;line-height:.95;color:var(--akc-primary-on-dark)}
.akc-evt__date span{font-size:10.5px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--akc-muted-on-dark);margin-top:2px}
.akc-evt__main h3{font-size:1.65rem;color:#fff;margin-bottom:5px}
.akc-evt__main p{font-size:14px;font-weight:700;color:var(--akc-muted-on-dark);margin:0}
.akc-ics{display:inline-flex;align-items:center;gap:8px;padding:10px 17px;border:1.5px solid rgba(255,255,255,.42);border-radius:999px;color:#fff;text-decoration:none;font-size:13px;font-weight:900;white-space:nowrap;transition:background .16s ease,color .16s ease}
.akc-ics:hover{background:#fff;color:var(--akc-ink)}
.akc-ics svg{width:15px;height:15px}

.akc-evts--light .akc-evt{border-bottom-color:var(--akc-line)}
.akc-evts--light .akc-evt:first-child{border-top-color:var(--akc-line)}
.akc-evts--light .akc-evt__date{border-color:var(--akc-line);background:var(--akc-paper)}
.akc-evts--light .akc-evt__date b{color:var(--akc-primary-deep)}
.akc-evts--light .akc-evt__date span{color:var(--akc-muted)}
.akc-evts--light .akc-evt__main h3{color:var(--akc-ink)}
.akc-evts--light .akc-evt__main p{color:var(--akc-muted)}
.akc-evts--light .akc-ics{border-color:var(--akc-ink);color:var(--akc-ink)}
.akc-evts--light .akc-ics:hover{background:var(--akc-ink);color:var(--akc-paper)}

/* ---------- Équipe ---------- */
.akc-team-grp{margin-bottom:44px}
.akc-team-grp:last-child{margin-bottom:0}
.akc-team-grp__head{display:flex;align-items:baseline;gap:14px;margin-bottom:20px;padding-bottom:11px;border-bottom:1px solid var(--akc-line)}
.akc-team-grp__head h2{font-size:1.35rem;color:var(--akc-ink)}
.akc-team-count{font-size:12px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--akc-muted)}

.akc-people{display:grid;grid-template-columns:repeat(auto-fill,minmax(184px,1fr));gap:18px}
/* Pas d'effet de survol : ces cartes ne sont pas cliquables. */
.akc-person{background:var(--akc-paper);border:1px solid var(--akc-line);border-radius:var(--akc-r);overflow:hidden}
.akc-person__ph{aspect-ratio:4/5;overflow:hidden;background:color-mix(in srgb,var(--akc-ink) 6%,var(--akc-paper))}
.akc-person__ph img{width:100%;height:100%;object-fit:cover;object-position:var(--akc-focal,center top)}
.akc-person__body{padding:15px 16px 18px}
.akc-person__body h3{font-family:var(--akc-body);font-weight:900;font-size:1rem;text-transform:none;letter-spacing:normal;line-height:1.3}
.akc-person__body p{margin:3px 0 0;font-size:12.5px;font-weight:700;color:var(--akc-muted);line-height:1.4}
.akc-person__acts{display:flex;gap:8px;margin-top:13px}
.akc-pill{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--akc-line);border-radius:50%;background:var(--akc-cream);color:var(--akc-ink)}
.akc-pill:hover{border-color:var(--akc-primary);color:var(--akc-accent-text)}
.akc-pill svg{width:17px;height:17px}

/* ---------- Repli visuel quand aucune photo ---------- */
.akc-ph{display:flex;align-items:center;justify-content:center;color:var(--akc-muted);background:
  repeating-linear-gradient(135deg,
    color-mix(in srgb,var(--akc-ink) 7%,var(--akc-paper)) 0 11px,
    color-mix(in srgb,var(--akc-ink) 3.5%,var(--akc-paper)) 11px 22px)}
.akc-ph svg{width:26px;height:26px;opacity:.4}

/* ---------- Galerie ---------- */
.akc-albums{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.akc-album{position:relative;display:block;border-radius:var(--akc-r);overflow:hidden;text-decoration:none;color:#fff;transition:transform .18s ease,box-shadow .18s ease}
.akc-album:hover{transform:translateY(-3px);box-shadow:var(--akc-shadow-lift)}
.akc-album__media{aspect-ratio:4/3;overflow:hidden}
.akc-album__media img{width:100%;height:100%;object-fit:cover;object-position:var(--akc-focal,center)}
.akc-album__cap{position:absolute;left:0;right:0;bottom:0;padding:34px 18px 16px;background:linear-gradient(180deg,rgba(20,24,30,0),rgba(20,24,30,.86))}
.akc-album__cap b{display:block;font-family:var(--akc-display);font-size:1.5rem;font-weight:400;letter-spacing:.4px}
.akc-album__cap span{display:block;font-size:12.5px;font-weight:800;opacity:.86}

/* ---------- Documents ---------- */
.akc-docs{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px}
.akc-doc{display:flex;flex-direction:column;background:var(--akc-paper);border:1px solid var(--akc-line);border-radius:var(--akc-r);overflow:hidden;text-decoration:none;color:var(--akc-ink);transition:transform .18s ease,box-shadow .18s ease}
.akc-doc:hover{transform:translateY(-3px);box-shadow:var(--akc-shadow-lift)}
.akc-doc__prev{position:relative;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;background:
  repeating-linear-gradient(135deg,
    color-mix(in srgb,var(--akc-ink) 7%,var(--akc-paper)) 0 11px,
    color-mix(in srgb,var(--akc-ink) 3.5%,var(--akc-paper)) 11px 22px)}
.akc-doc__prev svg{width:42px;height:42px;color:var(--akc-muted);opacity:.42}
.akc-doc__ext{position:absolute;top:12px;left:12px;padding:5px 10px;border-radius:6px;background:var(--akc-primary);color:var(--akc-on-primary);font-family:var(--akc-display);font-size:12px;letter-spacing:.6px}
.akc-doc__body{padding:16px 18px 18px}
.akc-doc__body b{display:block;font-size:15.5px;font-weight:900;line-height:1.3}
.akc-doc__body span{display:block;font-size:12.5px;font-weight:700;color:var(--akc-muted);margin-top:5px}
.akc-doc__dl{display:inline-flex;align-items:center;gap:7px;margin-top:12px;font-size:13px;font-weight:900;color:var(--akc-accent-text)}
.akc-doc__dl svg{width:14px;height:14px}

/* ---------- Contact ---------- */
.akc-ct{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,52px);align-items:start}
.akc-ct__row{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--akc-line)}
.akc-ct__row:first-child{border-top:1px solid var(--akc-line)}
.akc-ct__row svg{width:20px;height:20px;color:var(--akc-accent-text);flex:0 0 auto;margin-top:3px}
.akc-ct__row b{display:block;font-size:11.5px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;color:var(--akc-muted);margin-bottom:3px}
.akc-ct__row span{font-size:16px;font-weight:700}
/* Les lieux reprennent la trame exacte des lignes de contact : pas de
   pastille numérotée (jamais alignée avec un texte sur deux lignes) ni de
   carte encadrée (trop de hauteur pour trois lignes). */
.akc-venues{margin-top:4px}
.akc-venues .akc-ct__row:first-child{border-top:0}
.akc-venues .akc-ct__row span{font-size:15px;font-weight:800}
.akc-venues .akc-ct__row em{display:block;font-style:normal;font-size:13px;font-weight:700;color:var(--akc-muted);margin-top:2px}

/* ---------- Appel final ---------- */
.akc-fcta{padding:clamp(54px,7.5vw,90px) 0;text-align:center}
.akc-fcta .akc-gt{display:inline-block}
.akc-fcta h2{font-size:clamp(2rem,5.5vw,3.6rem)}
.akc-fcta .akc-eyebrow{margin-inline:auto}
.akc-fcta p{margin:22px auto 30px;max-width:48ch;color:var(--akc-muted-on-dark)}

/* ---------- Pied de page ---------- */
.akc-footer{background:var(--akc-ink-deep);color:rgba(255,255,255,.8);padding:56px 0 26px}
.akc-footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:38px;padding-bottom:30px;border-bottom:1px solid var(--akc-line-on-dark)}
.akc-footer__brand{font-family:var(--akc-display);font-size:1.9rem;color:#fff;letter-spacing:.5px}
.akc-footer__brand+p{margin-top:10px;max-width:32ch;font-size:14px;color:rgba(255,255,255,.58)}
.akc-footer h4{font-size:11.5px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5);margin:0 0 13px}
.akc-footer a{display:block;padding:6px 0;text-decoration:none;font-size:14.5px;color:rgba(255,255,255,.86)}
.akc-footer a:hover{color:var(--akc-primary-on-dark)}
.akc-footer__btm{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;padding-top:22px;font-size:12.5px;color:rgba(255,255,255,.58)}

/* ---------- Responsive ---------- */
@media (max-width:1000px){
  .akc-hero__grid{grid-template-columns:1fr;align-items:start}
  .akc-hero__side{padding-bottom:0}
  .akc-ct{grid-template-columns:1fr}
  .akc-footer__grid{grid-template-columns:1fr 1fr}
  .akc-footer__grid>div:first-child{grid-column:span 2}
}
@media (max-width:820px){
  .akc-nav{display:none}
  .akc-burger{display:flex}
  .akc-header__row{min-height:68px}
  .akc-brand img{max-height:40px}

  /* Les grilles deviennent des carrousels : ~10% de la carte suivante
     reste visible, ce qui signale qu'il y a du contenu à droite. */
  .akc-swipe{
    display:flex;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;
    margin-inline:calc(var(--akc-gutter) * -1);
    padding-inline:var(--akc-gutter);padding-bottom:6px;gap:14px;
  }
  .akc-swipe::-webkit-scrollbar{display:none}
  .akc-swipe > *{flex:0 0 89%;scroll-snap-align:start}
}
@media (max-width:560px){
  .akc-figs{grid-template-columns:1fr}
  .akc-fig{padding:24px 20px}
  .akc-fig b{font-size:3rem}
  .akc-hero__acts .akc-btn{flex:1 1 100%}
  .akc-evt{grid-template-columns:auto 1fr;gap:16px}
  .akc-evt .akc-ics{grid-column:1 / -1;justify-self:start}
  .akc-swipe > *{flex:0 0 90%}
}

/* =========================================================================
   AGENDA EN DEUX COLONNES — calendrier à gauche, liste à droite.
   ========================================================================= */
.akc-agenda{display:grid;grid-template-columns:300px 1fr;gap:clamp(24px,3.5vw,44px);align-items:start}
.akc-agenda__cal{position:sticky;top:100px;display:flex;flex-direction:column;gap:14px}
.akc-agenda__list{min-width:0}

.akc-cal{background:var(--akc-paper);border:1px solid var(--akc-line);border-radius:var(--akc-r);padding:16px 18px 18px}
/* Intitulé de mois affiché tel quel tant que le script n'a pas pris la
   main : sans JavaScript, les mois restent empilés et titrés. */
.akc-cal__head{font-family:var(--akc-display);font-size:1.25rem;letter-spacing:.5px;text-transform:uppercase;color:var(--akc-ink);margin-bottom:12px}
.akc-cal__month + .akc-cal__month{margin-top:20px}

/* Barre de navigation, ajoutée par le script uniquement. */
.akc-cal__nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.akc-cal__label{flex:1;text-align:center;font-family:var(--akc-display);font-size:1.25rem;letter-spacing:.5px;text-transform:uppercase;color:var(--akc-ink)}
.akc-cal__arrow{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex:0 0 auto;border:1px solid var(--akc-line);border-radius:50%;background:var(--akc-cream);color:var(--akc-ink);font-size:19px;line-height:1}
.akc-cal__arrow:hover:not(:disabled){border-color:var(--akc-primary);color:var(--akc-accent-text)}
.akc-cal__arrow:disabled{opacity:.32;cursor:default}
.akc-cal.is-interactive .akc-cal__month > .akc-cal__head{display:none}
.akc-cal.is-interactive .akc-cal__month + .akc-cal__month{margin-top:0}
.akc-cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.akc-cal__dow{display:flex;align-items:center;justify-content:center;height:26px;font-size:10.5px;font-weight:900;letter-spacing:.06em;color:var(--akc-muted)}
.akc-cal__pad{height:34px}
.akc-cal__day{display:flex;align-items:center;justify-content:center;height:34px;border-radius:8px;font-size:13px;font-weight:700;color:var(--akc-muted);text-decoration:none}
.akc-cal__day--today{box-shadow:inset 0 0 0 1.5px var(--akc-line);color:var(--akc-ink)}
/* Un jour porteur d'évènement : pastille pleine, cliquable vers la fiche. */
.akc-cal__day--on{background:var(--akc-primary);color:var(--akc-on-primary);font-weight:900}
.akc-cal__day--on:hover{background:var(--akc-primary-deep);color:#fff}

/* La fiche visée par le calendrier s'écarte du bord haut collant. */
.akc-agenda .akc-evt{scroll-margin-top:110px}

/* =========================================================================
   CARTE DES LIEUX
   ========================================================================= */
.akc-map{height:420px;border:1px solid var(--akc-line);border-radius:var(--akc-r);overflow:hidden;background:color-mix(in srgb,var(--akc-ink) 5%,var(--akc-paper))}
.akc-map .leaflet-control-attribution{font-size:10px}

/* Repère numéroté, dessiné en CSS : pas d'image à héberger. */
.akc-pin{background:none;border:0}
.akc-pin span{
  display:flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:50% 50% 50% 4px;transform:rotate(-45deg);
  background:var(--akc-primary);color:var(--akc-on-primary);
  border:2px solid var(--akc-paper);box-shadow:0 4px 12px rgba(30,36,48,.3);
  font-family:var(--akc-body);font-size:14px;font-weight:900;
}
.akc-pin span::before{content:"";position:absolute;transform:rotate(45deg)}
.akc-pin span{position:relative}

/* Le numéro de la liste reprend celui du repère sur la carte. */
.akc-venue__n{
  display:flex;align-items:center;justify-content:center;flex:0 0 auto;
  width:22px;height:22px;margin-top:2px;border-radius:50%;
  background:var(--akc-primary);color:var(--akc-on-primary);
  font-size:12px;font-weight:900;
}

@media (max-width:900px){
  .akc-agenda{grid-template-columns:1fr}
  .akc-agenda__cal{position:static}
  .akc-cal{max-width:340px}
  .akc-map{height:340px}
}

/* =========================================================================
   COMPTE À REBOURS D'OUVERTURE DES INSCRIPTIONS
   ========================================================================= */
.akc-cd__inner{padding:clamp(44px,6vw,72px) 0;text-align:center}
.akc-cd__state[hidden]{display:none}
.akc-cd .akc-gt{display:inline-block}
.akc-cd h2{font-size:clamp(1.9rem,4.6vw,3rem)}

.akc-cd__timer{display:flex;justify-content:center;flex-wrap:wrap;gap:clamp(14px,3vw,34px);margin-top:28px}
.akc-cd__unit{min-width:78px}
.akc-cd__unit b{
  display:block;font-family:var(--akc-display);font-weight:400;
  font-size:clamp(2.8rem,7vw,4.4rem);line-height:.9;letter-spacing:1px;
  color:var(--akc-primary-on-dark);
  /* Largeur de chiffre fixe : les nombres ne dansent pas d'une seconde
     à l'autre. */
  font-variant-numeric:tabular-nums;
}
.akc-cd__unit span{display:block;margin-top:7px;font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--akc-muted-on-dark)}
.akc-cd__when{margin-top:24px;font-size:14.5px;font-weight:700;color:var(--akc-muted-on-dark)}
.akc-cd__when::first-letter{text-transform:uppercase}
.akc-cd__btn{margin-top:26px}

@media (max-width:560px){
  .akc-cd__timer{gap:12px}
  .akc-cd__unit{min-width:64px}
}

/* =========================================================================
   ALBUM OUVERT SEUL — mise en forme du bloc Galerie natif de WordPress,
   que le plugin ne génère pas lui-même mais doit habiller.
   ========================================================================= */
.akc-album-body .wp-block-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;list-style:none;margin:0;padding:0}
.akc-album-body .wp-block-image,
.akc-album-body .wp-block-gallery figure{margin:0}
.akc-album-body .wp-block-gallery img,
.akc-album-body .wp-block-image img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--akc-r-sm);display:block}
.akc-album-body figcaption{font-size:12.5px;color:var(--akc-muted);margin-top:6px}
