/* Les Enfants et Amis Abadi — feuille de style unique (2026) */

@font-face { font-family: "Source Serif 4"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/source-serif-4-latin-400-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Source Serif 4"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/source-serif-4-latin-ext-400-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: "Source Serif 4"; font-style: italic; font-weight: 400; font-display: swap; src: url("../fonts/source-serif-4-latin-400-italic.woff2") format("woff2"); }
@font-face { font-family: "Source Serif 4"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/source-serif-4-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Source Sans 3"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/source-sans-3-latin-400-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Source Sans 3"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/source-sans-3-latin-ext-400-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: "Source Sans 3"; font-style: italic; font-weight: 400; font-display: swap; src: url("../fonts/source-sans-3-latin-400-italic.woff2") format("woff2"); }
@font-face { font-family: "Source Sans 3"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/source-sans-3-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Source Sans 3"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/source-sans-3-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "Oswald"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/oswald-latin-400-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Oswald"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/oswald-latin-ext-400-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: "Oswald"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/oswald-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+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Oswald"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/oswald-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: "Raleway"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/raleway-latin-400-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Raleway"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/raleway-latin-ext-400-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: "Raleway"; font-style: italic; font-weight: 400; font-display: swap; src: url("../fonts/raleway-latin-400-italic.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Raleway"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/raleway-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+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Raleway"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/raleway-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: "Oswald"; font-style: normal; font-weight: 300; font-display: swap; src: url("../fonts/oswald-latin-300-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Oswald"; font-style: normal; font-weight: 300; font-display: swap; src: url("../fonts/oswald-latin-ext-300-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: "Oswald"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/oswald-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+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Oswald"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/oswald-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: "Open Sans"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/open-sans-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+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: 600; font-display: swap; src: url("../fonts/open-sans-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; }

:root {
  --ardoise: #26313f;     /* texte, bandeau de navigation */
  --bleu: #4a6189;        /* liens, boutons (bleu Abadi assombri pour le contraste) */
  --bleu-clair: #566e95;  /* bleu historique du site */
  --pierre: #e8eaed;      /* fond de page, gris galet */
  --papier: #ffffff;      /* surfaces de lecture */
  --galet: #5d6672;       /* texte secondaire */
  --laiton: #8a6d3b;      /* dates, agenda : la couleur des plaques commémoratives */
  --filet: #d3d7dc;
  --serif: "Source Serif 4", Georgia, "Times New Roman", serif;
  --sans: "Source Sans 3", "Segoe UI", Arial, sans-serif;
  --mesure: 42rem;
  --titre: "Oswald", "Arial Narrow", Arial, sans-serif;
  --raleway: "Raleway", "Open Sans", Arial, sans-serif;
  --opensans: "Open Sans", "Segoe UI", Arial, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--pierre);
  color: var(--ardoise);
  font: 400 1.125rem/1.6 var(--sans);
}
img, video { max-width: 100%; height: auto; }
a { color: var(--bleu); text-underline-offset: 0.15em; }
a:hover { color: var(--ardoise); }
:focus-visible { outline: 3px solid var(--laiton); outline-offset: 2px; }

.evitement { position: absolute; left: -999px; top: 0; background: var(--papier); padding: .5rem 1rem; z-index: 10; }
.evitement:focus { left: 1rem; }

/* ---------- En-tête : galets posés sur l'eau ---------- */
.entete {
  max-width: 1150px; margin: 0 auto; border-radius: 10px 10px 0 0;
  position: relative; overflow: hidden; color: #fff;
  background:
    radial-gradient(ellipse 34rem 11rem at 12% 72%, rgba(255,255,255,.30), transparent 70%),
    linear-gradient(180deg, #6d7887 0%, #4b5768 52%, #2f3a48 74%, #262627 100%);
}
.entete::after { /* ligne d'horizon */
  content: ""; position: absolute; left: 0; right: 0; bottom: 2.6rem; height: 1px;
  background: linear-gradient(90deg, rgba(255,255,255,.05), rgba(255,255,255,.45) 18%, rgba(255,255,255,.08) 70%, transparent);
}
.entete-int { position: relative; z-index: 1; padding: 1.25rem 1.75rem 0; display: flex; align-items: flex-end; gap: 1.5rem; min-height: 13rem; }
.entete .reseaux { margin-left: auto; align-self: flex-start; }
.marque { display: flex; align-items: flex-end; gap: 1.5rem; text-decoration: none; color: #fff; }
.marque:hover { color: #fff; }
.marque-galets { position: relative; flex: none; width: 180px; height: 205px; }
.marque-galets img { position: absolute; left: 0; top: 0; width: 180px; height: auto; filter: drop-shadow(0 6px 12px rgba(0,0,0,.4)); }
.marque-galets .reflet { top: 164px; transform: scaleY(-1); opacity: .22; filter: blur(1px);
  -webkit-mask-image: linear-gradient(to top, #000, transparent 30%); mask-image: linear-gradient(to top, #000, transparent 30%); }
.marque-texte { padding-bottom: 3.6rem; }
.marque-nom { display: block; font: 700 2.7rem/1 var(--titre); text-transform: uppercase; letter-spacing: .04em; text-shadow: 0 2px 8px rgba(0,0,0,.35); }
.marque-devise { display: block; margin-top: .55rem; font: italic 400 1.08rem/1.35 var(--raleway); color: #e6eaef; }
.entete-outils { margin-left: auto; align-self: flex-start; display: flex; flex-direction: column; align-items: flex-end; gap: .75rem; }
.recherche { display: flex; }
.nav .recherche { flex: none; margin: .35rem .5rem .35rem auto; }
.nav .recherche input { width: 9.5rem; padding: .3rem .6rem; }
.nav .recherche button { padding: .3rem .7rem; }
.recherche input { font: inherit; font-size: 1rem; padding: .4rem .7rem; border: 1px solid rgba(255,255,255,.45); border-right: 0; border-radius: 4px 0 0 4px; width: 13rem; background: rgba(255,255,255,.14); color: #fff; }
.recherche input::placeholder { color: #e1e6ec; }
.recherche input:focus { background: #fff; color: var(--ardoise); }
.recherche button { font: inherit; font-size: 1rem; padding: .4rem .8rem; border: 1px solid #fff; background: #fff; color: var(--ardoise); border-radius: 0 4px 4px 0; cursor: pointer; font-weight: 600; }
.reseaux { display: flex; gap: .4rem; list-style: none; margin: 0; padding: 0; }
.reseaux a { display: grid; place-items: center; width: 2.4rem; height: 2.4rem; color: #fff; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; }
.reseaux a:hover { background: #fff; color: var(--ardoise); }
.reseaux svg { width: 1.2rem; height: 1.2rem; fill: currentColor; }
.bouton-menu, .nav .nav-marque { display: none; }

/* ---------- Bandeau d'origine ---------- */
.bandeau { background: var(--pierre); }
.bandeau-int { position: relative; max-width: 1150px; margin: 0 auto; }
.bandeau-accueil, .bandeau-accueil img { display: block; width: 100%; height: auto; }
.bandeau-reseaux { list-style: none; margin: 0; padding: 0; }
.bandeau-reseaux li { position: absolute; top: 6%; width: 3.9%; height: 19.6%; }
.bandeau-reseaux a { display: block; width: 100%; height: 100%; border-radius: 6px; }
.bandeau-reseaux a:focus-visible { outline: 3px solid #fff; }

/* ---------- Navigation : collée en haut au défilement, sous-menus au survol ---------- */
.nav { position: sticky; top: 0; z-index: 50; max-width: 1150px; margin: 0 auto; background: #262627; border-bottom: 1px solid #999; display: flex; justify-content: flex-start; align-items: center; flex-wrap: nowrap; }
.nav > ul { flex: 1 1 0; min-width: 0; margin: 0; padding: 0 .5rem; list-style: none; display: flex; flex-wrap: wrap; }
.nav li { position: relative; }
.nav a, .nav li > button {
  display: block; font: 400 1.05rem/1.2 var(--titre); color: #fff; background: none; border: 0;
  padding: .8rem .95rem; text-decoration: none; cursor: pointer; letter-spacing: .02em;
}
.nav li > button::after { content: ""; display: inline-block; margin-left: .45rem; border: 5px solid transparent; border-top-color: currentColor; transform: translateY(2px); }
.nav > ul > li > a, .nav > ul > li > button { text-transform: uppercase; border-bottom: 3px solid transparent; }
.nav > ul > li > a:hover, .nav li > button:hover, .nav li > button[aria-expanded="true"] { border-bottom-color: #fff; }
.nav .sous { display: none; position: absolute; left: 0; top: 100%; min-width: 16rem; list-style: none; margin: 0; padding: 0; background: #4d5055; box-shadow: 0 6px 16px rgba(0,0,0,.25); z-index: 5; }
.nav .sous li { border-bottom: 1px solid #fff; }
.nav .sous.ouvert { display: block; }
.nav .sous a { color: #fff; font: 400 1rem/1.3 var(--titre); padding: .6rem 1rem; letter-spacing: .02em; }
.nav .sous a:hover { background: #a2a2a2; color: #fff; }
.nav [aria-current="page"] { text-decoration: underline; text-decoration-thickness: 2px; }
@media (min-width: 48.01rem) {
  .nav li:hover > .sous, .nav li:has(> button:focus-visible) > .sous { display: block; }
  .nav li:hover > button { border-bottom-color: #fff; }
  .nav li:hover > button::after { transform: translateY(-3px) rotate(180deg); }
}

/* ---------- Mise en page ---------- */
.page { max-width: 1150px; margin: 0 auto; padding: 1.5rem 0 3rem; display: grid; grid-template-columns: minmax(0, 1fr) 19rem; gap: 2rem; align-items: start; }
.page.une-colonne { grid-template-columns: minmax(0, 1fr); }
.contenu { display: flow-root; background: var(--papier); padding: 2rem 2.25rem 2.5rem; border-radius: 6px; min-width: 0; }
.contenu > * { max-width: var(--mesure); }
.contenu > .large, .contenu > .galerie, .contenu > .tableau, .contenu > .externe, .contenu > .bloc { max-width: none; }
.colonne { display: grid; gap: 1.25rem; }
.encart { background: var(--papier); border-radius: 6px; padding: 1.25rem; }
.encart h2 { font: 400 1.3rem/1.25 var(--titre); color: var(--ardoise); margin: 0 0 .75rem; }
.encart ul { list-style: none; margin: 0; padding: 0; }
.encart li + li { margin-top: .6rem; border-top: 1px solid var(--pierre); padding-top: .6rem; }
.encart p { margin: .4rem 0; }

/* ---------- Typographie ---------- */
/* Titres : police et style du site d'origine */
h1, h2, h3, h4 { line-height: 1.25; }
h1 { font: 500 1.75rem/1.25 var(--titre); text-transform: uppercase; color: #333; margin: 0 0 .6rem; }
h2 { font: 300 1.5rem/1.25 var(--titre); color: var(--bleu-clair); margin: 2rem 0 .6rem; }
h3 { font: 600 1.3rem/1.3 var(--opensans); color: #333; margin: 1.6rem 0 .5rem; }
h4 { font: 600 1.1rem/1.3 var(--opensans); color: #333; margin: 1.4rem 0 .4rem; }
p { margin: 0 0 1rem; }
.date { color: var(--laiton); font-weight: 600; font-size: 1rem; margin: 0 0 1.25rem; }
.legende { font-size: .95rem; color: var(--galet); margin: .35rem 0 1rem; }
.signature { font-style: italic; text-align: right; }
.centre { text-align: center; }
blockquote { margin: 1.5rem 0; padding: .25rem 0 .25rem 1.25rem; border-left: 3px solid var(--laiton); font-family: var(--serif); font-style: italic; }
/* Photos côte à côte (bloc ne contenant que des images) */
.contenu .rangee { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; margin: 1rem 0 1.5rem; }
.contenu .rangee img { display: block; height: min(20rem, 42vw); width: auto; max-width: 100%; margin: 0; }

/* Citations (style « pCitation » et « PunchLine » de l'ancien site) */
.citation { font-style: italic; font-size: 1.15rem; border-left: 3px solid #ccc; padding-left: .8rem; margin-left: .8rem; color: #444; }
.citation + .citation { margin-top: -1rem; padding-top: 1rem; }
.exergue { position: relative; font-style: italic; font-size: 1.25rem; padding-left: 3.2rem; margin: 1.25rem 0 1.25rem .8rem; color: #444; }
.exergue::before { content: "\201C"; position: absolute; left: 0; top: -.35rem; font: 400 4rem/1 var(--serif); color: #bbb; }
hr { border: 0; height: 1px; background: var(--filet); margin: 2rem 0; }
/* Séparateur d'origine (petite icône sep.gif) */
hr.sep { height: 30px; background: url("../img/sep.gif") center / 30px 30px no-repeat; margin: 1.75rem 0; }
.contenu img { border-radius: 3px; }
.contenu .illus, .contenu .photo { display: block; margin: .5rem 0 1rem; }
/* Image d'en-tête d'article : pleine largeur (paysage) ou à gauche du texte (portrait) */
.contenu .entete-paysage { max-width: var(--mesure); margin: .25rem 0 1.25rem; }
.contenu .entete-paysage img, .contenu img.entete-paysage { display: block; width: 100%; height: auto; margin: 0; }
.contenu .entete-portrait { float: left; width: min(40%, 17rem); margin: .3rem 1.75rem 1rem 0; }
.contenu .entete-portrait img, .contenu img.entete-portrait { display: block; width: 100%; height: auto; margin: 0; }
.contenu img.icone { display: inline; vertical-align: middle; border-radius: 0; margin: 0 .3rem 0 0; }
.bouton, .suite a.bouton {
  display: inline-block; background: var(--bleu); color: #fff; text-decoration: none; font-weight: 600;
  padding: .55rem 1.1rem; border-radius: 4px; line-height: 1.3;
}
.bouton:hover { background: var(--ardoise); color: #fff; }
.bouton.discret { background: transparent; color: var(--bleu); border: 1px solid var(--bleu); }
.bouton.discret:hover { background: var(--bleu); color: #fff; }
.suite { margin-top: 1.25rem; }

.tableau { overflow-x: auto; margin: 1rem 0 1.5rem; }
.tableau table { border-collapse: collapse; width: 100%; font-size: 1rem; }
.tableau th, .tableau td { border-bottom: 1px solid var(--filet); padding: .45rem .6rem; text-align: left; vertical-align: top; }
.tableau th { background: var(--pierre); }
.galerie { display: grid; grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr)); gap: 1rem; margin: 1rem 0 1.5rem; }
.galerie > * { margin: 0; }
.bloc { margin: 0 0 1.5rem; }

/* Colonne : photos propres à la page */
.photos-page img { display: block; width: 100%; border-radius: 3px; }
.photos-page p { margin: 0 0 .5rem; }
.photos-page .legende { margin-bottom: 1rem; }

/* ---------- Contenus externes (affichés directement) ---------- */
.externe { margin: 1rem 0 1.5rem; }
.externe iframe { width: 100%; border: 0; display: block; }
.externe .video { aspect-ratio: 16 / 9; height: auto; }

/* ---------- Accueil ---------- */
.accueil-intro { border-left: 3px solid var(--bleu-clair); padding: .2rem 0 .2rem 1rem; margin-bottom: 1.5rem; }
.accueil-intro .manifeste { font: 400 1.2rem/1.3 var(--titre); text-transform: none; color: var(--ardoise); margin: 0 0 .3rem; }
.accueil-intro p { font-size: .98rem; line-height: 1.5; margin: 0; color: var(--galet); }
.page-accueil .contenu > * { max-width: none; }
.actu { padding: .5rem 0; }
.actu .actu-image { display: block; margin: .25rem 0 1rem; }
.actu .actu-image img { display: block; width: 100%; height: auto; border-radius: 3px; }
.actu-lateral { display: grid; grid-template-columns: 13rem minmax(0, 1fr); gap: 1.5rem; padding: .5rem 0 1rem; }
.actu-lateral img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 3px; }
/* Pages d'actualités : images en largeur sur toute la largeur du texte */
.contenu img.pleine-largeur { display: block; width: 100%; height: auto; }
.actu:first-of-type { border-top: 0; padding-top: .5rem; }
.actu h3 { margin: 0 0 .35rem; font-size: 1.2rem; }
.actu h3 a { color: var(--ardoise); text-decoration: none; }
.actu h3 a:hover { color: var(--bleu); text-decoration: underline; }
.actu .date { margin-bottom: .5rem; }
.actu p { margin-bottom: .5rem; }
.actu .suite { text-align: right; margin: .75rem 0 0; }
.actu p.centre strong { font-size: 1.4rem; }
.actu .bouton { font-size: 1rem; padding: .45rem 1rem; }
.section-titre { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.section-titre h2 { margin-top: 0; }
.agenda li strong { display: block; color: var(--laiton); }
.adhesion { padding: 0; overflow: hidden; }
.adhesion a { display: block; }
.adhesion img { display: block; width: 100%; height: auto; }
.adhesion a:hover img { opacity: .9; }
.adhesion p { margin: 0; padding: .7rem 1.25rem .9rem; font-size: .95rem; color: var(--galet); }
.don { background: var(--ardoise); color: #fff; }
.don h2 { color: #fff; }
.don .bouton { background: #fff; color: var(--ardoise); }
.don .bouton:hover { background: var(--pierre); }

/* Archives */
.archives h2 { border-bottom: 1px solid var(--filet); padding-bottom: .3rem; }
.archives ul { list-style: none; padding: 0; margin: 0; }
.archives li { padding: .5rem 0; display: grid; grid-template-columns: 8.5rem minmax(0, 1fr); gap: 1rem; }
.archives time { color: var(--laiton); font-weight: 600; font-size: 1rem; }

/* Recherche */
.resultats { list-style: none; padding: 0; }
.resultats li { padding: .9rem 0; border-bottom: 1px solid var(--filet); }
.resultats a { font: 600 1.15rem/1.3 var(--serif); }
.resultats p { margin: .25rem 0 0; font-size: 1rem; color: var(--galet); }

/* Mention à compléter (pages légales) */
.a-completer { background: #fff3cd; padding: 0 .25rem; }

/* ---------- Pied de page ---------- */
.pied { background: var(--ardoise); color: #dfe3e8; font-size: 1rem; }
.pied-int { max-width: 75rem; margin: 0 auto; padding: 2rem 1rem; display: flex; flex-wrap: wrap; gap: 1rem 2rem; justify-content: space-between; }
.pied a { color: #fff; }
.pied ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; }

/* ---------- Écrans moyens et petits ---------- */
@media (max-width: 64rem) {
  .page { grid-template-columns: minmax(0, 1fr); }
  .colonne { grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); }
}
@media (max-width: 48rem) {
  body { font-size: 1.0625rem; }
  h1 { font-size: 1.5rem; }
  h2 { font-size: 1.35rem; }
  .entete { display: none; }
  .entete-int { flex-wrap: wrap; min-height: 0; padding: .9rem 1rem 1rem; gap: .75rem; }
  .entete::after { bottom: auto; top: 6.2rem; }
  .marque { gap: .9rem; align-items: center; }
  .marque-galets { width: 84px; height: 80px; }
  .marque-galets img { width: 84px; }
  .marque-galets .reflet { display: none; }
  .marque-texte { padding-bottom: 0; }
  .marque-nom { font-size: 1.45rem; }
  .marque-devise { font-size: .92rem; margin-top: .3rem; }
  .entete-outils { margin-left: 0; width: 100%; flex-direction: row; align-items: center; }
  .recherche { flex: 1; order: -1; }
  .recherche input { width: 100%; }
  .reseaux a { width: 2.1rem; height: 2.1rem; }
  .bouton-menu { display: flex; align-items: center; gap: .5rem; width: auto; font: 400 1.1rem var(--titre); letter-spacing: .03em; background: none; color: #fff; border: 0; padding: .7rem 1rem; cursor: pointer; }
  .bouton-menu::before { content: ""; width: 1.1rem; height: 2px; background: currentColor; box-shadow: 0 -6px currentColor, 0 6px currentColor; }
  .nav > ul { display: none; flex-direction: column; padding: 0; max-height: calc(100vh - 3rem); overflow-y: auto; }
  .nav.ouvert > ul { display: flex; }
  .bandeau { display: none; }
  .nav { justify-content: space-between; flex-wrap: wrap; }
  .nav > ul { flex: none; }
  .nav .nav-marque { display: flex; align-items: center; gap: .6rem; padding: .4rem .75rem; color: #fff; text-decoration: none; font: 400 1.15rem/1.1 var(--titre); letter-spacing: .02em; }
  .nav .nav-marque:hover { color: #fff; }
  .nav .nav-marque img { width: 40px; height: auto; }
  .nav > ul { width: 100%; }
  .nav .recherche { width: calc(100% - 2rem); }
  .nav .recherche { margin: .5rem 1rem .9rem; order: 0; }
  .nav .recherche input { width: 100%; }
  .nav:not(.ouvert) .recherche { display: none; }
  .nav .sous { position: static; box-shadow: none; border-top: 0; background: #4d5055; }
  .nav .sous a { color: #fff; padding-left: 1.75rem; }
  .nav .sous a:hover { background: #a2a2a2; }
  .contenu { padding: 1.25rem 1rem 2rem; }
  .page { padding: 1rem .5rem 2rem; gap: 1rem; }
  .accueil-intro .manifeste { font-size: 1.1rem; }
  .contenu .entete-portrait { width: 45%; margin-right: 1rem; }
  .actu-lateral { grid-template-columns: minmax(0, 1fr); gap: .75rem; }
  .archives li { grid-template-columns: minmax(0, 1fr); gap: 0; }
}
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; } }
@media print {
  .entete-outils, .nav, .colonne, .pied, .bouton-menu { display: none; }
  body { background: #fff; }
  .page { display: block; }
}
.page-actus .contenu p.suite { text-align: right; }

/* Tableaux de données : cartes sur mobile */
@media (max-width: 48rem) {
  .tableau.cartes { overflow: visible; }
  .tableau.cartes table, .tableau.cartes tbody, .tableau.cartes tr, .tableau.cartes td { display: block; width: 100%; }
  .tableau.cartes tr:first-child { display: none; }
  .tableau.cartes tr {
    background: #fff; border: 1px solid var(--filet); border-left: 4px solid var(--bleu-clair);
    border-radius: 6px; padding: .55rem .8rem; margin-bottom: .7rem;
  }
  .tableau.cartes td {
    display: flex; gap: .75rem; justify-content: space-between;
    border: 0; padding: .2rem 0; text-align: right;
  }
  .tableau.cartes td::before {
    content: attr(data-label); flex: 0 0 auto; text-align: left;
    font-weight: 600; color: var(--bleu-clair);
  }
  .tableau.cartes td:first-child {
    display: block; text-align: left; font-family: 'Oswald', sans-serif; font-weight: 500;
    font-size: 1.15rem; letter-spacing: .02em; padding-bottom: .35rem;
    margin-bottom: .2rem; border-bottom: 1px solid var(--pierre);
  }
  .tableau.cartes td:first-child::before { content: none; }
  .tableau.cartes td:empty { display: none; }
}

/* Filtre au-dessus d'un tableau */
.filtre-tableau { margin: 1rem 0 .5rem; }
.filtre-tableau label { display: block; font-weight: 600; color: var(--bleu-clair); margin-bottom: .3rem; }
.filtre-tableau input {
  width: 100%; max-width: 26rem; font: inherit; padding: .55rem .75rem;
  border: 1px solid var(--filet); border-radius: 6px; background: #fff;
}
.filtre-tableau input:focus { outline: 2px solid var(--bleu); outline-offset: 1px; border-color: var(--bleu); }
.filtre-compte { margin: .35rem 0 0; font-size: .92rem; color: #666; }
.filtre-vide { font-style: italic; color: #666; }
.tableau tr[hidden] { display: none !important; }

/* Boutons d'accès alignés à droite */
.contenu p.suite { text-align: right; }
.contenu p.suite .bouton + .bouton { margin-left: .5rem; }
