/* aria-idf.net : feuille propre au site (skill controle-design, 06/11/2026). Encre bleu-vert ardoise et épi de blé du logo. */
:root {
  --epi-encre: #1f3d40;
  --epi-encre-douce: #3b5a5c;
  --epi-texte: #273235;
  --epi-gris: #5b6668;
  --epi-ble: #a88241;
  --epi-ble-fonce: #7d5f2a;
  --epi-papier: #fbf9f4;
  --epi-lin: #f2ece0;
  --epi-filet: #e3dac8;
  --epi-blanc: #ffffff;
  --epi-rayon: 10px;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body.epi { margin: 0; background: var(--epi-papier); color: var(--epi-texte); font-family: "Public Sans", system-ui, sans-serif; font-size: 17px; line-height: 1.7; }
.epi img { max-width: 100%; height: auto; }
.epi a { color: var(--epi-encre); text-decoration-color: var(--epi-ble); text-underline-offset: 3px; }
.epi a:hover { color: var(--epi-ble-fonce); }
.epi-cadre { width: 100%; max-width: 1140px; margin: 0 auto; padding: 0 28px; }
.epi-colonne { max-width: 816px; }
.epi-surtitre { margin: 0 0 .6em; font-size: .78rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--epi-ble-fonce); }

/* En-tête et menu */
.epi-entete { background: var(--epi-blanc); border-bottom: 1px solid var(--epi-filet); position: relative; z-index: 20; }
.epi-entete__ligne { display: flex; align-items: center; gap: 24px; min-height: 86px; }
.epi-marque { display: inline-flex; align-items: center; flex: 0 0 auto; }
.epi .epi-marque__logo { height: 66px; width: auto; max-width: none; display: block; }
.epi-nav { margin-left: auto; }
.epi-nav__liste { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: nowrap; gap: 4px; }
.epi-nav__lien { display: block; padding: 8px 12px; border-radius: 6px; color: var(--epi-encre) !important; font-weight: 600; font-size: .93rem; text-decoration: none; white-space: nowrap; }
.epi-nav__lien:hover { background: var(--epi-lin); }
.epi-bascule { position: absolute; opacity: 0; pointer-events: none; }
.epi-bouton { display: none; }
@media (max-width: 1020px) {
  .epi-entete__ligne { min-height: 70px; flex-wrap: wrap; }
  .epi .epi-marque__logo { height: 54px; }
  .epi-bouton { display: flex; flex-direction: column; justify-content: center; gap: 5px; margin-left: auto; width: 48px; height: 48px; padding: 12px; cursor: pointer; border-radius: 8px; }
  .epi-bouton span { display: block; height: 2px; background: var(--epi-encre); border-radius: 2px; }
  .epi-nav { display: none; width: 100%; margin: 0 0 14px; }
  .epi-bascule:checked ~ .epi-nav { display: block; }
  .epi-nav__liste { flex-direction: column; gap: 0; }
  .epi-nav__lien { padding: 12px 4px; border-bottom: 1px solid var(--epi-filet); border-radius: 0; font-size: 1rem; white-space: normal; }
}

/* Fil d'Ariane */
.epi-fil { padding: 18px 0 0; font-size: .88rem; color: var(--epi-gris); }
.epi-fil ol, .epi-fil ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.epi-fil li { margin: 0; }
.epi-fil a { color: var(--epi-encre-douce); }
.epi-fil li:last-child span, .epi-fil [aria-current="page"] { color: var(--epi-gris); }
.epi-fil--article li[aria-current="page"], .epi-fil--article li[aria-hidden="true"]:has(+ li[aria-current="page"]) { display: none; }

/* Ouverture de l'accueil */
.epi-ouverture { padding: 44px 0 36px; background: linear-gradient(180deg, var(--epi-blanc) 0%, var(--epi-papier) 100%); }
.epi-ouverture__grille { display: grid; grid-template-columns: 1.05fr .95fr; gap: 44px; align-items: center; }
.epi-ouverture__titre { margin: 0 0 .45em; font-family: "DM Serif Display", Georgia, serif; font-weight: 400; font-size: 2.55rem; line-height: 1.15; color: var(--epi-encre); }
.epi-ouverture__accroche { margin: 0; font-size: 1.12rem; color: var(--epi-encre-douce); }
.epi-ouverture__image { margin: 0; }
.epi-ouverture__image img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 14px 14px 64px 14px; }
@media (max-width: 860px) {
  .epi-ouverture { padding: 28px 0 22px; }
  .epi-ouverture__grille { grid-template-columns: 1fr; gap: 22px; }
  .epi-ouverture__titre { font-size: 1.85rem; }
}

