:root{
  --color-primary:#1bac91;
  --color-primary-dark:#21413c;
  --color-primary-light:#22d8b6;
  --color-text:#444444;
  --color-bg-light:#f2f9f8;
  --color-black:#000000;
  --font-body:'Open Sans', sans-serif;
  --font-heading:'Raleway', sans-serif;
}
*{box-sizing:border-box;}
body{margin:0;font-family:var(--font-body);color:var(--color-text);line-height:1.7;-webkit-font-smoothing:antialiased;}
img{max-width:100%;}
a{color:var(--color-primary);text-decoration:underline dotted;text-underline-offset:2px;}
a:hover{color:var(--color-primary-light);}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-primary-dark);margin:0 0 .6em;}
.container{max-width:1200px;margin:0 auto;padding:0 20px;}
.container--narrow{max-width:820px;}

/* ---- header ---- */
.site-header{background:#fff;border-bottom:1px solid #eee;position:relative;z-index:10;}
.header-inner{max-width:1200px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;}
.site-logo{display:flex;align-items:center;}
.site-logo img{height:64px;width:auto;}
.main-nav{display:flex;gap:1.75rem;list-style:none;margin:0;padding:0;}
.main-nav__item{list-style:none;}
.main-nav__link{font-family:var(--font-heading);font-size:14px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--color-primary-dark);text-decoration:none;padding:4px 0;border-bottom:2px solid transparent;}
.main-nav__link:hover,.main-nav__link.active{color:var(--color-primary);border-bottom-color:var(--color-primary);}
.nav-toggle{display:none;}
.nav-burger{display:none;}

