/*
Theme Name: VDL Mag
Author: SPARK
Description: Thème magazine sur-mesure (presse), léger, sans page builder. Modules variés par catégorie, couleurs d'accent, sidebar en relief.
Version: 2.0
Text Domain: vdlmag
*/
:root{
  --accent:#12a37a; --ink:#1a1d24; --sub:#5a616c; --muted:#989fab; --line:#e9ebf0; --bg:#eef1f5; --white:#fff;
  --cat-sante:#12a37a; --cat-bien-etre:#0ea5b7; --cat-prevention-securite:#e23b3b;
  --cat-nutrition:#f39019; --cat-maison-famille:#3b6fe0;
  --sh:0 8px 26px rgba(20,26,44,.09); --sh2:0 16px 40px rgba(20,26,44,.16);
  --sans:"Manrope",-apple-system,Segoe UI,sans-serif; --serif:"Playfair Display",Georgia,serif; --cond:"Oswald",Arial Narrow,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--bg);font-size:16px;line-height:1.6}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:1220px;margin:0 auto;padding:0 22px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cat-sante{--accent:var(--cat-sante)}.cat-bien-etre{--accent:var(--cat-bien-etre)}.cat-prevention-securite{--accent:var(--cat-prevention-securite)}.cat-nutrition{--accent:var(--cat-nutrition)}.cat-maison-famille{--accent:var(--cat-maison-famille)}