/* Texte courant (accueil, articles, pages) */
.epi-accueil { padding: 20px 0 30px; }
.epi-texte { color: var(--epi-texte); }
.epi-texte > :first-child { margin-top: 0; }
.epi-texte p { margin: 0 0 1em; }
.epi-texte h2 { position: relative; margin: 1.9em 0 .6em; font-family: "DM Serif Text", Georgia, serif; font-weight: 400; font-size: 1.62rem; line-height: 1.25; color: var(--epi-encre); }
.epi-texte h2::before { content: ""; display: block; width: 38px; height: 3px; margin-bottom: .5em; border-radius: 2px; background: var(--epi-ble); }
.epi-texte h3 { margin: 1.6em 0 .5em; font-family: "DM Serif Text", Georgia, serif; font-weight: 400; font-size: 1.28rem; line-height: 1.3; color: var(--epi-encre-douce); }
.epi-texte ul, .epi-texte ol { margin: 0 0 1.2em; padding-left: 1.5em; }
.epi-texte li { margin: 0 0 .45em; }
.epi-texte li::marker { color: var(--epi-ble-fonce); }
.epi-texte blockquote { margin: 1.4em 0; padding: 1em 1.3em; background: var(--epi-lin); border-radius: var(--epi-rayon); font-family: "DM Serif Text", Georgia, serif; font-style: italic; color: var(--epi-encre); }
.epi-texte img { display: block; margin: 1.4em auto; border-radius: var(--epi-rayon); }
.epi-texte table { width: 100%; margin: 1.4em 0; border-collapse: collapse; font-size: .95rem; background: var(--epi-blanc); }
.epi-texte th, .epi-texte td { padding: .6em .75em; border-bottom: 1px solid var(--epi-filet); text-align: left; vertical-align: top; }
.epi-texte thead th, .epi-texte thead td, .epi-texte tr:first-child th { background: var(--epi-encre); color: var(--epi-blanc); font-weight: 600; }
.epi-texte tbody tr:nth-child(even) { background: var(--epi-papier); }
@media (max-width: 700px) {
  .epi-texte table { display: block; overflow-x: auto; white-space: nowrap; }
}

/* Article */
.epi-article__tete { max-width: 1140px; padding-top: 14px; }
.epi-article__titre { max-width: 860px; margin: 0 0 .5em; font-family: "DM Serif Display", Georgia, serif; font-weight: 400; font-size: 2.45rem; line-height: 1.16; color: var(--epi-encre); }
.epi-article__meta { display: flex; flex-wrap: wrap; width: fit-content; max-width: 100%; gap: 6px 18px; margin: 0 0 22px; font-size: .9rem; color: var(--epi-gris); }
.epi-article__meta span + span::before { content: "·"; margin-right: 18px; color: var(--epi-ble); }
@media (max-width: 620px) { .epi-article__meta { gap: 4px 14px; } .epi-article__meta span + span::before { content: none; } }
.epi-article__image { margin: 0 auto 30px; }
.epi-article__image img { display: block; width: 100%; max-height: 470px; object-fit: cover; border-radius: 14px; }
.epi-article__image:not(:has(img)) { display: none; }
.epi-article__corps { display: grid; grid-template-columns: 236px minmax(0, 780px); gap: 48px; align-items: start; }
.epi-article__colonne { min-width: 0; }
.epi-texte--article > p:first-child { font-size: 1.14em; line-height: 1.65; color: var(--epi-encre); font-weight: 500; }
.epi-sommaire { position: sticky; top: 24px; font-size: .9rem; }
.epi-sommaire__bascule { position: absolute; opacity: 0; pointer-events: none; }
.epi-sommaire__barre { display: block; margin: 0 0 10px; font-weight: 700; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; color: var(--epi-ble-fonce); }
.epi-sommaire__liste nav, .epi-sommaire__liste ul, .epi-sommaire__liste ol { margin: 0; padding: 0; list-style: none; }
.epi-sommaire__liste li { margin: 0; }
.epi-sommaire__liste a { display: block; padding: 6px 0 6px 12px; border-bottom: 1px solid var(--epi-filet); color: var(--epi-encre-douce); text-decoration: none; line-height: 1.4; }
.epi-sommaire__liste a:hover { color: var(--epi-ble-fonce); }
.epi-sommaire__liste ul ul a, .epi-sommaire__liste ol ol a { padding-left: 24px; font-size: .86rem; }
@media (max-width: 960px) {
  .epi-article__titre { font-size: 1.8rem; }
  .epi-article__corps { grid-template-columns: 1fr; gap: 0; }
  .epi-sommaire { position: sticky; top: 0; z-index: 10; margin: 0 -28px 22px; padding: 0 28px; background: var(--epi-blanc); border-bottom: 1px solid var(--epi-filet); }
  .epi-sommaire__barre { margin: 0; padding: 13px 0; cursor: pointer; }
  .epi-sommaire__barre::after { content: "+"; float: right; font-size: 1.1rem; line-height: 1; }
  .epi-sommaire__liste { display: none; max-height: 60vh; overflow-y: auto; padding-bottom: 10px; }
  .epi-sommaire__liste ul ul, .epi-sommaire__liste ol ol { display: none; }
  .epi-sommaire__bascule:checked ~ .epi-sommaire__liste { display: block; }
  .epi-sommaire__bascule:checked ~ .epi-sommaire__barre::after { content: "−"; }
}

