/* ==========================================================================
   NOVELLO — ajouts propres à WordPress (la maquette est dans novello.css, généré)
   ========================================================================== */

/* Polices auto-hébergées (Montserrat, SIL OFL) */
@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(../fonts/montserrat-latin-500-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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(../fonts/montserrat-latin-600-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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(../fonts/montserrat-latin-700-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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(../fonts/montserrat-latin-800-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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(../fonts/montserrat-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(../fonts/montserrat-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(../fonts/montserrat-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(../fonts/montserrat-latin-ext-800-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* Lien d'évitement */
.lien-evitement{position:absolute;left:-9999px;top:0;z-index:100;background:var(--jaune);color:var(--bleu);padding:10px 16px;font-weight:800}
.lien-evitement:focus{left:16px;top:16px}

/* Focus visible au clavier */
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--jaune);outline-offset:2px;box-shadow:0 0 0 5px var(--bleu)}

/* Barre d'administration WordPress + header collant */
.admin-bar .header{top:32px}
@media (max-width:782px){.admin-bar .header{top:0}}

/* ---------- Menu mobile (absent de la maquette) ---------- */
.burger[aria-expanded="true"] span{opacity:0}
.burger[aria-expanded="true"]::before{transform:translateY(-50%) rotate(45deg)}
.burger[aria-expanded="true"]::after{transform:translateY(-50%) rotate(-45deg)}
.burger span,.burger::before,.burger::after{transition:transform .2s,opacity .2s}
.sous-bouton{display:none}

@media (max-width:1100px){
  .header nav{position:absolute;left:0;right:0;top:100%;background:#fff;box-shadow:0 18px 30px rgba(0,22,128,.14);max-height:calc(100vh - 84px);overflow:auto;display:none}
  .header.menu-ouvert nav{display:block}
  .header.menu-ouvert .nav{display:block;padding:10px 16px 18px}
  .nav > li{border-bottom:1px solid var(--bord);display:flex;flex-wrap:wrap;align-items:center}
  .nav > li > a{flex:1;padding:14px 6px;font-size:16px}
  .nav li.actif > a{box-shadow:none}
  .nav .a-sous > a::after{display:none}
  .sous-bouton{display:grid;place-items:center;width:44px;height:44px;border:0;background:var(--bleu-clair);border-radius:8px;cursor:pointer;color:var(--bleu)}
  .sous-bouton::before{content:"";width:9px;height:9px;border-right:2.5px solid currentColor;border-bottom:2.5px solid currentColor;transform:rotate(45deg) translateY(-3px);transition:transform .2s}
  .sous-bouton[aria-expanded="true"]::before{transform:rotate(225deg) translateY(-2px)}
  .nav .sous,.nav .sous--mega{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;min-width:0;width:100%;display:none;padding:0 0 10px;grid-template-columns:1fr}
  .nav li:hover > .sous,.nav li:focus-within > .sous,.nav li:hover > .sous--mega,.nav li:focus-within > .sous--mega{transform:none}
  .nav li.sous-ouvert > .sous{display:block}
  .header .menu-cta{display:block;padding:6px 16px 20px}
  .header .menu-cta .btn{width:100%;justify-content:center}
}
@media (min-width:1101px){.header .menu-cta{display:none}}
.menu-cta{display:none}

/* Fermeture du méga-menu au clavier (Échap) */
.nav li.sous-ferme > .sous{opacity:0!important;visibility:hidden!important}

/* ---------- Formulaire de contact : messages serveur ---------- */
.f-alerte{border-radius:8px;padding:14px 16px;margin:0 0 20px;font-weight:600;font-size:14.5px}
.f-alerte--erreur{background:#fdecea;color:#8a1c14;border:1px solid #f3b8b1}
.f-alerte ul{margin:6px 0 0;padding-left:20px;font-weight:500}

/* ---------- Pages hors maquette (mentions légales, 404, actualités…) ---------- */
.contenu{max-width:820px}
.contenu > * + *{margin-top:1em}
.contenu h2{margin-top:1.6em}
.contenu img{border-radius:var(--radius)}
.contenu a{text-decoration:underline}

/* Pages légales (mentions légales, politique de confidentialité) : texte initial dans inc/contenus/ */
.contenu > p,.contenu li,.contenu td{overflow-wrap:break-word}
.contenu h2{font-size:clamp(22px,2.4vw,28px);scroll-margin-top:110px}
.contenu ul,.contenu ol{padding-left:1.3em}
.contenu li + li{margin-top:.4em}
.contenu .chapo{margin:0 0 1.6em}
.contenu code{font-size:.9em;background:var(--fond-alt);padding:1px 5px;border-radius:4px;overflow-wrap:anywhere}
.a-completer{background:#fff4a8;color:#5c4a00;padding:1px 4px;border-radius:3px;font-weight:600}
.sommaire-page{background:var(--fond-alt);border-left:4px solid var(--jaune);border-radius:0 var(--radius) var(--radius) 0;padding:18px 22px}
.sommaire-page ol{margin:0;columns:2 260px;column-gap:32px}
.sommaire-page li{break-inside:avoid}
.contenu .sommaire-page a{text-decoration:none;font-weight:600}
.contenu .sommaire-page a:hover{text-decoration:underline}
.tableau-defilant{overflow-x:auto;-webkit-overflow-scrolling:touch}
.contenu table{width:100%;border-collapse:collapse;font-size:15px}
.contenu th,.contenu td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--bord)}
.contenu thead th{background:var(--bleu);color:#fff;font-weight:700}
.contenu tbody tr:nth-child(even){background:var(--fond-alt)}
@media (max-width:600px){
  .contenu table{font-size:14px}
  .contenu th,.contenu td{padding:8px}
}
.liste-articles{display:grid;gap:28px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.pagination .nav-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:40px}
.pagination .page-numbers{padding:8px 14px;border:1px solid var(--bord);border-radius:6px;text-decoration:none;font-weight:700}
.pagination .current{background:var(--bleu);color:#fff;border-color:var(--bleu)}

/* ---------- Réalisations : archive et fiche seule (composants des pages métier) ---------- */
.real--lien::after{content:"→";font-size:18px}
.fiche-page{display:grid;grid-template-columns:1.4fr 1fr;border-radius:14px;overflow:hidden;background:#fff;box-shadow:var(--ombre);border:1px solid var(--bord)}
.fiche-page--sans-photo{grid-template-columns:1fr;max-width:820px}
.fiche-page .fc-grande{height:auto;max-height:min(70vh,620px);aspect-ratio:4/3}
.fc-legende{margin:0;padding:10px 14px 0;color:rgba(255,255,255,.8);font-size:13px;min-height:1.4em}
.fc-legende:empty{display:none}
.fc-texte h2{font-size:22px;margin:10px 0 12px}
.fc-desc p{color:var(--texte-doux);font-size:15px}
.fc-desc > * + *{margin-top:.8em}
@media (max-width:900px){
  .fiche-page{grid-template-columns:1fr}
  .fiche-page .fc-grande{max-height:56vh}
}