@media (max-width:768px){
  .nav-burger{display:flex;flex-direction:column;gap:5px;cursor:pointer;order:2;padding:8px;}
  .nav-burger span{width:24px;height:2px;background:var(--color-primary-dark);display:block;}
  .main-nav{flex-basis:100%;order:3;flex-direction:column;gap:0;max-height:0;overflow:hidden;transition:max-height .3s ease;}
  .nav-toggle:checked ~ .main-nav{max-height:400px;}
  .main-nav__item{border-top:1px solid #eee;}
  .main-nav__link{display:block;padding:12px 0;}
}

/* ---- hero ---- */
.hero{position:relative;min-height:70vh;display:flex;align-items:center;overflow:hidden;}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.hero-overlay{position:absolute;inset:0;background:rgba(0,0,0,.45);z-index:1;}
.hero-content{position:relative;z-index:2;padding:60px 20px;}
.hero-content h1{color:#fff;font-size:48px;font-weight:700;line-height:1.2;max-width:760px;margin-bottom:.4em;}
.hero-baseline{color:rgba(255,255,255,.8);font-size:22px;font-family:var(--font-heading);max-width:640px;margin:0;}
@media (max-width:768px){
  .hero{min-height:50vh;}
  .hero-content h1{font-size:28px;}
  .hero-baseline{font-size:17px;}
}

/* ---- intro / content ---- */
.intro-section{background:var(--color-bg-light);padding:60px 0;}
.intro-content h2{font-size:28px;font-weight:600;color:var(--color-primary-dark);margin-top:1.4em;}
.intro-content h2:first-child{margin-top:0;}
.intro-content p{font-size:16px;line-height:1.8;}
.intro-content ul,.intro-content ol{font-size:16px;line-height:1.8;}

/* ---- showcase / cards ---- */
.articles-section{padding:60px 0;}
.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;}
.section-head h2{margin:0;}
.articles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
@media (max-width:900px){.articles-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.articles-grid{grid-template-columns:1fr;}}
.post-card{background:#fff;border-radius:4px;box-shadow:0 0 6px 1px rgba(33,65,60,.12);overflow:hidden;transition:box-shadow .2s ease;}
.post-card:hover{box-shadow:0 0 14px 2px rgba(33,65,60,.2);}
.post-card__link{color:inherit;text-decoration:none;display:block;}
.post-card__img{width:100%;height:190px;object-fit:cover;display:block;}
.post-card__body{padding:20px;}
.post-card__meta{font-size:12px;color:var(--color-primary);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;}
.post-card__title{font-size:19px;line-height:1.3;margin-bottom:10px;color:var(--color-primary-dark);}
.post-card__excerpt{font-size:14px;color:var(--color-text);margin:0;}

/* ---- pagination ---- */
.pagination{display:flex;gap:8px;justify-content:center;margin-top:40px;list-style:none;padding:0;}
.pagination a,.pagination span{display:inline-flex;min-width:36px;height:36px;align-items:center;justify-content:center;border-radius:4px;color:var(--color-primary-dark);text-decoration:none;font-weight:600;}
.pagination .active{background:var(--color-primary);color:#fff;}

/* ---- post detail ---- */
.list-hero,.post-hero{background:var(--color-bg-light);padding:50px 0 30px;}
.list-hero h1,.post-hero h1{font-size:34px;margin-top:.4em;}
.post-meta{color:#777;font-size:13px;display:flex;gap:16px;text-transform:uppercase;letter-spacing:.5px;flex-wrap:wrap;}
.post-body{padding:50px 0;}
.post-body__img{width:100%;height:auto;border-radius:4px;margin-bottom:32px;display:block;}
.post-content h2{font-size:26px;margin-top:1.6em;}
.post-content p{font-size:16px;line-height:1.85;}
.related-section{background:var(--color-bg-light);padding:60px 0;}

/* ---- footer ---- */
.site-footer{background:var(--color-black);color:#fff;padding:26px 0;font-size:14px;}
.site-footer a{color:#fff;}

/* Senior Alerte : lisibilité des articles, rubriques et pages (novembre 2026) */

/* Liens lisibles : le vert d'eau du thème (2,7 pour 1 sur blanc) foncé à 4,9 pour 1 */
a { color: #127a66; }
a:hover { color: var(--color-primary-dark); }
nav[aria-label="Breadcrumb"] a { color: #127a66; }

/* « À lire aussi » : jamais de bloc vide */
.related-section:not(:has(.post-card)) { display: none; }

/* Fil d'Ariane : en ligne, sans puces ; sur un article, il s'arrête à la rubrique */
nav[aria-label="Breadcrumb"] ol { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 7px; list-style: none; margin: 0 0 14px; padding: 0; font-size: .9rem; }
nav[aria-label="Breadcrumb"] li { margin: 0; padding: 0; list-style: none; }
nav[aria-label="Breadcrumb"] ol:has(> li:nth-child(5)) > li[aria-current="page"],
nav[aria-label="Breadcrumb"] ol:has(> li:nth-child(5)) > li:has(+ li[aria-current="page"]) { display: none; }

/* Menu : une seule ligne en ordinateur avec l'entrée « Qui sommes-nous » */
@media (min-width: 769px) {
  .main-nav { gap: 6px 1.1rem; flex-wrap: wrap; justify-content: flex-start; }
  .main-nav__item { flex: 0 0 auto; }
  .main-nav__link { font-size: 12.5px; letter-spacing: .3px; white-space: nowrap; }
}

/* En-tête d'article : signature, date, durée */
.post-meta { margin: 0; text-transform: none; letter-spacing: 0; font-size: 14px; gap: 6px 14px; color: #5f6b69; }
.post-meta span + span::before { content: "•"; margin-right: 14px; color: var(--color-primary); }
@media (max-width: 600px) { .post-meta span + span::before { display: none; } }

/* Corps : texte juste sous l'image, aéré */
.post-body { padding: 36px 0 50px; }
.post-body__img { margin-bottom: 26px; }
.post-content > :first-child { margin-top: 0; }
.post-content p { margin: 0 0 1.05em; }
.post-content h2 { margin: 1.9em 0 .65em; font-size: 25px; }
.post-content h2::before { content: ""; display: inline-block; width: .5em; height: .5em; border-radius: 3px; background: var(--color-primary); margin-right: .45em; vertical-align: .12em; }
.post-content h3 { margin: 1.5em 0 .5em; font-size: 19px; color: #2f6f63; }
.post-content ul, .post-content ol { padding-left: 1.5em; margin: 0 0 1.1em; }
.post-content li { margin-bottom: .35em; }

/* Chapô : le paragraphe d'introduction, avant le premier intertitre */
.post-content > p:first-child { font-size: 17.5px; line-height: 1.75; color: var(--color-primary-dark); font-weight: 600; }

/* Citations : fond teinté, sans barre */
.post-content blockquote { margin: 1.4em 0; padding: 1rem 1.3rem; background: var(--color-bg-light); border-radius: 8px; border: 0; font-style: italic; }

/* Sommaire */
.sommaire-article { margin: 0 0 1.8em; border: 1px solid #d6ebe7; border-radius: 8px; background: #fbfefd; padding: 0 1.1rem; }
.sommaire-article summary { cursor: pointer; list-style: none; padding: .8rem 0; font-family: var(--font-heading); font-weight: 700; color: var(--color-primary-dark); }
.sommaire-article summary::-webkit-details-marker { display: none; }
.sommaire-article summary::after { content: "▾"; float: right; color: var(--color-primary); }
.sommaire-article[open] summary::after { content: "▴"; }
.sommaire-article ol, .sommaire-article ul { margin: 0 0 .9rem; padding-left: 1.2rem; }
.sommaire-article li { margin-bottom: .3rem; }
.sommaire-article a { color: #2f6f63; text-decoration: none; }
.sommaire-article a:hover { color: var(--color-primary); text-decoration: underline; }
@media (max-width: 767px) {
  .sommaire-article { position: sticky; top: 8px; z-index: 5; box-shadow: 0 2px 10px rgba(33, 65, 60, .14); }
  .sommaire-article[open] nav { max-height: 55vh; overflow: auto; }
}

/* Tableaux */
.post-content table { width: 100%; border-collapse: collapse; margin: 1.4em 0; font-size: 15px; }
.post-content th, .post-content td { padding: .55em .75em; border: 1px solid #dcebe8; text-align: left; vertical-align: top; }
.post-content thead th, .post-content thead td, .post-content tr:first-child th { background: #e3f4f0; color: var(--color-primary-dark); font-family: var(--font-heading); }
@media (max-width: 767px) { .post-content table { display: block; overflow-x: auto; } .post-content th, .post-content td { min-width: 8.5rem; } }

/* Encadré auteur : photo carrée à coins arrondis, nom, bio */
.fiche-auteur { display: flex; gap: 18px; align-items: flex-start; margin-top: 2.6rem; padding: 20px 22px; background: #fff; border: 1px solid #d6ebe7; border-radius: 12px; box-shadow: 0 2px 12px rgba(33, 65, 60, .07); }
.fiche-auteur__photo { flex: 0 0 84px; }
.fiche-auteur__photo img, .fiche-auteur__initiales { width: 84px; height: 84px; border-radius: 14px; object-fit: cover; display: flex; }
.fiche-auteur__initiales { align-items: center; justify-content: center; background: #e3f4f0; color: var(--color-primary-dark); font-family: var(--font-heading); font-weight: 700; font-size: 26px; }
.fiche-auteur__label { margin: 0 0 2px; font-size: 12px; letter-spacing: 1px; text-transform: uppercase; color: var(--color-primary); font-weight: 600; }
.fiche-auteur__nom { margin: 0 0 6px; font-family: var(--font-heading); font-weight: 700; font-size: 19px; color: var(--color-primary-dark); }
.fiche-auteur__bio { font-size: 15px; line-height: 1.65; }
.fiche-auteur__bio p { margin: 0; }
@media (max-width: 480px) { .fiche-auteur { flex-direction: column; } }

/* Cartes sans image : maison et cœur du logo sur fond d'eau claire, au format des photos */
.post-card__visuel { height: 190px; overflow: hidden; }
.post-card__visuel:not(:has(img)) { background: #e3f4f0 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 110'%3E%3Crect width='200' height='110' fill='%23e3f4f0'/%3E%3Ccircle cx='160' cy='22' r='30' fill='%23c8ebe3'/%3E%3Cpath d='M100 24 L136 54 L130 54 L130 90 L70 90 L70 54 L64 54 Z' fill='none' stroke='%2321413c' stroke-width='5' stroke-linejoin='round'/%3E%3Cpath d='M100 82 C86 72 80 64 80 58 C80 52 85 48 90 48 C95 48 98 51 100 55 C102 51 105 48 110 48 C115 48 120 52 120 58 C120 64 114 72 100 82 Z' fill='%231bac91'/%3E%3Cpath d='M128 30 Q136 36 134 46' fill='none' stroke='%231bac91' stroke-width='4' stroke-linecap='round'/%3E%3Cpath d='M138 24 Q150 34 146 50' fill='none' stroke='%231bac91' stroke-width='4' stroke-linecap='round' opacity='.6'/%3E%3C/svg%3E") center / cover no-repeat; }
.post-card__visuel .post-card__img { height: 190px; }

/* Rubriques : texte d'introduction sur toute la largeur, en deux colonnes */
.rubrique-intro { padding: 36px 0 0; }
.rubrique-intro__texte { column-count: 2; column-gap: 44px; font-size: 16px; line-height: 1.8; }
.rubrique-intro__texte p { margin: 0 0 1em; }
.rubrique-intro:not(:has(p)) { display: none; }
@media (max-width: 900px) { .rubrique-intro__texte { column-count: 1; } }
.articles-section--rubrique { padding-top: 40px; }
/* Encadré auteur des articles : premier paragraphe de la bio seulement, la bio entière est sur la page de l'auteur */
.fiche-auteur__bio p ~ p { display: none; }

/* Pages fixes et formulaire */
.post-hero--page { padding-bottom: 34px; }
.bloc-contact { margin-top: 2.4rem; padding: 24px; background: var(--color-bg-light); border-radius: 12px; }
.bloc-contact__titre { font-size: 22px; margin: 0 0 .4em; }
.bloc-contact__intro { margin: 0 0 1rem; }
.bloc-contact__champ { width: 100%; padding: 11px 13px; margin-bottom: 12px; border: 1px solid #cfe3df; border-radius: 6px; font: inherit; background: #fff; }
.bloc-contact__bouton { background: var(--color-primary-dark); color: #fff; border: 0; border-radius: 6px; padding: 11px 22px; font-weight: 600; cursor: pointer; }
.bloc-contact__bouton:hover { background: var(--color-primary); }

/* Page d'auteur */
.profil-auteur { display: flex; gap: 24px; align-items: flex-start; }
.profil-auteur__photo { flex: 0 0 140px; }
.profil-auteur__photo img { width: 140px; height: 140px; border-radius: 18px; object-fit: cover; }
.profil-auteur__photo:not(:has(img)) { display: none; }
@media (max-width: 600px) { .profil-auteur { flex-direction: column; } }

/* Équipe sur « Qui sommes-nous » */
.membre { display: flex; gap: 20px; align-items: flex-start; margin: 0 0 1.6em; }
.membre img { width: 110px; height: 110px; border-radius: 16px; object-fit: cover; flex: 0 0 110px; margin: 0; }
.membre__texte h3 { margin-top: 0; }
@media (max-width: 600px) { .membre { flex-direction: column; } }