/* Encadré de l'autrice */
.epi-autrice { display: flex; gap: 20px; align-items: flex-start; margin: 40px 0 10px; padding: 22px 24px; background: var(--epi-lin); border-radius: 16px; }
.epi-autrice__photo { flex: 0 0 92px; width: 92px; height: 92px; border-radius: 22px; overflow: hidden; background: var(--epi-encre); color: var(--epi-blanc); display: flex; align-items: center; justify-content: center; font-family: "DM Serif Display", Georgia, serif; font-size: 2.2rem; }
.epi-autrice__photo img { width: 100%; height: 100%; object-fit: cover; display: block; margin: 0; }
.epi-autrice__label { margin: 0; font-size: .74rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--epi-ble-fonce); }
.epi-autrice__nom { margin: 2px 0 6px; font-family: "DM Serif Text", Georgia, serif; font-size: 1.3rem; color: var(--epi-encre); }
.epi-autrice__bio { font-size: .95rem; line-height: 1.6; color: var(--epi-texte); }
.epi-autrice__bio p { margin: 0; }
.epi-autrice__bio p:not(:first-child), .epi-autrice__bio h2, .epi-autrice__bio img { display: none; }
@media (max-width: 560px) {
  .epi-autrice { flex-direction: column; gap: 12px; padding: 18px; }
}

