/*
Theme Name: UNC 79 Bocage
Theme URI: https://unc79.fr/
Author: Section UNC Largeasse - Trayes - Moncoutant sur Sèvre
Author URI: https://unc79.fr/
Description: Thème WordPress de l'Union nationale des combattants, section Largeasse - Trayes - Moncoutant sur Sèvre. Sobre, très lisible, optimisé pour le référencement naturel et pour la citation par les moteurs de réponse.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: unc79
Tags: blog, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, accessibility-ready, right-sidebar, two-columns
*/

/* =========================================================
   1. Jetons de conception
   ========================================================= */
:root{
  --bleu:#12386f;
  --bleu-fonce:#0b2247;
  --bleu-clair:#1d5bb0;
  --bleu-soft:#eaf1fb;
  --rouge:#c8202e;
  --rouge-fonce:#a3121e;
  --rouge-soft:#fdeaec;
  --vert:#2f6b4f;
  --encre:#1a1f27;
  --gris:#4f5867;
  --gris-clair:#6b7482;
  --ligne:#dde5f0;
  --creme:#f5f8fc;
  --blanc:#ffffff;

  --rayon:14px;
  --rayon-s:10px;
  --ombre:0 10px 28px rgba(18,56,111,.10);
  --ombre-forte:0 20px 46px rgba(11,34,71,.22);
  --contenu:1180px;
  --texte:1180px;

  --police:"Segoe UI",Roboto,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  --corps:18px;
}

/* =========================================================
   2. Réinitialisation et base
   ========================================================= */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--police);
  font-size:var(--corps);
  line-height:1.68;
  color:var(--encre);
  background:var(--blanc);
  -webkit-font-smoothing:antialiased;
}
img,svg,video,iframe{max-width:100%;height:auto}
img{display:block}
a{color:var(--bleu-clair);text-underline-offset:3px}
a:hover{color:var(--bleu)}
h1,h2,h3,h4,h5,h6{color:var(--bleu);line-height:1.22;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(30px,4vw,42px)}
h2{font-size:clamp(25px,3vw,33px)}
h3{font-size:clamp(20px,2.2vw,23px)}
h4{font-size:19px}
p,ul,ol,dl,table,figure,blockquote,pre{margin:0 0 1.15em}
ul,ol{padding-left:1.35em}
li{margin-bottom:.35em}
strong,b{font-weight:700}
hr{border:0;border-top:1px solid var(--ligne);margin:2.4em 0}
blockquote{
  border-left:4px solid var(--rouge);
  background:var(--creme);
  margin:1.6em 0;padding:18px 24px;
  font-style:normal;color:var(--gris);
}
blockquote p:last-child{margin-bottom:0}
code,kbd,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}
table{width:100%;border-collapse:collapse}
th,td{padding:11px 12px;border-bottom:1px solid var(--ligne);text-align:left;vertical-align:top}
th{background:var(--bleu-soft);color:var(--bleu);font-size:.95em}

:focus-visible{outline:3px solid var(--rouge);outline-offset:2px;border-radius:4px}

