/*
Theme Name: Vitalis
Theme URI: https://example.com/vitalis
Author: Vitalis
Description: Thème éditorial pour magazine santé et bien-être : navigation par rubriques, une avec liste d'articles, sections thématiques, mention « relu médicalement par », sommaire automatique, encart d'avertissement médical et inscription à la newsletter.
Version: 1.6.88
Requires at least: 6.0
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: vitalis
Tags: blog, news, two-columns, custom-logo, custom-menu, featured-images, translation-ready
*/

/* Police du texte des articles (Merriweather), hébergée localement (licence OFL) */
@font-face{font-family:"Merriweather";font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/Merriweather-Regular.woff") format("woff")}
@font-face{font-family:"Merriweather";font-style:normal;font-weight:700;font-display:swap;src:url("assets/fonts/Merriweather-Bold.woff") format("woff")}
/* Police du texte des articles (paragraphes, H2/H3, points clés), hébergée localement (licence OFL) */
@font-face{font-family:"Caladea";font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/Caladea-Regular.woff") format("woff")}
@font-face{font-family:"Caladea";font-style:normal;font-weight:700;font-display:swap;src:url("assets/fonts/Caladea-Bold.woff") format("woff")}
@font-face{font-family:"Caladea";font-style:italic;font-weight:400;font-display:swap;src:url("assets/fonts/Caladea-Italic.woff") format("woff")}
/* Albert Sans, hébergée localement (licence OFL, voir assets/fonts) */
@font-face{font-family:"Albert Sans";font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/AlbertSans-Regular.woff") format("woff")}
@font-face{font-family:"Albert Sans";font-style:normal;font-weight:500;font-display:swap;src:url("assets/fonts/AlbertSans-Medium.woff") format("woff")}
@font-face{font-family:"Albert Sans";font-style:normal;font-weight:600;font-display:swap;src:url("assets/fonts/AlbertSans-SemiBold.woff") format("woff")}
@font-face{font-family:"Albert Sans";font-style:normal;font-weight:700;font-display:swap;src:url("assets/fonts/AlbertSans-Bold.woff") format("woff")}
@font-face{font-family:"Albert Sans";font-style:normal;font-weight:800;font-display:swap;src:url("assets/fonts/AlbertSans-ExtraBold.woff") format("woff")}
@font-face{font-family:"Albert Sans";font-style:italic;font-weight:400;font-display:swap;src:url("assets/fonts/AlbertSans-Italic.woff") format("woff")}

/* Mulish, hébergée localement (licence OFL) — titres d'articles et H2/H3 */
@font-face{font-family:"Mulish";font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/Mulish-Regular.woff") format("woff")}
@font-face{font-family:"Mulish";font-style:normal;font-weight:700;font-display:swap;src:url("assets/fonts/Mulish-Bold.woff") format("woff")}
@font-face{font-family:"Mulish";font-style:normal;font-weight:800;font-display:swap;src:url("assets/fonts/Mulish-ExtraBold.woff") format("woff")}
@font-face{font-family:"Mulish";font-style:normal;font-weight:900;font-display:swap;src:url("assets/fonts/Mulish-Black.woff") format("woff")}

:root{
  --accent:#1d738b;
  --accent-dark:#155a6d;
  --dark:#13404f;
  --tint:#e5f1f4;
  --ink:#1f2d33;
  --muted:#646464;
  --line:#dfe6e8;
  --paper:#ffffff;
  --page:#f7f9f9;
  --badge:#baf8ff;
  --cta:#d33b52;
  --green:#1e9e5a;
  --footer-bg:#13404f;
  --footer-line:#646464;
  --alert:#b8432b;
  --serif:Georgia,"Iowan Old Style","Palatino Linotype",Palatino,"Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --wrap:1200px;
  --radius:6px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--accent-dark)}
:focus-visible{outline:3px solid #f2b705;outline-offset:2px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.skip-link{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:10px 16px;z-index:100}
.skip-link:focus{left:0}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}
h1,h2,h3,h4{font-family:var(--serif);line-height:1.2;margin:0 0 .5em;color:var(--dark)}

/* Header */
.site-header{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.header-row{display:flex;align-items:center;gap:24px;min-height:68px}
.brand-name{font-family:var(--serif);font-size:1.7rem;font-weight:700;color:var(--accent);text-decoration:none;letter-spacing:-.01em}
.custom-logo{max-height:44px;width:auto}
.primary-nav{flex:1}
.primary-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px;flex-wrap:wrap}
.primary-nav li{position:relative}
.primary-nav a{display:block;font-family:"Albert Sans",var(--sans);padding:22px 12px;color:var(--ink);text-decoration:none;font-weight:700;font-size:.95rem;border-bottom:3px solid transparent}
.primary-nav a:hover,.primary-nav .current-menu-item>a,.primary-nav .current-cat>a{border-bottom-color:var(--cta);color:var(--green)}
.primary-nav .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:230px;background:var(--paper);border:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius);padding:8px 0;flex-direction:column;gap:0}
.primary-nav li:hover>.sub-menu,.primary-nav li:focus-within>.sub-menu{display:flex}
.primary-nav .sub-menu a{padding:10px 18px;border:0;font-weight:500}
.primary-nav .sub-menu a:hover{background:var(--tint);color:var(--green)}
.nav-toggle{display:none;background:none;border:1px solid var(--line);border-radius:var(--radius);padding:8px 14px;font:inherit;font-weight:600;color:var(--ink);cursor:pointer}
.search-toggle{background:none;border:0;padding:10px;cursor:pointer;color:var(--cta);border-radius:50%}
.search-toggle svg{stroke-width:3.2}
.search-toggle:hover{background:var(--tint)}
.header-search{border-top:1px solid var(--line);background:var(--tint);padding:16px 0}
.header-search[hidden]{display:none}
.search-form{display:flex;gap:8px}
.search-form input[type=search]{flex:1;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);font:inherit}
.btn,.search-form button,.comment-form .submit{background:var(--accent);color:#fff;border:0;border-radius:var(--radius);padding:12px 22px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block}
.btn:hover,.search-form button:hover,.comment-form .submit:hover{background:var(--accent-dark);color:#fff}

/* Cards */
.card{display:flex;flex-direction:column;gap:12px}
.card-thumb{display:block;aspect-ratio:3/2;background:var(--tint);border-radius:var(--radius);overflow:hidden}
.card-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.card--related:hover .card-thumb img,.card--default:hover .card-thumb img{transform:scale(1.06)}
.card-cat{font-size:.85rem;font-weight:700;color:var(--accent);text-decoration:none}
.card-title{font-family:"Mulish","Albert Sans",var(--sans);font-weight:800;font-size:1.25rem;margin:0}
.card-title a{color:var(--ink);text-decoration:none}
.card-title a:hover{color:var(--accent);text-decoration:underline}
.card-excerpt{color:var(--muted);font-size:.95rem;margin:0}
.card-meta{color:var(--muted);font-size:.85rem}
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:36px 28px}

/* Home */
.hero-item{display:grid;grid-template-columns:1fr 104px;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);align-items:start}
.hero-item .card-title{font-size:1.05rem}
.hero-item .card-thumb{aspect-ratio:4/3}
.section{padding:44px 0;border-bottom:1px solid var(--line)}
.section--tight{padding-top:12px;border-bottom:0}
.section-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:24px;gap:16px}
.section-head h2{font-family:"Mulish","Albert Sans",var(--sans);font-weight:700;font-size:1.7rem;margin:0;padding-left:14px;border-left:5px solid var(--accent)}
.section-head a{font-weight:600;text-decoration:none}
.section-head a:hover{text-decoration:underline}

