/* Styles du thème AFA (d'après References/maquette-site/style.css). */

/* ===== En-tête (partie de modèle header.html) ===== */
/* Barre fixe en haut de l'écran (sous la barre d'administration si elle est affichée) */
header.wp-block-template-part{position:sticky;top:var(--wp-admin--admin-bar--height,0px);z-index:20}
@media(max-width:600px){header.wp-block-template-part{top:0}}

/* Logo : réserve de 56 px dans la barre, médaillon qui déborde sur le bandeau.
   Hauteur : 56 px à 390 px de large → 112 px à 1440 px, progressivement. */
.afa-entete .wp-block-site-logo{--logo-h:clamp(56px,35.2px + 5.333vw,112px);
  position:relative;flex:0 0 auto;height:56px;width:calc(2*var(--logo-h) + 28px);transition:width .3s ease}
.afa-entete .wp-block-site-logo a{position:absolute;top:-8px;left:0;display:block;background:var(--wp--preset--color--base);border-radius:16px;padding:10px 14px;transition:top .3s ease,padding .3s ease,background-color .3s ease}
/* Ombre limitée à la partie qui déborde sous la barre (81 px = 16 + 56 + 16 + 1 − 8) */
.afa-entete .wp-block-site-logo a::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;
  box-shadow:0 8px 24px rgba(1,68,133,.18);clip-path:inset(81px -40px -40px -40px);transition:opacity .3s ease}
.afa-entete .wp-block-site-logo img{display:block;height:var(--logo-h);width:auto !important;max-width:none;transition:height .3s ease}
/* Au défilement : 56 px, plus de débordement */
.afa-entete.is-scrolled .wp-block-site-logo{width:112px}
.afa-entete.is-scrolled .wp-block-site-logo a{top:0;padding:0;background-color:transparent}
.afa-entete.is-scrolled .wp-block-site-logo a::before{opacity:0}
.afa-entete.is-scrolled .wp-block-site-logo img{height:56px}
@media(max-width:860px){
  .afa-entete.is-scrolled .wp-block-site-logo{width:88px}
  .afa-entete.is-scrolled .wp-block-site-logo img{height:44px}
}
@media(prefers-reduced-motion:reduce){.afa-entete .wp-block-site-logo,.afa-entete .wp-block-site-logo a,.afa-entete .wp-block-site-logo a::before,.afa-entete .wp-block-site-logo img{transition:none}}

/* ===== Menu (bloc Navigation) ===== */
.afa-entete .wp-block-navigation{font-weight:600}
.afa-entete .wp-block-navigation a{color:var(--wp--preset--color--contrast);text-decoration:none}
.afa-entete .wp-block-navigation a:hover{color:var(--wp--preset--color--secondary)}
/* Page en cours et rubrique parente : soulignement rouge */
.afa-entete .wp-block-navigation-item.current-menu-item>a,
.afa-entete .wp-block-navigation-item.current-menu-ancestor>a,
.afa-entete .wp-block-navigation a[aria-current="page"]{color:var(--wp--preset--color--accent-3);text-decoration:underline;text-decoration-color:var(--wp--preset--color--cta);text-decoration-thickness:3px;text-underline-offset:8px}
/* Sous-menu */
.afa-entete .wp-block-navigation .wp-block-navigation__submenu-container{border:1px solid var(--wp--preset--color--accent-6);border-radius:8px;box-shadow:0 8px 24px rgba(1,68,133,.12);padding:8px 0;min-width:220px}
.afa-entete .wp-block-navigation .wp-block-navigation__submenu-container a{padding:8px 16px}
.afa-entete .wp-block-navigation .wp-block-navigation__submenu-container .current-menu-item>a{text-decoration:none;font-weight:700;box-shadow:inset 3px 0 0 var(--wp--preset--color--cta)}
/* Menu poussé à droite, bouton « S'abonner » (bloc Boutons) après le menu, toujours visible */
.afa-entete .wp-block-navigation{margin-left:auto}
.afa-entete .afa-entete-bouton{flex:none}
@media(max-width:600px){
  .afa-entete .wp-block-group{gap:16px}
}

