/*
Theme Name: Fitness & Minceur — Éditorial
Theme URI: https://fitness-et-minceur.com/
Author: Fitness & Minceur
Description: Thème magazine premium « Éditorial Santé & Forme » v2 — typographie expressive, méthode en timeline, calculateur IMC, voix humaine.
Version: 2.0.0
License: GNU General Public License v2 or later
Text Domain: fitminceur
*/

:root{
  --creme:#FAF6EE;
  --creme-2:#F1EADD;
  --terracotta:#D45E3C;
  --terracotta-dark:#B04A2D;
  --sauge:#7C8F6A;
  --sauge-dark:#57684A;
  --encre:#1C1A16;
  --encre-soft:#5C574D;
  --ligne:#E2D9C8;
  --blanc:#FFFFFF;
  --serif:"Fraunces",Georgia,serif;
  --sans:"Outfit",-apple-system,"Segoe UI",sans-serif;
  --radius:16px;
  --max:1180px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--creme);
  color:var(--encre);
  font-family:var(--sans);
  font-size:17px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--terracotta-dark);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{font-family:var(--serif);font-weight:560;line-height:1.12;color:var(--encre);margin:0 0 .5em;font-variation-settings:"opsz" 144;letter-spacing:-.015em}
h1{font-size:clamp(2.4rem,5.2vw,4rem)}
h2{font-size:clamp(1.7rem,3.4vw,2.5rem)}
h3{font-size:1.25rem}
p{margin:0 0 1.1em}
::selection{background:var(--terracotta);color:#fff}
.wrap{max-width:var(--max);margin:0 auto;padding:0 22px}
.narrow{max-width:720px;margin:0 auto}

/* Soulignement coup de marqueur */
.marker{
  background-image:linear-gradient(104deg,transparent .5%,rgba(212,94,60,.30) 3%,rgba(212,94,60,.30) 97%,transparent 99%);
  background-repeat:no-repeat;
  background-size:100% 42%;
  background-position:0 82%;
  padding:0 .08em;
}
.marker-sauge{background-image:linear-gradient(104deg,transparent .5%,rgba(124,143,106,.38) 3%,rgba(124,143,106,.38) 97%,transparent 99%)}

/* ---------- Header ---------- */
.site-header{background:var(--creme);border-bottom:1px solid var(--ligne);position:sticky;top:0;z-index:50}
.topbar{background:var(--encre);color:#CFC8B8;font-size:.78rem;text-align:center;padding:7px 14px;letter-spacing:.06em}
.topbar em{color:var(--terracotta);font-style:normal;font-weight:600}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 0}
.site-logo{font-family:var(--serif);font-size:1.5rem;font-weight:700;color:var(--encre);letter-spacing:-.02em;line-height:1}
.site-logo span{color:var(--terracotta)}
.site-logo:hover{text-decoration:none}
.main-nav ul{display:flex;gap:24px;list-style:none;margin:0;padding:0;flex-wrap:nowrap;white-space:nowrap}
.main-nav a{color:var(--encre);font-weight:500;font-size:.9rem;letter-spacing:.02em}
.main-nav a:hover{color:var(--terracotta);text-decoration:none}
.nav-toggle{display:none;background:none;border:0;font-size:1.6rem;cursor:pointer;color:var(--encre)}

/* ---------- Marquee ---------- */
.marquee{overflow:hidden;border-bottom:1px solid var(--ligne);background:var(--creme-2);padding:11px 0}
.marquee-track{display:flex;gap:44px;width:max-content;animation:fm-scroll 30s linear infinite;font-family:var(--serif);font-size:.95rem;color:var(--encre-soft);white-space:nowrap}
.marquee-track span::after{content:"✳";margin-left:44px;color:var(--terracotta);font-size:.8em}
@keyframes fm-scroll{to{transform:translateX(-50%)}}

/* ---------- Hero ---------- */
.hero{padding:78px 0 64px;border-bottom:1px solid var(--ligne)}
.hero-kicker{font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--terracotta-dark);margin-bottom:22px;display:block}
.hero h1{max-width:14em;margin-bottom:.55em}
.hero h1 em{font-style:italic;font-weight:400}
.hero .lead{font-size:1.18rem;color:var(--encre-soft);max-width:32em;line-height:1.65}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin:30px 0 26px}
.btn{display:inline-block;padding:14px 28px;border-radius:999px;font-weight:600;font-size:.93rem;letter-spacing:.02em;transition:transform .15s ease,box-shadow .15s ease}
.btn:hover{text-decoration:none;transform:translateY(-2px)}
.btn-primary{background:var(--terracotta);color:#fff;box-shadow:0 10px 26px rgba(212,94,60,.32)}
.btn-primary:hover{background:var(--terracotta-dark);color:#fff}
.btn-ghost{border:1.5px solid var(--encre);color:var(--encre)}
.btn-ghost:hover{border-color:var(--terracotta);color:var(--terracotta)}
.hero-stats{display:flex;gap:0;border-top:1px solid var(--ligne);margin-top:44px;flex-wrap:wrap}
.hero-stats .stat{padding:22px 0 4px;margin-right:34px;border-right:1px solid var(--ligne);padding-right:34px}
.hero-stats .stat:last-child{border-right:0}
.stat b{font-family:var(--serif);font-size:2rem;font-weight:640;display:block;line-height:1}
.stat span{font-size:.8rem;color:var(--encre-soft);letter-spacing:.03em}

.hero-figure{margin:52px 0 0;position:relative}
.hero-figure img{border-radius:var(--radius);aspect-ratio:21/9;object-fit:cover;width:100%;box-shadow:0 28px 70px rgba(28,26,22,.14)}
.hero-figure figcaption{font-size:.78rem;color:var(--encre-soft);margin-top:10px;font-style:italic;font-family:var(--serif)}

/* ---------- Sections ---------- */
.section{padding:70px 0}
.section-alt{background:var(--creme-2)}
.section-num{font-family:var(--serif);font-style:italic;color:var(--terracotta);font-size:1rem;display:block;margin-bottom:10px}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:38px;flex-wrap:wrap}
.section-head p{color:var(--encre-soft);max-width:42em;margin:0}
.link-more{font-weight:600;white-space:nowrap;font-size:.92rem}

/* ---------- Méthode timeline ---------- */
.methode{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--encre)}
.methode-step{padding:28px 26px 30px;border-right:1px solid var(--ligne);position:relative}
.methode-step:last-child{border-right:0}
.methode-step .step-num{font-family:var(--serif);font-size:3.2rem;font-weight:300;color:var(--terracotta);line-height:1;display:block;margin-bottom:14px}
.methode-step h3{font-size:1.15rem;margin-bottom:8px}
.methode-step p{font-size:.9rem;color:var(--encre-soft);margin:0}