/* Reviewer badge (élément signature) */
.reviewed{display:inline-flex;align-items:center;gap:8px;background:var(--tint);color:var(--accent-dark);border-radius:999px;padding:4px 14px 4px 8px;font-size:.88rem;font-weight:600}
.reviewed img{flex:none;display:block;width:21px;height:auto}

/* Single */
.entry-header-wrap{padding:36px 0 0}
.layout{display:grid;grid-template-columns:minmax(0,720px) 320px;gap:56px;justify-content:center;padding:20px 24px 56px}
.layout--with-toc{grid-template-columns:250px minmax(0,1fr) 320px}
.toc-col{grid-row:1}
.toc-sticky{position:sticky;top:88px}
.breadcrumb{font-size:.9rem;color:var(--muted);margin-bottom:12px}
.breadcrumb a{text-decoration:none;font-weight:600}
.entry-title{font-family:"Mulish","Albert Sans",var(--sans);font-weight:900;font-size:2.7rem;line-height:1.15;letter-spacing:-.01em}
.entry-dek{font-size:1.2rem;color:var(--muted);margin:0 0 20px}
.byline{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;font-size:.9rem;color:var(--muted);padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:28px}
.byline strong{color:var(--ink)}
.author-box{display:flex;gap:16px;align-items:flex-start;max-width:720px;margin:56px auto 32px}
.author-box-avatar{width:72px;height:72px;border-radius:10px;flex-shrink:0}
.author-box-name{margin:0 0 6px;font-family:"Merriweather","Caladea",var(--serif);font-size:.88rem;font-weight:700;color:var(--ink)}
.author-box-name a{color:var(--accent);text-decoration:underline}
.author-box-bio{margin:0;font-family:"Merriweather","Caladea",var(--serif);font-size:.88rem;line-height:1.55;color:var(--ink);background:#edfbfc;border-radius:14px 14px 14px 0;padding:16px 20px}
.entry-thumb{margin:0 auto 28px;max-width:720px}
.entry-thumb img{width:100%;border-radius:var(--radius)}
.entry-thumb figcaption{font-size:.85rem;color:var(--muted);margin-top:8px}
.entry-content{font-size:1rem;line-height:1.55;max-width:72ch;margin-left:auto;margin-right:auto;font-family:"Merriweather","Caladea",var(--serif);color:#14191c}
.entry-content h2{font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:1.85rem;margin-top:1.8em;scroll-margin-top:90px}
.entry-content h3{font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:1.4rem;margin-top:1.5em;scroll-margin-top:90px}
.entry-content h4{font-family:"Albert Sans",var(--sans);font-weight:600;font-size:1.15rem;margin-top:1.3em;scroll-margin-top:90px}
.entry-content blockquote{margin:1.6em 0;padding:4px 0 4px 22px;border-left:4px solid var(--accent);font-family:var(--serif);font-size:1.25rem}
.entry-content ol{padding-left:1.3em}
.entry-content ul{list-style:none;margin:0 0 1.4em;padding:0;display:flex;flex-direction:column;gap:14px}
.entry-content ul ul{margin:14px 0 0;padding-left:28px}
.entry-content li{margin:0}
.entry-content ul>li{position:relative;padding-left:28px}
.entry-content ul>li::before{content:"";position:absolute;left:2px;top:.6em;width:8px;height:8px;border-radius:1.5px;background:#7AC2D4}
.entry-content table{border-collapse:collapse;width:100%;font-size:.95rem}
.entry-content th,.entry-content td{border:1px solid var(--line);padding:10px 12px;text-align:left}
.entry-content th{background:var(--tint)}
.toc{background:#edfbfc;border-radius:14px;padding:22px 22px 26px;max-width:100%}
.toc-title{font-family:var(--sans);font-weight:800;font-size:1.15rem;color:var(--ink);margin:0 0 14px}
.toc ul{list-style:none;margin:0;padding:0}
.toc li{position:relative;padding:9px 0 9px 16px}
.toc li::before{content:"";position:absolute;left:0;top:16px;width:0;height:0;border-style:solid;border-width:5px 0 5px 6px;border-color:transparent transparent transparent var(--cta);opacity:0;transition:opacity .15s}
.toc li.is-active::before{opacity:1}
.toc a{display:block;text-decoration:none;font-family:"Caladea",var(--serif);font-size:1.05rem;line-height:1.35;color:var(--ink)}
.toc a:hover{text-decoration:underline}
.toc li.is-active a{text-decoration:underline}
@media (max-width:1150px){
  .layout--with-toc{grid-template-columns:minmax(0,720px) 320px}
  .toc-col{order:-1}
  .toc-sticky{position:static}
  .toc{margin-bottom:30px}
}
.tags{max-width:720px;margin:0 auto}
.tags a{display:inline-block;margin:0 8px 8px 0;padding:4px 12px;border:1px solid var(--line);border-radius:999px;font-size:.85rem;text-decoration:none;color:var(--ink)}
.tags a:hover{background:var(--tint)}
.related{padding:44px 0;border-top:1px solid var(--line)}

/* Sidebar */
.sidebar .widget{margin-bottom:36px;font-family:"Caladea",var(--serif)}
.widget-title{font-family:"Caladea",var(--serif);font-size:1rem;font-weight:700;padding-bottom:10px;border-bottom:2px solid var(--ink);margin-bottom:14px}
.widget ul{list-style:none;padding:0;margin:0}
.widget li{padding:9px 0;border-bottom:1px solid var(--line)}
.widget a{color:var(--ink);text-decoration:none}
.widget a:hover{color:var(--accent);text-decoration:underline}

/* Archive / page */
.page-head{padding:44px 0 28px;border-bottom:1px solid var(--line);margin-bottom:36px}
.page-head h1{font-size:2.5rem;margin:0}
.page-head p{color:var(--muted);margin:8px 0 0;max-width:70ch}
.archive-wrap{padding-bottom:56px}
.pagination{margin-top:44px}
.pagination .nav-links{display:flex;gap:8px;flex-wrap:wrap}
.pagination .page-numbers{padding:8px 14px;border:1px solid var(--line);border-radius:var(--radius);text-decoration:none;color:var(--ink)}
.pagination .page-numbers.current{background:var(--accent);border-color:var(--accent);color:#fff}
.error-404{text-align:center;padding:80px 0}

/* Comments */
.comments{margin:48px auto 0;max-width:72ch}
.comment-list{list-style:none;padding:0}
.comment-body{padding:16px 0;border-bottom:1px solid var(--line)}
.comment-list .children{list-style:none;padding-left:28px}
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);font:inherit}

/* Responsive */
@media (max-width:960px){
  .layout{grid-template-columns:1fr}
  .layout{gap:40px}
  .entry-title{font-size:2.1rem}
}
@media (max-width:820px){
  .nav-toggle{display:block;margin-left:auto}
  .primary-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:8px 24px 16px}
  .primary-nav.is-open{display:block}
  .primary-nav ul{flex-direction:column;gap:0}
  .primary-nav a{padding:12px 0;border:0}
  .primary-nav .sub-menu{display:flex;position:static;border:0;padding:0 0 0 14px}
  .header-row{flex-wrap:nowrap}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Points clés à retenir */
.keypoints{background:var(--paper);border:1px solid var(--line);border-radius:10px 10px 10px 0;box-shadow:4px 4px 0 0 #7AC2D4;padding:32px 36px;margin:0 auto 42px;max-width:72ch}
.keypoints-title{font-family:"Albert Sans",var(--sans);font-size:1.05rem;font-weight:700;letter-spacing:-.01em;margin:0 0 16px;color:var(--ink)}
.keypoints ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.keypoints li{position:relative;padding-left:32px;font-family:"Merriweather","Caladea",var(--serif);font-size:1rem;line-height:1.35;color:var(--ink)}
.keypoints li::before{content:"";position:absolute;left:2px;top:.6em;width:8px;height:8px;border-radius:1.5px;background:#7AC2D4}
@media (max-width:600px){
  .keypoints{padding:24px 22px;box-shadow:3px 3px 0 0 #7AC2D4;margin-bottom:34px}
  .keypoints-title{font-size:1.1rem}
}

/* Partage d'article */
.share{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:18px 0;margin:8px auto 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:72ch}
.share ul{list-style:none;margin:0;padding:0;display:flex;gap:10px;flex-wrap:wrap}
.share-label{font-weight:700;font-size:.95rem}
.share ul a{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);color:var(--ink);text-decoration:none}
.share ul a:hover{background:var(--accent);border-color:var(--accent);color:#fff}

/* Conteneurs larges (en-tête, accueil, pied de page) */
.wrap--wide{max-width:1920px;padding:0 40px}
.wrap--hero{max-width:1920px;padding:0 40px}

/* Une : 3 colonnes (proportions mesurées 744 / 540 / 420, écart 48) */
.hero-band{background:var(--page);padding:12px 0 56px}
.hero-grid{display:grid;grid-template-columns:744fr 540fr 420fr;gap:48px;align-items:stretch}
.hero-lead,.whats-new{background:#fff;border-radius:10px 10px 10px 0;overflow:hidden;box-shadow:6px 6px 0 0 #eef2f2}
.hero-lead{display:flex;flex-direction:column}
.hero-lead-img{display:block;aspect-ratio:3/2;background:var(--tint);overflow:hidden}
.hero-lead-img img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.hero-lead:hover .hero-lead-img img{transform:scale(1.06)}
.hero-lead-body{padding:22px 24px 36px}
.hero-cat{font-family:var(--sans);font-weight:700;font-size:clamp(.95rem,1.1vw,1.3rem);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);text-decoration:none}
.hero-lead-title{font-family:"Mulish","Albert Sans",var(--sans);font-weight:900;font-size:clamp(1.8rem,2.5vw,3rem);line-height:1.22;letter-spacing:-.01em;margin:6px 0 0}
.hero-lead-title a,.wn-title a{color:var(--dark);text-decoration:none}
.hero-lead-title a:hover,.wn-title a:hover{color:var(--cta);text-decoration:none}
.whats-new-head{display:flex;align-items:center;min-height:clamp(44px,3vw,58px);background:var(--accent);color:#fff;font-family:"Mulish","Albert Sans",var(--sans);font-size:clamp(1rem,1.1vw,1.3rem);font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin:0;padding:0 30px}
.whats-new ul{list-style:none;margin:0;padding:6px 25px 24px}
.whats-new li{padding:20px 0}
.wn-title{font-family:"Mulish","Albert Sans",var(--sans);font-weight:800;font-size:clamp(1.15rem,1.45vw,1.7rem);line-height:1.25;margin:0 0 10px}
.wn-meta{margin:0;display:flex;flex-wrap:wrap;font-family:var(--serif);font-size:clamp(.95rem,1.15vw,1.3rem);line-height:1.6;color:var(--muted)}
.wn-time{color:var(--cta);border-left:1px solid var(--line);margin-left:12px;padding-left:12px}
.hero-spot{background:var(--dark);border-radius:10px 10px 10px 0;box-shadow:6px 6px 0 0 #eef2f2;padding:24px 24px 40px;display:flex;flex-direction:column}
.spot-media{display:block;position:relative;margin-bottom:40px;overflow:hidden;border-radius:14px}
.spot-media img{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:14px;transition:transform .3s ease}
.hero-spot:hover .spot-media img{transform:scale(1.06)}
.spot-ph{display:block;aspect-ratio:2/3;background:rgba(255,255,255,.1);border-radius:14px}
.spot-badge{position:absolute;left:16px;bottom:-17px;max-width:calc(100% - 16px);background:var(--badge);color:var(--dark);font-family:var(--sans);font-weight:600;font-size:clamp(.9rem,1vw,1.15rem);line-height:1.3;padding:7px 16px;border-radius:6px}
.hero-spot-title{font-family:"Mulish","Albert Sans",var(--sans);font-weight:900;font-size:clamp(1.4rem,1.85vw,2.2rem);line-height:1.2;text-align:center;margin:0;color:#fff}
.hero-spot-title a{color:#fff;text-decoration:none}
.hero-spot-title a:hover{color:var(--cta);text-decoration:none}
.hero-spot--empty{justify-content:center;align-items:center;gap:28px;text-align:center}
.spot-empty-btn{background:var(--cta);color:#fff;font-weight:800;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;padding:14px 28px;border-radius:var(--radius)}
.spot-empty-btn:hover{background:#b52f45;color:#fff}

/* Grilles de l'accueil */
.card-grid--home{grid-template-columns:repeat(4,1fr)}

/* Pied de page (mesuré : 738 / 287 / 631, écart 72) */
.site-footer{background:var(--footer-bg);color:#d3d3d3;padding:16px 0 36px}
.site-footer a{color:#fff;text-decoration:none}
.site-footer a:hover,.site-footer a:focus-visible{color:var(--cta);text-decoration:none}
.footer-logo{padding-bottom:16px;border-bottom:1px solid var(--footer-line);margin-bottom:28px}
.footer-brand{font-family:var(--sans);font-size:clamp(1.6rem,2vw,2.3rem);font-weight:800;letter-spacing:-.02em}
.footer-logo .custom-logo,.footer-logo-img{max-height:26px;width:auto;display:block}
.footer-logo-link{display:inline-block;line-height:0}
.footer-main,.footer-bottom{display:grid;grid-template-columns:738fr 287fr 631fr;gap:72px}
.footer-main{padding-bottom:32px;border-bottom:1px solid var(--footer-line)}
.footer-bottom{padding-top:30px}
.footer-newsletter-title{font-family:var(--sans);font-size:clamp(1rem,1.12vw,1.36rem);font-weight:700;line-height:1.3;color:#d3d3d3;margin:0 0 14px}
.nl-form label{display:block;margin-bottom:8px;font-family:var(--serif);font-size:clamp(.85rem,.96vw,1.12rem);color:#d3d3d3}
.nl-row{display:flex}
.nl-row input[type=email]{flex:1;min-width:0;height:clamp(42px,2.72vw,51px);padding:0 18px;border:0;border-radius:8px 0 0 8px;font-family:var(--serif);font-size:clamp(.85rem,.96vw,1.12rem)}
.nl-row button{height:clamp(42px,2.72vw,51px);background:var(--cta);color:#fff;border:0;border-radius:0 8px 8px 0;padding:0 clamp(18px,1.5vw,30px);font:inherit;font-size:clamp(.8rem,.85vw,.95rem);font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.nl-row button:hover{background:#b52f45}
.footer-topics ul,.footer-links ul{list-style:none;margin:0;padding:0}
.footer-topics li{margin:0 0 10px;line-height:1.25}
.footer-topics a{font-family:var(--sans);font-weight:700;font-size:clamp(1rem,1.15vw,1.4rem)}
.footer-links ul{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}
.footer-links a{font-family:var(--serif);font-size:clamp(1rem,1.2vw,1.4rem);line-height:1.2}
.footer-follow-title{font-family:var(--sans);font-size:clamp(1.1rem,1.3vw,1.55rem);font-weight:700;color:#d3d3d3;margin:0 0 10px}
.social{list-style:none;margin:0;padding:0;display:flex;gap:12px;flex-wrap:wrap}
.social a{display:inline-flex;align-items:center;justify-content:center;width:clamp(46px,3.2vw,60px);height:clamp(46px,3.2vw,60px);border-radius:4px;background:#557580;color:#fff}
.social a:hover{background:#fff;color:var(--footer-bg);text-decoration:none}
.social svg{width:55%;height:55%}
.footer-legal{grid-column:2 / -1;font-family:var(--serif);font-size:clamp(1rem,1.2vw,1.4rem);line-height:1.4}
.footer-legal p{margin:0 0 8px}

/* Adaptations écrans plus petits */
@media (max-width:1100px){
  .hero-grid{grid-template-columns:1fr 1fr}
  .hero-spot{grid-column:1/-1}
  .spot-media img,.spot-ph{aspect-ratio:16/9}
  .card-grid--home{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:960px){
  .footer-main,.footer-bottom{grid-template-columns:1fr;gap:32px}
  .footer-legal{grid-column:auto}
}
@media (max-width:760px){
  .wrap--wide,.wrap--hero{padding:0 20px}
  .hero-grid{grid-template-columns:1fr;gap:28px}
  .hero-band{padding-bottom:32px}
  .card-grid--home{grid-template-columns:1fr}
  .footer-links ul{grid-template-columns:1fr}
}

/* Bandeau de confiance (page d'accueil) */
.trust-banner{background:var(--dark);padding:21px 0}
.trust-inner{display:flex;align-items:center;gap:27px;flex-wrap:wrap}
.trust-message{flex:1 1 480px;max-width:640px}
.trust-line1{margin:0;color:#fff;font-family:"Albert Sans",var(--sans);font-weight:800;font-size:1.1rem;line-height:1.32}
.trust-line2{margin:0;color:#22c2d9;font-family:"Albert Sans",var(--sans);font-weight:800;font-size:1.1rem;line-height:1.32}
.trust-icon{flex:0 0 auto;align-self:flex-end;margin-bottom:-21px}
.trust-icon-img{display:block;width:80px;height:auto}
.trust-stats{list-style:none;display:flex;flex-wrap:wrap;gap:0;margin:0;padding:0;flex:2 1 460px}
.trust-stats li{display:flex;align-items:center;border-left:2px dotted rgba(255,255,255,.4);padding:8px 19px;flex:1 1 auto}
.trust-stats li:first-child{border-left:0;padding-left:0}
.trust-stat{display:flex;align-items:center;gap:7px;color:#fff;text-decoration:none;border-radius:4px;transition:opacity .15s ease}
.trust-stat:hover .trust-stat-body strong,.trust-stat:focus-visible .trust-stat-body strong,
.trust-stat:hover .trust-stat-body span,.trust-stat:focus-visible .trust-stat-body span{color:var(--cta)}
.trust-stat-body{display:flex;flex-direction:column;font-family:"Merriweather","Caladea",var(--serif)}
.trust-stat-body strong{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:.85rem;font-weight:700;line-height:1.3}
.trust-stat-body span{font-family:"Merriweather","Caladea",var(--serif);font-size:.82rem;font-weight:400;color:#eaf3f5;line-height:1.3}
.trust-chevron{color:var(--cta);display:inline-flex}
.trust-chevron svg{width:15px;height:15px;stroke-width:3}
@media (max-width:900px){
  .trust-inner{gap:18px}
  .trust-line1,.trust-line2{font-size:.9rem}
  .trust-stats li{border-left:0;padding:0;flex-basis:100%}
}
@media (max-width:600px){
  .trust-banner{padding:10px 0}
  .trust-line1,.trust-line2{font-size:.8rem}
  .trust-icon{display:none}
}

/* Articles connexes (single.php) et cartes de la page catégorie : même habillage de carte */
.related .section-head h2{border-left:0;padding-left:0;color:var(--dark);font-weight:800;font-family:"Mulish","Albert Sans",var(--sans)}
.card--related,.card--default{display:block;background:var(--paper);border:1px solid #eaeaea;border-radius:10px 10px 10px 0;overflow:hidden;box-shadow:4px 4px 0 0 #eef2f2;padding-bottom:22px}
.card--related .card-thumb,.card--default .card-thumb{border-radius:0;aspect-ratio:16/10}
.card--related .card-cat,.card--default .card-cat{display:block;margin:20px 24px 0;text-transform:uppercase;letter-spacing:.04em;font-size:.8rem}
.card--related .card-title,.card--default .card-title{margin:8px 24px 0;font-family:"Mulish","Albert Sans",var(--sans);font-weight:800;font-size:1.35rem;line-height:1.3;color:var(--dark)}
.card--related .card-title a:hover,.card--default .card-title a:hover{color:var(--cta);text-decoration:none}
.card--related .card-title a:active,.card--default .card-title a:active{color:var(--cta)}
.card-reviewer{margin:16px 24px 0;color:var(--muted);font-family:"Caladea",var(--serif);font-size:.92rem}
.card--default .card-excerpt{display:none}
.card--default .card-meta{margin:14px 24px 0}

/* Liste horizontale « Quoi de neuf » (accueil, section basse) */
.home-sections{background:#f4f6f7}
.news-list-section{background:transparent}
.news-list-head{font-family:"Mulish","Albert Sans",var(--sans);font-weight:800;font-size:1.15rem;letter-spacing:.04em;color:var(--dark);margin:0 0 18px}
.news-list-row{display:flex;align-items:flex-start;gap:28px}
.news-list{background:#fff;border:1px solid var(--line);border-radius:10px 10px 10px 0;box-shadow:6px 6px 0 0 #eef2f2;padding:0 32px;max-width:820px;flex:1 1 auto;min-width:0}
.news-ad-slot{flex:0 0 300px;width:300px;min-height:600px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);border-radius:10px 10px 10px 0;box-shadow:6px 6px 0 0 #eef2f2;overflow:hidden}
.news-ad-placeholder{font-family:var(--sans);font-size:.8rem;color:var(--muted);text-align:center;padding:16px;border:1px dashed var(--line);border-radius:6px}
@media (max-width:1100px){
  .news-list-row{flex-direction:column;align-items:stretch}
  .news-ad-slot{width:100%;flex-basis:auto;min-height:0;padding:20px 0}
}
.news-item{display:flex;align-items:flex-start;gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}
.news-item:last-child{border-bottom:0}
.news-thumb{flex:0 0 150px;aspect-ratio:4/3;border-radius:6px 6px 6px 0;overflow:hidden;background:var(--tint);display:block}
.news-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.news-body{flex:1 1 auto;min-width:0;padding-top:2px}
.news-cat{display:block;font-family:"Albert Sans",var(--sans);font-weight:700;font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;color:var(--accent);text-decoration:none;margin-bottom:6px}
.news-cat:hover{color:var(--cta)}
.news-title{margin:0 0 8px;font-family:"Mulish","Albert Sans",var(--sans);font-weight:800;font-size:1.35rem;line-height:1.35}
.news-title a{color:var(--dark);text-decoration:none}
.news-title a:hover{color:var(--cta)}
.news-meta{margin:0;display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-family:var(--sans);font-size:.82rem;color:var(--muted)}
.news-check{flex:none;width:19px;height:15px;display:inline-flex;align-items:center;justify-content:center}
.news-check img{display:block;width:100%;height:100%;object-fit:contain}
.news-meta .wn-who{font-family:var(--sans)}
.news-meta .wn-time{color:var(--cta);border-left:1px solid var(--line);margin-left:4px;padding-left:8px}
@media (max-width:700px){
  .news-list{padding:0 16px}
  .news-item{flex-direction:column;align-items:stretch;gap:14px}
  .news-thumb{flex-basis:auto;width:140px}
}

/* Notre promesse (page d'accueil) */
.promise-section{padding:44px 0 56px;background:#f4f6f7}
.promise-kicker{margin:0 0 16px;font-family:"Poppins",var(--sans);font-size:.85rem;font-weight:800;letter-spacing:.12em;color:var(--dark)}
.promise-box{background:#D6E6F2;border-radius:10px 10px 10px 0;box-shadow:6px 6px 0 0 #eef2f2;padding:38px 40px;display:flex;align-items:center;gap:40px;flex-wrap:wrap}
.promise-left{flex:1 1 300px;min-width:260px}
.promise-headline{margin:0 0 22px;font-family:"Poppins",var(--sans);font-weight:800;font-size:1.5rem;line-height:1.3;color:var(--dark)}
.promise-btn{display:inline-flex;align-items:center;gap:10px;background:var(--dark);color:#fff;text-decoration:none;font-family:"Poppins",var(--sans);font-weight:800;font-size:.85rem;letter-spacing:.08em;padding:16px 24px;border-radius:8px}
.promise-btn:hover{background:var(--accent)}
.promise-btn-arrow svg{width:20px;height:20px;display:block}
.promise-items{flex:2 1 560px;display:flex;flex-wrap:wrap;gap:28px;justify-content:space-between}
.promise-item{flex:1 1 120px;max-width:150px;text-align:center}
.promise-icon{display:block;margin:0 auto 14px}
.promise-icon img{width:110px;height:auto;display:block;margin:0 auto}
.promise-caption{margin:0;font-family:"Caladea",var(--serif);font-size:.92rem;line-height:1.4;color:var(--dark)}
@media (max-width:900px){
  .promise-box{padding:30px 26px;gap:28px}
  .promise-items{gap:22px;justify-content:flex-start}
  .promise-item{flex:1 1 40%;max-width:none}
}
@media (max-width:600px){
  .promise-section{padding:32px 0 40px}
  .promise-headline{font-size:1.25rem}
  .promise-item{flex:1 1 100%}
}

/* Conseil d'experts médicaux (page d'accueil) */
.experts-section{padding:0 0 56px;background:#f4f6f7}
.experts-box{background:#fff;border-radius:10px 10px 10px 0;box-shadow:6px 6px 0 0 #eef2f2;padding:24px;display:flex;align-items:center;gap:40px;flex-wrap:wrap}
.experts-left{flex:1 1 320px;min-width:260px;padding:16px 8px 16px 48px}
.experts-headline{margin:0 0 26px;font-family:"Albert Sans",var(--sans);font-weight:800;font-size:1.6rem;line-height:1.28;color:var(--dark)}
.experts-grid{flex:2 1 560px;display:grid;grid-template-columns:1fr;gap:24px 16px}
.expert{display:flex;align-items:center;gap:16px;outline:3px solid transparent;transition:outline-color .15s ease}
.expert:hover{outline-color:var(--accent)}
.expert-photo{flex:0 0 130px;width:130px;height:130px;border-radius:8px;overflow:hidden;background:var(--tint);display:block}
.expert-photo img,.expert-photo svg{width:100%;height:100%;object-fit:cover;display:block}
.expert-info{display:block;min-width:0}
.expert-name{display:block;font-family:"Albert Sans",var(--sans);font-weight:800;font-size:1.25rem;line-height:1.2;color:var(--dark)}
.expert-spec{display:block;margin-top:2px;font-family:"Merriweather","Caladea",var(--serif);font-size:1rem;line-height:1.35;color:var(--ink)}
@media (max-width:900px){
  .experts-left{padding:8px 8px 8px 16px}
  .expert-photo{flex-basis:96px;width:96px;height:96px}
  .expert-name{font-size:1.1rem}
}
@media (max-width:600px){
  .experts-box{padding:20px 16px;gap:20px}
  .experts-left{padding:0}
  .experts-headline{font-size:1.3rem}
  .experts-grid{grid-template-columns:1fr}
}
.experts-section .promise-kicker,.promise-section .promise-kicker{font-family:"Albert Sans",var(--sans);font-size:1.1rem;font-weight:800;letter-spacing:.08em;margin-bottom:18px}
.experts-section .promise-btn,.promise-section .promise-btn,.expert-content .promise-btn{background:var(--accent);border-radius:8px 8px 8px 0}
.expert-content .promise-btn:hover,.expert-content .promise-btn:focus-visible,.experts-section .promise-btn:hover,.experts-section .promise-btn:focus-visible,.promise-section .promise-btn:hover,.promise-section .promise-btn:focus-visible{background:#2b97b3;color:#fff}

/* Expert cliquable sur l'accueil */
a.expert,a.expert:hover{color:inherit;text-decoration:none}

/* Profil d'un expert */
.expert-hero{background:#eaf6f8;padding:clamp(20px,1.9vw,36px) 0}
.expert-hero-inner{display:flex;align-items:center;justify-content:center;gap:clamp(24px,2.4vw,46px)}
.expert-hero-photo{flex:0 0 clamp(170px,15vw,288px);width:clamp(170px,15vw,288px);aspect-ratio:1/1;border-radius:0;overflow:hidden;background:var(--tint);box-shadow:6px 6px 0 0 #dcebee}
.expert-hero-photo img,.expert-hero-photo svg{width:100%;height:100%;object-fit:cover;display:block}
.expert-hero-info{flex:0 1 auto;min-width:0}
.expert-hero-name{font-family:"Albert Sans",var(--sans);font-weight:800;font-size:2.7rem;line-height:1.15;color:var(--dark);margin:0 0 12px}
.expert-hero-badge{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 26px;font-family:"Merriweather","Caladea",var(--serif);font-size:1rem;color:var(--ink)}
.expert-check{display:block;width:26px;height:auto;flex:0 0 26px}
.expert-hero-role{padding-left:16px;border-left:1px solid #c9dde2}
.expert-hero-facts{display:grid;grid-template-columns:max-content 1fr;gap:14px 14px;margin:0}
.expert-hero-facts dt{font-family:"Albert Sans",var(--sans);font-weight:800;font-size:1rem;color:var(--accent)}
.expert-hero-facts dd{margin:0;font-family:"Merriweather","Caladea",var(--serif);font-size:1rem;color:var(--ink)}
.expert-content{max-width:clamp(520px,calc(48.7vw + 48px),980px);margin:0 auto;padding:44px 24px 64px;font-family:"Merriweather","Caladea",var(--serif);font-size:1rem;line-height:1.55;color:var(--ink)}
.expert-content h2{font-family:"Albert Sans",var(--sans);font-weight:800;font-size:1.85rem;line-height:1.2;color:#1a1a1a;margin:1.6em 0 .5em}
.expert-content>h2:first-child{margin-top:0}
.expert-content p{margin:0 0 1em}
.expert-content a:not(.promise-btn){color:#1a56b0;text-decoration:underline}
.expert-content ul{list-style:none;margin:0 0 1.2em;padding:0 0 0 38px}
.expert-content ul li{position:relative;margin:0 0 .6em}
.expert-content ul li::before{content:"";position:absolute;left:-34px;top:.6em;width:9px;height:9px;border-radius:2px;background:#7AC2D4}
.expert-content blockquote{position:relative;margin:1.6em 0;padding:28px 32px 26px 84px;background:#f5f8f8;border-radius:10px 10px 10px 0;box-shadow:6px 6px 0 0 #a9dde6;border:0}
.expert-content blockquote::before{content:"\201C";position:absolute;left:24px;top:6px;font-family:Georgia,serif;font-style:italic;font-weight:700;font-size:5.4rem;line-height:1;color:#7AC2D4}
.expert-content blockquote p{margin:0 0 .6em;font-size:1rem}
.expert-content blockquote cite{display:block;text-align:right;font-style:normal;font-family:"Albert Sans",var(--sans);font-weight:800;font-size:.95rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.expert-content blockquote cite::before{content:"— ";color:#9fd6e3}
.expert-content .promise-btn{margin-top:.4em}
@media (max-width:900px){
  .expert-hero-inner{flex-direction:column;align-items:flex-start;gap:24px}
  .expert-hero-photo{flex-basis:auto;width:min(320px,100%)}
}
@media (max-width:600px){
  .expert-hero-facts{grid-template-columns:1fr;gap:2px}
  .expert-hero-facts dd{margin-bottom:12px}
  .expert-content blockquote{padding:22px 20px 20px 20px}
  .expert-content blockquote::before{position:static;display:block;height:2.6rem;font-size:4rem}
}
.expert-content h3{font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:1.4rem;line-height:1.25;color:#1a1a1a;margin:1.5em 0 .5em}
.expert-content h2.expert-about-title{margin-top:.4em}
.section-head-links{display:flex;flex-wrap:wrap;gap:6px 22px}
.byline .post-stats{display:inline-flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:14px;font-size:.8rem;line-height:1;white-space:nowrap;color:#666}
.byline .post-stats .views{display:inline-flex;flex-direction:row;align-items:center;gap:9px;color:#666;text-decoration:none}
.byline .post-stats svg{width:14px;height:14px;flex:none;color:#555}

/* En-tête sur ordinateur : logo centré en haut, menu centré dessous, loupe à droite (comme Verywell) */
@media (min-width:821px){
  .header-row{display:grid;grid-template-columns:1fr auto 1fr;gap:0 24px;min-height:0;padding-top:14px;align-items:center}
  .brand{grid-column:2;grid-row:1;justify-self:center;text-align:center}
  .brand .custom-logo-link{display:inline-block;line-height:0}
  .custom-logo{max-height:44px}
  .primary-nav{grid-column:1 / -1;grid-row:2}
  .primary-nav ul{justify-content:center}
  .primary-nav a{padding:12px 14px}
  .search-toggle{grid-column:3;grid-row:2;justify-self:end;z-index:2}
}

/* En-tête sur ordinateur : en haut de page il est normal (logo centré) ; en défilant, il devient une barre compacte fixe (logo à gauche) */
@media (min-width:821px){
  .site-header{position:relative}
  .site-header.is-stuck{position:fixed;top:0;left:0;right:0;z-index:50;box-shadow:0 2px 10px rgba(0,0,0,.08);animation:vitalis-header-in .25s ease}
  body.admin-bar .site-header.is-stuck{top:32px}
  .site-header.is-stuck .header-row{display:flex;gap:24px;min-height:68px;padding-top:0;align-items:center}
  .site-header.is-stuck .brand{justify-self:auto;text-align:left;padding-right:24px;border-right:1px solid var(--line)}
  .site-header.is-stuck .custom-logo{max-height:26px}
  .site-header.is-stuck .primary-nav{flex:1}
  .site-header.is-stuck .primary-nav ul{justify-content:flex-start}
  .site-header.is-stuck .primary-nav a{padding:22px 12px}
}
@keyframes vitalis-header-in{from{transform:translateY(-100%)}to{transform:none}}
@media (prefers-reduced-motion:reduce){.site-header.is-stuck{animation:none}}

/* Page « Processus éditorial » : bandeau, sommaire latéral, introduction centrée */
.process-band{background:var(--dark);padding:26px 0;text-align:center}
.process-title{margin:0;font-family:"Mulish","Albert Sans",var(--sans);font-weight:900;font-size:2.3rem;line-height:1.15;color:#fff}
.process-layout{display:grid;grid-template-columns:minmax(0,820px);justify-content:center;gap:56px;padding-top:52px;padding-bottom:72px}
.process-layout--toc{grid-template-columns:270px minmax(0,820px)}
.process-main{min-width:0}
.process-intro{text-align:left;padding-bottom:36px;margin-bottom:36px;position:relative}
.process-intro p{margin:0 0 .6em;font-family:"Albert Sans",var(--sans);font-weight:800;font-size:1.65rem;line-height:1.3;color:var(--accent-dark)}
.process-intro::after{content:"";position:absolute;left:0;bottom:0;width:112px;height:5px;background:var(--accent)}
.process-content{max-width:none;margin:0}
.process-content h2{font-family:"Albert Sans",var(--sans);font-weight:800;font-size:2.1rem;line-height:1.2;color:var(--ink);margin:1.6em 0 .6em;scroll-margin-top:90px}
.process-content h2:first-child{margin-top:0}
@media (max-width:820px){
  .process-band{padding:20px 0}
  .process-title{font-size:1.8rem}
  .process-layout--toc{grid-template-columns:minmax(0,1fr);gap:28px}
  .process-intro p{font-size:1.3rem}
}