.ecran-lecteur{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}
.lien-evitement{
  position:absolute;left:-9999px;top:0;z-index:999;
  background:var(--rouge);color:#fff;padding:12px 20px;font-weight:700;text-decoration:none;
}
.lien-evitement:focus{left:8px;top:8px;color:#fff}

.zone{max-width:var(--contenu);margin-inline:auto;padding-inline:22px}
.zone-etroite{max-width:820px;margin-inline:auto;padding-inline:22px}

/* =========================================================
   3. Boutons
   ========================================================= */
.bouton{
  display:inline-block;border-radius:999px;padding:13px 26px;
  text-decoration:none;font-weight:700;font-size:16px;line-height:1.3;
  border:2px solid transparent;cursor:pointer;transition:.16s ease;
  font-family:inherit;
}
.bouton:hover{transform:translateY(-1px)}
.bouton-principal{background:var(--rouge);color:#fff}
.bouton-principal:hover{background:var(--rouge-fonce);color:#fff}
.bouton-secondaire{border-color:var(--bleu);color:var(--bleu);background:transparent}
.bouton-secondaire:hover{background:var(--bleu);color:#fff}
.bouton-blanc{background:#fff;color:var(--rouge)}
.bouton-blanc:hover{background:var(--bleu-soft);color:var(--rouge-fonce)}
.bouton-fantome{border-color:rgba(255,255,255,.6);color:#fff}
.bouton-fantome:hover{background:rgba(255,255,255,.14);color:#fff}
.bouton-large{width:100%;text-align:center}

/* =========================================================
   4. Barre utilitaire et en-tête
   ========================================================= */
.barre-utilitaire{background:var(--bleu);color:#c5d8f2;font-size:14.5px}
.barre-utilitaire .zone{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding-block:9px}
.barre-utilitaire a{color:#fff;text-decoration:none}
.barre-utilitaire a:hover{text-decoration:underline;color:#fff}
.barre-utilitaire ul{list-style:none;margin:0;padding:0;display:flex;gap:18px;flex-wrap:wrap}
.barre-utilitaire li{margin:0}

.entete{position:sticky;top:0;z-index:60;background:#fff;box-shadow:0 2px 16px rgba(18,56,111,.09)}
.admin-bar .entete{top:32px}
@media(max-width:782px){.admin-bar .entete{top:46px}}
.entete-haut{display:flex;align-items:center;gap:18px;padding-block:14px;flex-wrap:wrap}

.marque{display:flex;align-items:center;gap:15px;text-decoration:none;color:inherit;flex:1 1 auto;min-width:0}
.marque:hover{color:inherit}
.marque .pastille{
  width:76px;height:76px;border-radius:50%;background:#fff;border:3px solid var(--bleu-soft);
  display:grid;place-items:center;overflow:hidden;flex:none;
}
.marque .pastille img{height:58px;width:auto}
.marque-texte{min-width:0}
.marque-nom{display:block;font-size:28px;font-weight:800;color:var(--bleu);letter-spacing:.04em;line-height:1}
.marque-lieux{display:block;font-size:12.5px;font-weight:700;color:var(--rouge);text-transform:uppercase;letter-spacing:.06em;margin-top:5px}
.marque-sous{display:block;font-size:12.5px;color:var(--gris-clair);margin-top:2px}

.entete-actions{margin-left:auto;display:flex;gap:10px;align-items:center;flex-wrap:wrap}

.bascule-menu{
  display:none;align-items:center;gap:9px;background:var(--bleu);color:#fff;border:0;
  border-radius:999px;padding:12px 20px;font-size:16px;font-weight:700;cursor:pointer;font-family:inherit;
}
.bascule-menu svg{display:block}

/* Navigation principale */
.nav-principale{border-top:1px solid var(--ligne)}
.nav-principale ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:2px}
.nav-principale li{margin:0;position:relative}
.nav-principale a{
  display:block;padding:13px 15px;text-decoration:none;color:#22314a;
  font-size:16px;font-weight:600;border-radius:8px 8px 0 0;
}
.nav-principale a:hover{background:var(--bleu-soft);color:var(--bleu)}
.nav-principale .current-menu-item>a,
.nav-principale .current_page_item>a,
.nav-principale .current-menu-ancestor>a,
.nav-principale .current-post-ancestor>a{color:var(--bleu);box-shadow:inset 0 -4px 0 var(--rouge)}

.nav-principale .sub-menu{
  display:none;position:absolute;top:100%;left:0;min-width:250px;
  background:#fff;border:1px solid var(--ligne);border-radius:0 var(--rayon-s) var(--rayon-s) var(--rayon-s);
  box-shadow:var(--ombre);padding:8px;z-index:70;
}
.nav-principale li:hover>.sub-menu,
.nav-principale li:focus-within>.sub-menu{display:block}
.nav-principale .sub-menu a{border-radius:8px;padding:11px 14px;font-weight:500;font-size:15.5px}

/* =========================================================
   5. Bandeau tricolore
   ========================================================= */
.tricolore{display:flex;height:6px}
.tricolore span{flex:1}
.tricolore span:nth-child(1){background:var(--bleu)}
.tricolore span:nth-child(2){background:#fff}
.tricolore span:nth-child(3){background:var(--rouge)}

/* =========================================================
   6. Bannière d'accueil
   ========================================================= */
.banniere{position:relative;overflow:hidden;background:var(--bleu);color:#fff}
.banniere .decor{position:absolute;inset:0;opacity:.55;pointer-events:none}
.banniere .zone{position:relative;padding-block:70px 80px;display:grid;grid-template-columns:1.15fr .85fr;gap:46px;align-items:center}
.banniere h1{color:#fff;font-size:clamp(30px,4.2vw,44px);line-height:1.14;margin:0 0 16px}
.banniere p{font-size:19.5px;color:#d6e4f7;margin:0 0 28px;max-width:620px}
.etiquette{
  display:inline-block;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.32);
  border-radius:999px;padding:6px 17px;font-size:14px;font-weight:600;letter-spacing:.04em;margin-bottom:18px;
}
.banniere-actions{display:flex;gap:12px;flex-wrap:wrap}

.carte-agenda{background:#fff;color:var(--encre);border-radius:18px;padding:26px;box-shadow:var(--ombre-forte)}
.carte-agenda h2{font-size:20px;margin:0 0 4px}
.agenda-item{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--ligne)}
.agenda-item:last-of-type{border-bottom:0}
.agenda-date{
  background:var(--rouge);color:#fff;border-radius:10px;text-align:center;padding:8px 10px;
  min-width:64px;flex:none;line-height:1.15;
}
.agenda-date b{display:block;font-size:22px}
.agenda-date span{font-size:11.5px;text-transform:uppercase;letter-spacing:.06em}
.agenda-item strong{display:block;font-size:17px;color:var(--encre)}
.agenda-item p{margin:0;font-size:15.5px;color:var(--gris)}

/* =========================================================
   7. Sections de contenu
   ========================================================= */
.section{padding-block:64px}
.section-creme{background:var(--creme)}
.section-bleue{background:linear-gradient(115deg,var(--bleu),var(--bleu-clair));color:#fff}
.section-bleue h2,.section-bleue h3{color:#fff}
.section-bleue p{color:#dbe7f8}

.surtitre{color:var(--rouge);font-weight:800;font-size:13px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px}
.section-bleue .surtitre{color:#ffc9ce}
.chapeau{color:var(--gris);max-width:740px;margin:0 0 38px;font-size:18.5px}
.section-bleue .chapeau{color:#dbe7f8}

.grille-2{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.grille-3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.grille-4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}

.tuile{background:#fff;border:1px solid var(--ligne);border-radius:var(--rayon);padding:26px;transition:.18s ease}
.tuile:hover{box-shadow:var(--ombre);transform:translateY(-3px)}
.tuile h3{margin:0 0 8px;font-size:20px}
.tuile p{margin:0;color:var(--gris);font-size:16.5px}
.tuile-icone{
  width:52px;height:52px;border-radius:14px;background:var(--bleu-soft);color:var(--bleu);
  display:grid;place-items:center;margin-bottom:14px;
}

/* Cartes d'articles */
.carte-article{
  background:#fff;border:1px solid var(--ligne);border-radius:var(--rayon);
  overflow:hidden;display:flex;flex-direction:column;transition:.18s ease;
}
.carte-article:hover{box-shadow:var(--ombre);transform:translateY(-3px)}
.carte-visuel{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--bleu-soft)}
.carte-visuel img{width:100%;height:100%;object-fit:cover}
.carte-reserve{
  width:100%;height:100%;
  background:linear-gradient(140deg,var(--bleu-clair),var(--bleu));
  display:grid;place-items:center;color:#a9c6ec;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;text-align:center;padding:12px;
}
.carte-corps{padding:22px;display:flex;flex-direction:column;gap:9px;flex:1}
.puce{
  align-self:flex-start;background:var(--rouge-soft);color:var(--rouge);border-radius:999px;
  padding:4px 13px;font-size:12.5px;font-weight:700;letter-spacing:.03em;text-decoration:none;
}
a.puce:hover{background:var(--rouge);color:#fff}
.carte-corps h3{margin:0;font-size:20px;line-height:1.32}
.carte-corps h3 a{text-decoration:none;color:var(--bleu)}
.carte-corps h3 a:hover{text-decoration:underline}
.carte-corps p{margin:0;color:var(--gris);font-size:16.5px}
.carte-suite{margin-top:auto;font-weight:700;text-decoration:none;font-size:16px}

/* Communes */
.carte-commune{border:1px solid var(--ligne);border-radius:var(--rayon);overflow:hidden;background:#fff}
.carte-commune .visuel{
  aspect-ratio:16/8;background:linear-gradient(140deg,var(--vert),#8fb89f);
  display:grid;place-items:center;color:#eaf5ee;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;
}
.carte-commune .corps{padding:20px}
.carte-commune h3{margin:0 0 5px;font-size:20px}
.carte-commune p{margin:0;font-size:16px;color:var(--gris)}

/* Étapes */
.etapes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:30px 0 28px}
.etape{background:rgba(255,255,255,.1);border-radius:var(--rayon);padding:22px}
.etape b{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--rouge);margin-bottom:12px;color:#fff}
.etape p{margin:0;color:#dbe7f8;font-size:16.5px}
.encadre-clair{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.26);border-radius:var(--rayon);padding:22px;font-size:16.5px}

/* Magazine */
.magazine{display:grid;grid-template-columns:.8fr 1.2fr;gap:44px;align-items:center}
.couverture{
  aspect-ratio:3/4;border-radius:var(--rayon);background:linear-gradient(160deg,var(--bleu),#08203f);
  color:#fff;padding:26px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--ombre-forte);
}
.couverture .titre{font-size:27px;font-weight:800;line-height:1.15}
.couverture .milieu{flex:1;display:grid;place-items:center}
.couverture .pied{border-top:2px solid var(--rouge);padding-top:12px;font-size:13.5px;color:#bcd0ea}

/* Chiffres */
.chiffres{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--ligne);border-radius:var(--rayon);overflow:hidden;background:#fff}
.chiffre{padding:24px 16px;text-align:center;border-right:1px solid var(--ligne)}
.chiffre:last-child{border-right:0}
.chiffre b{display:block;font-size:32px;color:var(--bleu);line-height:1}
.chiffre span{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.07em;color:var(--gris-clair);margin-top:8px}

/* =========================================================
   8. Fil d'Ariane
   ========================================================= */
.fil{background:var(--creme);border-bottom:1px solid var(--ligne);font-size:15px}
.fil .zone{padding-block:12px}
.fil ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;color:var(--gris)}
.fil li{margin:0;display:flex;gap:8px;align-items:center}
.fil li+li::before{content:"›";color:var(--gris-clair)}
.fil a{text-decoration:none}
.fil a:hover{text-decoration:underline}

/* =========================================================
   9. Pages et articles
   ========================================================= */
.entete-page{background:linear-gradient(115deg,var(--bleu),var(--bleu-clair));color:#fff;padding-block:52px}
.entete-page h1{color:#fff;margin:0 0 10px}
.entete-page .accroche{color:#d6e4f7;font-size:19px;max-width:760px;margin:0}
.entete-page .meta{color:#b9cde9;font-size:15px;margin-top:12px}
.entete-page .meta a{color:#fff}

.zone-article{padding-block:52px}
.gabarit{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:52px;align-items:start}
.gabarit-simple{max-width:820px;margin-inline:auto}

.contenu>*:first-child{margin-top:0}
.contenu h2{margin-top:1.7em;padding-bottom:.3em;border-bottom:2px solid var(--bleu-soft)}
.contenu h3{margin-top:1.5em}
.contenu ul li::marker{color:var(--rouge)}
.contenu img{border-radius:var(--rayon-s)}
.contenu figure{margin-inline:0}
.contenu figcaption{font-size:15px;color:var(--gris-clair);margin-top:8px}
.contenu a{font-weight:600}

.encadre{
  background:var(--bleu-soft);border-left:5px solid var(--bleu);
  border-radius:0 var(--rayon-s) var(--rayon-s) 0;padding:20px 24px;margin:1.8em 0;
}
.encadre h3,.encadre h4{margin-top:0}
.encadre>*:last-child{margin-bottom:0}
.encadre-rouge{background:var(--rouge-soft);border-left-color:var(--rouge)}
.encadre-rouge h3,.encadre-rouge h4{color:var(--rouge-fonce)}

.en-bref{background:#fff;border:2px solid var(--bleu-soft);border-radius:var(--rayon);padding:22px 26px;margin:0 0 2em}
.en-bref h2{margin:0 0 10px;font-size:19px;border:0;padding:0;text-transform:uppercase;letter-spacing:.08em}
.en-bref ul{margin:0;padding-left:1.2em}
.en-bref li{margin-bottom:.45em}

/* Foire aux questions */
.faq{margin:2em 0}
.faq details{border:1px solid var(--ligne);border-radius:var(--rayon-s);margin-bottom:12px;background:#fff}
.faq summary{
  cursor:pointer;padding:16px 20px;font-weight:700;color:var(--bleu);font-size:17.5px;
  list-style:none;display:flex;justify-content:space-between;gap:14px;align-items:center;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:24px;color:var(--rouge);line-height:1}
.faq details[open] summary::after{content:"–"}
.faq .reponse{padding:0 20px 18px}
.faq .reponse>*:last-child{margin-bottom:0}

/* Barre latérale */
.laterale{position:sticky;top:180px}
.bloc-lateral{background:var(--creme);border:1px solid var(--ligne);border-radius:var(--rayon);padding:22px;margin-bottom:22px}
.bloc-lateral h2,.bloc-lateral .wp-block-heading{font-size:18px;margin:0 0 14px;padding-bottom:10px;border-bottom:2px solid var(--rouge);display:block}
.bloc-lateral ul{list-style:none;margin:0;padding:0}
.bloc-lateral li{margin:0;padding:8px 0;border-bottom:1px dotted var(--ligne);font-size:16.5px}
.bloc-lateral li:last-child{border-bottom:0}
.bloc-lateral a{text-decoration:none}
.bloc-lateral a:hover{text-decoration:underline}
.bloc-lateral p:last-child{margin-bottom:0}

/* Étiquettes */
.etiquettes{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px;align-items:center}
.etiquettes a{
  display:inline-block;background:var(--creme);border:1px solid var(--ligne);border-radius:999px;
  padding:5px 15px;font-size:14.5px;text-decoration:none;color:var(--gris);
}
.etiquettes a:hover{background:var(--bleu-soft);color:var(--bleu);border-color:var(--bleu-soft)}

/* Articles liés et navigation */
.nav-article{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:44px;padding-top:28px;border-top:1px solid var(--ligne)}
.nav-article a{display:block;text-decoration:none;background:var(--creme);border:1px solid var(--ligne);border-radius:var(--rayon-s);padding:16px 20px}
.nav-article a:hover{background:var(--bleu-soft)}
.nav-article span{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.09em;color:var(--rouge);font-weight:700;margin-bottom:5px}
.nav-article strong{color:var(--bleu);font-size:17px}
.nav-article .suivant{text-align:right}

/* Pagination */
.pagination{margin-top:44px;display:flex;justify-content:center}
.pagination .nav-links{display:flex;gap:8px;flex-wrap:wrap}
.pagination .page-numbers{
  display:grid;place-items:center;min-width:46px;height:46px;padding:0 12px;
  border:1px solid var(--ligne);border-radius:var(--rayon-s);text-decoration:none;font-weight:700;background:#fff;
}
.pagination .page-numbers:hover{background:var(--bleu-soft)}
.pagination .page-numbers.current{background:var(--bleu);color:#fff;border-color:var(--bleu)}

/* Recherche */
.form-recherche{display:flex;gap:8px}
.form-recherche input[type="search"]{
  flex:1;min-width:0;padding:12px 16px;border:1px solid var(--ligne);border-radius:999px;
  font-family:inherit;font-size:16px;background:#fff;color:var(--encre);
}
.form-recherche button{border:0;cursor:pointer}

/* Formulaires génériques */
input[type="text"],input[type="email"],input[type="tel"],input[type="url"],input[type="search"],textarea,select{
  width:100%;padding:12px 15px;border:1px solid var(--ligne);border-radius:var(--rayon-s);
  font-family:inherit;font-size:16.5px;color:var(--encre);background:#fff;
}
textarea{min-height:170px;resize:vertical}
label{display:block;font-weight:600;margin-bottom:6px;color:var(--bleu)}

/* =========================================================
   10. Pied de page
   ========================================================= */
.pied{background:var(--bleu-fonce);color:#a9bfdd;padding-block:52px 24px;font-size:16.5px}
.pied h2,.pied h3{color:#fff;font-size:14px;text-transform:uppercase;letter-spacing:.12em;margin:0 0 14px}
.pied-grille{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:34px}
.pied a{color:#cbdcf0;text-decoration:none}
.pied a:hover{color:#fff;text-decoration:underline}
.pied ul{list-style:none;margin:0;padding:0}
.pied li{margin:0;padding:4px 0}
.pied p{margin:0 0 10px}
.pied-bas{
  border-top:1px solid #17325c;margin-top:34px;padding-top:18px;font-size:14.5px;
  display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;
}
.pied-bas ul{display:flex;gap:16px;flex-wrap:wrap}

/* =========================================================
   11. Blocs Gutenberg
   ========================================================= */
.wp-block-image img{border-radius:var(--rayon-s)}
.wp-block-button__link{border-radius:999px;padding:13px 26px;font-weight:700}
.wp-block-table td,.wp-block-table th{border:1px solid var(--ligne)}
.wp-block-quote{border-left:4px solid var(--rouge);padding-left:22px}
.alignwide{max-width:1080px;margin-inline:auto}
.alignfull{max-width:none;margin-inline:calc(50% - 50vw);width:100vw}
.has-bleu-color{color:var(--bleu)}
.has-bleu-background-color{background-color:var(--bleu)}
.has-rouge-color{color:var(--rouge)}
.has-rouge-background-color{background-color:var(--rouge)}
.has-creme-background-color{background-color:var(--creme)}
.has-bleu-soft-background-color{background-color:var(--bleu-soft)}

/* =========================================================
   12. Impression
   ========================================================= */
@media print{
  .barre-utilitaire,.entete,.pied,.banniere .decor,.bascule-menu,.laterale,.nav-article,.pagination{display:none!important}
  body{font-size:12pt;color:#000}
  a{color:#000;text-decoration:underline}
  .entete-page{background:none;color:#000;padding-block:0}
  .entete-page h1,.entete-page .accroche{color:#000}
}

/* =========================================================
   13. Adaptations écran
   ========================================================= */
@media(max-width:1080px){
  .banniere .zone{grid-template-columns:1fr;padding-block:56px 62px}
  .gabarit{grid-template-columns:1fr;gap:40px}
  .laterale{position:static}
  .magazine{grid-template-columns:1fr}
  .couverture{max-width:340px}
}
@media(max-width:900px){
  .grille-4{grid-template-columns:1fr 1fr}
  .chiffres{grid-template-columns:1fr 1fr}
  .chiffre:nth-child(2){border-right:0}
  .chiffre:nth-child(1),.chiffre:nth-child(2){border-bottom:1px solid var(--ligne)}
  .pied-grille{grid-template-columns:1fr 1fr}
  .marque-nom{font-size:24px}
  .marque .pastille{width:64px;height:64px}
  .marque .pastille img{height:48px}

  .bascule-menu{display:inline-flex}
  .nav-principale{display:none;border-top:1px solid var(--ligne)}
  .nav-principale.ouverte{display:block;padding-block:8px}
  .nav-principale ul{flex-direction:column;gap:0}
  .nav-principale a{border-radius:8px;padding:14px 12px;font-size:17px}
  .nav-principale .current-menu-item>a{box-shadow:none;background:var(--bleu-soft)}
  .nav-principale .sub-menu{
    display:block;position:static;border:0;box-shadow:none;padding:0 0 0 16px;min-width:0;
    border-left:2px solid var(--ligne);border-radius:0;margin-bottom:6px;
  }
  .entete-actions .bouton-secondaire{display:none}
}
@media(max-width:640px){
  :root{--corps:17px}
  .grille-2,.grille-3,.grille-4,.etapes,.pied-grille,.nav-article{grid-template-columns:1fr}
  .nav-article .suivant{text-align:left}
  .section{padding-block:48px}
  .barre-utilitaire .zone{justify-content:center;text-align:center}
  .pied-bas{flex-direction:column}
}
@media(max-width:400px){
  .marque-nom{font-size:21px}
  .marque-lieux{font-size:11px}
  .marque .pastille{width:54px;height:54px}
  .marque .pastille img{height:40px}
}

/* Préférence de mouvement réduit */
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .tuile:hover,.carte-article:hover,.bouton:hover{transform:none}
}
