  /* Fontes auto-hébergées (variables, SIL OFL – licences dans fonts/) :
     Open Sans et Playfair Display, sous-ensembles latin et latin étendu ;
     grec (polytonique compris) et cyrillique pour les citations – un
     sous-ensemble n'est téléchargé que si la page en contient un signe.
     Les deux fichiers « latin » droits sont préchargés (functions.php). */
  @font-face{font-family:'Open Sans';font-style:normal;font-weight:300 800;font-display:swap;src:url(fonts/open-sans-latin-ext-wght-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
  @font-face{font-family:'Open Sans';font-style:normal;font-weight:300 800;font-display:swap;src:url(fonts/open-sans-latin-wght-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
  @font-face{font-family:'Open Sans';font-style:italic;font-weight:300 800;font-display:swap;src:url(fonts/open-sans-latin-ext-wght-italic.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
  @font-face{font-family:'Open Sans';font-style:italic;font-weight:300 800;font-display:swap;src:url(fonts/open-sans-latin-wght-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
  @font-face{font-family:'Playfair Display';font-style:normal;font-weight:400 900;font-display:swap;src:url(fonts/playfair-display-latin-ext-wght-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
  @font-face{font-family:'Playfair Display';font-style:normal;font-weight:400 900;font-display:swap;src:url(fonts/playfair-display-latin-wght-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
  @font-face{font-family:'Playfair Display';font-style:italic;font-weight:400 900;font-display:swap;src:url(fonts/playfair-display-latin-ext-wght-italic.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
  @font-face{font-family:'Playfair Display';font-style:italic;font-weight:400 900;font-display:swap;src:url(fonts/playfair-display-latin-wght-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
  @font-face{font-family:'Open Sans';font-style:normal;font-weight:300 800;font-display:swap;src:url(fonts/open-sans-greek-wght-normal.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;}
  @font-face{font-family:'Open Sans';font-style:normal;font-weight:300 800;font-display:swap;src:url(fonts/open-sans-greek-ext-wght-normal.woff2) format('woff2');unicode-range:U+1F00-1FFF;}
  @font-face{font-family:'Open Sans';font-style:normal;font-weight:300 800;font-display:swap;src:url(fonts/open-sans-cyrillic-wght-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
  @font-face{font-family:'Open Sans';font-style:italic;font-weight:300 800;font-display:swap;src:url(fonts/open-sans-greek-wght-italic.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;}
  @font-face{font-family:'Open Sans';font-style:italic;font-weight:300 800;font-display:swap;src:url(fonts/open-sans-greek-ext-wght-italic.woff2) format('woff2');unicode-range:U+1F00-1FFF;}
  @font-face{font-family:'Open Sans';font-style:italic;font-weight:300 800;font-display:swap;src:url(fonts/open-sans-cyrillic-wght-italic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
  @font-face{font-family:'Playfair Display';font-style:normal;font-weight:400 900;font-display:swap;src:url(fonts/playfair-display-cyrillic-wght-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
  @font-face{font-family:'Playfair Display';font-style:italic;font-weight:400 900;font-display:swap;src:url(fonts/playfair-display-cyrillic-wght-italic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}

  :root{
    --bordeaux:#5e0000;
    --bordeaux-noir:#420700;
    --presque-noir:#070606;
    --fond:#f5f5f5;
    --or:#ecbf60;
    --or-doux:#ecbf60;
    --texte:#414141;
    --blanc:#ffffff;
    --filet:#e6e2da;
    --separateur-sombre:rgba(14,1,0,.92); /* filet bordeaux presque éteint, aplats foncés */
    --separateur-clair:rgba(255,255,255,.25); /* filet clair sous les têtes de rubriques */
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Open Sans',Helvetica,Arial,sans-serif;
    color:var(--texte);
    background:var(--blanc);
    line-height:1.7;
    font-size:16.5px;
  }
  h1,h2,h3,h4{font-family:'Playfair Display',Georgia,serif;color:var(--presque-noir);line-height:1.25;}
  svg{display:block;max-width:100%;}
  a{color:inherit;}
  a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--or);outline-offset:3px;}
  .conteneur{max-width:1160px;margin:0 auto;padding:0 28px;}

  /* Arrondi subtil commun à tous les blocs et contrôles */
  .btn,.recherche,.media-16-9,.publication,.rdv,
  .type-rdv,.agenda-filtres button,.date-mini,.une,.pagenav button,.pagenav a,.pagenav .desactive,
  .form-lettre input,.bouton-menu,.liste-programmes a{
    border-radius:3px;
  }

  /* ================= Vocabulaire néoclassique ================= */
  /* Filets simples, ornement central, petites capitales espacées */
  .ornement{
    display:flex;align-items:center;gap:1.1rem;justify-content:center;
    color:var(--bordeaux);margin:1.4rem 0; /* or réservé aux fonds sombres (.sombre, .heros) */
  }
  .ornement::before,.ornement::after{content:"";height:1px;background:currentColor;flex:0 0 72px;}
  .ornement span{font-size:1rem;line-height:1;transform:translateY(-1px);}

  .tete-section{text-align:center;margin-bottom:3.2rem;}
  .tete-section .surtitre{
    display:block;font-size:.78rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;
    color:var(--bordeaux);margin-bottom:.9rem;
  }
  .tete-section h2{font-size:clamp(1.8rem,3vw,2.4rem);font-weight:500;}
  .sombre .tete-section .surtitre{color:var(--or-doux);}
  .sombre .tete-section h2{color:var(--blanc);}
  .sombre .ornement{color:rgba(236,191,96,.7);}

  /* ---------- Placeholder d'image 16:9 ---------- */
  .media-16-9{
    aspect-ratio:16/9;width:100%;
    background:#e3e3e3;
    display:flex;align-items:center;justify-content:center;
    margin-bottom:1rem;
  }
  .media-16-9 span{
    font-size:.7rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#a8a8a8;
  }
  img.media-16-9{object-fit:cover;display:block;width:100%;aspect-ratio:16/9;height:auto;}
  .media-16-9--petit{margin-bottom:.6rem;}
  .media-16-9--petit span{font-size:.62rem;}


  /* ---------- Zoom doux au survol des images ---------- */
  .zoom-doux{display:block;overflow:hidden;border-radius:3px;}
  .zoom-doux img{transition:transform .6s ease;display:block;}
  .zoom-doux:hover img,a:hover .zoom-doux img{transform:scale(1.015);}
  .zoom-doux .media-16-9{transition:transform .6s ease;margin-bottom:0;}
  .zoom-doux:hover .media-16-9,a:hover .zoom-doux .media-16-9{transform:scale(1.015);}
  img.produit__couverture{transition:box-shadow .25s ease,transform .6s ease;}
  a.produit:hover img.produit__couverture{transform:scale(1.015);}

  /* ---------- Boutons ---------- */
  .btn{
    display:inline-block;text-decoration:none;font-weight:700;font-size:.88rem;letter-spacing:.06em;
    text-transform:uppercase;
    padding:.85rem 2rem;border:none;
    transition:background .2s,color .2s,transform .5s cubic-bezier(.3,1.8,.45,.95);
  }
  .btn:active{transform:scale(.955);transition:background .2s,color .2s,transform .06s ease-out;}
  .btn--plein{background:var(--bordeaux);color:var(--blanc);}
  .btn--plein:hover{background:var(--bordeaux-noir);}
  .btn--or{background:var(--or);color:var(--presque-noir);}
  .btn--or:hover{background:var(--or-doux);}

  header.principal.masque{transform:translateY(-100%);}

  /* ================= Surface bordeaux animée (en-tête + héros) ================= */
  .surface-bordeaux{
    position:relative;
    background:
      radial-gradient(55% 70% at 12% 0%, rgba(236,191,96,.10), transparent 60%),
      radial-gradient(60% 80% at 88% 100%, rgba(120,10,5,.55), transparent 65%),
      linear-gradient(115deg,var(--bordeaux) 0%,var(--bordeaux-noir) 45%,var(--bordeaux) 90%);
    background-size:220% 220%;
    animation:derive-bordeaux 26s ease-in-out infinite alternate;
  }
  .section-formation,footer{position:relative;}
  .surface-bordeaux::before,
  .section-formation::before,
  footer::before,
  .panneau-menu::before{ /* grain très léger, commun aux aplats sombres */
    content:"";position:absolute;inset:0;pointer-events:none;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%25' height='100%25' filter='url(%23g)'/></svg>");
    opacity:.09;
  }
  .surface-bordeaux > *,
  .section-formation > *,
  footer > *,
  .panneau-menu > *{position:relative;z-index:1;}
  @keyframes derive-bordeaux{
    from{background-position:0% 30%;}
    to{background-position:100% 70%;}
  }

  /* ================= En-tête bordeaux, logo clair, menu hamburger ================= */
  body.admin-bar header.principal{top:32px;}
  @media (max-width:782px){body.admin-bar header.principal{top:46px;}}
  @media (max-width:600px){body.admin-bar header.principal{top:0;}}
  header.principal{
    position:sticky;top:0;z-index:60;
    transition:transform .35s ease;
    padding-bottom:1.05rem;
  }
  .entete-int{
    display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
    gap:0 2rem;min-height:96px;padding-top:.7rem;padding-bottom:.7rem;
    transition:min-height .3s ease;
  }
  .logo{
    flex:0 1 476px;min-width:230px;text-decoration:none;
    display:grid;align-items:center;
    transition:flex-basis .35s ease,min-width .35s ease;
  }
  .logo > *{grid-area:1/1;min-width:0;}
  .logo svg,.logo img,.logo picture{width:100%;height:auto;display:block;}
  .logo .logo-complet{opacity:1;transition:opacity .22s ease,visibility 0s;}
  .logo img.logo-pastille{
    width:56px;height:56px;
    opacity:0;transform:scale(.75);transform-origin:left center;
    transition:opacity .25s ease .08s,transform .3s ease .08s;
  }

  .bouton-menu{
    order:2;
    display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;
    width:58px;height:58px;flex:0 0 auto;
    background:transparent;border:none;cursor:pointer;
    transition:background .2s;
  }
  .bouton-menu:hover{background:rgba(236,191,96,.14);}
  .bouton-menu .barre{width:26px;height:2px;background:var(--or);transition:transform .25s,opacity .2s;}
  .bouton-menu[aria-expanded="true"] .barre:nth-child(1){transform:translateY(8px) rotate(45deg);}
  .bouton-menu[aria-expanded="true"] .barre:nth-child(2){opacity:0;}
  .bouton-menu[aria-expanded="true"] .barre:nth-child(3){transform:translateY(-8px) rotate(-45deg);}
  .bouton-menu .libelle{
    position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);
  }

  /* Champ de recherche : toute la largeur de l'en-tête, traitement discret */
  .recherche{
    order:3;width:100%;
    display:flex;align-items:center;gap:.75rem;
    margin:.7rem 0 0;padding:0 1.1rem;
    background:rgba(255,255,255,.055);
    transition:background .25s;
  }
  .recherche:hover{background:rgba(255,255,255,.075);}
  .recherche:focus-within{
    background:rgba(255,255,255,.13);
  }
  .recherche button{
    background:transparent;border:none;cursor:pointer;padding:.2rem 0;
    color:rgba(240,230,216,.55);display:flex;align-items:center;
    transition:color .25s;
  }
  .recherche:focus-within button,.recherche button:hover{color:rgba(240,230,216,.95);}
  .recherche button svg{width:15px;height:15px;}
  .recherche input{
    flex:1;min-width:0;
    font-family:'Open Sans',Helvetica,Arial,sans-serif;font-size:.9rem;letter-spacing:.01em;
    color:rgba(255,255,255,.95);
    background:transparent;border:none;
    padding:.7rem 0;
  }
  .recherche input::placeholder{color:rgba(240,230,216,.45);}

  /* Raccourcis : menu inline sous la recherche – typographie du panneau
     de menu, filet vertical entre chaque lien. UNE SEULE LIGNE en toutes
     circonstances : centrés tant qu'ils tiennent ; au-delà (tablette,
     mobile), la ligne devient une bande qui défile au doigt, avec un fondu
     sur le bord qui cache encore des liens (classes deborde-* posées par
     scripts.js). Jamais de retour à la ligne : ni filet orphelin en tête
     de ligne, ni en-tête qui gonfle. */
  .raccourcis{
    order:4;width:100%;min-width:0;margin-top:.7rem;
    overflow-x:auto;overflow-y:hidden;
    scrollbar-width:none;overscroll-behavior-x:contain;
  }
  .raccourcis::-webkit-scrollbar{display:none;}
  .raccourcis ul{
    list-style:none;
    display:flex;align-items:center;flex-wrap:nowrap;
    width:max-content;margin:0 auto; /* marges auto : centré s'il tient, calé à gauche et défilant sinon */
    padding:.4rem;                   /* place du contour de focus, que le défilement rognerait */
  }
  .raccourcis li{display:flex;align-items:center;flex:0 0 auto;}
  .raccourcis li + li::before{
    content:"";width:1px;height:11px;background:var(--separateur-clair);
    margin:0 .9rem;flex:0 0 auto;
  }
  .raccourcis a{
    display:block;white-space:nowrap;
    text-decoration:none;padding:.2rem .1rem;
    font-family:'Open Sans',sans-serif;font-size:11px;font-weight:400;
    letter-spacing:2px;text-transform:uppercase;color:rgba(240,230,216,.75);
    transition:color .2s;
  }
  .raccourcis a:hover{color:var(--or-doux);}
  .raccourcis.deborde-fin{
    -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 3.5rem),transparent);
            mask-image:linear-gradient(90deg,#000 calc(100% - 3.5rem),transparent);
  }
  .raccourcis.deborde-debut{
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 3.5rem);
            mask-image:linear-gradient(90deg,transparent,#000 3.5rem);
  }
  .raccourcis.deborde-debut.deborde-fin{
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 3.5rem,#000 calc(100% - 3.5rem),transparent);
            mask-image:linear-gradient(90deg,transparent,#000 3.5rem,#000 calc(100% - 3.5rem),transparent);
  }
  /* Avec raccourcis, ce sont eux qui ferment l'en-tête : l'espace sous la
     ligne égale l'espace au-dessus (mesurés aux capitales : ≈ 26 px desktop,
     ≈ 24 px mobile). Le padding bas de l'en-tête s'efface, celui de
     .entete-int suffit. Classe posée par header.php. */
  header.principal.avec-raccourcis:not(.compacte){padding-bottom:0;}
  /* Mobile : bande bord à bord ; le premier lien s'aligne sur le champ de
     recherche, la suite file sous le bord de l'écran. */
  @media (max-width:640px){
    .raccourcis.raccourcis{margin:.4rem -28px 0;}
    .raccourcis.raccourcis ul{padding:.3rem 28px;}
    .raccourcis.raccourcis a{padding:.45rem .1rem;} /* cible tactile */
  }
  .recherche input:focus,.recherche input:focus-visible{outline:none;}
  .recherche input::-webkit-search-cancel-button{-webkit-appearance:none;}

  /* ---- État replié : au défilement, tout sur une ligne (pastille · recherche · menu) ---- */
  header.principal.compacte{
    padding-bottom:.55rem;
    box-shadow:0 10px 30px rgba(7,6,6,.28);
  }
  header.principal.compacte .entete-int{
    min-height:64px;flex-wrap:nowrap;gap:0 1.3rem;padding-top:.5rem;padding-bottom:0;
  }
  header.principal.compacte .logo{
    flex:0 0 56px;min-width:56px;max-width:56px;overflow:hidden;
  }
  header.principal.compacte .logo .logo-complet{
    opacity:0;visibility:hidden;
    transition:opacity .15s ease,visibility 0s .15s;
  }
  header.principal.compacte .logo img.logo-pastille{opacity:1;transform:scale(1);}
  /* Mobile : pastille · champ · ≡ (au-delà, la recherche passe en loupe, plus bas) */
  header.principal.compacte .recherche{
    order:1;width:auto;flex:1 1 auto;min-width:0;max-width:none;margin:0;
  }
  header.principal.compacte .recherche input{padding:.5rem 0;font-size:.86rem;}
  /* Le menu ≡ reste à l'extrême droite, comme en haut de page */
  header.principal.compacte .bouton-menu{width:48px;height:48px;order:9;}
  /* Sans pastille téléversée : le logo complet reste affiché, en petit */
  header.principal.sans-pastille.compacte .logo{flex:0 1 220px;min-width:150px;max-width:220px;}
  header.principal.sans-pastille.compacte .logo .logo-complet{opacity:1;visibility:visible;}

  /* Raccourcis de la barre repliée : la même bande qu'en haut de page,
     calée contre la loupe tant qu'elle tient ; au-delà, elle défile au
     doigt depuis le premier lien, fondu sur le bord qui cache encore des
     liens. Hauteur fixe. Mobile : pas de place, le panneau ≡ suffit. */
  header.principal.compacte .raccourcis{order:1;flex:1 1 0;width:auto;margin:0;}
  header.principal.compacte .raccourcis ul{margin:0 0 0 auto;} /* marge auto à gauche : à droite s'il tient, défilant sinon */
  @media (max-width:640px){
    header.principal.compacte .raccourcis.raccourcis{display:none;}
  }

  /* Loupe de la barre repliée (au-delà du mobile) : pastille · raccourcis ·
     loupe · ≡. Un clic sur la loupe (scripts.js) déroule le champ vers la
     gauche, à la place des raccourcis ; Échap ou un clic ailleurs le
     referme. Le champ ouvert occupe toute la barre : la liste Algolia
     hérite d'une vraie largeur. */
  @media (min-width:641px){
    header.principal.compacte .recherche{
      order:2;flex:0 0 44px;width:44px;height:44px;
      padding:0;gap:0;flex-direction:row-reverse;justify-content:center;overflow:hidden;
    }
    header.principal.compacte .recherche button{flex:0 0 44px;height:44px;justify-content:center;padding:0;}
    header.principal.compacte .recherche button svg{width:16px;height:16px;}
    header.principal.compacte .recherche input{flex:0 0 0;width:0;padding:0;visibility:hidden;}
    header.principal.compacte.recherche-ouverte .raccourcis.raccourcis{display:none;}
    header.principal.compacte.recherche-ouverte .recherche{
      flex:1 1 auto;width:auto;padding-left:1.1rem;
      background:rgba(255,255,255,.13);
      animation:recherche-deroule .34s cubic-bezier(.2,.7,.2,1) both;
    }
    header.principal.compacte.recherche-ouverte .recherche input{
      flex:1 1 auto;width:auto;visibility:visible;padding:.5rem 0;
    }
  }
  @keyframes recherche-deroule{
    from{clip-path:inset(0 0 0 calc(100% - 44px) round 3px);}
    to{clip-path:inset(0 0 0 0 round 3px);}
  }

  /* Liste déroulante Algolia (extension WP Search with Algolia) : son
     script la cale sur la largeur du champ – champ étroit, liste
     illisible. Le thème lui garantit une largeur de lecture, bornée à
     l'écran ; mobile : bord à bord (l'enveloppe reçoit ses positions en
     style en ligne, d'où les !important). */
  body .aa-dropdown-menu.aa-dropdown-menu{
    min-width:min(32rem,calc(100vw - 2rem));max-width:min(40rem,calc(100vw - 2rem));
  }
  @media (max-width:640px){
    .algolia-autocomplete.algolia-autocomplete{left:1rem !important;width:calc(100vw - 2rem) !important;}
    body .aa-dropdown-menu.aa-dropdown-menu{min-width:0;max-width:none;}
  }

  @media (prefers-reduced-motion:reduce){
    header.principal,.entete-int,.logo,
    .logo .logo-complet,.logo img.logo-pastille{transition:none !important;}
    header.principal.compacte.recherche-ouverte .recherche{animation:none;}
  }

  /* Panneau de navigation plein écran */
  .panneau-menu{
    position:fixed;inset:0;z-index:70;
    background:
      radial-gradient(60% 55% at 90% 0%, rgba(94,0,0,.55), transparent 62%),
      radial-gradient(45% 45% at 6% 100%, rgba(236,191,96,.06), transparent 55%),
      var(--bordeaux-noir);
    color:#ecdfcd;
    padding:8.5rem 0 3rem;overflow-y:auto;
    opacity:0;visibility:hidden;transform:translateY(-14px);
    transition:opacity .3s ease,transform .3s ease,visibility .3s;
  }
  .panneau-menu.ouvert{opacity:1;visibility:visible;transform:none;}
  .panneau-menu__tete{
    position:absolute;top:0;left:0;right:0;
  }
  .panneau-menu__tete .conteneur{
    display:flex;justify-content:flex-end;align-items:center;
    min-height:96px;padding-top:.7rem;padding-bottom:.7rem;
  }
  .fermer-menu{
    width:58px;height:58px;border-radius:3px;flex:0 0 auto;
    background:transparent;border:none;cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    color:var(--or);transition:background .2s;
  }
  .fermer-menu:hover{background:rgba(236,191,96,.14);}
  .fermer-menu svg{width:24px;height:24px;}
  .panneau-menu > .conteneur{display:grid;grid-template-columns:repeat(5,1fr);gap:2.4rem;}
  .panneau-menu h4{
    font-family:'Open Sans',sans-serif;font-size:11px;font-weight:700;
    letter-spacing:2px;text-transform:uppercase;color:var(--blanc);
    margin-bottom:1.2rem;padding-bottom:.7rem;border-bottom:1px solid var(--separateur-clair);
  }
  .panneau-menu ul{list-style:none;display:flex;flex-direction:column;gap:.15rem;}
  .panneau-menu li a{
    display:block;
    padding:.55rem .6rem;margin:0 -.6rem;
    border-radius:3px;
    text-decoration:none;
    font-family:'Open Sans',sans-serif;font-size:11px;font-weight:400;
    letter-spacing:2px;text-transform:uppercase;color:rgba(240,230,216,.75);
    transition:color .2s,background .2s;
  }
  .panneau-menu li a:hover{color:var(--or-doux);background:rgba(255,255,255,.05);}
  .panneau-menu h4 a,.pied-int h4 a{color:inherit;text-decoration:none;transition:color .2s;}
  .panneau-menu h4 a:hover,.pied-int h4 a:hover{color:var(--or-doux);}
  .panneau-menu .pied-panneau{
    grid-column:1 / -1;margin-top:1.5rem;padding-top:1.7rem;
    border-top:1px solid var(--separateur-sombre);
    display:flex;justify-content:center;align-items:center;gap:1.15rem;flex-wrap:wrap;
  }
  .rs-liste{display:flex;align-items:center;gap:1.15rem;flex-wrap:wrap;}
  .rs{
    display:flex;align-items:center;justify-content:center;
    width:34px;height:34px;border-radius:3px;
    opacity:.88;
    transition:opacity .25s ease,transform .25s ease,background .25s ease;
  }
  .rs svg{width:17px;height:17px;}
  .rs:hover{
    opacity:1;transform:translateY(-2px);
    background:rgba(255,255,255,.07);
  }

  /* ================= Héros vitrine : publications & rendez-vous ================= */
  .heros{color:#f0e6d8;text-align:center;padding:4.5rem 0 9rem;margin-top:-1px;overflow:hidden;}

  /* Carrousel de fond : photos duotone fondues dans la surface bordeaux */
  .carrousel::after{
    content:"";position:absolute;inset:0;z-index:1;
    background:var(--voile-couleur,transparent);
    opacity:var(--voile-opacite,0);
    pointer-events:none;
  }
  .carrousel{
    position:absolute;inset:0;z-index:0;pointer-events:none;
    -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 32%,#000 76%,transparent 100%);
    mask-image:linear-gradient(to bottom,transparent 0%,#000 32%,#000 76%,transparent 100%);
  }
  .diapo{
    position:absolute;inset:0;
    filter:grayscale(1) contrast(1.05);
    mix-blend-mode:multiply;
    opacity:0;transition:opacity 2s ease;
  }
  .diapo.active{opacity:var(--heros-photos,.15);}
  /* Une <img> par diapositive (front-page.php) : elle couvre l'aplat
     comme le faisait l'ancien fond CSS. */
  .diapo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;}
  .heros > .conteneur{position:relative;z-index:2;}
  .heros .devise{
    font-size:.82rem;font-weight:700;letter-spacing:.32em;text-transform:uppercase;
    color:var(--or);display:block;margin-bottom:1.4rem;
  }
  .heros h1{
    color:var(--blanc);font-weight:500;
    font-size:clamp(2rem,4vw,3.2rem);
    max-width:22ch;margin:0 auto;
  }
  .heros h1 em{font-style:italic;color:var(--or-doux);}
  .heros .ornement{color:rgba(236,191,96,.8);}
  .heros p.chapeau{max-width:60ch;margin:0 auto;font-size:1.03rem;}

  /* Panneau « Une » : cadre double or, à cheval sur l'aplat bordeaux */
  .une{
    background:var(--blanc);
    box-shadow:0 24px 50px rgba(7,6,6,.16);
    margin:-6.5rem auto 0;position:relative;z-index:5;
    padding:2.8rem 3rem;
    display:grid;grid-template-columns:1.6fr 1fr;gap:3rem;
    text-align:left;
  }
  .une h2.titre-une{
    grid-column:1 / -1;text-align:center;font-size:1rem;font-weight:700;
    font-family:'Open Sans',sans-serif;letter-spacing:.3em;text-transform:uppercase;color:var(--bordeaux);
    padding-bottom:.6rem;margin-bottom:.6rem;
  }

  .une__publications .vedette{padding-bottom:1.8rem;border-bottom:1px solid var(--filet);margin-bottom:1.6rem;}
  .une__publications .vedette h3{font-size:clamp(1.4rem,2.3vw,1.85rem);font-weight:500;margin:1.1rem 0 .8rem;}
  .une__publications h3 a{text-decoration:none;}
  .une__publications h3 a:hover{color:var(--bordeaux);}
  .une__publications .vedette p{margin-bottom:1rem;}
  .une__publications .signature{font-size:.83rem;color:#8a8a8a;}
  .une__secondaires{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:1.4rem 1.2rem;}
  .une__secondaires h3{font-size:1.08rem;font-weight:500;margin-bottom:.25rem;}
  .une__secondaires small{font-size:.78rem;color:#8a8a8a;}
  .une__publications > .btn{margin-top:1.8rem;}

  .une__agenda{border-left:1px solid var(--filet);padding-left:2.6rem;display:flex;flex-direction:column;}
  .une__agenda h2{
    font-family:'Open Sans',sans-serif;font-size:.78rem;font-weight:700;
    letter-spacing:.26em;text-transform:uppercase;color:var(--bordeaux);margin-bottom:1.3rem;
  }
  .une__agenda ol{list-style:none;display:flex;flex-direction:column;}
  .une__agenda li{display:flex;gap:1.1rem;padding:1rem 0;border-bottom:1px solid var(--filet);}
  .une__agenda li:first-child{padding-top:0;}
  .date-mini{
    flex:0 0 58px;text-align:center;background:var(--bordeaux);color:var(--blanc);
    padding:.45rem .2rem;align-self:flex-start;
  }
  .date-mini b{display:block;font-family:'Playfair Display',serif;font-size:1.35rem;font-weight:500;color:var(--or);line-height:1.05;}
  .date-mini span{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;}
  .une__agenda .type{font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--bordeaux);}
  .une__agenda h3{font-size:1.02rem;font-weight:500;line-height:1.35;}
  .une__agenda h3 a{text-decoration:none;}
  .une__agenda h3 a:hover{color:var(--bordeaux);}
  .une__agenda .lieu{font-size:.78rem;color:#8a8a8a;}
  .une__agenda .btn{margin-top:1.6rem;align-self:center;} /* l'aside est une colonne flex : sans quoi le bouton s'étire */

  /* ================= Vocations ================= */
  .vocations{padding:4.5rem 0 1rem;text-align:center;}
  .vocations .conteneur{max-width:860px;}
  .citation-president p{
    font-family:'Playfair Display',Georgia,serif;font-style:italic;
    font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:1.7;color:var(--presque-noir);
  }
  .citation-president__signature{margin-top:1.4rem;}
  .citation-president cite{
    display:block;font-style:normal;
    font-family:'Open Sans',sans-serif;font-size:11px;font-weight:700;
    letter-spacing:2px;text-transform:uppercase;color:var(--bordeaux);
  }
  .citation-president__signature span{font-size:.85rem;color:#8a8a8a;}
  .vocations .duo{
    display:grid;grid-template-columns:1fr 1px 1fr;gap:0;margin-top:2.6rem;text-align:center;
  }
  .vocations .duo .sep{background:#1c0300;opacity:.6;}
  .vocations .duo > div:not(.sep){padding:0 2.5rem;}
  .vocations .duo h3{font-size:1.3rem;font-weight:500;color:var(--bordeaux);margin-bottom:.4rem;}
  .vocations .duo p{font-size:.95rem;}

  /* ================= Appel aux dons ================= */
  .section-don{color:#f0e6d8;text-align:center;padding:4rem 0 4.4rem;}
  .don-int{max-width:680px;margin:0 auto;}
  .don-int .surtitre-don{
    display:block;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
    color:var(--or);margin-bottom:1.4rem;
  }
  .don-int h2{font-size:clamp(1.4rem,2.4vw,1.9rem);font-weight:500;color:var(--blanc);margin:0 0 1.4rem;}
  .don-int > p{max-width:52ch;margin:0 auto 2.2rem;}
  .jauge{margin-bottom:2rem;}
  .jauge__barre{
    height:8px;border-radius:3px;background:rgba(255,255,255,.14);
    overflow:hidden;
  }
  .jauge__remplissage{
    height:100%;width:0;border-radius:3px;
    background:linear-gradient(90deg,var(--or-doux),var(--or));
    transition:width 1.4s cubic-bezier(.25,.6,.3,1);
  }
  .jauge.visible .jauge__remplissage{width:var(--part);}
  @media (prefers-reduced-motion:reduce){
    .jauge__remplissage{width:var(--part) !important;transition:none;}
  }
  .jauge__legende{
    display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;
    margin-top:.8rem;font-size:.9rem;color:rgba(240,230,216,.85);
  }
  .jauge__legende b{
    font-family:'Playfair Display',serif;font-weight:500;font-size:1.25rem;color:var(--or);
  }

  /* ================= Publications ================= */
  .section-publications{background:var(--fond);padding:5rem 0 5.5rem;}
  /* La une de la rubrique : premier article en encadré horizontal –
     image à gauche, texte à droite – qui casse la grille (page 1). */
  .publication-une{
    display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:2.2rem;align-items:center;
    background:var(--blanc);padding:1.7rem;margin-bottom:1.2rem;
    border-radius:3px;box-shadow:0 14px 40px rgba(7,6,6,.07);
  }
  .publication-une__image{display:block;border-radius:3px;overflow:hidden;}
  .publication-une__texte{display:flex;flex-direction:column;gap:.7rem;min-width:0;}
  .publication-une__texte h3{
    font-size:clamp(1.4rem,2.4vw,1.85rem);font-weight:500;line-height:1.3;
  }
  .publication-une__texte h3 a{text-decoration:none;}
  .publication-une__texte h3 a:hover{color:var(--bordeaux);}
  .publication-une__texte .extrait{font-size:.97rem;line-height:1.7;}
  .publication-une__texte .signature{
    margin-top:.2rem;padding-top:.7rem;border-top:1px solid var(--filet);
    font-size:.79rem;color:#8a8a8a;
  }
  @media (max-width:900px){
    .publication-une{grid-template-columns:1fr;gap:1.1rem;padding:1.4rem;align-items:start;}
  }
  .grille-publications{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-bottom:3rem;}
  .publication{
    background:var(--blanc);
    padding:1.7rem 1.6rem 1.5rem;position:relative;
    display:flex;flex-direction:column;gap:.6rem;
  }
  .publication__rubrique{font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--bordeaux);}
  .publication h3{font-size:1.22rem;font-weight:500;}
  .publication h3 a{text-decoration:none;}
  .publication h3 a:hover{color:var(--bordeaux);}
  .publication p{font-size:.93rem;}
  .publication .signature{margin-top:auto;padding-top:.7rem;border-top:1px solid var(--filet);font-size:.79rem;color:#8a8a8a;}
  .pagenav{
    display:flex;justify-content:center;align-items:center;gap:.5rem;
    margin:0 0 2.6rem;
  }
  .pagenav button,.pagenav a,.pagenav .desactive,.pagenav [aria-current="page"]{
    min-width:44px;height:44px;padding:0 .8rem;
    display:inline-flex;align-items:center;justify-content:center;
    font-family:'Playfair Display',Georgia,serif;font-size:1.05rem;
    background:transparent;border:none;color:var(--bordeaux);cursor:pointer;
    text-decoration:none;
    transition:background .2s,color .2s;
  }
  .pagenav button:hover:not(:disabled),.pagenav a:hover{background:rgba(236,191,96,.35);}
  .pagenav [aria-current="page"]{background:var(--bordeaux);color:var(--or-doux);cursor:default;}
  .pagenav button:disabled,.pagenav .desactive{opacity:.35;cursor:default;}
  .grille-publications{transition:opacity .18s ease;}
  .grille-publications.transition{opacity:0;}
  .pied-publications{text-align:center;}

  /* ================= Boutique ================= */
  .section-boutique{background:var(--blanc);padding:5rem 0 5.5rem;}
  .etagere{
    display:flex;justify-content:center;align-items:flex-start;
    gap:2.2rem;flex-wrap:wrap;margin-bottom:3rem;
  }
  .produit{
    flex:0 1 190px;text-decoration:none;
    transition:transform .25s ease;
  }
  a.produit:hover{transform:translateY(-5px);} /* une fiche sans lien (publication épuisée) ne bouge pas */
  .produit__visuel{
    height:280px;display:flex;align-items:flex-end;justify-content:center;
    margin-bottom:1rem;
  }
  .produit__couverture{
    background:#e3e3e3;border-radius:3px;
    box-shadow:0 10px 26px rgba(7,6,6,.16);
    display:flex;align-items:center;justify-content:center;
    transition:box-shadow .25s ease;
  }
  img.produit__couverture{background:none;}
  a.produit:hover .produit__couverture{box-shadow:0 16px 34px rgba(7,6,6,.24);}
  .produit__couverture span{
    font-size:.66rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#a8a8a8;
  }
  .produit__type{
    display:block;font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;
    color:var(--bordeaux);margin-bottom:.25rem;
  }
  .produit h3{font-size:1.02rem;font-weight:500;line-height:1.35;color:var(--presque-noir);margin-bottom:.3rem;}
  a.produit:hover h3{color:var(--bordeaux);}
  .produit__prix{
    font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:500;color:var(--bordeaux);
  }
  .pied-boutique{text-align:center;}
  @media (max-width:640px){
    .etagere{gap:1.4rem;}
    .produit{flex:0 1 calc(50% - .7rem);}
    .produit__visuel{height:220px;}
  }
  /* Étagère de l'accueil (jusqu'à 10 produits, couvertures et affiches de
     formats variés) : fiches de largeur fixe, la couverture tient dans sa
     fiche sans déformation ; elle défile (.defile-continu). Sans défilement
     (mouvements réduits) : deux rangées de cinq ; sur mobile, une rangée
     qui glisse au doigt, la fiche suivante en amorce. */
  .etagere--defile .produit{flex:0 0 190px;}
  .etagere--defile img.produit__couverture{width:auto;height:auto;max-width:100%;max-height:97%;}
  /* En défilement : la piste ne garde que la place des ombres et du survol. */
  .defile-continu.defile > .etagere--defile{margin:0;padding:.6rem 0 1.6rem;}
  .etagere-cadre{margin-bottom:2.4rem;}
  @media (max-width:640px){
    .etagere--defile{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -28px 2.4rem;padding:0 28px .6rem;scroll-padding:0 28px;}
    .etagere--defile::-webkit-scrollbar{display:none;}
    .etagere--defile .produit{flex:0 0 44%;scroll-snap-align:start;}
    .etagere-cadre{margin:0 -28px 2.4rem;}
    .defile-continu.defile > .etagere--defile .produit{flex:0 0 150px;}
  }

  /* ================= Formation ================= */
  .sessions-a-venir{
    max-width:52ch;margin:0 auto;text-align:center;
    font-size:1.02rem;line-height:1.8;color:rgba(240,230,216,.85);
  }
  .session-vedette h3 a{color:inherit;text-decoration:none;transition:color .2s;}
  .session-vedette h3 a:hover{color:var(--or);}
  /* Sans vedette, les promotions occupent toute la largeur, côte à côte.
     Double classe : la règle .formation-int (1fr 1fr) est définie plus bas,
     à spécificité égale elle regagnerait – et WP Rocket réordonne. */
  .formation-int.formation-int--promos{grid-template-columns:1fr;}
  .formation-int--promos .calendrier-promos{
    display:grid;grid-template-columns:1fr 1fr;gap:2.8rem 4rem;align-items:start;
  }
  .promo-bloc > .btn{margin-top:1.2rem;}
  .promo-vignette{margin:0 0 1.2rem;}
  @media (max-width:900px){
    .formation-int--promos .calendrier-promos{grid-template-columns:1fr;}
  }
  .calendrier-promos li.passee{opacity:.45;}
  .calendrier-promos .session a{color:inherit;text-decoration:none;transition:color .2s;}
  .calendrier-promos .session a:hover{color:var(--or);}
  .section-formation{
    background:
      radial-gradient(50% 65% at 85% 100%, rgba(94,0,0,.6), transparent 62%),
      radial-gradient(45% 55% at 8% 4%, rgba(236,191,96,.07), transparent 58%),
      var(--bordeaux-noir);
    color:#ecdfcd;padding:5rem 0 5.5rem;}
  .formation-int{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;}
  .formation-int .colonne-texte p{margin-bottom:1.4rem;max-width:52ch;}
  .chiffres{display:flex;gap:3rem;flex-wrap:wrap;margin:2rem 0 2.2rem;}
  .chiffre b{display:block;font-family:'Playfair Display',serif;font-size:2.3rem;font-weight:500;color:var(--or);line-height:1.1;}
  .chiffre span{font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:#cbb79e;}
  /* Session vedette */
  .session-vedette .etiquette-session{
    display:block;font-family:'Open Sans',sans-serif;font-size:11px;font-weight:700;
    letter-spacing:2px;text-transform:uppercase;color:var(--or-doux);margin-bottom:.9rem;
  }
  .session-vedette h3{
    font-family:'Playfair Display',serif;font-size:clamp(1.4rem,2.2vw,1.8rem);
    font-weight:500;color:var(--blanc);margin-bottom:.5rem;
  }
  .session-vedette .date-session{
    font-size:1rem;color:#f0e6d8;margin-bottom:1.4rem;
  }
  .session-vedette .details{list-style:none;margin-bottom:1.7rem;}
  .session-vedette .details li{
    padding:.3rem 0;
    font-size:.93rem;color:rgba(240,230,216,.85);
  }
  .session-vedette .prix b{
    font-family:'Playfair Display',serif;font-size:1.35rem;font-weight:500;color:var(--or);
  }

  /* Calendrier des promotions */
  .calendrier-promos h3{
    font-family:'Open Sans',sans-serif;font-size:11px;font-weight:700;
    letter-spacing:2px;text-transform:uppercase;color:var(--blanc);
    display:flex;align-items:center;gap:1rem;
    margin:2.2rem 0 .4rem;
  }
  .calendrier-promos h3:first-child{margin-top:0;}
  .calendrier-promos h3::after{content:"";flex:1;height:1px;background:var(--separateur-clair);}
  .calendrier-promos ol{list-style:none;}
  .calendrier-promos li{
    display:flex;justify-content:space-between;align-items:baseline;gap:1.2rem;
    padding:.7rem .1rem;border-bottom:1px solid var(--separateur-sombre);
  }
  .calendrier-promos li:last-child{border-bottom:none;}
  .calendrier-promos .session{
    font-family:'Open Sans',sans-serif;font-size:11px;font-weight:400;
    letter-spacing:2px;text-transform:uppercase;color:rgba(240,230,216,.72);
    white-space:nowrap;
  }
  .calendrier-promos .btn{margin-top:1.3rem;}
  .calendrier-promos .dates{
    font-size:.92rem;color:var(--blanc);text-align:right;
    font-variant-numeric:tabular-nums;white-space:nowrap;
  }

  .liste-programmes{list-style:none;}
  .liste-programmes li{border-bottom:1px solid var(--separateur-sombre);}
  .liste-programmes li:first-child{border-top:1px solid var(--separateur-sombre);}
  .liste-programmes a{
    display:flex;justify-content:space-between;align-items:baseline;gap:1.2rem;
    padding:1.25rem .5rem;text-decoration:none;transition:background .2s;
  }
  .liste-programmes a:hover{background:rgba(236,191,96,.1);}
  .liste-programmes h3{font-size:1.1rem;font-weight:500;color:var(--blanc);}
  .liste-programmes small{font-size:.78rem;color:#cbb79e;white-space:nowrap;}
  .liste-programmes .fleche{color:var(--or);font-weight:700;}

  /* ================= Agenda ================= */
  .section-agenda{background:var(--blanc);padding:5rem 0 5.5rem;}
  .agenda{max-width:920px;margin:0 auto;}

  /* Filtres */
  .agenda-filtres{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap;margin-bottom:2.6rem;}
  .agenda-filtres button{
    font-family:'Open Sans',sans-serif;font-size:11px;font-weight:600;
    letter-spacing:2px;text-transform:uppercase;
    padding:.55rem 1.1rem;border:none;border-radius:3px;cursor:pointer;
    background:var(--fond);color:var(--texte);
    transition:background .2s,color .2s;
  }
  .agenda-filtres button:hover{background:#ebebeb;}
  .agenda-filtres button[aria-pressed="true"]{background:var(--bordeaux);color:var(--blanc);}

  /* Intercalaires de mois */
  .agenda-mois{margin-bottom:2.4rem;}
  .agenda-mois:last-child{margin-bottom:0;}
  .agenda-mois__titre{
    font-family:'Open Sans',sans-serif;font-size:11px;font-weight:700;
    letter-spacing:2px;text-transform:uppercase;color:var(--bordeaux);
    display:flex;align-items:center;gap:1.1rem;margin-bottom:.7rem;
  }
  .agenda-mois__titre::after{content:"";flex:1;height:1px;background:var(--filet);}
  .agenda-mois ol{list-style:none;}

  /* Lignes de rendez-vous */
  .rdv{
    display:grid;grid-template-columns:74px 1fr auto;gap:1.6rem;align-items:center;
    padding:1.15rem 1rem;margin:0 -1rem;border-radius:3px;
    border-bottom:1px solid var(--filet);
    transition:background .2s;
  }
  .rdv:hover{background:var(--fond);}
  .agenda-mois li:last-child .rdv{border-bottom:none;}
  .rdv[hidden]{display:none;}

  .rdv__date{text-align:center;}
  .rdv__date .jour-sem{
    display:block;font-size:.68rem;font-weight:700;letter-spacing:.12em;
    text-transform:uppercase;color:#8a8a8a;
  }
  .rdv__date b{
    display:block;font-family:'Playfair Display',serif;font-weight:500;
    font-size:2rem;line-height:1.05;color:var(--bordeaux);
  }

  .rdv__entete{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;margin-bottom:.3rem;}
  /* Type d'un rendez-vous (Agenda). Jamais la classe « tag » : WordPress
     la pose sur le <body> des pages d'étiquette, toute la page en héritait. */
  .type-rdv{
    font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;
    padding:.22rem .6rem;border-radius:3px;
    background:rgba(7,6,6,.07);color:#4a4a4a; /* repli : tout type sans couleur dédiée */
  }
  .type-rdv--colloque{background:rgba(94,0,0,.09);color:var(--bordeaux);}
  .type-rdv--seminaire{background:rgba(236,191,96,.28);color:#7c5a14;}
  .type-rdv--conference{background:rgba(7,6,6,.07);color:#4a4a4a;}
  .type-rdv--ondes{background:rgba(66,7,0,.08);color:#6e4438;}
  .type-rdv--formation{background:rgba(236,191,96,.24);color:#7c5a14;}
  .rdv__heure{
    font-size:.82rem;color:#6f6f6f;font-variant-numeric:tabular-nums;
    display:inline-flex;align-items:center;gap:.4rem;
  }
  .rdv__heure svg,.rdv__lieu svg{width:13px;height:13px;flex:0 0 auto;color:#a0a0a0;}
  .rdv h4{font-size:1.14rem;font-weight:500;font-family:'Playfair Display',serif;}
  .rdv h4 a{text-decoration:none;}
  .rdv h4 a:hover{color:var(--bordeaux);}
  /* Événements passés (archive /agenda/) : panneau grisé, rangées éteintes –
     contraste immédiat avec l'à-venir sur blanc */
  .agenda--passe{
    background:var(--fond);border:1px solid var(--filet);border-radius:3px;
    padding:1.6rem 2.2rem .7rem;
  }
  .agenda--passe .agenda-mois__titre{color:#8a8a8a;}
  .agenda--passe .rdv{opacity:.78;transition:opacity .2s,background .2s;}
  .agenda--passe .rdv:hover{opacity:1;background:#eeeae2;}
  .agenda--passe .rdv__date b{color:#9a9186;}
  .agenda--passe .type-rdv{background:rgba(7,6,6,.06);color:#8a8a8a;}
  .agenda--passe .rdv h4 a{color:#4a4a4a;}
  .agenda--passe .rdv h4 a:hover{color:var(--bordeaux);}

  .rdv__lieu{
    font-size:.84rem;color:#8a8a8a;margin-top:.3rem;
    display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;
  }

  .rdv__actions{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;}
  .rdv__actions .btn{padding:.6rem 1.3rem;font-size:.78rem;}
  .rdv__actions .ical{
    font-size:.76rem;color:#8a8a8a;text-decoration:none;white-space:nowrap;
    transition:color .2s;
  }
  .rdv__actions .ical:hover{color:var(--bordeaux);}

  .pied-agenda{text-align:center;margin-top:2.8rem;}

  /* ================= Lettre : même surface vivante que le héros ================= */
  /* Lettre d'information : formulaire du pied de page */
  .form-lettre{display:flex;gap:.8rem;flex-wrap:wrap;justify-content:center;}
  .pied-lettre{max-width:460px;}
  .pied-lettre .form-lettre{justify-content:flex-start;gap:.6rem;}
  .pied-lettre .form-lettre input{flex:1 1 200px;max-width:none;padding:.65rem .9rem;font-size:.85rem;}
  .pied-lettre .btn{padding:.65rem 1.2rem;font-size:.72rem;}
  .pied-lettre .champ-miel{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
  .pied-lettre .optin{
    flex-basis:100%;display:flex;gap:.55rem;align-items:flex-start;
    font-size:.72rem;line-height:1.5;color:rgba(240,230,216,.65);cursor:pointer;
  }
  .pied-lettre .optin input{margin-top:.15em;accent-color:var(--or);flex:0 0 auto;}
  .lettre-retour{font-size:.78rem;margin:0 0 .6rem;padding:.5rem .8rem;border-radius:3px;}
  .lettre-retour--ok{background:rgba(236,191,96,.16);color:var(--or);}
  .lettre-retour--err{background:rgba(255,255,255,.08);color:#f0c9c9;}
  .form-lettre input{
    flex:1 1 280px;max-width:380px;padding:.85rem 1.1rem;font:inherit;font-size:.9rem;
    border:none;background:rgba(255,255,255,.08);color:var(--blanc);
    transition:background .25s;
  }
  .form-lettre input::placeholder{color:rgba(240,230,216,.5);}
  .form-lettre input:hover{background:rgba(255,255,255,.11);}
  .form-lettre input:focus{background:rgba(255,255,255,.15);outline:none;}
  .form-lettre input:focus-visible{outline:none;}

  /* ================= Pied de page ================= */
  footer{
    background:
      radial-gradient(55% 60% at 92% 0%, rgba(94,0,0,.5), transparent 60%),
      radial-gradient(40% 50% at 4% 100%, rgba(236,191,96,.05), transparent 55%),
      var(--bordeaux-noir);
    color:#cbb79e;font-size:.9rem;
  }
  .pied-int{padding-top:4rem;padding-bottom:3rem;}
  .pied-logo{margin-bottom:2.8rem;}
  .pied-logo__identite{min-width:0;}
  .pied-logo p{max-width:62ch;color:#f0e6d8;font-size:1.03rem;}
  /* Lettre et réseaux côte à côte, têtes h4 alignées sur la même ligne */
  .pied-outils{
    display:grid;grid-template-columns:1fr 1fr;gap:2rem 4rem;
    align-items:start;margin-bottom:4.5rem;
  }
  .pied-rs{margin-top:0;}
  .pied-rs .rs-liste{margin-top:0;flex-wrap:wrap;}
  .pied-colonnes{display:grid;grid-template-columns:repeat(5,1fr);gap:3.2rem 2rem;}
  .pied-int li a{line-height:1.5;}
  /* Même langue typographique que le panneau de menu */
  .pied-int h4{
    font-family:'Open Sans',sans-serif;font-size:11px;font-weight:700;
    letter-spacing:2px;text-transform:uppercase;color:var(--blanc);
    margin-bottom:1.2rem;padding-bottom:.7rem;border-bottom:1px solid var(--separateur-clair);
  }
  .pied-int ul{list-style:none;display:flex;flex-direction:column;gap:.15rem;}
  .pied-int li a{
    display:block;
    padding:.55rem .6rem;margin:0 -.6rem;
    border-radius:3px;
    text-decoration:none;
    font-family:'Open Sans',sans-serif;font-size:11px;font-weight:400;
    letter-spacing:2px;text-transform:uppercase;color:rgba(240,230,216,.75);
    transition:color .2s,background .2s;
  }
  .pied-int li a:hover{color:var(--or-doux);background:rgba(255,255,255,.05);}
  .pied-logo__identite > svg,.pied-logo__identite > img{width:min(100%,350px);height:auto;margin-bottom:1.2rem;display:block;}
  .sous-pied{background:#2e0500;}
  .sous-pied .conteneur{
    display:flex;justify-content:flex-start;align-items:center;gap:1rem;flex-wrap:wrap;
    padding-top:1.1rem;padding-bottom:1.1rem;
  }
  .sous-pied,.sous-pied a{
    font-family:'Open Sans',Helvetica,Arial,sans-serif;
    font-size:10px;letter-spacing:1px;text-transform:uppercase;
    color:#f1f1f1;
  }
  .sous-pied a{text-decoration:none;transition:color .2s;}
  .sous-pied a:hover{color:var(--or-doux);}

  /* ================= Bandeau cookies ================= */
  .cookies{
    position:fixed;left:20px;bottom:20px;z-index:65;
    max-width:380px;
    background:var(--bordeaux-noir);color:#f0e6d8;
    border-radius:3px;
    box-shadow:0 18px 50px rgba(7,6,6,.35);
    padding:1.5rem 1.5rem 1.4rem;
    opacity:0;transform:translateY(16px);visibility:hidden;
    transition:opacity .5s ease,transform .5s ease,visibility .5s;
  }
  .cookies.visible{opacity:1;transform:none;visibility:visible;}
  .cookies::before{ /* même grain que les aplats sombres */
    content:"";position:absolute;inset:0;pointer-events:none;border-radius:3px;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%25' height='100%25' filter='url(%23g)'/></svg>");
    opacity:.09;
  }
  .cookies > *{position:relative;z-index:1;}
  .cookies h2{
    font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:500;
    color:var(--blanc);margin-bottom:.5rem;
  }
  .cookies p{font-size:.85rem;line-height:1.55;color:rgba(240,230,216,.85);margin-bottom:1.2rem;}
  .cookies__actions{display:flex;gap:.7rem;flex-wrap:wrap;align-items:center;}
  .cookies__actions .btn{padding:.6rem 1.2rem;font-size:.72rem;letter-spacing:.08em;}
  .btn--voile{background:rgba(255,255,255,.08);color:var(--blanc);}
  .btn--voile:hover{background:rgba(255,255,255,.14);}
  .cookies__perso{
    font-size:11px;font-weight:400;letter-spacing:1px;text-transform:uppercase;
    color:rgba(240,230,216,.6);text-decoration:none;transition:color .2s;
  }
  .cookies__perso:hover{color:var(--or-doux);}
  @media (max-width:480px){
    .cookies{left:12px;right:12px;bottom:12px;max-width:none;}
  }

  /* ================= Animations, sobres ================= */
  @keyframes apparition{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}
  .heros .conteneur > *{animation:apparition .8s ease both;}
  .heros .conteneur > *:nth-child(2){animation-delay:.1s;}
  .heros .conteneur > *:nth-child(3){animation-delay:.2s;}
  .heros .conteneur > *:nth-child(4){animation-delay:.3s;}
  @media (prefers-reduced-motion:reduce){
    *{animation:none !important;transition:none !important;}
    html{scroll-behavior:auto;}
  }

  /* ================= Fil d'Ariane ================= */
  .fil-ariane{background:transparent;padding:2.4rem 28px 0;position:relative;z-index:1;}
  .fil-ariane ol{
    list-style:none;display:flex;justify-content:center;align-items:center;
    gap:.9rem;flex-wrap:wrap;
    font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;
  }
  .fil-ariane li{display:flex;align-items:center;gap:.9rem;}
  .fil-ariane li + li::before{content:"·";color:var(--or-doux);font-size:1rem;line-height:1;}
  .fil-ariane a{color:#9a9a9a;text-decoration:none;transition:color .2s;}
  .fil-ariane a:hover{color:var(--bordeaux);}
  .fil-ariane [aria-current]{
    color:var(--bordeaux);
    max-width:34ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;
  }

  /* ================= Barre de partage (dans le rail latéral) ================= */
  .barre-partage{
    display:flex;flex-wrap:wrap;gap:8px;
  }
  .barre-partage__libelle{display:none;} /* le rail porte déjà le titre « Partager » */
  /* Pastilles rondes : la même famille que les pictogrammes en médaillon
     du texte (fond pâle circulaire, trait bordeaux). */
  .barre-partage a,.barre-partage button{
    width:34px;height:34px;border-radius:50%;cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    background:#f7f4ee;color:var(--bordeaux);
    border:1px solid #e6e2da;
    transition:background .2s,color .2s,border-color .2s;
  }
  .barre-partage a:hover,.barre-partage button:hover{
    background:var(--bordeaux);border-color:var(--bordeaux);color:var(--or-doux);
  }
  .barre-partage svg{width:15px;height:15px;fill:currentColor;}
  .barre-partage svg.trait{fill:none;stroke:currentColor;stroke-width:1.8;}

  /* ================= Gabarit article standard ================= */
  .article-single{background:var(--fond);padding-bottom:5.5rem;position:relative;overflow-x:clip;}
  /* Miniature de l'article en fond de haut de page : niveaux de gris très
     légers, fondus en diagonale dans le gris du fond (#f5f5f5). */
  .article-fond{
    position:absolute;top:0;left:0;right:0;height:min(520px,70vh);
    overflow:hidden;pointer-events:none;
  }
  .article-fond::before{
    content:"";position:absolute;inset:0;
    background-image:var(--fond-article);
    background-size:cover;background-position:center top;
    filter:grayscale(1);
    opacity:.12;
  }
  .article-fond::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(to bottom,
      rgba(245,245,245,0) 0%,
      rgba(245,245,245,.35) 45%,
      rgba(245,245,245,.85) 78%,
      #f5f5f5 100%);
  }
  .article-entete{background:transparent;max-width:820px;margin:0 auto;text-align:center;padding:4.2rem 28px 2.4rem;position:relative;z-index:1;}
  .article-rubrique{
    display:block;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
    color:var(--bordeaux);margin-bottom:1rem;
    text-decoration:none;
  }
  .article-rubrique a{text-decoration:none;color:inherit;}
  .article-rubrique a:hover{color:var(--bordeaux-noir);}
  .article-entete h1{font-size:clamp(1.9rem,3.6vw,2.7rem);font-weight:500;line-height:1.25;}
  .article-entete .ornement{margin:1.6rem 0 1.4rem;}
  .article-chapo{font-size:1.1rem;line-height:1.75;color:#2e2e2e;text-align:center;}
  .article-chapo a{
    color:var(--bordeaux);
    text-decoration:underline dotted;
    text-decoration-color:rgba(94,0,0,.45);
    text-decoration-thickness:1px;
    text-underline-offset:3px;
    transition:color .2s,text-decoration-color .2s;
  }
  .article-chapo a:hover{color:var(--bordeaux-noir);text-decoration-color:var(--bordeaux-noir);}
  .article-meta{margin-top:1.4rem;font-size:.85rem;color:#8a8a8a;}
  .article-figure{max-width:1180px;margin:1.6rem auto 0;padding:0 28px;position:relative;z-index:1;}
  .article-figure img{aspect-ratio:16/9;object-fit:cover;}
  /* Modèle « Vidéo » : le lecteur remplace la miniature, même gabarit 16:9 */
  .cadre-video{
    position:relative;
    aspect-ratio:16/9;border-radius:3px;overflow:hidden;
    background:#1c0604;
    box-shadow:0 14px 36px rgba(7,6,6,.10);
  }
  /* Calque d'image : le principe du fond de page, adapté à l'écran vidéo –
     l'image mise en avant sous un voile bordeaux à ~50 %. */
  .cadre-video__fond{
    position:absolute;inset:0;z-index:0;
    background-size:cover;background-position:center;
    pointer-events:none;
  }
  /* Tout ce qui vit dans le cadre (placeholder puis iframe) passe
     au-dessus du calque d'image. */
  .cadre-video > :not(.cadre-video__fond),
  .cadre-video iframe{
    position:relative;z-index:1;
  }
  /* Vidéo acceptée : le calque n'a plus de raison d'être. */
  .cadre-video:has(iframe) .cadre-video__fond{display:none;}
  .cadre-video__fond::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(180deg,
      rgba(28,6,4,.36) 0%,
      rgba(28,6,4,.50) 55%,
      rgba(28,6,4,.62) 100%);
  }
  /* Au-dessus du calque, le lecteur en attente est transparent. */
  .cadre-video .tac_activate{background:transparent !important;}
  .cadre-video iframe,.cadre-video .youtube_player,.cadre-video .vimeo_player,
  .cadre-video .youtube_player iframe,.cadre-video .vimeo_player iframe,
  .cadre-video div[id^="tac"]{
    display:block;width:100% !important;height:100% !important;
    max-width:100% !important;border:0;margin:0 !important;
  }

  .article-figure .zoom-doux{box-shadow:0 14px 36px rgba(7,6,6,.10);}

  /* ===== Zone article : colonne de lecture + rail latéral ===== */
  .zone-article{
    position:relative;z-index:1;
    max-width:1180px;margin:26px auto 0;padding:0 28px;
    display:grid;grid-template-columns:minmax(0,1fr) 216px;gap:32px;
    align-items:start;
  }
  .colonne-lecture{min-width:0;}
  .zone-article .article-corps{width:auto;border-radius:3px;}

  /* Le rail se cale sous l'en-tête sticky (hauteur mesurée en JS,
     repli 120px), et 32px plus bas quand la barre d'admin WP est là. */
  .rail{position:sticky;top:calc(var(--entete-h,120px) + 20px);font-size:.8rem;color:#6b6b6b;}
  body.admin-bar .rail{top:calc(var(--entete-h,120px) + 32px + 20px);}

  /* Ancres (table des matières…) : ne jamais atterrir sous l'en-tête */
  /* Toute cible d'ancre du site atterrit sous l'en-tête sticky. */
  [id]{scroll-margin-top:calc(var(--entete-h,120px) + 20px);}
  body.admin-bar [id]{scroll-margin-top:calc(var(--entete-h,120px) + 52px);}
  .rail-bloc{
    background:var(--blanc);border-radius:3px;
    box-shadow:0 8px 22px rgba(7,6,6,.06);
    padding:1.15rem 1.2rem 1.05rem;
  }
  .rail-bloc + .rail-bloc{margin-top:14px;}
  .rail-titre{
    font-size:9.5px;font-weight:700;letter-spacing:2.2px;text-transform:uppercase;
    color:var(--bordeaux);margin:0 0 .55rem;
  }
  .rail-titre::after{content:"";display:block;width:26px;height:2px;background:var(--bordeaux);margin-top:6px;}
  .rail-auteur{font-family:'Playfair Display',Georgia,serif;font-size:1.02rem;color:var(--presque-noir);margin:.1rem 0 .15rem;}
  .rail-date{color:#8a8a8a;margin:0;}
  .rail-lecture{margin:.55rem 0 0;padding-top:.55rem;border-top:1px solid #e6e2da;color:#8a8a8a;}

  /* Widget « L'itinéraire en PDF » (modèle Itinéraires européens) */
  .rail-pdf{display:block;border-radius:3px;overflow:hidden;
    box-shadow:0 4px 14px rgba(7,6,6,.12);
    transition:box-shadow .25s;
  }
  a.rail-pdf:hover{box-shadow:0 8px 22px rgba(66,7,0,.28);}
  .rail-pdf img{display:block;width:100%;height:auto;}
  .rail-pdf-lien{
    display:inline-block;margin-top:.6rem;
    font-size:.78rem;font-weight:600;letter-spacing:.3px;
    color:var(--bordeaux);text-decoration:none;
    border-bottom:1px solid rgba(94,0,0,.35);padding-bottom:1px;
    transition:border-color .2s;
  }
  .rail-pdf-lien:hover{border-color:var(--bordeaux);}
  /* Gabarits Formation : « Candidater » en tête du rail, au-dessus du
     partage – vers le titre du formulaire (#titre-candidature, que
     scroll-margin-top garde sous l'en-tête). */
  .rail .rail-candidater{
    display:block;text-align:center;margin:0 0 14px;padding:.85rem 1rem;
    box-shadow:0 8px 22px rgba(66,7,0,.18);
  }
  /* CTA d'inscription dans le rail : bouton plein, pleine largeur du bloc */
  .rail-bloc .rail-evt-cta{
    display:block;text-align:center;
    margin:1rem 0 .4rem;padding:.75rem 1rem;
  }

  /* Carte des itinéraires : carte blanche du thème, iframe sans bordure */
  .carte-itineraires{
    margin-top:32px;background:var(--blanc);border-radius:3px;
    box-shadow:0 14px 36px rgba(7,6,6,.08);
    padding:1.3rem 1.4rem 1.4rem;
  }
  .carte-itineraires .rail-titre{margin-bottom:.9rem;}
  .carte-itineraires__cadre{border-radius:3px;overflow:hidden;line-height:0;}
  .carte-itineraires__cadre iframe{
    display:block;width:100%;height:min(600px,68vh);border:0;
  }

  /* ===== Modèle « Enquête sur l'histoire » : éditorial et sommaire ===== */
  .carte-sommaire{
    background:var(--blanc);border-radius:3px;
    box-shadow:0 14px 36px rgba(7,6,6,.08);
    padding:clamp(24px,4vw,44px);
  }
  .article-corps + .carte-sommaire{margin-top:26px;}

  /* Surtitre posé en tête du corps (même UI que les titres du rail) */
  .corps-surtitre{
    font-size:11px;font-weight:700;letter-spacing:2.2px;text-transform:uppercase;
    color:var(--bordeaux);margin:0 0 1.4rem;
  }
  .corps-surtitre::after{content:"";display:block;width:26px;height:2px;background:var(--or-doux);margin-top:7px;}

  .carte-sommaire__titre{
    font-family:'Playfair Display',Georgia,serif;font-size:1.45rem;font-weight:500;
    color:var(--presque-noir);margin:0;text-align:center;
  }
  .carte-sommaire .ornement{margin:1rem 0 1.6rem;}
  .carte-sommaire__contenu{font-size:.95rem;line-height:1.75;color:#2b2b2b;}
  .carte-sommaire__contenu h3{
    font-size:11px;font-weight:700;letter-spacing:2.2px;text-transform:uppercase;
    color:var(--bordeaux);margin:1.6rem 0 .7rem;font-family:'Open Sans',sans-serif;
  }
  .carte-sommaire__contenu h3:first-child{margin-top:0;}
  .carte-sommaire__contenu ul{
    list-style:none;margin:0 0 .6rem;padding:0;
    columns:2;column-gap:48px;
  }
  .carte-sommaire__contenu li{
    break-inside:avoid;margin-bottom:.6rem;position:relative;padding-left:1.1rem;
  }
  .carte-sommaire__contenu li::before{
    content:"▸";position:absolute;left:0;top:.05em;
    color:var(--bordeaux);font-size:.85em;
  }
  .carte-sommaire__contenu em{color:#8a8a8a;font-style:normal;font-size:.82rem;}
  @media (max-width:760px){.carte-sommaire__contenu ul{columns:1;}}

  /* Méta mobile : masquée tant que le rail est là */
  .article-meta--mobile{display:none;}
  @media (max-width:1023px){
    .zone-article{grid-template-columns:minmax(0,1fr);gap:0;}
    .rail{display:none;} /* pas d'outils de partage en mobile */
    .article-meta--mobile{
      display:block;position:relative;z-index:1;
      text-align:center;margin:1rem auto 0;font-size:.85rem;color:#8a8a8a;
    }
  }
  .article-figure img{width:100%;height:auto;display:block;}
  .article-corps{
    width:min(844px, calc(100% - 56px));
    margin:0 auto;
    position:relative;z-index:1;
    background:var(--blanc);border-radius:0 0 3px 3px;
    box-shadow:0 14px 36px rgba(7,6,6,.08);
    padding:3rem clamp(24px,9vw,82px) 3.2rem;
    font-size:1.06rem;line-height:1.9;
    color:#333333;
  }
  .article-corps p{margin-bottom:1.55rem;}
  /* Gras du corps : demi-gras (600) plutôt que 700, encre à peine plus
     soutenue que le texte courant – l'emphase sans le pavé noir. */
  .article-corps strong,.article-corps b{font-weight:600;color:#2b2b2b;}

  /* Titres intermédiaires : hiérarchie nette, respiration généreuse */
  .article-corps h2,.article-corps h3,.article-corps h4{
    font-family:'Playfair Display',Georgia,serif;font-weight:500;
    color:var(--presque-noir);
  }
  .article-corps h2{
    font-size:1.72rem;line-height:1.4;
    margin:2.9rem 0 1.15rem;
  }
  .article-corps h3{
    font-size:1.34rem;line-height:1.45;
    margin:2.3rem 0 .95rem;color:var(--bordeaux);
  }
  .article-corps h4{
    font-size:1.18rem;line-height:1.55;
    margin:2.1rem 0 .85rem;
    font-family:'Playfair Display',Georgia,serif;font-weight:600;
    color:var(--presque-noir);
  }
  .article-corps h4 strong,.article-corps h4 b{font-weight:inherit;color:inherit;}
  .article-corps h2:first-child,.article-corps h3:first-child{margin-top:0;}

  /* Listes : numéros en gras léger, puces or, items aérés */
  .article-corps ol,.article-corps ul{
    margin:0 0 1.55rem;padding-left:1.6rem;
  }
  .article-corps li{margin-bottom:.55rem;}
  .article-corps ol li::marker{color:var(--bordeaux);font-weight:600;font-variant-numeric:tabular-nums;}
  /* Puces : pointeur triangulaire bordeaux (mêmes couleurs que les numéros) */
  .article-corps ul{list-style:none;padding-left:1.5rem;}
  .article-corps ul li{position:relative;}
  .article-corps ul li::before{
    content:"▸";position:absolute;left:-1.15rem;top:.05em;
    color:var(--bordeaux);font-size:.9em;line-height:inherit;
  }

  /* Vidéos (YouTube, Dailymotion, Vimeo, Odysee…) : pleine largeur, 16:9 */
  .article-corps iframe[src*="youtube.com"],
  .article-corps iframe[src*="youtube-nocookie.com"],
  .article-corps iframe[src*="dailymotion.com"],
  .article-corps iframe[src*="vimeo.com"],
  .article-corps iframe[src*="odysee.com"],
  .article-corps .youtube_player,
  .article-corps .youtube_player iframe,
  .article-corps .wp-block-embed iframe{
    display:block;width:100%;aspect-ratio:16/9;height:auto;border:0;
  }
  .article-corps .wp-block-embed,
  .article-corps .wp-block-embed__wrapper{margin:2rem 0;max-width:none;}

  /* ================= Table des matières (LuckyWP) ================= */
  /* Habillage maison par-dessus les réglages du plugin. */
  .article-corps .lwptoc{margin:2.2rem 0;}
  .article-corps .lwptoc_i{
    background:#f9f7f2 !important;
    border:none !important;
    border-left:3px solid var(--bordeaux) !important;
    border-radius:3px !important;
    padding:1rem 1.3rem .85rem !important;
  }
  .article-corps .lwptoc_header{margin-bottom:.45rem;}
  .article-corps .lwptoc_title{
    font-family:'Open Sans',sans-serif !important;
    font-size:10px !important;font-weight:700 !important;
    letter-spacing:2px;text-transform:uppercase;
    color:var(--bordeaux) !important;
  }
  .article-corps .lwptoc_toggle{font-size:.72rem;}
  .article-corps .lwptoc_toggle a,.article-corps .lwptoc_toggle_label{
    color:#8a8a8a !important;text-decoration:none;border:none !important;
  }
  .article-corps .lwptoc_items{font-size:.84rem !important;line-height:1.9 !important;}
  .article-corps .lwptoc_itemWrap > .lwptoc_item{margin:.12rem 0 !important;}
  .article-corps .lwptoc_item > a{
    color:var(--texte) !important;text-decoration:none !important;border:none !important;
  }
  .article-corps .lwptoc_item > a:hover{color:var(--bordeaux) !important;}
  .article-corps .lwptoc_item_label{
    border-bottom:1px solid transparent;
    transition:border-color .2s;
  }
  .article-corps .lwptoc_item > a:hover .lwptoc_item_label{border-color:var(--bordeaux);}
  .article-corps .lwptoc_item_number{
    color:var(--bordeaux);font-weight:600;font-variant-numeric:tabular-nums;
    margin-right:.15rem;
  }

  /* ===== Images insérées dans le corps ===== */
  /* Jamais de débord : bornées à la colonne, hauteur recalculée. */
  .article-corps img{max-width:100%;height:auto;border-radius:3px;}

  /* Alignements WordPress (classique et Gutenberg) */
  .article-corps .alignleft{float:left;margin:.4rem 1.7rem 1.1rem 0;max-width:min(46%,340px);}
  .article-corps .alignright{float:right;margin:.4rem 0 1.1rem 1.7rem;max-width:min(46%,340px);}
  .article-corps .aligncenter{display:block;float:none;margin:2.2rem auto;}
  .article-corps .alignnone{display:block;margin:2.2rem 0;}
  .article-corps figure.wp-block-image{margin:2.2rem 0;}
  .article-corps figure.wp-block-image.aligncenter{margin:2.2rem auto;}

  /* Légendes : encapsulées classique (.wp-caption) ou Gutenberg (figcaption) */
  .article-corps .wp-caption{
    width:auto !important;max-width:100%;
    background:none;border:0;padding:0;
  }
  .article-corps .wp-caption.alignleft{max-width:min(46%,340px);}
  .article-corps .wp-caption.alignright{max-width:min(46%,340px);}
  .article-corps .wp-caption img{display:block;margin:0;}
  .article-corps .wp-caption-text,
  .article-corps figcaption{
    font-size:.78rem;line-height:1.55;color:#8a8a8a;
    margin:.55rem 0 0;padding:0 2px;
  }

  /* Les intertitres ne s'enroulent jamais autour d'une image flottée,
     et rien ne déborde de la carte. */
  .article-corps h2,.article-corps h3,.article-corps h4,.article-corps hr{clear:both;}
  .article-corps::after{content:"";display:block;clear:both;}

  /* Mobile : les flottements deviennent des blocs pleine largeur */
  @media (max-width:640px){
    .article-corps .alignleft,.article-corps .alignright,
    .article-corps .wp-caption.alignleft,.article-corps .wp-caption.alignright{
      float:none;display:block;margin:1.8rem auto;max-width:100%;
    }
  }

  /* Séparateurs <hr> : l'ornement du titre, décliné en bordeaux Iliade */
  .article-corps hr{
    border:0;height:1px;max-width:260px;
    margin:3rem auto;
    background:linear-gradient(to right,
      transparent 0%, rgba(94,0,0,.4) 12%, rgba(94,0,0,.4) 88%, transparent 100%);
    overflow:visible;position:relative;
  }
  .article-corps hr::after{
    content:"❦";
    position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
    background:var(--blanc);padding:0 1rem;
    color:var(--bordeaux);font-size:1.05rem;line-height:1;
  }

  /* Citations dans le corps */
  .article-corps blockquote{
    margin:2rem 0;padding:.4rem 0 .4rem 1.4rem;
    border-left:3px solid var(--bordeaux);
    font-family:'Playfair Display',Georgia,serif;font-size:1.14rem;line-height:1.75;
    color:#2b2b2b;font-style:italic;
  }
  /* Liens du corps, repris par les descriptifs de rubrique (chapô, suite) :
     une seule apparence de lien dans les textes. */
  .article-corps a,.taxo-descriptif a{
    color:var(--bordeaux);
    text-decoration:underline dotted;
    text-decoration-color:rgba(94,0,0,.45);
    text-decoration-thickness:1px;
    text-underline-offset:3px;
    transition:color .2s,text-decoration-color .2s;
  }
  .article-corps a:hover,.taxo-descriptif a:hover{
    color:var(--bordeaux-noir);
    text-decoration-color:var(--bordeaux-noir);
  }

  /* ================= Voir aussi ================= */
  .section-voiraussi{background:var(--fond);padding:5rem 0 5.5rem;}
  .voiraussi-carte .signature{margin-top:auto;padding-top:.7rem;border-top:1px solid var(--filet);font-size:.79rem;color:#8a8a8a;}

  /* ================= Gabarit taxonomie ================= */
  .section-taxo{background:var(--fond);padding-bottom:5rem;}
  .taxo-entete{max-width:820px;margin:0 auto;text-align:center;padding:1.6rem 28px 3rem;}
  .taxo-entete h1,.colloque-une--tete h1{font-size:clamp(2rem,3.6vw,2.7rem);font-weight:500;line-height:1.25;}
  .taxo-entete .ornement{margin:1.5rem 0 1.3rem;}
  .taxo-descriptif{max-width:66ch;margin:0 auto;font-size:1.05rem;color:var(--texte);}
  /* Même convention de gras que les corps d'article : 600, encre à peine
     plus soutenue – jamais le 700 noir par défaut du navigateur. */
  .taxo-descriptif strong,.taxo-descriptif b{font-weight:600;color:#2b2b2b;}
  .taxo-descriptif > p + p{margin-top:.9rem;}
  .taxo-descriptif h2,.taxo-descriptif h3,.taxo-descriptif h4{
    font-family:'Playfair Display',Georgia,serif;font-weight:500;
    font-size:clamp(1.35rem,2.4vw,1.6rem);line-height:1.35;color:var(--presque-noir);margin:0 0 1rem;
  }
  /* Suite du descriptif (modèle Éditions), sous la pagination : centrée
     comme le chapô, elle répond à l'introduction. */
  .taxo-suite{text-align:center;}
  .section-seo .conteneur + .pres-corps,.section-seo .conteneur + .conteneur{margin-top:3rem;}

  /* Texte SEO des catégories : rendu dans la carte de lecture des
     articles (.texte-seo.article-corps dans un .pres-corps, largeur
     standard) sur le gris de la page – plus aucune typographie propre,
     article-corps fait tout (titres, listes ▸, blockquotes, liens). */
  .section-seo{background:var(--fond);padding:0 0 5.5rem;}
  .section-seo .pres-corps{margin:0 auto;}
  .section-seo .pres-corps + .pres-corps{margin-top:2.2rem;}

  /* ================= Gabarit formation ================= */
  .video-cadre{
    max-width:900px;margin:0 auto;padding:0 28px 4.5rem;
  }
  .video-cadre .ecran{
    aspect-ratio:16/9;border-radius:3px;overflow:hidden;
    box-shadow:0 20px 45px rgba(7,6,6,.18);background:var(--presque-noir);
  }
  .video-cadre iframe{width:100%;height:100%;border:0;display:block;}

  .section-programme{background:var(--blanc);padding:5rem 0 5.5rem;}
  .programme{max-width:760px;margin:0 auto;padding:0 28px;font-size:1rem;line-height:1.85;}
  .programme h2{font-family:'Playfair Display',serif;font-size:1.7rem;font-weight:500;margin:0 0 1.4rem;text-align:center;}
  .programme h3{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:500;color:var(--bordeaux);margin:2.2rem 0 .7rem;}
  .programme p{margin-bottom:1.1rem;}
  .programme ul{list-style:none;margin:0 0 1.1rem;}
  .programme li{padding:.45rem 0 .45rem 1.4rem;position:relative;}
  .programme li::before{content:"✦";position:absolute;left:0;top:.5rem;font-size:.7rem;color:var(--or-doux);}

  .figure-programme{max-width:900px;margin:2.8rem auto;padding:0 28px;}
  .figure-programme figcaption{font-size:.8rem;color:#8a8a8a;text-align:center;margin-top:.7rem;}
  .duo-figures{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;}
  @media (max-width:640px){.duo-figures{grid-template-columns:1fr;}}

  .devise-triptyque{
    text-align:center;font-family:'Playfair Display',serif;font-style:italic;
    font-size:1.25rem;line-height:1.6;color:var(--presque-noir);
    max-width:34ch;margin:2.6rem auto;
  }
  .devise-triptyque em{color:var(--bordeaux);font-style:italic;}

  .chiffres-formation{
    display:flex;justify-content:center;gap:3.5rem;flex-wrap:wrap;
    margin:3rem auto 0;text-align:center;
  }
  .chiffres-formation b{display:block;font-family:'Playfair Display',serif;font-size:2.1rem;font-weight:500;color:var(--bordeaux);line-height:1.1;}
  .chiffres-formation span{font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:#8a8a8a;}

  .section-candidature{background:var(--fond);padding:5rem 0 5.5rem;}
  .candidature{max-width:900px;margin:0 auto;padding:0 28px;}
  .candidature__intro{max-width:66ch;margin:0 auto 2.6rem;text-align:center;}
  .candidature h3{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:500;color:var(--bordeaux);margin:0 0 .7rem;}
  .candidature p{margin-bottom:1rem;font-size:.97rem;}
  .form-candidature{
    background:var(--blanc);border-radius:3px;box-shadow:0 14px 36px rgba(7,6,6,.08);
    padding:2.4rem 2.2rem;display:flex;flex-direction:column;gap:1.2rem;
  }
  .form-candidature .grille-champs{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem 1.6rem;}
  .form-candidature .champ{display:flex;flex-direction:column;gap:.45rem;}
  .choix-promo{border:none;padding:0;margin:0;}
  .choix-promo legend{
    font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--bordeaux);
    margin-bottom:.7rem;
  }
  .choix-promo .options{display:flex;gap:.6rem 1rem;flex-wrap:wrap;}
  .choix-promo label{
    display:inline-flex;align-items:center;gap:.55rem;
    font-size:.93rem;color:var(--texte);letter-spacing:0;text-transform:none;font-weight:400;
    background:var(--fond);border-radius:3px;padding:.65rem 1rem;cursor:pointer;
    transition:background .2s;
  }
  .choix-promo label:hover{background:#efefef;}
  .choix-promo input[type="radio"]{accent-color:var(--bordeaux);width:15px;height:15px;margin:0;cursor:pointer;}
  .choix-promo label:has(input:checked){background:rgba(94,0,0,.08);color:var(--bordeaux);}
  .form-candidature label{font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--bordeaux);}
  .form-candidature input,.form-candidature select,.form-candidature textarea{
    font:inherit;font-size:.95rem;color:var(--presque-noir);
    background:var(--fond);border:none;border-radius:3px;
    padding:.75rem .9rem;transition:background .2s;
  }
  .form-candidature input:hover,.form-candidature select:hover,.form-candidature textarea:hover{background:#efefef;}
  .form-candidature input:focus,.form-candidature select:focus,.form-candidature textarea:focus{background:#ececec;outline:none;}
  .form-candidature textarea{min-height:120px;resize:vertical;}
  .form-candidature .btn{align-self:flex-start;margin-top:.4rem;}
  @media (max-width:640px){.form-candidature .grille-champs{grid-template-columns:1fr;}}

  /* ================= Impression ================= */
  @media print{
    .article-fond,.rail,
    .barre-partage,.cookies,.rail-partage,#wpadminbar,#tarteaucitronRoot,
    body.page-article .pagenav,body.page-article .commentaires{display:none !important;}
    body.page-article header.principal,
    body.page-article .panneau-menu,
    body.page-article .fil-ariane,
    body.page-article .article-entete .ornement,
    body.page-article .section-don,
    body.page-article .section-voiraussi,
    body.page-article footer,
    body.page-article .sous-pied{display:none !important;}
    body.page-article{background:#fff;color:#000;font-size:11pt;}
    body.page-article .article-single{background:#fff;padding:0;}
    body.page-article .article-entete{
      background:#fff;max-width:none;text-align:left;padding:0 0 .6cm;
    }
    body.page-article .article-rubrique{color:#000;margin-bottom:.3cm;}
    body.page-article .article-entete h1{font-size:20pt;color:#000;}
    body.page-article .article-chapo{color:#000;font-size:11.5pt;}
    body.page-article .article-meta{color:#333;margin-top:.4cm;}
    body.page-article .article-meta--mobile{display:block;text-align:left;}
    body.page-article .article-figure{max-width:none;margin:0 0 .6cm;padding:0;}
    body.page-article .article-figure img{
      border-radius:0;max-height:9cm;width:auto;max-width:100%;margin:0 auto;
      page-break-inside:avoid;
    }
    body.page-article .zone-article{display:block;max-width:none;margin:0;padding:0;}
    body.page-article .article-corps{
      width:auto;max-width:none;margin:0;padding:0;
      background:none;box-shadow:none;border-radius:0;
      font-size:11pt;line-height:1.6;color:#000;
    }
    body.page-article .article-corps p{margin-bottom:.4cm;orphans:3;widows:3;}
    body.page-article .article-corps a{color:#000;text-decoration:none;}
  }

  /* ================= Adaptatif ================= */
  @media (max-width:980px){
    .une{grid-template-columns:1fr;padding:2.2rem 1.8rem;gap:2.4rem;}
    .une__agenda{border-left:none;border-top:1px solid var(--filet);padding-left:0;padding-top:2rem;}
    .grille-publications{grid-template-columns:1fr 1fr;}
    .formation-int{grid-template-columns:1fr;gap:3rem;}
    .pied-colonnes{grid-template-columns:repeat(2,1fr);}
    .pied-logo{grid-template-columns:1fr;align-items:start;}
    .pied-logo__identite,.pied-rs{grid-column:auto;}
    .panneau-menu > .conteneur{grid-template-columns:1fr 1fr;gap:2.4rem;}
    .vocations .duo{grid-template-columns:1fr;}
    .vocations .duo .sep{height:1px;width:120px;margin:1.6rem auto;}
    .vocations .duo > div:not(.sep){padding:0;}
  }
  @media (max-width:640px){
    /* En-tête : compact malgré le logo et la recherche, car il reste sticky */
    .entete-int{min-height:64px;gap:0 1rem;padding-top:.5rem;padding-bottom:.4rem;}
    .logo{flex:1 1 auto;min-width:0;max-width:340px;}
    .bouton-menu{width:48px;height:48px;}
    .recherche{margin-top:.45rem;}
    .agenda--passe{padding:1rem 1.2rem .4rem;}
    .recherche input{padding:.55rem 0;font-size:.88rem;}
    header.principal{padding-bottom:.8rem;}

    /* État replié sur mobile : pastille réduite, recherche sans plafond */
    header.principal.compacte .entete-int{gap:0 .9rem;min-height:56px;}
    header.principal.compacte .logo{flex:0 0 48px;min-width:48px;max-width:48px;}
    header.principal.compacte .logo img.logo-pastille{width:48px;height:48px;}
    header.principal.compacte .bouton-menu{width:44px;height:44px;}
    header.principal.sans-pastille.compacte .logo{flex:0 1 180px;min-width:120px;max-width:180px;}

    /* Héros et une */
    .heros{padding:3.2rem 0 7.5rem;}
    .une{padding:1.8rem 1.2rem;margin-top:-5rem;gap:2rem;}
    .une__secondaires{grid-template-columns:1fr;}

    /* Publications */
    .grille-publications{grid-template-columns:1fr;gap:1.5rem;}

    /* Agenda */
    .agenda-filtres{gap:.4rem;}
    .agenda-filtres button{padding:.5rem .8rem;letter-spacing:1.5px;}
    .rdv{grid-template-columns:52px 1fr;row-gap:.9rem;padding:1rem .6rem;margin:0 -.6rem;}
    .rdv__actions{grid-column:2;flex-direction:row;align-items:center;justify-content:flex-start;gap:1.1rem;}

    /* Menu plein écran */
    .panneau-menu > .conteneur{grid-template-columns:1fr;gap:2rem;}
    .panneau-menu{padding-top:6.5rem;}
    .panneau-menu__tete .conteneur{min-height:64px;padding-top:.5rem;padding-bottom:.4rem;}
    .fermer-menu{width:48px;height:48px;}

    /* Pied de page */
    .pied-outils{grid-template-columns:1fr;}
    .pied-colonnes{grid-template-columns:1fr 1fr;gap:2rem 1.5rem;}
    .sous-pied .conteneur{justify-content:center;text-align:center;}
  }

  /* Petits téléphones */
  @media (max-width:440px){
    .heros h1{font-size:1.7rem;}
    .une{margin-top:-4rem;}
    .chiffres{gap:1.6rem;}
    .chiffre b{font-size:2rem;}
    .rdv__date b{font-size:1.6rem;}
    .rdv h4{font-size:1.05rem;}
    .pied-colonnes{grid-template-columns:1fr;gap:1.8rem;}
    .pied-rs .rs-liste{gap:.55rem;}
    .pied-int li a{letter-spacing:1.5px;}
    .panneau-menu li a{letter-spacing:1.5px;}
  }

/* ================= Page événement (CPT rendez-vous) ================= */
.evt-heros{
  position:relative;color:#f0e6d8;text-align:center;
  padding:2.2rem 0 9.5rem; /* réserve pour le chevauchement de l'affiche */
}
.evt-ariane{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(240,230,216,.55);margin-bottom:2.6rem;}
.evt-ariane a{color:inherit;text-decoration:none;transition:color .2s;}
.evt-ariane a:hover{color:var(--or);}
.evt-ariane .sep{margin:0 .5rem;color:rgba(240,230,216,.3);}
.evt-tag{
  display:inline-block;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  color:var(--or);background:rgba(255,255,255,.1);
  padding:.3rem .75rem;border-radius:3px;margin-bottom:1.3rem;
  text-decoration:none;transition:background .2s;
}
.evt-tag:hover{background:rgba(255,255,255,.18);}
.evt-date{
  font-size:.85rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;
  color:var(--or);margin-bottom:.9rem;
}
.evt-heros h1{
  font-family:'Playfair Display',Georgia,serif;font-weight:500;
  font-size:clamp(2rem, 4.6vw, 3.3rem);line-height:1.12;color:#fff;
  max-width:840px;margin:0 auto .9rem;
}
.evt-lieu{
  display:flex;align-items:center;justify-content:center;gap:.5rem;
  font-size:.95rem;color:rgba(240,230,216,.85);margin-bottom:2rem;
}
.evt-lieu svg{width:15px;height:15px;flex:0 0 auto;color:var(--or);fill:none;stroke:currentColor;stroke-width:1.8;}
/* CTA immédiatement sous le titre */
.evt-actions{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;}
.evt-actions .btn{padding:.85rem 2rem;font-size:.78rem;letter-spacing:.09em;}
.btn--fantome{
  background:transparent;color:#f0e6d8;
  box-shadow:inset 0 0 0 1px rgba(240,230,216,.4);
}
.btn--fantome:hover{background:transparent;box-shadow:inset 0 0 0 1px var(--or);color:var(--or);}
.evt-ical{
  flex-basis:100%;margin-top:.2rem;
  font-size:.78rem;color:rgba(240,230,216,.6);text-decoration:none;transition:color .2s;
}
.evt-ical:hover{color:var(--or);}
.evt-passe-badge{
  display:inline-block;
  font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(240,230,216,.75);
  border:1px solid rgba(240,230,216,.35);border-radius:3px;
  padding:.6rem 1.4rem;
}
/* Affiche : pleine netteté, proportions conservées, chevauche le bandeau.
   Elle vit dans .article-figure (largeur 1180 alignée sur l'en-tête) ;
   une affiche portrait est plafonnée en hauteur et centrée. */
.article-figure.evt-affiche{margin:-7.5rem auto 0;position:relative;z-index:2;}
.evt-affiche img{
  display:block;margin:0 auto;
  max-width:100%;width:auto;height:auto;max-height:820px;
  border-radius:3px;
  box-shadow:0 26px 70px rgba(7,6,6,.35);
}
/* Le descriptif et le rail reprennent la zone d'article (largeur cohérente,
   rail de partage collant) ; .article-corps est déjà la carte blanche. */
@media (max-width:640px){
  .evt-heros{padding-bottom:7.5rem;}
  .article-figure.evt-affiche{margin-top:-6rem;}
  .evt-actions .btn{width:100%;}
  .evt-ariane{margin-bottom:1.8rem;}
}

/* ================= Tarteaucitron : habillage maison ================= */
html body #tarteaucitronRoot #tarteaucitronAlertBig{
  background:var(--bordeaux-noir) !important;
  border-radius:3px !important;
  box-shadow:0 18px 50px rgba(7,6,6,.35) !important;
  font-family:'Open Sans',sans-serif !important;
  padding:1.5rem !important;
}
html body #tarteaucitronRoot #tarteaucitronDisclaimerAlert{
  color:#f0e6d8 !important;font-size:.85rem !important;line-height:1.55 !important;
}
html body #tarteaucitronRoot .tarteaucitronCTAButton,
html body #tarteaucitronRoot #tarteaucitronCloseAlert,
html body #tarteaucitronRoot #tarteaucitronPrivacyUrl{
  border-radius:3px !important;font-family:'Open Sans',sans-serif !important;
  font-weight:700 !important;font-size:.72rem !important;
  letter-spacing:.08em !important;text-transform:uppercase !important;
  padding:.6rem 1.2rem !important;
}
html body #tarteaucitronRoot .tarteaucitronAllow,
html body #tarteaucitronRoot #tarteaucitronPersonalize2{
  background:var(--or) !important;color:var(--bordeaux-noir) !important;
}
html body #tarteaucitronRoot .tarteaucitronDeny{
  background:rgba(255,255,255,.08) !important;color:#fff !important;
}
html body #tarteaucitronRoot #tarteaucitronIcon{opacity:.85;}
html body #tarteaucitronRoot #tarteaucitronManager img{filter:grayscale(1);}
div#tarteaucitronServices{box-shadow:0 30px 80px rgba(7,6,6,.4) !important;}

/* ================= Tableaux dans les contenus : défilement mobile ================= */
.article-corps table{
  display:block;max-width:100%;overflow-x:auto;
  border-collapse:collapse;
}
.article-corps table td,.article-corps table th{
  padding:.55rem .8rem;border-bottom:1px solid var(--filet);
  white-space:nowrap;
}
.article-corps table th{
  font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--bordeaux);text-align:left;
}

/* ================= Formulaire de candidature : retours ================= */
.champ-miel{position:absolute !important;left:-9999px !important;height:0;overflow:hidden;}
.candidature-retour{
  max-width:900px;margin:0 auto 1.4rem;padding:1rem 1.3rem;border-radius:3px;
  font-size:.95rem;
}
.candidature-retour--ok{background:rgba(94,0,0,.07);color:var(--bordeaux);}
.candidature-retour--ko{background:rgba(7,6,6,.06);color:#4a4a4a;}

/* ================= Plan du site ================= */
/* La page parle le langage des grilles : cartes blanches sur le fond gris,
   têtes de section Playfair avec filet fuyant et compteur, puces ▸. */
.titre-plan{display:flex;align-items:baseline;gap:1rem;margin:2.6rem 0 1.3rem;}
.titre-plan h2{
  font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:500;
  color:var(--presque-noir);white-space:nowrap;margin:0;
}
.titre-plan::after{content:"";flex:1;height:1px;background:var(--filet);transform:translateY(-4px);}
.titre-plan .nombre{font-size:.78rem;font-weight:700;color:#a09a8e;white-space:nowrap;}

/* Rubriques : cartes à rythme égal, pied « Tous les articles » épinglé en bas */
.grille-rubriques{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.2rem;}
.carte-rubrique,.carte-plan{
  background:var(--blanc);border-radius:3px;box-shadow:0 10px 30px rgba(7,6,6,.06);
  padding:1.5rem 1.6rem 1.3rem;display:flex;flex-direction:column;
}
.carte-rubrique h3{
  display:flex;align-items:baseline;justify-content:space-between;gap:.8rem;
  font-family:'Playfair Display',serif;font-size:1.12rem;font-weight:600;
  margin:0 0 .65rem;padding-bottom:.65rem;border-bottom:1px solid var(--filet);
}
.carte-rubrique h3 a{color:var(--presque-noir);text-decoration:none;transition:color .2s;}
.carte-rubrique h3 a:hover{color:var(--bordeaux);}
.carte-rubrique .compte{
  font-family:'Open Sans',sans-serif;font-size:.68rem;font-weight:700;
  color:#8a8175;background:#f1ede4;border-radius:3px;padding:.18rem .5rem;flex:0 0 auto;
}
/* Puces : le pointeur triangulaire bordeaux des articles */
.carte-rubrique ul,.carte-plan ul{list-style:none;margin:0;padding:0;}
.carte-rubrique li,.carte-plan li{
  position:relative;padding:.34rem 0 .34rem 1.05rem;font-size:.88rem;line-height:1.45;
}
.carte-rubrique li::before,.carte-plan li::before{
  content:"▸";position:absolute;left:0;top:.36rem;
  color:var(--bordeaux);font-size:.82em;line-height:inherit;
}
.carte-rubrique li + li,.liste-agenda li + li{border-top:1px solid #f2efe9;}
.carte-rubrique li a,.carte-plan a{color:var(--texte);text-decoration:none;transition:color .2s;}
.carte-rubrique li a{display:block;}
.carte-rubrique li a:hover,.carte-plan a:hover{color:var(--bordeaux);}
.carte-rubrique .tous,.carte-plan .tous{
  margin-top:auto;padding-top:.9rem;align-self:flex-start;
  font-size:.76rem;font-weight:700;letter-spacing:.04em;
  color:var(--bordeaux);text-decoration:none;
}
.carte-plan .tous{margin-top:.2rem;}
.carte-rubrique .tous:hover,.carte-plan .tous:hover{text-decoration:underline;text-underline-offset:3px;}

/* Agenda : les prochains rendez-vous, date et lieu en regard */
.liste-agenda li{display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap;}
.liste-agenda .quand{
  flex:0 0 auto;margin-left:auto;
  font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:#a09a8e;white-space:nowrap;
}
.plan-agenda-vide{margin:0;padding:.34rem 0;font-size:.9rem;color:#7a7a7a;}

/* Pages : trois colonnes ; filet en tête de chaque entrée pour un rythme
   égal d'une colonne à l'autre (colonnes CSS) */
.liste-pages{columns:3;column-gap:2.6rem;}
.liste-pages li{break-inside:avoid;border-top:1px solid #f2efe9;}
.liste-pages .children{list-style:none;margin:0;padding:0;}
.liste-pages .children li::before{color:#c9c2b6;}
@media (max-width:900px){.liste-pages{columns:2;}}
@media (max-width:640px){
  .liste-pages{columns:1;}
  .liste-agenda .quand{margin-left:1.05rem;flex-basis:100%;}
}

/* ================= Page pilier : Présentation ================= */
/* En-tête : la famille des pages claires (article-entete) ; l'exergue en
   chapô garde le Playfair italique, l'attribution en petites capitales. */
.entete-exergue{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:1.15rem;line-height:1.7;}
.entete-exergue .attribution{
  margin-top:.7rem;font-family:'Open Sans',sans-serif;font-style:normal;
  font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#a09a8e;
}
.article-chapo p{margin:0 0 .8rem;}
.article-chapo p:last-child{margin-bottom:0;}

.pres-video{margin:.6rem auto 0;width:min(1124px,calc(100% - 56px));position:relative;z-index:1;}
.pres-video .cadre{
  position:relative;aspect-ratio:16/9;border-radius:3px;overflow:hidden;
  background:var(--presque-noir);
  box-shadow:0 26px 70px rgba(7,6,6,.35);
}
.pres-video .cadre > *{position:absolute;inset:0;width:100%;height:100%;}
.pres-video iframe{border:0;display:block;}

/* Langues : une page par langue, la rangée de pastilles remplace les tabs */
.langues{
  display:flex;align-items:baseline;justify-content:center;gap:.5rem;flex-wrap:wrap;
  margin:2.4rem auto 0;padding:0 28px;
}
.langues .libelle{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:#a09a8e;margin-right:.4rem;}
.langue{
  font-family:'Open Sans',sans-serif;font-size:.74rem;font-weight:700;letter-spacing:.05em;
  color:var(--texte);background:var(--blanc);border:1px solid var(--filet);border-radius:3px;
  padding:.45rem .9rem;text-decoration:none;
  transition:color .2s,background .2s,border-color .2s;
}
a.langue:hover{color:var(--bordeaux);border-color:var(--bordeaux);}
.langue.active{background:var(--bordeaux);border-color:var(--bordeaux);color:var(--blanc);}

/* Corps : la carte EST un .article-corps – toute la typographie des
   articles (gras demi-teinte, titres, liens, listes, blockquotes) vaut
   ici sans duplication ; seule la largeur est calée sur l'en-tête. */
.pres-corps{width:min(1124px,calc(100% - 56px));margin:2.2rem auto 0;}
.pres-corps .article-corps{width:auto;border-radius:3px;}
/* Gabarits Formation : le corps est passé en zone-article (rail de partage) ;
   on garde la même respiration sous la vidéo que du temps de pres-corps. */
.pres-video + .zone-article{margin-top:2.2rem;}

/* Triptyque homérique : shortcode [triptyque]Titre : rôle | …[/triptyque] */
.triptyque{
  display:grid;grid-template-columns:repeat(var(--triptyque-colonnes,3),1fr);
  margin:2.4rem 0;padding:1.9rem 0;
  border-top:1px solid var(--filet);border-bottom:1px solid var(--filet);
  text-align:center;
}
.triptyque > div + div{border-left:1px solid var(--filet);}
.triptyque .fleuron{color:var(--bordeaux);font-size:1rem;margin-bottom:.55rem;}
/* Têtes : fleurons du sprite (ouvrant ☙, central ❦, fermant ❧ selon la
   place) ou pictos du thème, à largeur égale ; ou image (emblème). */
.triptyque .fleuron svg{display:block;width:1.45rem;height:auto;margin:0 auto;fill:currentColor;}
.triptyque .fleuron img{display:block;height:3.4rem;width:auto;margin:0 auto;}
/* Rangées communes d'une colonne à l'autre (sous-grille) : titres, rôles
   et détails restent alignés, quel que soit le retour à la ligne. */
.triptyque > div{display:grid;grid-row:span 4;grid-template-rows:subgrid;align-content:start;padding:0 .8rem;}
.triptyque .fleuron{grid-row:1;align-self:center;}
.triptyque > div h3{grid-row:2;}
.triptyque > div .role{grid-row:3;}
/* Détail (3e segment facultatif, liens permis), ancré par un court filet
   bordeaux, écho de l'ornement des titres. */
.triptyque > div .detail{grid-row:4;font-size:.95rem;line-height:1.6;color:var(--texte);margin:1rem 0 0;}
.triptyque > div .detail::before{content:"";display:block;width:28px;height:1px;background:var(--bordeaux);opacity:.45;margin:0 auto .85rem;}
/* Dans le chapô d'une rubrique : toute la largeur de l'en-tête (820 px). */
.taxo-descriptif .triptyque{margin:1.6rem calc(50% - min(410px, 50vw - 28px));}
/* Sélecteurs volontairement plus spécifiques que « .article-corps h3 » :
   le shortcode peut vivre dans un corps d'article, et l'ordre des feuilles
   n'est pas garanti (WP Rocket). */
.triptyque > div h3{
  font-family:'Playfair Display',Georgia,serif;font-size:1.25rem;font-weight:500;
  color:var(--presque-noir);margin:0 0 .3rem;line-height:1.3;
}
.triptyque > div .role{
  font-size:.68rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  color:#a09a8e;margin:0;
}

/* Grande exergue de fin : trait bordeaux, entre la carte et le CTA */
.exergue-fin{margin:3.2rem auto 0;max-width:680px;padding:0 24px;}
.exergue-fin blockquote{
  margin:0;padding-left:1.6rem;border-left:3px solid var(--bordeaux);
  font-family:'Playfair Display',Georgia,serif;font-style:italic;font-weight:500;
  font-size:clamp(1.1rem,2.2vw,1.35rem);line-height:1.65;
  color:var(--texte); /* à cette taille le Playfair pèse : gris du texte courant */
}
.exergue-fin .attribution{
  margin-top:.9rem;padding-left:1.6rem;
  font-family:'Open Sans',sans-serif;font-style:normal;
  font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#a09a8e;
}
.exergue-fin cite{font-style:normal;}

/* CTA de fin : sur le fond clair de la page – jamais une bande bordeaux
   juste avant le pied de page (les deux surfaces se confondraient). */
.pres-cta{margin-top:4.5rem;padding:0 28px 5rem;text-align:center;}
.pres-cta .surtitre{
  font-size:.72rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;
  color:var(--bordeaux);margin:0 0 .8rem;
}
.pres-cta h2{
  font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.5rem,3vw,2rem);
  font-weight:500;color:var(--presque-noir);margin:0 0 1.8rem;
}
.pres-cta .actions{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;}

@media (max-width:640px){
  .triptyque{grid-template-columns:1fr;gap:1.4rem;}
  .triptyque > div{display:block;padding:0;}
  .triptyque > div + div{border-left:none;border-top:1px solid var(--filet);padding-top:1.4rem;}
  .pres-cta .actions .btn{width:100%;}
}

/* Courriels masqués (antileach) : même langue que les liens du corps */
.courriel-masque{cursor:pointer;}

/* ================= Page FAQ ================= */
/* Accordéon natif details/summary : une carte blanche par question,
   triangle bordeaux qui pivote, largeur de lecture des articles. */
.section-faq{padding-top:.4rem;} /* padding, pas de marge : une marge fuyante
   laisserait le blanc du body entre le heros et la section grise */
/* Dans la grille des articles, l'accordéon prend la colonne de lecture */
.section-faq .zone-article{margin-top:26px;}
.zone-article .faq,.zone-article .faq-contact{width:auto;}
.faq{
  width:min(844px,calc(100% - 56px));margin:0 auto;
  background:var(--blanc);border-radius:3px;box-shadow:0 10px 30px rgba(7,6,6,.06);
}
.faq-item + .faq-item{border-top:1px solid var(--filet);}
.faq-item summary{
  list-style:none;cursor:pointer;
  display:flex;align-items:baseline;gap:1rem;
  padding:1.35rem 1.7rem;
  font-family:'Playfair Display',Georgia,serif;font-size:1.18rem;font-weight:500;
  color:var(--presque-noir);line-height:1.4;
  transition:color .2s;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary:hover{color:var(--bordeaux);}
.faq-item summary::before{
  content:"▸";flex:0 0 auto;color:var(--bordeaux);
  font-size:.8em;transform:translateY(-.08em);
  transition:transform .25s ease;
}
.faq-item[open] summary::before{transform:rotate(90deg) translateX(-.08em);}
.faq-reponse{
  padding:0 1.7rem 1.5rem calc(1.7rem + 1.05rem + 1rem);
  font-size:1.02rem;line-height:1.85;color:#333;
}
.faq-reponse > *:first-child{margin-top:0;padding-top:1.1rem;border-top:1px solid #f2efe9;}
.faq-reponse p{margin:1rem 0 0;}
.faq-reponse a{
  color:var(--bordeaux);text-decoration:underline dotted;
  text-decoration-color:rgba(94,0,0,.45);text-underline-offset:3px;
}
.faq-reponse a:hover{color:var(--bordeaux-noir);text-decoration-style:solid;}
.faq-reponse strong,.faq-reponse b{font-weight:600;color:#2b2b2b;}
.faq-reponse ul{list-style:none;margin:1rem 0 0;padding-left:1.5rem;}
.faq-reponse ul li{position:relative;margin-bottom:.55rem;}
.faq-reponse ul li::before{
  content:"▸";position:absolute;left:-1.15rem;top:.05em;
  color:var(--bordeaux);font-size:.9em;line-height:inherit;
}
.faq-reponse ol{margin:1rem 0 0;padding-left:1.6rem;}
.faq-reponse ol li{margin-bottom:.55rem;}
.faq-reponse ol li::marker{color:var(--bordeaux);font-weight:600;}
/* Clôture : renvoi vers le contact */
.faq-contact{width:min(844px,calc(100% - 56px));margin:2.6rem auto 0;text-align:center;}
.faq-contact .surtitre{
  font-size:.72rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;
  color:var(--bordeaux);margin:0 0 .7rem;
}
.faq-contact h2{
  font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.3rem,2.6vw,1.7rem);
  font-weight:500;color:var(--presque-noir);margin:0 0 1.5rem;
}
@media (max-width:640px){
  .faq-item summary{padding:1.15rem 1.2rem;font-size:1.08rem;}
  .faq-reponse{padding:0 1.2rem 1.3rem 1.2rem;}
}

/* ================= Formation : galerie de clôture ================= */
.section-galerie{width:min(1124px,calc(100% - 56px));margin:0 auto;padding-top:4.2rem;}
.section-galerie .galerie-rendu img{border-radius:3px;}

/* ================= Chevaucher le tigre : le programme en cartes ========= */
/* Bande sombre pleine largeur (surfaces de .section-formation, comme « Les
   prochaines dates ») : la rupture de fond absorbe le retour à la largeur
   standard après la colonne de lecture. Cartes blanches, étiquette
   « Session I… », filet sous le titre, puces ▸ ; dernière rangée à gauche.
   NB : « section-tigre » et pas « section-programme » – cette classe-là
   existe plus haut (programme des pages événement, fond blanc) et, venant
   après .section-formation, elle écraserait le fond sombre. */
.section-tigre.section-tigre{margin-top:4.5rem;}
.section-tigre .tete-section{margin-bottom:2.4rem;}
.programme-intro{
  max-width:62ch;margin:-1.2rem auto 2.6rem;text-align:center;
  font-size:1rem;line-height:1.8;color:rgba(240,230,216,.85);
}
.grille-cartes{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:1.2rem;}
.carte-session{
  flex:0 1 calc((100% - 2.4rem)/3);min-width:280px;
  background:var(--blanc);border-radius:3px;box-shadow:0 18px 44px rgba(7,6,6,.28);
  padding:1.5rem 1.6rem 1.4rem;display:flex;flex-direction:column;color:var(--texte);
}
.carte-session-tete{
  display:flex;align-items:baseline;justify-content:space-between;gap:.8rem;
  margin-bottom:.55rem;
}
.carte-session .etiquette{
  font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--bordeaux);
}
.carte-session .quand{
  font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;
  color:#8a8175;text-align:right;
}
.carte-session h3{
  font-family:'Playfair Display',serif;font-size:1.12rem;font-weight:600;
  color:var(--presque-noir);margin:0 0 .65rem;padding-bottom:.65rem;
  border-bottom:1px solid var(--filet);
}
.carte-session ul{list-style:none;margin:0;padding:0;}
.carte-session li{
  position:relative;padding:.34rem 0 .34rem 1.05rem;font-size:.88rem;line-height:1.45;
}
.carte-session li::before{
  content:"▸";position:absolute;left:0;top:.36rem;
  color:var(--bordeaux);font-size:.82em;line-height:inherit;
}
.carte-session li + li{border-top:1px solid #f2efe9;}
@media (max-width:900px){
  .carte-session{flex-basis:calc((100% - 1.2rem)/2);}
}
@media (max-width:640px){
  .carte-session{flex-basis:100%;min-width:0;}
}

/* ================= Pictogrammes en ligne (emojis du contenu) =========== */
/* Un emoji du vocabulaire courant (🎙 📅 ✉ …) devient le picto du sprite,
   au trait fin du thème, posé en médaillon : fond circulaire pâle (le
   beige des boutons de partage), calé sur la ligne de base du texte. */
.picto-ligne{
  display:inline-block;width:1.7em;height:1.7em;padding:.35em;
  background:#f6f2ea;border-radius:50%;
  vertical-align:-.46em;color:var(--bordeaux);
}
.sombre .picto-ligne,.section-formation .picto-ligne,.surface-bordeaux .picto-ligne{
  background:rgba(236,191,96,.14);color:var(--or);
}

/* ================= Événement → article : encart « Lire l'article » ====== */
/* Posé en tête de la colonne de lecture du rendez-vous quand son compte
   rendu est publié (la méta croisée vient du bouton « Créer l'article »). */
.encart-article{
  background:var(--blanc);border-radius:3px;box-shadow:0 10px 30px rgba(7,6,6,.06);
  padding:1.5rem 1.6rem 1.6rem;margin:0 0 20px;
}
.encart-article .rail-titre{margin-bottom:.8rem;}
.encart-article-titre{
  font-family:'Playfair Display',Georgia,serif;font-size:1.15rem;font-weight:600;
  color:var(--presque-noir);line-height:1.4;margin:0 0 1.1rem;
}

/* ================= Spinner de chargement des images ================= */
/* Anneau bordeaux animé (SVG SMIL en data-URI : l'animation ne coûte aucun
   JavaScript) posé en fond de TOUTE image du contenu (main) – vignettes,
   affiches, couvertures, publications, logos, images d'article : l'image le
   recouvre en se chargeant. Exceptions : galeries Modula (leur propre
   chargement), emblèmes décoratifs (triptyque, affiche typographique),
   émojis, photos du héros (à peine visibles sous l'aplat bordeaux). scripts.js ajoute .img-chargee une fois le chargement fini pour
   retirer le fond (images transparentes, erreurs de chargement).
   Spécificité : le :not() passe devant les fonds propres des composants
   (couvertures) ; la classe doublée du retrait passe devant le tout,
   quel que soit l'ordre des feuilles (WP Rocket). Texte transparent : le
   navigateur n'écrit plus l'alt sur l'anneau pendant le chargement (ni
   sur une image en échec) ; les lecteurs d'écran le lisent toujours. */
main img:not(.modula img,.fleuron img,.colloque-affiche__embleme,.emoji,.carrousel img){
  color:transparent;
  background-color:#eceae6;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'><circle cx='20' cy='20' r='16' fill='none' stroke='%23ddd8ce' stroke-width='3'/><path d='M20 4a16 16 0 0 1 16 16' fill='none' stroke='%235e0000' stroke-width='3' stroke-linecap='round'><animateTransform attributeName='transform' attributeType='XML' type='rotate' from='0 20 20' to='360 20 20' dur='0.9s' repeatCount='indefinite'/></path></svg>");
  background-position:center;background-repeat:no-repeat;background-size:28px 28px;
}
img.img-chargee.img-chargee{background-color:transparent;background-image:none;}
@media (prefers-reduced-motion:reduce){
  main img:not(.modula img,.fleuron img,.colloque-affiche__embleme,.emoji,.carrousel img){background-image:none;}
}

/* ================= Page de recherche ================= */
/* Le champ de la 404 (même composant .recherche-404), centré et élargi,
   avec les rubriques les plus fournies en suggestions sous le champ. */
.zone-recherche{display:flex;flex-direction:column;align-items:center;}
.recherche-grande{width:min(640px,100%);margin:0 auto 1.8rem;}
.suggestions-recherche{text-align:center;margin:0 0 2.6rem;}
.suggestions-recherche__titre{
  font-size:11px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;
  color:#8a8175;margin:0 0 .9rem;
}
.suggestions-recherche ul{
  list-style:none;margin:0;padding:0;
  display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;
  max-width:860px;
}
/* Pastille : composant partagé par les suggestions de la recherche et les
   sujets de « À lire sur le même sujet ». */
.suggestions-recherche a,
.voiraussi-sujets button,
.colloque-pastilles a{
  display:inline-flex;align-items:baseline;gap:.5rem;
  background:var(--blanc);border-radius:3px;box-shadow:0 6px 18px rgba(7,6,6,.05);
  padding:.55rem 1rem;text-decoration:none;
  font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--texte);
  transition:background .2s,color .2s;
}
.suggestions-recherche a:hover,.colloque-pastilles a:hover{background:var(--bordeaux);color:var(--or-doux);}
.suggestions-recherche .compte,.colloque-pastilles .compte{font-size:.68rem;font-weight:700;color:#a09a8e;transition:color .2s;}
.suggestions-recherche a:hover .compte,.colloque-pastilles a:hover .compte{color:rgba(240,230,216,.7);}

/* « À lire sur le même sujet » : une pastille par étiquette (onglets) sous
   le titre ; la pastille active prend l'aplat bordeaux, les autres
   s'éclairent au survol. */
.voiraussi-sujets{
  display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;
  max-width:860px;margin:1.8rem auto 0;
}
.voiraussi-sujets button{font-family:inherit;line-height:1.4;border:0;cursor:pointer;}
.voiraussi-sujets button:hover{background:#f6f2ea;color:var(--bordeaux);}
.voiraussi-sujets button[aria-selected="true"]{background:var(--bordeaux);color:var(--or-doux);cursor:default;}
.voiraussi-panneau:not([hidden]){animation:voiraussi-fondu .3s ease both;}
@keyframes voiraussi-fondu{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
.pied-voiraussi{text-align:center;margin-top:2.8rem;}
@media (prefers-reduced-motion:reduce){.voiraussi-panneau:not([hidden]){animation:none;}}

/* Carte des itinéraires sur la page de la catégorie (gabarit dédié) */
.carte-itineraires--rubrique.carte-itineraires--rubrique{margin-top:2.6rem;}

/* ================= Page 404 ================= */
/* « 4 ❦ 4 » : le fleuron du site en guise de zéro ; recherche en carte
   blanche, retours utiles – la 404 comme porte d'entrée, pas un cul-de-sac. */
.zone-404{
  min-height:56vh;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:5rem 28px 5.5rem;
}
.surtitre-404{
  font-size:11px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;
  color:var(--bordeaux);margin:0 0 1.6rem;
}
.chiffres-404{
  display:flex;align-items:center;justify-content:center;gap:clamp(.9rem,3vw,1.6rem);
  font-family:'Playfair Display',Georgia,serif;font-weight:500;
  font-size:clamp(5rem,14vw,8.5rem);line-height:1;color:var(--presque-noir);
  margin-bottom:1.6rem;
}
.chiffres-404 .fleuron{color:var(--bordeaux);font-size:.42em;transform:translateY(.06em);}
.zone-404 h1{
  font-family:'Playfair Display',Georgia,serif;font-weight:500;
  font-size:clamp(1.5rem,3vw,2rem);color:var(--presque-noir);margin:0 0 1rem;
}
.zone-404 > p:not(.surtitre-404){
  max-width:56ch;font-size:1rem;line-height:1.75;color:#6b6b6b;margin:0 0 2.4rem;
}
.recherche-404{
  width:min(560px,100%);display:flex;align-items:center;gap:.75rem;
  background:var(--blanc);border-radius:3px;box-shadow:0 10px 30px rgba(7,6,6,.06);
  padding:0 1.2rem;margin-bottom:1.9rem;
  transition:box-shadow .25s;
}
.recherche-404:focus-within{box-shadow:0 10px 30px rgba(7,6,6,.12);}
.recherche-404 button{
  background:transparent;border:none;cursor:pointer;padding:.2rem 0;
  color:#a09a8e;display:flex;align-items:center;transition:color .25s;
}
.recherche-404:focus-within button,.recherche-404 button:hover{color:var(--bordeaux);}
.recherche-404 svg{width:16px;height:16px;flex:0 0 auto;}
.recherche-404 input{
  flex:1;min-width:0;font:inherit;font-size:.95rem;color:var(--texte);
  background:transparent;border:none;padding:.95rem 0;
}
.recherche-404 input::placeholder{color:#a09a8e;}
.recherche-404 input:focus,.recherche-404 input:focus-visible{outline:none;}
.recherche-404 input::-webkit-search-cancel-button{-webkit-appearance:none;}
.actions-404{display:flex;align-items:center;justify-content:center;gap:1.1rem;flex-wrap:wrap;}
.lien-404{
  font-size:.78rem;font-weight:700;letter-spacing:.04em;
  color:var(--bordeaux);text-decoration:none;
}
.lien-404:hover{text-decoration:underline;text-underline-offset:3px;}
@media (max-width:640px){
  .actions-404{width:min(560px,100%);}
  .actions-404 .btn{width:100%;}
  .lien-404{width:100%;text-align:center;}
}

/* ================= Pictogrammes (sprite externe) ================= */
.rs svg{width:17px;height:17px;}
.recherche svg{width:17px;height:17px;flex:0 0 auto;}
.fermer-menu svg{width:22px;height:22px;}
.rdv__lieu svg,.rdv__heure svg{width:14px;height:14px;flex:0 0 auto;}

/* Bouton « Toutes les publications » sous la pagination */
.pagenav-tous{text-align:center;margin-top:1.4rem;}
/* Embed du module de dons : centré dans la surface bordeaux */
.don-int--embed{display:flex;justify-content:center;}
.don-int--embed > *{max-width:100%;}

/* Pagination fenêtrée : points de suspension */
.pagenav__points{
  display:inline-flex;align-items:flex-end;padding:0 .15rem .35rem;
  color:#9a9a9a;font-size:.9rem;letter-spacing:2px;user-select:none;
}

/* ================= Tarteaucitron : habillage maison ================= */

/* ---- Lecteurs sous consentement (vidéo d'article, formation…) ---- */
.tac_activate{
  position:relative;
  width:100% !important;height:100% !important;
  display:flex !important;align-items:center;justify-content:center;
  background:
    radial-gradient(55% 70% at 12% 0%, rgba(236,191,96,.10), transparent 60%),
    radial-gradient(60% 80% at 88% 100%, rgba(120,10,5,.55), transparent 65%),
    linear-gradient(115deg,#5e0000 0%,#420700 45%,#5e0000 90%) !important;
}
.tac_activate::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%25' height='100%25' filter='url(%23g)'/></svg>");
  opacity:.09;
}
.tac_activate .tac_float{
  position:static !important;z-index:1;
  display:flex !important;flex-direction:column;align-items:center;
  float:none !important;
  width:100% !important;max-width:none !important;
  margin:0 !important;padding:0 1.5rem !important;
  transform:none !important;
  text-align:center !important;
  font-family:'Open Sans',sans-serif;
  font-size:0 !important; /* masque le libellé technique du plugin */
  line-height:1.6;
  color:rgba(240,230,216,.9) !important;
}
/* Message grand public à la place du « X est désactivé. » */
.tac_activate .tac_float::after{
  content:"Cette vidéo est hébergée par une plateforme externe. Cliquez pour la lire.";
  order:1;
  font-size:.95rem;line-height:1.6;
  max-width:44ch;
}
.tac_activate .tarteaucitronAllow{order:2;}
.tac_activate{text-align:center !important;}
.tac_activate .tarteaucitronAllow{float:none !important;width:auto !important;}
.tac_activate .tac_float::before{
  content:"▶";
  display:flex;align-items:center;justify-content:center;
  width:62px;height:62px;margin:0 auto 1.2rem;
  border:1px solid rgba(236,191,96,.55);border-radius:50%;
  color:var(--or-doux);font-size:1.25rem;padding-left:5px;
}
.tac_activate .tac_float b,
.tac_activate .tac_float strong{color:var(--blanc);font-weight:600;}
.tac_activate .tarteaucitronAllow{
  display:block !important;margin:1.25rem auto 0 !important;
  line-height:1.4 !important;
  background:var(--or) !important;color:var(--presque-noir) !important;
  border:0 !important;border-radius:3px !important;cursor:pointer;
  padding:.65rem 1.6rem !important;
  font-family:'Open Sans',sans-serif !important;
  font-size:.72rem !important;font-weight:700 !important;
  letter-spacing:.08em;text-transform:uppercase;
  transition:background .2s;
}
.tac_activate .tarteaucitronAllow:hover{background:var(--or-doux) !important;}
.tac_activate .tarteaucitronAllow span{display:none;} /* pictos internes du bouton */
.tac_activate .tarteaucitronAllow{font-size:0 !important;}
.tac_activate .tarteaucitronAllow::after{
  content:"Lire la vidéo";
  font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
}

/* ---- Bandeau de consentement : la carte flottante de la maquette ---- */
html body #tarteaucitronRoot #tarteaucitronAlertBig{
  position:fixed !important;
  left:20px !important;right:auto !important;bottom:20px !important;top:auto !important;
  width:auto !important;max-width:420px !important;
  box-sizing:border-box !important; /* tarteaucitron remet content-box : sans
     !important, le plafond s'entend hors marges internes et la carte s'étire */
  background:var(--bordeaux-noir) !important;color:#f0e6d8 !important;
  border-radius:3px !important;
  box-shadow:0 18px 50px rgba(7,6,6,.35) !important;
  padding:1.5rem 1.5rem 1.4rem !important;
  text-align:left !important;
  font-family:'Open Sans',sans-serif !important;
}
html body #tarteaucitronRoot #tarteaucitronAlertBig::before{
  content:"";position:absolute;inset:0;pointer-events:none;border-radius:3px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%25' height='100%25' filter='url(%23g)'/></svg>");
  opacity:.09;
}
html body #tarteaucitronRoot #tarteaucitronAlertBig > *{position:relative;z-index:1;}
html body #tarteaucitronRoot #tarteaucitronDisclaimerAlert{
  display:block !important;
  font-size:.85rem !important;line-height:1.55 !important;
  color:rgba(240,230,216,.85) !important;
  margin:0 0 1.2rem !important;padding:0 !important;
}
html body #tarteaucitronRoot #tarteaucitronDisclaimerAlert::before{
  content:"Votre vie privée nous importe";
  display:block;
  font-family:'Playfair Display',Georgia,serif;font-size:1.15rem;font-weight:500;
  color:var(--blanc);margin-bottom:.5rem;letter-spacing:0;text-transform:none;
}
html body #tarteaucitronRoot #tarteaucitronDisclaimerAlert b,
html body #tarteaucitronRoot #tarteaucitronDisclaimerAlert strong{color:var(--blanc);}
/* Boutons : Accepter en or, Refuser en voile, Personnaliser en lien discret */
html body #tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronCTAButton,
html body #tarteaucitronRoot #tarteaucitronPersonalize2,
html body #tarteaucitronRoot #tarteaucitronAllDenied2,
html body #tarteaucitronRoot #tarteaucitronCloseAlert{
  display:inline-block !important;
  margin:0 .5rem 0 0 !important;
  white-space:nowrap;
  border:0 !important;border-radius:3px !important;cursor:pointer;
  padding:.55rem .9rem !important;
  font-family:'Open Sans',sans-serif !important;
  font-size:.72rem !important;font-weight:700 !important;
  letter-spacing:.08em !important;text-transform:uppercase !important;
  background:rgba(255,255,255,.08) !important;color:var(--blanc) !important;
  transition:background .2s,color .2s;
}
html body #tarteaucitronRoot #tarteaucitronAllDenied2:hover{background:rgba(255,255,255,.14) !important;}
html body #tarteaucitronRoot #tarteaucitronPersonalize2,
html body #tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronCTAButton.tarteaucitronAllow{
  background:var(--or) !important;color:var(--presque-noir) !important;
}
html body #tarteaucitronRoot #tarteaucitronPersonalize2:hover,
html body #tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronCTAButton.tarteaucitronAllow:hover{
  background:var(--or-doux) !important;
}
/* « Personnaliser » : bouton voilé, même corps que « Refuser » – sélecteur
   à trois identifiants, une règle du plugin plus lourde le grossissait. */
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert{
  display:inline-block !important;margin:0 !important;
  padding:.55rem .9rem !important;
  font-size:.72rem !important;font-weight:700 !important;
  letter-spacing:.08em !important;text-transform:uppercase !important;
  background:rgba(255,255,255,.08) !important;color:var(--blanc) !important;
  border:0 !important;border-radius:3px !important;
}
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert:hover{background:rgba(255,255,255,.14) !important;}
html body #tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronDeny span,
html body #tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronAllow span{display:none !important;}
@media (max-width:480px){
  html body #tarteaucitronRoot #tarteaucitronAlertBig{
    left:12px !important;right:12px !important;bottom:12px !important;max-width:none !important;
  }
  html body #tarteaucitronRoot #tarteaucitronPersonalize2,
  html body #tarteaucitronRoot #tarteaucitronAllDenied2{margin-bottom:.5rem !important;}
}

/* ---- Panneau de gestion des cookies : maquette validée (DOM réel 1.20) ----
   L'en-tête du panneau (.tarteaucitronMainLine) porte AUSSI la classe
   .tarteaucitronLine : toute règle générique des rangées doit l'exclure
   via :not(.tarteaucitronMainLine), sinon elle écrase la tête. */
html body #tarteaucitronRoot #tarteaucitronBack{
  background:rgba(20,8,6,.55) !important;opacity:1 !important;
  backdrop-filter:blur(3px);
}
html body #tarteaucitronRoot #tarteaucitron{
  top:50% !important;transform:translateY(-50%);
  width:min(680px,94%) !important;max-width:680px !important;
  height:auto !important;max-height:min(780px,90vh) !important;
  margin:0 auto !important;
  background:transparent !important; /* le blanc est porté par la liste :
     un fond sur le conteneur ressortait en coins blancs sous la tête */
  overflow-x:hidden !important;
  border:0 !important;border-radius:3px !important;overflow:hidden !important;
  box-shadow:0 30px 80px rgba(7,6,6,.5) !important;
  font-family:'Open Sans',sans-serif !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices{
  height:auto !important; /* le plugin fixe une hauteur en ligne */
  max-height:min(780px,90vh) !important;
  overflow-y:auto !important;overflow-x:hidden !important;
  background:var(--blanc) !important;box-shadow:none !important;
  margin-top:0 !important;
}
/* Tête bordeaux grainée, collante en défilement */
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine{
  position:sticky !important;top:0;z-index:4;
  border-radius:3px 3px 0 0;
  display:flex !important;flex-wrap:wrap;align-items:center;gap:0 1rem;
  background:
    radial-gradient(55% 70% at 12% 0%, rgba(236,191,96,.10), transparent 60%),
    radial-gradient(60% 80% at 88% 100%, rgba(120,10,5,.55), transparent 65%),
    linear-gradient(115deg,var(--bordeaux) 0%,var(--bordeaux-noir) 45%,var(--bordeaux) 90%) !important;
  border:0 !important;
  padding:1.4rem 1.7rem 1.2rem !important;margin:0 !important;
  text-align:left !important;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%25' height='100%25' filter='url(%23g)'/></svg>");
  opacity:.09;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine > *{position:relative;z-index:1;}
/* Surtitre + titre (le titre vient de tarteaucitron.lang.title, surchargé) */
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronH1{
  flex:1 1 100%;display:block !important;text-align:left !important;
  font-family:'Playfair Display',Georgia,serif !important;
  font-size:1.4rem !important;font-weight:500 !important;color:#fff !important;
  margin:0 0 .55rem !important;padding-right:5rem;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronH1::before{
  content:"Gestion des cookies";
  display:block;
  font-family:'Open Sans',sans-serif;font-size:10px;font-weight:700;
  letter-spacing:2.5px;text-transform:uppercase;color:var(--or);
  margin-bottom:.4rem;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronInfo{
  flex:1 1 100%;display:block !important;
  background:none !important;border:0 !important;
  text-align:left !important;padding:0 !important;margin:0 0 1.05rem !important;
  font-size:.84rem !important;line-height:1.55 !important;
  color:rgba(240,230,216,.85) !important;
  font-family:'Open Sans',sans-serif !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronInfo a{color:var(--or) !important;}
/* Rangée « tout » : libellé à gauche, deux boutons à droite */
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine .tarteaucitronName{
  flex:1 1 auto;display:block !important;width:auto !important;
  margin:0 !important;padding:0 !important;text-align:left !important;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronH2{
  display:block !important;
  font-family:'Open Sans',sans-serif !important;
  font-size:.76rem !important;font-weight:400 !important;
  color:rgba(240,230,216,.7) !important;margin:0 !important;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine .tarteaucitronAsk{
  flex:0 0 auto;display:flex !important;gap:.55rem;
  margin:0 !important;padding:0 !important;text-align:right !important;
  background:none !important;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine .tarteaucitronAllow,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine .tarteaucitronDeny{
  display:inline-block !important;margin:0 !important;
  border:0 !important;border-radius:3px !important;cursor:pointer;
  padding:.5rem .95rem !important;
  font-family:'Open Sans',sans-serif !important;
  font-size:.66rem !important;font-weight:700 !important;
  letter-spacing:.08em !important;text-transform:uppercase !important;
  background:rgba(255,255,255,.1) !important;color:#f0e6d8 !important;
  opacity:1 !important;transition:background .2s,color .2s;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine .tarteaucitronAllow{
  background:var(--or) !important;color:var(--presque-noir) !important;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine .tarteaucitronAllow:hover{background:var(--or-doux) !important;}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine .tarteaucitronDeny:hover{background:rgba(255,255,255,.18) !important;}
/* Fermer : fantôme clair sur la tête, au-dessus de tout */
html body #tarteaucitronRoot #tarteaucitronClosePanel{
  position:absolute !important;top:1rem !important;right:1.1rem !important;
  left:auto !important;bottom:auto !important;width:auto !important;z-index:6;
  background:rgba(255,255,255,.08) !important;color:#f0e6d8 !important;
  border:0 !important;border-radius:3px !important;cursor:pointer;
  padding:.5rem .8rem !important;
  font-family:'Open Sans',sans-serif !important;
  font-size:.66rem !important;font-weight:700 !important;
  letter-spacing:.08em !important;text-transform:uppercase !important;
}
html body #tarteaucitronRoot #tarteaucitronClosePanel:hover{background:rgba(255,255,255,.16) !important;color:var(--or) !important;}
/* Bandes de catégories */
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder{background:var(--blanc) !important;border:0 !important;overflow-x:hidden !important;}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronTitle{
  background:#f9f7f2 !important;margin:0 !important;padding:0 !important;
  border-bottom:1px solid #e8e4dc;text-align:left !important;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronTitle button{
  display:block !important;width:100% !important;text-align:left !important;
  background:none !important;border:0 !important;margin:0 !important;
  padding:.7rem 1.7rem !important;cursor:pointer;
  font-family:'Open Sans',sans-serif !important;
  font-size:.7rem !important;font-weight:700 !important;
  letter-spacing:1.5px !important;text-transform:uppercase !important;
  color:#6b5d4a !important;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronDetails{
  position:static !important;display:none;
  background:#fcfbf8 !important;border:0 !important;border-bottom:1px solid #e8e4dc;
  max-width:none !important;width:auto !important;
  padding:.8rem 1.7rem !important;margin:0 !important;
  font-size:.76rem !important;line-height:1.5 !important;color:#8a8a8a !important;
  text-align:left !important;
}
/* Rangées de services (jamais la tête) */
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine){
  display:flex !important;align-items:center;justify-content:space-between;gap:1.2rem;
  background:var(--blanc) !important;border:0 !important;
  border-bottom:1px solid #e8e4dc !important;
  padding:1.05rem 1.7rem !important;margin:0 !important;
  text-align:left !important;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine) .tarteaucitronName{
  display:block !important;width:auto !important;flex:1 1 auto;min-width:0;
  margin:0 !important;padding:0 !important;text-align:left !important;
  font-size:.78rem;color:#8a8a8a;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine) .tarteaucitronH3{
  display:block !important;
  font-family:'Playfair Display',Georgia,serif !important;
  font-size:1.02rem !important;font-weight:600 !important;
  color:var(--presque-noir) !important;margin:0 0 .2rem !important;
}
/* Cookies obligatoires : une phrase, pas un service */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices_mandatory .tarteaucitronH3{
  font-family:'Open Sans',sans-serif !important;
  font-size:.8rem !important;font-weight:400 !important;
  line-height:1.55 !important;color:#8a8a8a !important;margin:0 !important;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronStatusInfo{
  display:block;font-size:.74rem !important;line-height:1.5;color:#8a8a8a !important;
  margin:0 0 .1rem !important;
}
html body #tarteaucitronRoot #tarteaucitron .tacCurrentStatus{color:#8a8a8a !important;font-weight:600;}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronStatusInfo span{
  float:none !important;display:inline !important;width:auto !important;text-align:left !important;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronReadmoreInfo,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronReadmoreOfficial{
  font-size:.74rem !important;color:var(--bordeaux) !important;
  text-decoration:underline dotted !important;
  text-decoration-color:rgba(94,0,0,.45) !important;text-underline-offset:3px;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronReadmoreSeparator{font-size:.74rem;color:#c9c2b6;}
/* Interrupteur à deux positions des rangées */
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine) .tarteaucitronAsk{
  flex:0 0 auto;display:inline-flex !important;
  margin:0 !important;padding:3px !important;gap:3px;
  background:#f1ede4 !important;border:1px solid #e8e4dc;border-radius:3px;
  text-align:right !important;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine) .tarteaucitronAllow,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine) .tarteaucitronDeny{
  display:inline-block !important;border:0 !important;border-radius:2px !important;
  cursor:pointer;margin:0 !important;
  padding:.45rem .85rem !important;
  font-family:'Open Sans',sans-serif !important;
  font-size:.66rem !important;font-weight:700 !important;
  letter-spacing:.07em !important;text-transform:uppercase !important;
  background:transparent !important;color:#8a8175 !important;
  opacity:1 !important;transition:background .18s,color .18s;
}
/* États retenus : la classe d'état est posée sur la RANGÉE par le plugin */
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine.tarteaucitronIsAllowed .tarteaucitronAsk .tarteaucitronAllow,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronAllow.tarteaucitronIsSelected{
  background:var(--or) !important;color:var(--presque-noir) !important;opacity:1 !important;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine.tarteaucitronIsDenied .tarteaucitronAsk .tarteaucitronDeny,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronDeny.tarteaucitronIsSelected{
  background:var(--bordeaux) !important;color:#f0e6d8 !important;opacity:1 !important;
}
/* La rangée « aucun cookie » (inutile ici) réapparaîtrait à cause du flex forcé */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronNoServicesTitle{display:none !important;}
/* denyAll est partagé bandeau/panneau (« Refuser ») : dans la tête du panneau,
   on restitue « Tout refuser » en CSS – l'aria-label du bouton le dit déjà.
   Scopé aux pages françaises : les autres langues gardent leurs libellés
   d'origine (fichiers de langue non retouchés). */
html[lang^="fr"] body #tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine #tarteaucitronAllDenied{font-size:0 !important;}
html[lang^="fr"] body #tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine #tarteaucitronAllDenied::after{
  content:"Tout refuser";font-size:.66rem;letter-spacing:.08em;
}
/* Pied « Enregistrer », collant en bas du défilement */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronSave{
  position:sticky !important;bottom:0;z-index:4;
  border-radius:0 0 3px 3px;
  background:#fcfbf8 !important;border-top:1px solid #e8e4dc;
  padding:.95rem 1.7rem !important;margin:0 !important;
  text-align:right !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronSaveButton{
  display:inline-block !important;border:0 !important;border-radius:3px !important;
  cursor:pointer;margin:0 !important;
  background:var(--bordeaux) !important;color:#f0e6d8 !important;
  padding:.65rem 1.5rem !important;
  font-family:'Open Sans',sans-serif !important;
  font-size:.7rem !important;font-weight:700 !important;
  letter-spacing:.08em !important;text-transform:uppercase !important;
  transition:background .2s;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronSaveButton:hover{background:var(--bordeaux-noir) !important;}
/* Pictos et reliquats du plugin : masqués */
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronAllow .tarteaucitronCheck,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronDeny .tarteaucitronCross,
html body #tarteaucitronRoot .tarteaucitronPlus,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronDot,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitron-spacer-20,
html body #tarteaucitronRoot #tarteaucitron .clear{display:none !important;}
@media (max-width:767px){
  /* Panneau plein écran sur téléphone et petite tablette – et reprise en
     main de la feuille mobile du plugin (html body + 2 ids) : le chemin
     #tarteaucitronServices ajoute l'identifiant qui l'emporte, quel que
     soit l'ordre des feuilles. */
  html body #tarteaucitronRoot #tarteaucitron{
    top:0 !important;transform:none;
    width:100% !important;max-width:none !important;
    height:100% !important;max-height:none !important;
    margin:0 !important;left:0 !important;
    border-radius:0 !important;
  }
  html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices{
    height:100% !important;max-height:100% !important;
  }
  html body #tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine,
  html body #tarteaucitronRoot #tarteaucitron #tarteaucitronSave{border-radius:0;}
  html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine:not(.tarteaucitronMainLine):not(#tarteaucitronNoServicesTitle){
    display:flex !important;flex-direction:column;align-items:flex-start !important;gap:.7rem;
    padding:1rem 1.2rem !important;
  }
  html body #tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine{padding:1.2rem 1.2rem 1rem !important;}
  /* Contre-règles du bloc mobile du plugin */
  html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronName{
    width:100% !important;display:block !important;margin:0 !important;float:none !important;
  }
  html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine:not(.tarteaucitronMainLine) .tarteaucitronAsk{
    width:auto !important;display:inline-flex !important;float:none !important;
    margin:0 !important;padding:3px !important;
  }
  html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronAsk .tarteaucitronAllow,
  html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronAsk .tarteaucitronDeny{
    width:auto !important;display:inline-block !important;margin:0 !important;
  }
  html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle button{
    position:static !important;width:100% !important;
    font-size:.7rem !important;padding:.7rem 1.2rem !important;
    text-align:left !important;
  }
  html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle button::before,
  html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle button::after{content:none !important;}
  html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronDetails{padding-left:1.2rem !important;padding-right:1.2rem !important;}
  html body #tarteaucitronRoot #tarteaucitron #tarteaucitronSave{padding:.85rem 1.2rem !important;}
}

/* ================= Rubrique Colloques (category-colloques.php) =================
   Maquette validée : les chiffres de la rubrique, le dernier colloque (ou
   le prochain) en une, les éditions précédentes en mur d'affiches A4. */
.colloques-chiffres{list-style:none;display:flex;justify-content:center;flex-wrap:wrap;margin:2rem auto 0;padding:0;}
.colloques-chiffres li{display:flex;flex-direction:column;align-items:center;padding:0 2.2rem;}
.colloques-chiffres li + li{border-left:1px solid #d9d3c8;}
.colloques-chiffres b{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:2rem;line-height:1.1;color:var(--presque-noir);}
.colloques-chiffres span{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#8a8175;margin-top:.35rem;}

/* Affiche A4 : l'image téléversée, ou le gabarit typographique de repli.
   Les marges du repli sont en % (rapportées à la largeur) : les unités cqw
   de ses enfants se mesurent sur la boîte de contenu. */
.colloque-affiche{
  display:block;width:100%;aspect-ratio:210/297;border-radius:2px;
  box-shadow:0 1px 0 rgba(0,0,0,.04),0 14px 34px rgba(7,6,6,.22);
  transition:transform .4s ease,box-shadow .4s ease;
}
img.colloque-affiche{height:auto;object-fit:cover;background:#e9e5de;}
.colloque-affiche--repli{
  container-type:inline-size;position:relative;overflow:hidden;
  display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:9% 8% 8%;color:#fff;
  background:
    radial-gradient(90% 55% at 50% 30%,rgba(255,255,255,.10),transparent 70%),
    linear-gradient(165deg,var(--c1,#6a0a06),var(--c2,#1c0202));
}
.colloque-affiche__marque{font-size:4.6cqw;font-weight:700;letter-spacing:.32em;text-transform:uppercase;color:rgba(255,255,255,.8);}
.colloque-affiche__embleme{width:36cqw;height:36cqw;object-fit:contain;margin-top:3cqw;border-radius:50%;}
.colloque-affiche__ornement{font-size:16cqw;line-height:1;color:var(--or);margin-top:4cqw;}
.colloque-affiche__annee{font-family:'Playfair Display',Georgia,serif;font-size:25cqw;line-height:1;color:var(--or);margin-top:auto;}
.colloque-affiche__titre{font-family:'Playfair Display',Georgia,serif;font-size:9cqw;line-height:1.2;margin:3cqw 0 auto;text-wrap:balance;}
.colloque-affiche__pied{width:100%;padding-top:4cqw;border-top:1px solid rgba(255,255,255,.25);font-size:4.1cqw;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.7);}
.colloque-affiche__pied sup,.colloque-une__etiquette sup,.colloque-carte__edition sup{font-size:.7em;letter-spacing:0;text-transform:none;}

/* La une */
.colloque-une{
  display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:3.2rem;align-items:start;
  background:var(--blanc);padding:2.4rem;border-radius:3px;box-shadow:0 14px 40px rgba(7,6,6,.07);
}
.colloque-une__affiche{display:block;text-decoration:none;}
a.colloque-une__affiche:hover .colloque-affiche{transform:translateY(-3px);box-shadow:0 1px 0 rgba(0,0,0,.04),0 20px 44px rgba(7,6,6,.26);}
.colloque-une__texte{display:flex;flex-direction:column;gap:.9rem;min-width:0;padding-top:.3rem;}
.colloque-une__etiquette{font-size:.75rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--bordeaux);}
.colloque-une h2{font-size:clamp(1.6rem,2.6vw,2.15rem);font-weight:500;line-height:1.22;}
.colloque-une h2 a{text-decoration:none;}
.colloque-une h2 a:hover{color:var(--bordeaux);}
.colloque-infos{list-style:none;display:flex;flex-wrap:wrap;gap:.3rem 0;margin:0;padding:0;font-size:.86rem;color:#6d6762;}
.colloque-infos li{display:flex;align-items:center;}
.colloque-infos li + li::before{content:"";width:1px;height:12px;background:#d9d3c8;margin:0 .9rem;}
.colloque-infos b{font-weight:600;color:var(--presque-noir);}
.colloque-une__resume{font-size:.98rem;line-height:1.75;}
.colloque-une .rail-titre{margin:.6rem 0 .2rem;}
.colloque-sommaire{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 2rem;border-top:1px solid var(--filet);}
.colloque-sommaire li{border-bottom:1px solid var(--filet);}
.colloque-sommaire li > a,.colloque-sommaire li > div{display:block;padding:.75rem 0;text-decoration:none;}
.colloque-sommaire .auteur{display:block;font-size:10px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:#8a8175;}
.colloque-sommaire .titre{display:block;font-family:'Playfair Display',Georgia,serif;font-size:1.02rem;line-height:1.35;color:var(--presque-noir);margin-top:.15rem;transition:color .2s;}
.colloque-sommaire a:hover .titre{color:var(--bordeaux);}
/* Programme d'un colloque : carte blanche sur le gris de la tête,
   heure en marge, intervenant en petites capitales, titre en Playfair ;
   les parties (Matinée, Après-midi) en surtitre bordeaux. */
.section-colloque--suite{padding-top:0;}
.colloque-programme{list-style:none;margin:0 auto;padding:1rem 2.6rem 1.2rem;max-width:880px;background:var(--blanc);border-radius:3px;box-shadow:0 14px 40px rgba(7,6,6,.07);}
.colloque-programme li{display:grid;grid-template-columns:5.2rem minmax(0,1fr);gap:1.4rem;padding:.95rem 0;border-bottom:1px solid var(--filet);}
.colloque-programme li:last-child{border-bottom:none;}
.colloque-programme--sans-heure li{grid-template-columns:minmax(0,1fr);}
.colloque-programme .heure{font-family:'Playfair Display',Georgia,serif;font-size:1.02rem;font-variant-numeric:lining-nums tabular-nums;color:var(--bordeaux);line-height:1.5;}
.colloque-programme .qui{display:block;font-size:10.5px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:#8a8175;line-height:1.5;}
.colloque-programme .quoi{display:block;font-family:'Playfair Display',Georgia,serif;font-size:1.1rem;line-height:1.4;color:var(--presque-noir);}
.colloque-programme .qui + .quoi{margin-top:.15rem;}
.colloque-programme .note{display:block;margin-top:.3rem;font-size:.86rem;line-height:1.55;color:#6d6762;}
/* Partie (« # 14 h 15 – Titre ») : titre de séquence en Playfair bordeaux, filet appuyé. */
.colloque-programme li.colloque-programme__partie{padding:1.9rem 0 .7rem;border-bottom:2px solid var(--bordeaux);}
.colloque-programme li.colloque-programme__partie:first-child{padding-top:.9rem;}
.colloque-programme__partie .quoi{font-size:1.32rem;font-weight:500;line-height:1.3;color:var(--bordeaux);}
.colloque-programme__partie .heure{font-size:1.1rem;font-weight:600;line-height:1.55;}
@media (max-width:640px){
  .colloque-programme{padding:.6rem 1.2rem .8rem;}
  .colloque-programme li{grid-template-columns:3.9rem minmax(0,1fr);gap:.8rem;}
  .colloque-programme .heure{font-size:.92rem;}
  .colloque-programme .quoi{font-size:1.02rem;}
}
.colloque-une__actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.6rem;margin-top:.6rem;}
.colloque-lien{font-size:.82rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--bordeaux);text-decoration:none;}
.colloque-lien:hover{color:var(--bordeaux-noir);text-decoration:underline;text-underline-offset:4px;}

/* Le mur des affiches */
.colloques-archives.colloques-archives{padding-top:5.5rem;}
.colloques-mur{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3.4rem 2.2rem;}
.colloque-carte{display:flex;flex-direction:column;gap:.45rem;height:100%;text-decoration:none;}
.colloque-carte .colloque-affiche{margin-bottom:.9rem;}
.colloque-carte:hover .colloque-affiche{transform:translateY(-4px);box-shadow:0 1px 0 rgba(0,0,0,.04),0 22px 46px rgba(7,6,6,.28);}
.colloque-carte__edition{font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--bordeaux);}
.colloque-carte__titre{font-family:'Playfair Display',Georgia,serif;font-size:1.14rem;font-weight:500;color:var(--presque-noir);line-height:1.3;transition:color .2s;}
.colloque-carte:hover .colloque-carte__titre{color:var(--bordeaux);}
.colloque-carte__infos{font-size:.8rem;color:#8a8a8a;line-height:1.5;}
.colloque-carte__textes{margin-top:auto;padding-top:.6rem;border-top:1px solid var(--filet);display:flex;justify-content:space-between;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--texte);}
.colloque-carte__textes span{color:var(--bordeaux);transition:transform .25s;}
.colloque-carte:hover .colloque-carte__textes span{transform:translateX(4px);}

@media (max-width:1024px){.colloque-sommaire{grid-template-columns:1fr;}}
@media (max-width:980px){.colloques-mur{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:820px){
  .colloque-une{grid-template-columns:1fr;gap:2rem;padding:1.6rem;}
  .colloque-une__affiche{width:min(240px,70%);margin:0 auto;}
  .colloque-une__texte{text-align:center;align-items:center;}
  .colloque-infos{justify-content:center;}
  .colloque-sommaire{text-align:left;width:100%;}
  .colloque-une .rail-titre{align-self:flex-start;}
}
@media (max-width:640px){
  .colloques-chiffres{flex-wrap:nowrap;}
  .colloques-chiffres li{flex:1 1 0;padding:0 .7rem;}
  .colloques-chiffres b{font-size:1.6rem;}
  .colloques-chiffres span{letter-spacing:1px;text-align:center;line-height:1.4;}
  .colloque-une__etiquette{letter-spacing:.16em;}
  .colloque-infos{flex-direction:column;align-items:center;}
  .colloque-infos li + li::before{display:none;}
  .colloques-mur{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.4rem 1.1rem;}
  .colloque-carte__edition{letter-spacing:.14em;}
  .colloque-carte__edition .mot{display:none;}
  .colloque-carte__titre{font-size:1rem;}
  .colloque-carte__textes{letter-spacing:.08em;}
  .colloques-archives.colloques-archives{padding-top:4rem;}
}
@media (prefers-reduced-motion:reduce){.colloque-affiche,.colloque-carte__textes span{transition:none;}}

/* ================= Page d'un colloque (rubrique-colloque.php) =================
   Tout est réemployé (une et sommaire de la page Colloques, pastilles,
   grille, carte de lecture, étagère de la boutique, bande sombre) ; ne
   restent ici que les assemblages propres à la page. */
.section-colloque{padding:5rem 0 5.5rem;}
.section-colloque--fond{background:var(--fond);}
.colloque-une.colloque-une--tete{background:none;box-shadow:none;padding:2.6rem 0 4.4rem;align-items:center;}
.colloque-pastilles{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.55rem;}
.colloque-ecouter iframe{display:block;width:100%;border:0;}
.colloque-ecouter iframe[src*="youtube"]{height:auto;aspect-ratio:16/9;}
.colloques-voisins{display:grid;grid-template-columns:1fr auto 1fr;gap:2rem;align-items:center;padding-top:2.6rem;padding-bottom:2.6rem;}
.colloques-voisins .suivant{text-align:right;}
@media (max-width:820px){.colloque-pastilles{justify-content:center;}}
@media (max-width:640px){
  .colloques-voisins{grid-template-columns:1fr 1fr;}
  .colloques-voisins .colloque-lien{grid-column:1 / -1;grid-row:2;justify-self:center;}
}

/* ================= Retour en haut =================
   Carré bordeaux, héritier de celui du site actuel. Passé 30 % de la page,
   il apparaît en pivotant sur lui-même (léger dépassement, puis il se
   pose) ; il disparaît par le même mouvement, à rebours. scripts.js pose
   .visible ; chaque état porte sa propre courbe. */
.retour-haut{
  position:fixed;right:24px;bottom:24px;z-index:50;
  width:44px;height:44px;display:flex;align-items:center;justify-content:center;
  background:var(--bordeaux);color:#f0e6d8;border-radius:3px;
  box-shadow:0 10px 26px rgba(7,6,6,.28);
  opacity:0;visibility:hidden;pointer-events:none;
  transform:rotate(-180deg) scale(.4);
  transition:transform .5s cubic-bezier(.45,0,.7,.4),opacity .3s ease .2s,visibility 0s .5s,background .2s,color .2s; /* l'opacité attend : on voit le pivot */
}
.retour-haut.visible{
  opacity:1;visibility:visible;pointer-events:auto;transform:none;
  transition:transform .7s cubic-bezier(.2,1.3,.35,1),opacity .35s ease,visibility 0s,background .2s,color .2s;
}
.retour-haut svg{width:12px;height:8px;fill:currentColor;transition:transform .25s ease;}
.retour-haut:hover{background:var(--bordeaux-noir);color:var(--or-doux);}
.retour-haut:hover svg{transform:translateY(-2px);}
@media (max-width:640px){.retour-haut{right:16px;bottom:16px;}}
@media (prefers-reduced-motion:reduce){
  .retour-haut,.retour-haut.visible{transform:none;transition:opacity .2s ease,visibility 0s;}
}
@media print{.retour-haut{display:none;}}

/* ================= Rubrique Éditions : carrousel des logos =================
   Sur le gris de la page, sans cadre ; le mode « produit » fond le blanc
   d'un JPG dans le gris. Gris et estompés, en couleur au survol. */
.logos-defile{width:min(1124px,calc(100% - 56px));margin:2.8rem auto 0;overflow:hidden;}
.logos-defile ul{list-style:none;margin:0;padding:.4rem 0;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1.2rem 3.6rem;}
.logos-defile a{display:flex;align-items:center;justify-content:center;width:180px;height:72px;}
.logos-defile img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;mix-blend-mode:multiply;filter:grayscale(1);opacity:.5;transition:filter .3s ease,opacity .3s ease;}
.logos-defile a:hover img,.logos-defile a:focus-visible img{filter:none;opacity:1;}
.section-seo .logos-defile:first-child{margin-top:0;}
@media (max-width:640px){.logos-defile ul{gap:1rem 2.4rem;}.logos-defile a{width:140px;height:60px;}}

/* ================= Défilement continu (logos des éditeurs, boutique) =================
   .defile-continu > .piste. Posé par scripts.js, jamais en mouvements
   réduits : la piste est doublée autant que nécessaire, puis glisse d'un
   jeu exactement – boucle sans couture, vitesse constante (data-vitesse,
   px/s). Pause au survol et au clavier. Sans script : la mise en page
   ordinaire du composant (rangée centrée, étagère, défilement au doigt). */
.defile-continu{overflow:hidden;}
.defile-continu.defile{-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);}
.defile-continu.defile > .piste{flex-wrap:nowrap;justify-content:flex-start;width:max-content;overflow:visible;animation:defile-continu var(--duree,30s) linear infinite;}
.defile-continu.defile:hover > .piste,.defile-continu.defile:focus-within > .piste{animation-play-state:paused;}
@keyframes defile-continu{to{transform:translateX(calc(-1 * var(--decalage,0px)));}}
@media (prefers-reduced-motion:reduce){.defile-continu.defile > .piste{animation:none;}}
@media print{.defile-continu > .piste{animation:none;flex-wrap:wrap;width:auto;}}