/* Cartes et grilles */
.epi-derniers, .epi-lies { padding: 34px 0 54px; }
.epi-lies { background: var(--epi-blanc); border-top: 1px solid var(--epi-filet); margin-top: 30px; }
.epi-lies:not(:has(.epi-carte)) { display: none; }
.epi-titre-bloc { margin: 0 0 22px; font-family: "DM Serif Display", Georgia, serif; font-weight: 400; font-size: 1.75rem; color: var(--epi-encre); }
.epi-grille { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
@media (max-width: 980px) { .epi-grille { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .epi-grille { grid-template-columns: 1fr; gap: 20px; } }
.epi-carte { background: var(--epi-blanc); border: 1px solid var(--epi-filet); border-radius: var(--epi-rayon); overflow: hidden; transition: box-shadow .2s, transform .2s; }
.epi-carte:hover { box-shadow: 0 10px 26px rgba(31, 61, 64, .1); transform: translateY(-2px); }
.epi-carte__lien { display: flex; flex-direction: column; height: 100%; color: inherit !important; text-decoration: none; }
.epi-carte__visuel { aspect-ratio: 16 / 10; overflow: hidden; background: #e7edeb; }
.epi-carte__visuel img { display: block; width: 100%; height: 100%; object-fit: cover; }
.epi-carte__visuel:not(:has(img)) { background: #e7edeb url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 200'%3E%3Crect width='320' height='200' fill='%23e7edeb'/%3E%3Ccircle cx='250' cy='52' r='22' fill='%23f2ece0'/%3E%3Cpath d='M92 162 C132 128 170 98 228 46' fill='none' stroke='%23a88241' stroke-width='3' stroke-linecap='round'/%3E%3Cg fill='%23c9a76a'%3E%3Cellipse cx='118' cy='128' rx='17' ry='6' transform='rotate(-62 118 128)'/%3E%3Cellipse cx='136' cy='138' rx='17' ry='6' transform='rotate(-8 136 138)'/%3E%3Cellipse cx='145' cy='108' rx='17' ry='6' transform='rotate(-62 145 108)'/%3E%3Cellipse cx='163' cy='117' rx='17' ry='6' transform='rotate(-8 163 117)'/%3E%3Cellipse cx='172' cy='87' rx='16' ry='6' transform='rotate(-62 172 87)'/%3E%3Cellipse cx='190' cy='95' rx='16' ry='6' transform='rotate(-8 190 95)'/%3E%3Cellipse cx='199' cy='66' rx='15' ry='5.5' transform='rotate(-62 199 66)'/%3E%3Cellipse cx='216' cy='73' rx='15' ry='5.5' transform='rotate(-8 216 73)'/%3E%3C/g%3E%3C/svg%3E") center / cover no-repeat; }
.epi-carte__corps { display: flex; flex-direction: column; gap: 6px; padding: 16px 18px 20px; }
.epi-carte__rubrique { font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--epi-ble-fonce); }
.epi-carte__rubrique:empty { display: none; }
.epi-carte__titre { margin: 0; font-family: "DM Serif Text", Georgia, serif; font-weight: 400; font-size: 1.16rem; line-height: 1.32; color: var(--epi-encre); }
.epi-carte__date { margin: 0; font-size: .8rem; color: var(--epi-gris); }
.epi-carte__extrait { margin: 0; font-size: .92rem; line-height: 1.55; color: var(--epi-gris); }

/* Rubriques */
.epi-rubrique-tete { padding: 26px 0 30px; }
.epi-rubrique-tete__titre { margin: 0 0 .55em; font-family: "DM Serif Display", Georgia, serif; font-weight: 400; font-size: 2.3rem; line-height: 1.18; color: var(--epi-encre); }
.epi-rubrique-tete__intro { color: var(--epi-texte); }
.epi-rubrique-tete__intro p { margin: 0 0 1em; break-inside: avoid-column; }
@media (min-width: 900px) { .epi-rubrique-tete__intro { column-count: 2; column-gap: 52px; } }
.epi-rubrique-liste { padding: 6px 0 60px; }
.epi-rubrique-liste .epi-carte__rubrique { display: none; }
.epi .pagination:not(:has(a)) { display: none; }

/* Pages fixes, présentation, autrice */
.epi-page-tete { padding: 22px 0 6px; }
.epi-page-tete__titre { margin: 0 0 .4em; font-family: "DM Serif Display", Georgia, serif; font-weight: 400; font-size: 2.3rem; line-height: 1.18; color: var(--epi-encre); }
.epi-page { padding: 10px 0 40px; }
.epi-texte--page img:first-child { margin: 0 0 1.6em; max-width: 520px; }
.epi-texte--presentation img { float: left; width: 190px; margin: .35em 26px 12px 0; border-radius: 22px; }
.epi-texte--presentation h2 { clear: both; }
@media (max-width: 560px) { .epi-texte--presentation img { float: none; width: 160px; margin: 0 0 16px; } }
.epi-profil__photo img { display: block; width: 180px; height: 180px; object-fit: cover; border-radius: 24px; margin: 0 0 22px; }
.epi-profil__photo:not(:has(img)) { display: none; }
.epi-profil__suite { margin: 10px 0 0; font-weight: 600; }

/* Formulaire */
.epi-ecrire { padding: 32px 0 60px; background: var(--epi-blanc); border-top: 1px solid var(--epi-filet); }
.epi-ecrire__titre { margin: 0 0 .3em; font-family: "DM Serif Display", Georgia, serif; font-weight: 400; font-size: 1.8rem; color: var(--epi-encre); }
.epi-ecrire__aide { margin: 0 0 18px; color: var(--epi-gris); }
.epi-form { display: grid; gap: 12px; }
.epi-form__champ { width: 100%; padding: 12px 14px; border: 1px solid var(--epi-filet); border-radius: 8px; background: var(--epi-papier); font: inherit; color: var(--epi-texte); }
.epi-form__champ:focus { outline: 2px solid var(--epi-ble); outline-offset: 1px; background: var(--epi-blanc); }
.epi-form textarea { min-height: 150px; }
.epi-form__bouton { justify-self: start; padding: 12px 26px; border: 0; border-radius: 8px; background: var(--epi-encre); color: var(--epi-blanc); font: inherit; font-weight: 600; cursor: pointer; }
.epi-form__bouton:hover { background: var(--epi-ble-fonce); }

/* Pied de page */
.epi-pied { margin-top: 0; padding: 26px 0; background: var(--epi-encre); color: #e7efee; font-size: .9rem; }
.epi-pied__ligne { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 24px; }
.epi-pied p { margin: 0; }
.epi-pied__nom { font-family: "DM Serif Text", Georgia, serif; font-size: 1.05rem; }
.epi-pied a { color: #f0d9a8; }

@media (max-width: 620px) {
  .epi-cadre { padding: 0 18px; }
  body.epi { font-size: 16.5px; }
  .epi-sommaire { margin: 0 -18px 20px; padding: 0 18px; }
  .epi-rubrique-tete__titre, .epi-page-tete__titre { font-size: 1.8rem; }
  .epi-texte h2 { font-size: 1.4rem; }
}