/* ===== Pied de page (partie de modèle footer.html) ===== */
.afa-pied{color:#cfe0ee;font-size:.95rem}
.afa-pied h2,.afa-pied h3,.afa-pied h4,.afa-pied .wp-block-site-title{color:var(--wp--preset--color--base)}
.afa-pied a{color:#cfe0ee;text-decoration:none}
.afa-pied a:hover{color:var(--wp--preset--color--base);text-decoration:underline}
.afa-pied .afa-pied-liens p{margin:4px 0}
.afa-pied .afa-pied-legal{border-top:1px solid rgba(255,255,255,.15);padding-top:20px;font-size:.85rem}

/* ===== Styles de bloc « Diagonales », « Bulles + diagonales », « Bulles » (bloc Groupe) =====
   D = section portant un style à diagonales.
   - Un bord n'est incliné que si la section voisine de ce côté est aussi une D (sinon il reste droit).
   - Le sens de la pente alterne selon le rang de la section parmi les D sœurs (une sur deux).
     Le bas de la D n° k et le haut de la D n° k+1 suivent la même ligne : les jonctions restent
     raccordées quand on ajoute, supprime ou déplace une section.
   - Chaque bord incliné occupe une bande de --bord-h ajoutée en bordure transparente (le fond s'y prolonge)
     et deux D voisines se chevauchent exactement de --bord-h. */
:root{--bord-h:48px}
@media(max-width:860px){:root{--bord-h:24px}}
:is(.is-style-diagonales,.is-style-bulles-diagonales){
  --tl:0px;--tr:0px;--bl:0px;--br:0px;--bt:0px;--bb:0px;
  clip-path:polygon(0 var(--tl),100% var(--tr),100% calc(100% - var(--br)),0 calc(100% - var(--bl)))}
/* Haut incliné : la section précédente est une D */
:is(.is-style-diagonales,.is-style-bulles-diagonales) + :is(.is-style-diagonales,.is-style-bulles-diagonales){
  --bt:var(--bord-h);margin-block-start:calc(-1*var(--bord-h)) !important;border-top:var(--bord-h) solid transparent}
/* Bas incliné : la section suivante est une D */
:is(.is-style-diagonales,.is-style-bulles-diagonales):has(+ :is(.is-style-diagonales,.is-style-bulles-diagonales)){
  --bb:var(--bord-h);border-bottom:var(--bord-h) solid transparent}
/* Sens de la pente : D impaires = bas montant vers la droite, D paires = bas descendant */
:is(.is-style-diagonales,.is-style-bulles-diagonales):nth-child(odd of .is-style-diagonales,.is-style-bulles-diagonales):has(+ :is(.is-style-diagonales,.is-style-bulles-diagonales)){--br:var(--bord-h)}
:is(.is-style-diagonales,.is-style-bulles-diagonales):nth-child(even of .is-style-diagonales,.is-style-bulles-diagonales):has(+ :is(.is-style-diagonales,.is-style-bulles-diagonales)){--bl:var(--bord-h)}
:is(.is-style-diagonales,.is-style-bulles-diagonales) + :is(.is-style-diagonales,.is-style-bulles-diagonales):nth-child(even of .is-style-diagonales,.is-style-bulles-diagonales){--tl:var(--bord-h)}
:is(.is-style-diagonales,.is-style-bulles-diagonales) + :is(.is-style-diagonales,.is-style-bulles-diagonales):nth-child(odd of .is-style-diagonales,.is-style-bulles-diagonales){--tr:var(--bord-h)}

/* Bulles : fond bleu uni, canvas animé (assets/js/bulles.js) derrière le contenu */
:is(.is-style-bulles,.is-style-bulles-diagonales){position:relative;isolation:isolate;overflow:hidden;
  background-color:var(--wp--preset--color--accent-3);color:var(--wp--preset--color--base)}
/* Avec diagonales : la découpe est faite par clip-path ; le canvas couvre aussi les bandes de bordure */
.is-style-bulles-diagonales{overflow:visible}
.afa-bulles{position:absolute;left:0;right:0;top:calc(-1*var(--bt,0px));bottom:calc(-1*var(--bb,0px));
  width:100%;height:calc(100% + var(--bt,0px) + var(--bb,0px));z-index:-1;opacity:.16;pointer-events:none;
  max-width:none !important;margin:0 !important} /* hors de la largeur de contenu du Groupe */
/* Lisibilité : texte blanc et halo couleur du fond autour des lettres */
:is(.is-style-bulles,.is-style-bulles-diagonales) :is(h1,h2,h3,h4,h5,h6){color:var(--wp--preset--color--base)}
:is(.is-style-bulles,.is-style-bulles-diagonales) :is(h1,h2,h3,p){text-shadow:0 0 2px #014485,0 0 2px #014485,0 0 6px #014485,0 0 6px #014485,0 0 12px #014485,0 0 20px rgba(1,68,133,.8),0 0 30px #014485,0 0 40px #014485}
/* Bouton rouge sur fond à bulles : contour blanc de 2 px tracé à l'intérieur */
:is(.is-style-bulles,.is-style-bulles-diagonales) .wp-block-button__link{box-shadow:inset 0 0 0 2px var(--wp--preset--color--base)}

/* ===== Compositions (patterns/) ===== */
/* Cartes : texte secondaire, lien rouge en bas */
.afa-carte h3{font-size:1.2rem;margin:0}
.afa-carte .afa-carte-texte{color:var(--wp--preset--color--accent-4);flex:1;margin:0}
.afa-lien-plus{margin:0}
.afa-lien-plus a{font-weight:700;text-decoration:none;color:var(--wp--preset--color--cta)}
.afa-lien-plus a:hover{text-decoration:underline}
/* Pastille de date : largeur du texte, position selon la justification de la carte (à gauche si « étirer ») */
.afa-pastille{width:fit-content;margin:0;background:var(--wp--preset--color--accent-3);color:var(--wp--preset--color--base);border-radius:6px;padding:6px 12px;font-weight:800;font-size:.9rem}
/* Carte d archive : année dans un carré */
.afa-archive-annee{flex:0 0 72px;height:72px;margin:0;border-radius:8px;background:var(--wp--preset--color--accent-5);color:var(--wp--preset--color--accent-3);display:grid;place-items:center;font-size:1.1rem;font-weight:800}
.afa-archive .afa-carte-texte{font-size:.95rem}
/* Encart Journées : sur-titre, ombre de la carte, bouton contour blanc */
.afa-surtitre{text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;font-weight:700;color:var(--wp--preset--color--accent-2) !important}
.afa-encart-carte{box-shadow:0 10px 30px rgba(1,68,133,.12)}
.afa-encart-carte .is-style-outline .wp-block-button__link{background:transparent;color:var(--wp--preset--color--base);border:2px solid currentColor;box-shadow:none}
/* Bandeau sponsors : logos dans des cadres blancs */
.afa-sponsors .wp-block-image{margin:0;background:var(--wp--preset--color--base);border:1px solid var(--wp--preset--color--accent-6);border-radius:8px;padding:18px 26px;display:grid;place-items:center;width:180px;height:100px;box-sizing:border-box}
.afa-sponsors .wp-block-image img{max-height:56px;max-width:100%;width:auto;height:auto;object-fit:contain}
/* Sur-titre de section (petites capitales bleues, comme « Ils nous soutiennent » dans la maquette) */
.afa-surtitre-section{text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;font-weight:700;color:var(--wp--preset--color--secondary)}

/* ===== Modèles (templates/) ===== */
/* Pas d'espace entre l'en-tête, le contenu et le pied de page : le bandeau colle à l'en-tête,
   la dernière section colle au pied de page */
.wp-site-blocks > .afa-principal,.wp-site-blocks > footer.wp-block-template-part{margin-block-start:0}
.afa-principal > .wp-block-post-content > :first-child{margin-block-start:0}
/* Ancres : le contenu ne passe pas sous la barre de menu fixe */
.afa-principal [id]{scroll-margin-top:110px}

/* ===== Contenu des pages ===== */
/* Contenu provisoire, à remplacer avant la mise en ligne (surlignage du texte, format natif) */
mark.a-rediger{background:#FFF4CC !important;color:#5C4400 !important;border-radius:4px;padding:0 .3em;font-weight:700;text-shadow:none}
/* Bloc de contenu à venir */
.afa-a-venir{border:2px dashed var(--wp--preset--color--accent-6);border-radius:10px;padding:48px 32px;text-align:center;color:var(--wp--preset--color--accent-4)}
/* Bandeau d'accueil : grand titre, texte, phrase d'accroche */
.afa-accueil h1{max-width:780px}
.afa-accueil p{max-width:640px;color:#dbe7f1;font-size:1.15rem}
.afa-accueil p.afa-accroche{color:var(--wp--preset--color--base);font-weight:700;font-size:1.2rem}
/* Sous-menu d'ancres dans un bandeau (bloc Liste) */
.afa-ancres{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:28px;padding:0;list-style:none}
.afa-ancres a{color:var(--wp--preset--color--base);text-shadow:0 0 6px #014485,0 0 12px #014485;font-weight:600;text-decoration:none;display:inline-flex;gap:8px;align-items:center}
.afa-ancres a::before{content:"↓";color:var(--wp--preset--color--accent-2)}
.afa-ancres a:hover{text-decoration:underline;text-underline-offset:6px}
/* Ligne titre + lien « Tout voir » */
.afa-tete-section{margin-bottom:28px}
.afa-tete-section h2{margin:0}
/* Missions : numéro dans un carré */
.afa-num{width:44px;height:44px;margin:0;border-radius:8px;background:var(--wp--preset--color--accent-3);color:var(--wp--preset--color--base);display:grid;place-items:center;font-weight:800}
.afa-note{color:var(--wp--preset--color--accent-4);font-size:.95rem}
/* Bureau : emplacement de photo (pas un bloc Image, dont les réglages de dimensions doivent primer) */
.afa-photo-vide:not(.wp-block-image){width:72px;height:72px;margin:0;border-radius:50%;background:var(--wp--preset--color--accent-5);border:2px dashed var(--wp--preset--color--accent-6);display:grid;place-items:center;font-size:.7rem;color:var(--wp--preset--color--accent-4)}
/* Style « Photo de membre » (bloc Image) : rond de 120 px, centré, image recadrée */
.wp-block-image.is-style-photo-membre{width:120px;margin-left:auto;margin-right:auto;align-self:center}
.wp-block-image.is-style-photo-membre img{width:120px !important;height:120px !important;aspect-ratio:1 !important;object-fit:cover !important;border-radius:50%;display:block}
.afa-fonction{color:var(--wp--preset--color--secondary);font-weight:700;font-size:.9rem;margin:0}
/* Liste de diffusion : bandeau bleu secondaire, bouton blanc */
.afa-liste-diffusion h2,.afa-liste-diffusion p{color:var(--wp--preset--color--base);margin:0}
.afa-liste-diffusion .wp-block-button__link{background:var(--wp--preset--color--base);color:var(--wp--preset--color--accent-3)}
.afa-liste-diffusion .wp-block-button__link:hover{background:var(--wp--preset--color--accent-5);color:var(--wp--preset--color--accent-3)}

/* ===== Articles (Grille d'articles, Carte d'article, article seul) ===== */
.afa-vignette{height:150px;margin:-8px -8px 8px;border-radius:8px;overflow:hidden;background:linear-gradient(135deg,#014485,#3BA5E4)}
.wp-block-post:nth-child(3n+2) .afa-vignette{background:linear-gradient(135deg,#3BA5E4,#014485)}
.wp-block-post:nth-child(3n) .afa-vignette{background:radial-gradient(circle,#ffffff33 2px,transparent 3px) 0 0/18px 18px,#014485}
.afa-vignette .wp-block-post-featured-image{margin:0;height:100%}
.afa-vignette img{width:100%;height:100%;object-fit:cover}
.afa-meta{font-size:.9rem;align-items:center}
.afa-meta .wp-block-post-date{color:var(--wp--preset--color--accent-4)}
.afa-categorie a{background:rgba(1,87,162,.1);color:var(--wp--preset--color--secondary);font-weight:700;text-decoration:none;border-radius:4px;padding:2px 8px}
.afa-carte-article .wp-block-post-title{font-size:1.2rem;margin:0}
.afa-carte-article .wp-block-post-title a{color:inherit;text-decoration:none}
.afa-carte-article .wp-block-post-title a:hover{color:var(--wp--preset--color--secondary)}
.afa-carte-article .wp-block-post-excerpt{flex:1;margin:0}
.afa-carte-article .wp-block-post-excerpt__excerpt{margin:0}
.wp-block-read-more.afa-lien-plus{font-weight:700;text-decoration:none;color:var(--wp--preset--color--cta)}
/* Bandeau d'un article : catégorie et date sur fond bleu */
.is-style-bulles-diagonales .afa-meta .wp-block-post-date{color:#dbe7f1}
.is-style-bulles-diagonales .afa-categorie a{background:rgba(255,255,255,.15);color:var(--wp--preset--color--base)}
/* Pagination */
.afa-pagination{gap:8px;flex-wrap:wrap;align-items:center}
.afa-pagination a,.afa-pagination .page-numbers{min-width:44px;height:44px;padding:0 14px;border-radius:6px;display:inline-grid;place-items:center;text-decoration:none;font-weight:700;color:var(--wp--preset--color--accent-3);border:1px solid var(--wp--preset--color--accent-6)}
.afa-pagination a:hover{background:var(--wp--preset--color--accent-5)}
.afa-pagination .page-numbers.current{background:var(--wp--preset--color--accent-3);border-color:var(--wp--preset--color--accent-3);color:var(--wp--preset--color--base)}
/* Bandeau d'accueil : titre et textes alignés à gauche de la zone de contenu (et non centrés) */
.afa-accueil > :is(h1,p){margin-left:max(0px,calc((100% - 1152px) / 2)) !important;margin-right:auto !important}

/* ===== Frise des dates clés (composition frise-dates-cles) =====
   Étapes en colonnes égales ; ligne et points tracés en pseudo-éléments de chaque étape,
   la ligne commence au centre de la première et finit au centre de la dernière. */
.wp-block-group.afa-frise{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:16px !important;padding-top:40px;align-items:start}
.wp-block-group.afa-frise > *{margin:0}
.afa-frise-etape{position:relative;text-align:center;align-items:center}
.afa-frise-etape::before{content:"";position:absolute;top:-32px;left:-20px;right:-20px;height:4px;background:var(--wp--preset--color--accent-3)}
.afa-frise-etape:first-child::before{left:50%}
.afa-frise-etape:last-child::before{right:50%}
.afa-frise-etape::after{content:"";position:absolute;top:-40px;left:calc(50% - 10px);width:20px;height:20px;border-radius:50%;background:var(--wp--preset--color--cta);box-shadow:0 0 0 3px var(--wp--preset--color--base)}
.afa-frise-date{margin:0;color:var(--wp--preset--color--cta);font-weight:800;font-size:.95rem}
.afa-frise-evenement{margin:0;color:var(--wp--preset--color--accent-3);font-weight:600;font-size:.95rem;line-height:1.35}
.afa-frise-etape sup{line-height:0}
/* Mobile : frise verticale, ligne à gauche, cartes à droite */
@media(max-width:781px){
  .wp-block-group.afa-frise{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:minmax(0,1fr);padding-top:0;padding-left:40px}
  .afa-frise-etape{text-align:left;align-items:flex-start}
  .afa-frise-etape::before{top:-20px;bottom:-20px;left:-32px;right:auto;width:4px;height:auto}
  .afa-frise-etape:first-child::before{top:50%;left:-32px}
  .afa-frise-etape:last-child::before{bottom:50%;right:auto}
  .afa-frise-etape::after{top:calc(50% - 10px);left:-40px}
}

/* ===== Boutons « Contour » : survol et focus clavier en rouge action (sur fond blanc comme sur fond bleu) ===== */
.wp-block-button.is-style-outline .wp-block-button__link{transition:background-color .25s ease,border-color .25s ease,color .25s ease,box-shadow .25s ease}
.wp-block-button.is-style-outline .wp-block-button__link:is(:hover,:focus-visible){background-color:var(--wp--preset--color--cta) !important;border-color:var(--wp--preset--color--cta) !important;color:var(--wp--preset--color--base) !important;box-shadow:none !important}
/* !important : l'emporte sur les couleurs réglées dans le bloc Bouton (style en ligne) */
@media(prefers-reduced-motion:reduce){.wp-block-button.is-style-outline .wp-block-button__link{transition:none}}

/* ===== Archives des Journées (compositions liste-archives et article-edition) ===== */
/* Carte entière cliquable : le lien du titre couvre la carte */
.afa-liste-archives .afa-archive{position:relative;height:100%;box-sizing:border-box}
.afa-liste-archives .afa-archive .wp-block-post-title{font-size:1.2rem;margin:0}
.afa-liste-archives .afa-archive .wp-block-post-title a{color:inherit;text-decoration:none}
.afa-liste-archives .afa-archive .wp-block-post-title a::after{content:"";position:absolute;inset:0;border-radius:10px}
.afa-liste-archives .afa-archive:hover{border-color:var(--wp--preset--color--accent-3) !important}
.afa-liste-archives .afa-archive .wp-block-post-excerpt__excerpt{margin:0}
.afa-liste-archives .afa-archive .wp-block-post-excerpt__more-text{display:none}
/* Article d'édition */
.afa-edition-lieu{margin-bottom:0}
/* Gras franc : le texte courant est en graisse légère, « strong » seul ne se distingue pas */
.afa-edition-lieu strong,.afa-intervenants strong{font-weight:700}
.afa-edition-dates{margin-top:4px;color:var(--wp--preset--color--accent-4)}
.afa-intervenants{padding-left:1.2em}
.afa-intervenants li{margin-bottom:.9em}
.afa-intervenants em a{color:var(--wp--preset--color--secondary)}

/* ===== Navigation précédent / suivant des articles (single.html) ===== */
/* Le lien suivant reste à droite même seul ; les deux passent l'un sous l'autre si la place manque */
.afa-nav-articles .post-navigation-link-next{margin-left:auto;text-align:right}
.afa-nav-articles a{font-weight:700;text-decoration:none;color:var(--wp--preset--color--cta)}
.afa-nav-articles a:hover{text-decoration:underline}