/* ---------- Rubriques ---------- */
.rubriques{border-top:1px solid var(--encre)}
.rubrique{display:grid;grid-template-columns:90px 1fr auto;align-items:center;gap:26px;padding:26px 8px;border-bottom:1px solid var(--ligne);transition:background .15s ease,padding .15s ease;color:var(--encre)}
.rubrique:hover{background:var(--creme-2);padding-left:20px;text-decoration:none}
.rubrique .r-num{font-family:var(--serif);font-style:italic;color:var(--encre-soft);font-size:1.1rem}
.rubrique h3{font-size:clamp(1.4rem,2.6vw,1.9rem);margin:0;font-weight:560}
.rubrique .r-desc{font-size:.85rem;color:var(--encre-soft);margin-top:4px;font-family:var(--sans)}
.rubrique .r-arrow{font-size:1.5rem;color:var(--terracotta);transition:transform .15s ease}
.rubrique:hover .r-arrow{transform:translateX(6px)}

/* ---------- Articles ---------- */
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.post-card{background:var(--blanc);border:1px solid var(--ligne);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .18s ease,box-shadow .18s ease}
.post-card:hover{transform:translateY(-5px);box-shadow:0 22px 48px rgba(28,26,22,.11)}
.post-card .thumb{aspect-ratio:16/10;background:linear-gradient(140deg,var(--sauge) 0%,var(--sauge-dark) 100%);display:flex;align-items:flex-end;padding:18px;color:rgba(255,255,255,.92);font-family:var(--serif);font-style:italic;font-size:1.5rem}
.post-card .thumb.t2{background:linear-gradient(140deg,var(--terracotta) 0%,var(--terracotta-dark) 100%)}
.post-card .thumb.t3{background:linear-gradient(140deg,#3B372F 0%,var(--encre) 100%)}
.post-card .body{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1}
.post-card .cat{font-size:.7rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--terracotta-dark);margin-bottom:9px}
.post-card h3{font-size:1.18rem;margin:0 0 8px}
.post-card h3 a{color:var(--encre)}
.post-card .excerpt{color:var(--encre-soft);font-size:.9rem;flex:1}
.post-card .meta{font-size:.78rem;color:var(--encre-soft);margin-top:14px;border-top:1px dashed var(--ligne);padding-top:12px}

/* ---------- Sélection affiliation ---------- */
.pick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pick{background:var(--blanc);border:1px solid var(--ligne);border-radius:var(--radius);padding:30px 28px;position:relative;display:flex;flex-direction:column}
.pick .badge{position:absolute;top:-13px;left:24px;background:var(--encre);color:var(--creme);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:5px 14px;border-radius:999px}
.pick .badge.hot{background:var(--terracotta)}
.pick h3{font-size:1.15rem;margin:12px 0 8px}
.pick p{color:var(--encre-soft);font-size:.9rem;flex:1}
.pick .verdict{font-family:var(--serif);font-style:italic;font-size:1rem;color:var(--encre);border-top:1px solid var(--ligne);padding-top:14px;margin-top:6px}
.pick .price{font-family:var(--serif);font-size:1.35rem;color:var(--encre);margin:10px 0 16px}
.pick .note{font-size:.72rem;color:var(--encre-soft);margin-top:12px}

/* ---------- Calculateur IMC ---------- */
.imc{background:var(--encre);color:var(--creme);border-radius:var(--radius);padding:54px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.imc h2{color:var(--creme)}
.imc p{color:#C6BFAD}
.imc-form label{display:block;font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#9A937F;margin:18px 0 6px}
.imc-form input{width:100%;padding:14px 18px;border-radius:10px;border:1px solid #443F34;background:#26231D;color:var(--creme);font-family:var(--serif);font-size:1.3rem}
.imc-form input:focus{outline:none;border-color:var(--terracotta)}
.imc-result{margin-top:22px;padding:22px;border:1px dashed #4A4539;border-radius:12px;min-height:110px}
.imc-result .imc-val{font-family:var(--serif);font-size:2.6rem;line-height:1;color:var(--creme)}
.imc-result .imc-lbl{font-size:.85rem;color:#9A937F;margin-top:6px}
.imc-result .imc-verdict{margin-top:10px;font-size:.95rem;color:var(--creme)}
.imc-result .imc-verdict b{color:var(--terracotta)}
.imc button{margin-top:20px;border:0;cursor:pointer}

/* ---------- Témoignages ---------- */
.temoignages{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.temoin{background:var(--blanc);border:1px solid var(--ligne);border-radius:var(--radius);padding:30px 28px}
.temoin .quote{font-family:var(--serif);font-size:1.15rem;font-style:italic;line-height:1.5;margin-bottom:18px}
.temoin .quote::before{content:"“";color:var(--terracotta);font-size:2rem;line-height:0;vertical-align:-.35em;margin-right:2px}
.temoin .who{font-size:.85rem;color:var(--encre-soft)}
.temoin .who b{color:var(--encre);display:block;font-size:.9rem}

/* ---------- Newsletter ---------- */
.newsletter{background:var(--terracotta);color:#fff;border-radius:var(--radius);padding:56px;display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}
.newsletter h2{color:#fff}
.newsletter p{color:rgba(255,255,255,.85)}
.newsletter form{display:flex;gap:10px;flex-wrap:wrap}
.newsletter input[type=email]{flex:1;min-width:220px;padding:15px 20px;border-radius:999px;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.12);color:#fff;font-family:var(--sans);font-size:.95rem}
.newsletter input::placeholder{color:rgba(255,255,255,.65)}
.newsletter .btn{background:var(--encre);color:var(--creme);border:0;cursor:pointer;box-shadow:none}
.newsletter .btn:hover{background:#000}

/* ---------- Article / page ---------- */
.page-hero{padding:60px 0 38px;border-bottom:1px solid var(--ligne)}
.page-hero .cat{font-size:.76rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--terracotta-dark)}
.page-hero .meta{color:var(--encre-soft);font-size:.85rem;margin-top:14px}
.content{padding:50px 0 76px}
.content h2{margin-top:1.7em;padding-top:.5em;border-top:1px solid var(--ligne)}
.content h2:first-of-type{border-top:0;padding-top:0}
.content ul,.content ol{padding-left:1.3em}
.content li{margin-bottom:.45em}
.content blockquote{border-left:4px solid var(--terracotta);margin:1.8em 0;padding:.3em 0 .3em 1.2em;font-family:var(--serif);font-size:1.3rem;font-style:italic;color:var(--encre-soft);line-height:1.5}
.content img{border-radius:var(--radius)}
.callout{background:var(--creme-2);border:1px solid var(--ligne);border-radius:var(--radius);padding:24px 28px;margin:2em 0}
.callout strong,.avis-coach strong{color:var(--sauge-dark)}
.avis-coach{background:var(--blanc);border:1px solid var(--ligne);border-left:4px solid var(--sauge);border-radius:0 var(--radius) var(--radius) 0;padding:24px 28px;margin:2em 0;position:relative}
.avis-coach .sign{font-family:var(--serif);font-style:italic;color:var(--encre-soft);font-size:.9rem;display:block;margin-top:10px}
.has-dropcap>p:first-of-type::first-letter{font-family:var(--serif);font-size:4.4em;font-weight:640;float:left;line-height:.82;padding:.06em .12em 0 0;color:var(--terracotta)}

/* ---------- Archives ---------- */
.archive-list{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}

/* ---------- Footer ---------- */
.site-footer{background:var(--encre);color:#ADA693;margin-top:80px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:48px;padding:60px 0 44px}
.site-footer h4{color:var(--creme);font-family:var(--sans);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin-bottom:10px}
.site-footer a{color:#ADA693;font-size:.9rem}
.site-footer a:hover{color:var(--terracotta);text-decoration:none}
.footer-brand{font-family:var(--serif);font-size:1.45rem;color:var(--creme);margin-bottom:14px}
.footer-brand span{color:var(--terracotta)}
.footer-bottom{border-top:1px solid #37342C;padding:22px 0;font-size:.78rem;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}

/* ---------- 404 ---------- */
.notfound{text-align:center;padding:110px 0}

/* ---------- Responsive ---------- */
@media(max-width:1200px){
  .main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--creme);border-bottom:1px solid var(--ligne);padding:10px 22px 20px}
  .main-nav.open{display:block}
  .main-nav ul{flex-direction:column;gap:14px;flex-wrap:wrap}
  .nav-toggle{display:block}
}
@media(max-width:960px){
  .methode{grid-template-columns:repeat(2,1fr)}
  .methode-step{border-bottom:1px solid var(--ligne)}
  .post-grid,.pick-grid,.temoignages,.archive-list{grid-template-columns:repeat(2,1fr)}
  .newsletter,.imc{grid-template-columns:1fr;padding:38px}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:880px){
  .methode{grid-template-columns:1fr}
  .post-grid,.pick-grid,.temoignages,.archive-list{grid-template-columns:1fr}
  .header-inner{position:relative}
  .section{padding:48px 0}
  .hero{padding:52px 0 44px}
  .rubrique{grid-template-columns:44px 1fr auto;gap:14px}
  .hero-stats .stat{border-right:0;padding-right:0;margin-right:0;flex:1 1 40%}
}