/* TOPBAR */
.topbar{background:linear-gradient(90deg,#12151c,#1c2130);color:#aeb6c4;font-size:12.5px}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;height:40px}
.topbar .date{text-transform:capitalize;letter-spacing:.01em}
.topbar .tright{display:flex;align-items:center;gap:18px}
.topbar .weather{color:#d6dbe4}
.topbar .tsocial a{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.08);margin-left:6px;color:#d6dbe4;font-size:12px}
.topbar .tsocial a:hover{background:var(--accent);color:#fff}

/* HEADER + LOGO */
.site-header{background:var(--white)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;padding:22px 22px;gap:24px}
.brand{display:flex;align-items:center;gap:14px}
.logo-i{width:48px;height:48px;flex-shrink:0;filter:drop-shadow(0 6px 12px rgba(18,163,122,.35))}
.brand-n{font-family:"Fraunces",var(--serif);font-weight:900;font-size:33px;line-height:.98;letter-spacing:-.8px;color:var(--ink);display:block}
.brand-n strong{color:var(--cat-sante);font-weight:900;font-style:italic}
.brand-s{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:7px;font-weight:600}
.hsearch{display:flex;align-items:center;background:var(--bg);border-radius:40px;padding:4px 4px 4px 18px;min-width:280px}
.hsearch input{border:0;background:transparent;outline:0;flex:1;font-family:var(--sans);font-size:14px;color:var(--ink)}
.hsearch button{border:0;width:38px;height:38px;border-radius:50%;background:var(--cat-sante);color:#fff;cursor:pointer;font-size:15px}

/* NAV (bulles colorées) */
.mainnav{background:#14171f;position:sticky;top:0;z-index:60;box-shadow:0 3px 16px rgba(0,0,0,.2)}
.mainnav .wrap{display:flex;padding-top:9px;padding-bottom:9px}
.mainnav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;width:100%}
.mainnav .nav-home{--accent:#12a37a}
.mainnav li a{display:block;color:#c6cdda;font-family:var(--cond);text-transform:uppercase;font-weight:500;letter-spacing:.04em;font-size:14.5px;padding:9px 17px;border-radius:30px;transition:.2s}
.mainnav li:hover a,.mainnav li.active a{background:var(--accent);color:#fff;box-shadow:0 7px 18px color-mix(in srgb,var(--accent) 42%,transparent)}
.mainnav li:hover a{transform:translateY(-1px)}

/* SECTION TITLE (non-heading) */
.modbar{display:flex;align-items:center;gap:14px;margin:0 0 22px}
.modbar .mb-t{font-family:var(--cond);text-transform:uppercase;font-size:20px;font-weight:600;letter-spacing:.03em;color:#fff;background:var(--accent);padding:9px 18px;border-radius:5px;position:relative;box-shadow:0 6px 16px color-mix(in srgb,var(--accent) 35%,transparent)}
.modbar:after{content:"";flex:1;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--accent),transparent)}
.catlabel{display:inline-block;font-family:var(--cond);text-transform:uppercase;font-size:11px;font-weight:600;letter-spacing:.06em;color:#fff;background:var(--accent);padding:4px 10px;border-radius:3px}

/* CARD */
.card{background:var(--white);border-radius:12px;overflow:hidden;box-shadow:var(--sh);transition:.25s;display:flex;flex-direction:column}
.card:hover{transform:translateY(-5px);box-shadow:var(--sh2)}
.card .thumb{overflow:hidden;aspect-ratio:16/10;background:#e3e7ee}
.card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .55s}
.card:hover .thumb img{transform:scale(1.07)}
.card .body{padding:15px 17px 18px;display:flex;flex-direction:column;gap:9px;flex:1}
.card .catlabel{align-self:flex-start}
.card-t{font-family:var(--serif);font-size:19px;line-height:1.28;font-weight:700;color:var(--ink)}
.card:hover .card-t{color:var(--accent)}
.card .excerpt{color:var(--sub);font-size:14px;margin:0}
.card .meta{font-family:var(--cond);text-transform:uppercase;font-size:11.5px;letter-spacing:.04em;color:var(--muted);margin-top:auto}

/* ITEM (liste horizontale) */
.itm{display:flex;gap:13px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}
.itm:last-child{border-bottom:0}
.itm-th{flex-shrink:0;width:88px;height:64px;border-radius:8px;overflow:hidden;background:#e3e7ee}
.itm-th img{width:100%;height:100%;object-fit:cover;transition:.4s}
.itm:hover .itm-th img{transform:scale(1.08)}
.itm-tx{display:flex;flex-direction:column;gap:5px}
.itm-t{font-family:var(--serif);font-weight:700;font-size:15.5px;line-height:1.3;color:var(--ink)}
.itm:hover .itm-t{color:var(--accent)}
.itm-d{font-family:var(--cond);text-transform:uppercase;font-size:11px;letter-spacing:.04em;color:var(--muted)}

/* OVERLAY CARD */
.ov-card{position:relative;display:block;border-radius:12px;overflow:hidden;box-shadow:var(--sh);min-height:210px}
.ov-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.6s}
.ov-card:hover img{transform:scale(1.06)}
.ov-g{position:absolute;inset:0;background:linear-gradient(to top,rgba(8,10,18,.94),rgba(8,10,18,.25) 55%,transparent)}
.ov-c{position:absolute;left:0;right:0;bottom:0;padding:18px;display:flex;flex-direction:column;gap:9px;z-index:2}
.ov-t{font-family:var(--serif);font-weight:800;color:#fff;font-size:18px;line-height:1.25}
.ov-d{font-family:var(--cond);text-transform:uppercase;font-size:11px;letter-spacing:.05em;color:#cdd3de}
.ov-c .catlabel{align-self:flex-start}
.ov-big{min-height:460px}
.ov-big .ov-t{font-size:32px}

/* HERO */
.hero{margin:30px 0 8px}
.hero-grid{display:grid;grid-template-columns:2fr 1fr;gap:22px}
.hero-side{display:grid;grid-template-rows:1fr 1fr;gap:22px}
.hero-lead-wrap .ov-big{height:100%}

/* TRENDING */
.trending{background:var(--white);border-radius:10px;box-shadow:var(--sh);display:flex;align-items:center;gap:16px;margin:26px 0;padding:12px 16px;overflow:hidden}
.trending b{font-family:var(--cond);text-transform:uppercase;background:var(--cat-prevention-securite);color:#fff;padding:7px 13px;border-radius:5px;white-space:nowrap;font-size:13px;letter-spacing:.05em}
.tr-track{display:flex;align-items:center;gap:9px;white-space:nowrap;overflow:hidden}
.tr-track a{background:var(--bg);color:#41474f;padding:7px 14px;border-radius:22px;font-family:var(--cond);text-transform:uppercase;font-size:12px;letter-spacing:.03em;transition:.18s}
.tr-track a:hover{background:var(--cat-prevention-securite);color:#fff}
.tr-track .sep{display:none}

/* LAYOUT */
.content-wrap{display:grid;grid-template-columns:1fr 340px;gap:42px;margin:34px 0 50px;align-items:start}
.mod{margin-bottom:50px}

/* MODULE A : split (lead + list) */
.m-split{display:grid;grid-template-columns:1.35fr 1fr;gap:26px}
.ms-list{display:flex;flex-direction:column}
/* MODULE B : overlay hero + row 3 */
.m-ov{display:grid;gap:20px}
.mo-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.mo-hero .ov-big{min-height:380px}
/* MODULE C : grid 4 */
.m-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
/* MODULE D : duo (list left + 2 cards right) */
.m-duo{display:grid;grid-template-columns:1fr 1.5fr;gap:26px}
.md-cards{display:grid;grid-template-columns:1fr 1fr;gap:22px}
/* MODULE E : hlist (image gauche + texte droite, 2x2) */
.m-hlist{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.hrow{display:flex;gap:0;background:#fff;border-radius:12px;overflow:hidden;box-shadow:var(--sh);transition:.25s}
.hrow:hover{transform:translateY(-4px);box-shadow:var(--sh2)}
.hrow-th{flex-shrink:0;width:150px;overflow:hidden;background:#e3e7ee}
.hrow-th img{width:100%;height:100%;object-fit:cover;transition:.5s}
.hrow:hover .hrow-th img{transform:scale(1.08)}
.hrow-tx{display:flex;flex-direction:column;gap:7px;justify-content:center;padding:15px 17px}
.hrow-t{font-family:var(--serif);font-weight:700;font-size:17px;line-height:1.3;color:var(--ink)}
.hrow:hover .hrow-t{color:var(--accent)}
.hrow-e{font-size:13.5px;color:var(--sub);line-height:1.5}
.hrow-d{font-family:var(--cond);text-transform:uppercase;font-size:11px;letter-spacing:.04em;color:var(--muted);margin-top:auto}
/* MODULE F : top classé */
.m-top{display:grid;grid-template-columns:1fr 1fr;gap:2px 36px}
.trow{display:flex;gap:15px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.trank{font-family:var(--serif);font-weight:900;font-size:40px;line-height:1;color:var(--accent);opacity:.32;min-width:44px;text-align:center;transition:.2s}
.trow:hover .trank{opacity:.85}
.tth{flex-shrink:0;width:78px;height:60px;border-radius:9px;overflow:hidden;background:#e3e7ee}
.tth img{width:100%;height:100%;object-fit:cover;transition:.4s}
.trow:hover .tth img{transform:scale(1.08)}
.ttx{display:flex;flex-direction:column;gap:5px}
.tt{font-family:var(--serif);font-weight:700;font-size:15.5px;line-height:1.3;color:var(--ink)}
.trow:hover .tt{color:var(--accent)}
.tmeta{font-family:var(--cond);text-transform:uppercase;font-size:11px;letter-spacing:.04em;color:var(--muted)}
/* MODULE G : mosaïque */
.m-mosaic{display:grid;gap:22px}
.mm-lead .ov-big{min-height:360px}
.mm-row{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}

/* SIDEBAR (relief + couleur) */
.sidebar{display:flex;flex-direction:column;gap:24px}
.widget{background:var(--white);border-radius:14px;box-shadow:var(--sh);padding:0;overflow:hidden}
.widget .wtitle{font-family:var(--cond);text-transform:uppercase;font-size:16px;letter-spacing:.04em;font-weight:600;color:#fff;background:var(--accent);padding:14px 20px;display:flex;align-items:center;gap:8px}
.widget>.wlist,.widget>p,.widget>input,.widget>button,.widget>.tagcloud-x{margin:0 20px}
.widget>.wlist{margin:6px 20px 16px}
.w-pop .wtitle{background:linear-gradient(90deg,#14171f,#2a3040)}
.w-pop{--accent:#e23b3b}
.w-cat .wtitle{background:var(--accent,#12a37a)}
.wlist{display:block}
.wli{display:flex;gap:13px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.wli:last-child{border-bottom:0}
.wli .n{font-family:var(--serif);font-weight:900;font-size:26px;line-height:1;color:var(--accent);min-width:30px;text-align:center;opacity:.85}
.w-pop .wli .n{color:#e23b3b}
.wli .wth{width:66px;height:52px;border-radius:7px;overflow:hidden;flex-shrink:0}
.wli .wth img{width:100%;height:100%;object-fit:cover}
.wli .wtx{display:flex;flex-direction:column;gap:4px}
.wli .wt{font-family:var(--serif);font-weight:700;font-size:14.5px;line-height:1.32;color:var(--ink)}
.wli:hover .wt{color:var(--accent)}
.w-pop .wli:hover .wt{color:#e23b3b}
.wli .wd{font-family:var(--cond);text-transform:uppercase;font-size:10.5px;letter-spacing:.04em;color:var(--muted)}
/* newsletter */
.w-news{--accent:#3b6fe0}
.w-news .wtitle{background:linear-gradient(120deg,#3b6fe0,#7a3be0)}
.w-news p{color:var(--sub);font-size:14px;margin:14px 20px 10px}
.w-news input{display:block;width:calc(100% - 40px);padding:12px 14px;border:1px solid var(--line);border-radius:9px;margin:0 20px 10px;font-family:var(--sans)}
.w-news button{display:block;width:calc(100% - 40px);padding:12px;border:0;border-radius:9px;background:linear-gradient(120deg,#3b6fe0,#7a3be0);color:#fff;font-family:var(--cond);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;margin:0 20px 20px;font-size:14px}
.w-news button:hover{filter:brightness(1.08)}
/* tags */
.w-tags{--accent:#f39019}
.w-tags .wtitle{background:linear-gradient(90deg,#f39019,#e2662d)}
.tagcloud-x{display:flex;flex-wrap:wrap;gap:8px;padding:16px 20px 20px}
.tagcloud-x a{font-family:var(--cond);text-transform:uppercase;font-size:12px;letter-spacing:.03em;padding:6px 12px;border-radius:20px;background:var(--bg);color:#4a515c}
.tagcloud-x a:hover{background:var(--accent);color:#fff}

/* SINGLE */
.single-head{max-width:820px;margin:32px auto 0}
.breadcrumb{font-family:var(--cond);text-transform:uppercase;font-size:12px;letter-spacing:.04em;color:var(--muted);margin-bottom:14px}
.breadcrumb a:hover{color:var(--accent)}
.single-head>.catlabel{margin-bottom:14px;display:inline-block}
.single-head h1{font-family:var(--serif);font-size:42px;line-height:1.16;font-weight:800;margin:12px 0 18px}
.single-meta{display:flex;align-items:center;gap:11px;color:var(--sub);font-size:13.5px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0}
.single-meta .avatar{width:34px;height:34px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-family:var(--serif);font-weight:800}
.single-meta .dot{color:var(--muted)}
.single-featured{margin:26px auto;max-width:1000px;border-radius:14px;overflow:hidden;box-shadow:var(--sh)}
.article-body{max-width:760px;margin:0 auto;font-size:18px;line-height:1.85;color:#2b3038}
.article-body h2{font-family:var(--serif);font-size:28px;margin:40px 0 14px;line-height:1.25}
.article-body h3{font-family:var(--serif);font-size:22px;margin:30px 0 12px}
.article-body p{margin:0 0 22px}
.article-body a{color:var(--accent);border-bottom:1px solid currentColor}
.related{margin:52px 0 0}
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}

/* ARCHIVE */
.arch-head{margin:30px 0 26px;border-left:6px solid var(--accent);padding:4px 0 4px 18px}
.arch-head h1{font-family:var(--serif);font-size:34px;font-weight:800;margin:0}
.arch-d{color:var(--sub);margin-top:8px}
.pag{margin:38px 0}
.pag .page-numbers{display:inline-block;padding:9px 15px;margin:0 3px;border-radius:8px;background:#fff;box-shadow:var(--sh);font-family:var(--cond)}
.pag .page-numbers.current{background:var(--accent);color:#fff}

/* FOOTER */
.site-footer{background:#12151c;color:#aeb4bf;margin-top:44px;padding:50px 0 0}
.footer-cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;padding-bottom:40px}
.brand-foot{display:flex;align-items:center;gap:12px}
.logo-foot{width:42px;height:42px}
.site-footer .brand-n{color:#fff;font-size:26px}
.site-footer .brand-n strong{color:#2fb7c3}
.site-footer h4{font-family:var(--cond);text-transform:uppercase;color:#fff;font-size:15px;letter-spacing:.05em;margin:0 0 16px}
.site-footer a:hover{color:#fff}
.footer-cols ul{list-style:none;margin:0;padding:0}.footer-cols li{padding:6px 0;font-size:14px}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding:20px 0;font-size:13px;color:#7a808b;text-align:center}

/* PAGE + CF7 */
.page-head{max-width:820px;margin:34px auto 4px}
.page-head h1{font-family:var(--serif);font-size:38px;font-weight:800;margin:0;line-height:1.15}
.page-body{padding-top:8px}
.wpcf7{max-width:640px;margin:18px auto 0}
.cf7-row{margin-bottom:16px}
.wpcf7 label{display:block;font-family:var(--cond);text-transform:uppercase;font-size:13px;letter-spacing:.04em;color:var(--sub);font-weight:600}
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 textarea{width:100%;margin-top:7px;padding:13px 15px;border:1px solid var(--line);border-radius:10px;font-family:var(--sans);font-size:15px;background:#fff;transition:.2s}
.wpcf7 input:focus,.wpcf7 textarea:focus{outline:0;border-color:var(--cat-sante);box-shadow:0 0 0 3px rgba(18,163,122,.15)}
.wpcf7 textarea{min-height:150px;resize:vertical}
.wpcf7 .wpcf7-submit{margin-top:6px;padding:14px 30px;border:0;border-radius:10px;background:linear-gradient(120deg,var(--cat-sante),#0e8a67);color:#fff;font-family:var(--cond);text-transform:uppercase;letter-spacing:.05em;font-size:15px;cursor:pointer;transition:.2s;box-shadow:0 10px 24px rgba(18,163,122,.3)}
.wpcf7 .wpcf7-submit:hover{transform:translateY(-2px);filter:brightness(1.06)}
.wpcf7-response-output{border-radius:8px;margin:14px 0 0!important;padding:12px 16px!important}

/* ===== WOW : interactions & finitions ===== */
html{scroll-behavior:smooth}
/* apparition au scroll */
.rev{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
.rev.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rev{opacity:1;transform:none;transition:none}}
/* barre de progression de lecture */
#vdl-progress{position:fixed;top:0;left:0;height:4px;width:0;background:linear-gradient(90deg,var(--cat-sante),var(--cat-bien-etre));z-index:100;transition:width .1s linear;box-shadow:0 1px 6px rgba(18,163,122,.5)}
/* lettrine */
.article-body>p:first-of-type::first-letter{float:left;font-family:var(--serif);font-weight:900;font-size:66px;line-height:.82;padding:6px 12px 0 0;color:var(--cat-sante)}
/* citations */
.article-body blockquote{margin:30px 0;padding:6px 0 6px 26px;border-left:5px solid var(--cat-sante);font-family:var(--serif);font-style:italic;font-size:22px;line-height:1.5;color:#2b3038}
.article-body blockquote p{margin:0}
/* partage collant */
.article-shell{display:flex;gap:26px;max-width:828px;margin:26px auto 0;align-items:flex-start}
.article-shell .article-body{margin:0;max-width:none;flex:1}
.share-rail{position:sticky;top:82px;display:flex;flex-direction:column;gap:9px;flex-shrink:0;width:44px}
.share-rail .sh{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:#fff;font-family:var(--cond);font-size:16px;box-shadow:var(--sh);transition:.2s}
.share-rail .sh:hover{transform:translateY(-3px) scale(1.06)}
.sh-fb{background:#1877f2}.sh-x{background:#111}.sh-in{background:#0a66c2;font-size:14px}.sh-wa{background:#25d366}.sh-cp{background:#5a616c}
.sh-cp.ok{background:var(--cat-sante)}
/* encadré auteur */
.authorbox{display:flex;gap:20px;align-items:center;max-width:800px;margin:44px auto 0;padding:24px 26px;background:#fff;border-radius:16px;box-shadow:var(--sh);border-left:5px solid var(--cat-sante)}
.ab-av img{width:72px;height:72px;border-radius:50%;object-fit:cover}
.ab-k{display:block;font-family:var(--cond);text-transform:uppercase;font-size:11px;letter-spacing:.06em;color:var(--muted)}
.ab-n{display:block;font-family:var(--serif);font-weight:800;font-size:20px;margin:2px 0 6px}
.ab-b{margin:0 0 8px;color:var(--sub);font-size:14.5px}
.ab-l{font-family:var(--cond);text-transform:uppercase;font-size:12.5px;letter-spacing:.04em;color:var(--cat-sante);font-weight:600}
/* ruban "à la une" */
.hero-lead-wrap{position:relative}
.une-ribbon{position:absolute;top:18px;left:-6px;z-index:5;background:var(--cat-prevention-securite);color:#fff;font-family:var(--cond);text-transform:uppercase;letter-spacing:.06em;font-size:13px;font-weight:600;padding:8px 16px 8px 14px;border-radius:0 4px 4px 0;box-shadow:0 8px 18px rgba(226,59,59,.4)}
.une-ribbon:before{content:"";position:absolute;bottom:-6px;left:0;border-top:6px solid #a11;border-left:6px solid transparent}
/* bande CTA */
.cta-band{margin:8px 0 44px;border-radius:18px;overflow:hidden;background:linear-gradient(120deg,#12a37a 0%,#0e6f8a 60%,#3b6fe0 100%);box-shadow:0 18px 40px rgba(14,111,138,.28)}
.cta-in{display:flex;align-items:center;justify-content:space-between;gap:26px;padding:32px 36px;flex-wrap:wrap}
.cta-k{display:block;font-family:var(--cond);text-transform:uppercase;letter-spacing:.08em;font-size:12.5px;color:rgba(255,255,255,.85)}
.cta-h{display:block;font-family:var(--serif);font-weight:800;font-size:26px;color:#fff;margin:4px 0 6px}
.cta-s{display:block;color:rgba(255,255,255,.9);font-size:14.5px;max-width:440px}
.cta-form{display:flex;gap:10px;flex:1;min-width:280px;max-width:420px}
.cta-form input{flex:1;padding:14px 16px;border:0;border-radius:10px;font-family:var(--sans);font-size:15px}
.cta-form button{padding:14px 22px;border:0;border-radius:10px;background:#12151c;color:#fff;font-family:var(--cond);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;white-space:nowrap;transition:.2s}
.cta-form button:hover{background:#000;transform:translateY(-2px)}
/* "lire" sur carte */
.card .meta{display:flex;align-items:center;gap:7px}
.card .more{margin-left:auto;color:var(--accent);font-weight:600;opacity:0;transform:translateX(-4px);transition:.2s}
.card:hover .more{opacity:1;transform:none}
/* 404 */
.err404{text-align:center;max-width:640px;margin:40px auto 46px}
.err-code{font-family:var(--serif);font-weight:900;font-size:120px;line-height:1;background:linear-gradient(120deg,var(--cat-sante),var(--cat-bien-etre));-webkit-background-clip:text;background-clip:text;color:transparent}
.err-h{font-family:var(--serif);font-size:32px;margin:6px 0 10px}
.err-p{color:var(--sub);margin:0 auto 22px;max-width:480px}
.err-search{display:flex;gap:10px;max-width:440px;margin:0 auto 18px}
.err-search input{flex:1;padding:13px 16px;border:1px solid var(--line);border-radius:10px}
.err-search button{padding:13px 22px;border:0;border-radius:10px;background:var(--cat-sante);color:#fff;font-family:var(--cond);text-transform:uppercase;cursor:pointer}
.err-home{font-family:var(--cond);text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}

/* ===== QUIZ INTERACTIF ===== */
.vdl-quiz{background:#fff;border-radius:18px;box-shadow:0 14px 40px rgba(20,26,44,.13);margin:36px 0;overflow:hidden;border:1px solid var(--line)}
.vdl-quiz-mid{border-top:4px solid var(--accent)}
.qz-head{display:flex;align-items:center;gap:14px;padding:18px 26px;background:linear-gradient(120deg,var(--accent),color-mix(in srgb,var(--accent) 55%,#141821));color:#fff}
.qz-badge{font-family:var(--cond);text-transform:uppercase;font-size:11px;letter-spacing:.07em;background:rgba(255,255,255,.22);padding:5px 12px;border-radius:20px;white-space:nowrap}
.qz-title{font-family:var(--serif);font-weight:800;font-size:20px;line-height:1.2}
.qz-bar{height:5px;background:var(--line)}
.qz-bar > i{display:block;height:100%;width:0;background:var(--accent);transition:width .45s ease}
.qz-body{padding:24px 26px 28px}
.qz-count{font-family:var(--cond);text-transform:uppercase;font-size:11.5px;letter-spacing:.05em;color:var(--muted);margin-bottom:9px}
.qz-text{font-family:var(--serif);font-weight:700;font-size:20px;line-height:1.35;margin-bottom:18px;color:var(--ink)}
.qz-opts{display:flex;flex-direction:column;gap:11px}
.qz-opt{position:relative;text-align:left;padding:15px 18px;border:2px solid var(--line);border-radius:13px;background:#fff;font-family:var(--sans);font-size:15.5px;font-weight:500;color:var(--ink);cursor:pointer;transition:.18s}
.qz-opt:hover:not(:disabled){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,#fff);transform:translateX(4px)}
.qz-opt:disabled{cursor:default}
.qz-opt.ok{border-color:#12a37a;background:#eafaf4;color:#0a7a58;font-weight:700}
.qz-opt.ko{border-color:#e23b3b;background:#fdecec;color:#b02525;font-weight:700}
.qz-opt.ok::after{content:"✓";position:absolute;right:16px;font-weight:900}
.qz-opt.ko::after{content:"✗";position:absolute;right:16px;font-weight:900}
.qz-fb{margin-top:16px;padding:14px 17px;border-radius:12px;font-size:14.5px;line-height:1.55}
.qz-fb.good{background:#eafaf4;color:#0a7a58}
.qz-fb.bad{background:#fdecec;color:#b02525}
.qz-fb strong{display:block;margin-bottom:3px;font-family:var(--cond);text-transform:uppercase;letter-spacing:.03em}
.qz-next{margin-top:18px;padding:13px 24px;border:0;border-radius:11px;background:var(--accent);color:#fff;font-family:var(--cond);text-transform:uppercase;letter-spacing:.04em;font-size:14.5px;cursor:pointer;transition:.2s;box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 38%,transparent)}
.qz-next:hover{filter:brightness(1.08);transform:translateY(-2px)}
.qz-res{text-align:center;padding:16px 0 6px}
.qz-score{font-family:var(--serif);font-weight:900;font-size:60px;line-height:1;color:var(--accent)}
.qz-score span{font-size:28px;color:var(--muted)}
.qz-msg{font-size:18px;font-weight:600;margin:12px 0 20px;color:var(--ink)}
.qz-again{padding:12px 24px;border:2px solid var(--accent);border-radius:11px;background:#fff;color:var(--accent);font-family:var(--cond);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;transition:.2s}
.qz-again:hover{background:var(--accent);color:#fff}

/* RESPONSIVE */
@media(max-width:1000px){
  .content-wrap{grid-template-columns:1fr}
  .hero-grid{grid-template-columns:1fr}.ov-big{min-height:340px}
  .m-split,.m-duo{grid-template-columns:1fr}
  .m-hlist,.m-top{grid-template-columns:1fr}
  .m-grid,.mm-row{grid-template-columns:repeat(2,1fr)}.mo-row{grid-template-columns:repeat(3,1fr)}
  .md-cards{grid-template-columns:1fr 1fr}.rel-grid{grid-template-columns:repeat(3,1fr)}
  .footer-cols{grid-template-columns:1fr 1fr}
  .article-shell{display:block;max-width:760px}.share-rail{display:none}
  .cta-in{flex-direction:column;text-align:center}.cta-form{max-width:100%}
}
@media(max-width:640px){
  .m-grid,.mo-row,.md-cards,.rel-grid,.mm-row{grid-template-columns:1fr}
  .brand-n{font-size:23px}.hsearch{display:none}.single-head h1{font-size:29px}
  .ov-big .ov-t{font-size:23px}.article-body{font-size:16.5px}.footer-cols{grid-template-columns:1fr}
  .site-header .wrap{justify-content:center}
}
