/* ============================================================
   Bivouac Malin — Design system (ui-ux-pro-max: "Nature Distilled")
   Palette earthy : vert forêt + terracotta + sable · Newsreader + Inter
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;0,6..72,600;1,6..72,400&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --forest:#243B2E;      /* vert profond : header/footer */
  --green:#3A6A4A;       /* vert primaire */
  --moss:#6E8E63;        /* vert clair / accents doux */
  --terracotta:#C1502E;  /* CTA / affiliation */
  --terracotta-dk:#A23F20;
  --sand:#F6F1E7;        /* fond */
  --cream:#FCFAF4;       /* surfaces / cartes */
  --ink:#22201C;         /* texte principal */
  --muted:#6B6357;       /* texte secondaire */
  --border:#E7DFD0;
  --border-dk:#D8CEBB;

  --maxw:1180px;
  --radius:14px;
  --shadow:0 18px 40px -24px rgba(36,59,46,.35);
  --ease:cubic-bezier(.22,.61,.36,1);
  --dusk:#26374F;        /* NOUVELLE couleur : bleu nuit (ciel du bivouac) */
  --dusk-2:#34496A;
  --sky:#8FA6BC;
  --serif:"Newsreader",Georgia,serif;
  --sans:"Inter",system-ui,-apple-system,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--sand);line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
::selection{background:var(--moss);color:#fff}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}

h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.12;letter-spacing:-.01em;color:var(--forest)}
.eyebrow{font-family:var(--sans);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--terracotta)}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:9px;cursor:pointer;font-family:var(--sans);font-weight:600;
  font-size:.95rem;padding:13px 22px;border-radius:10px;border:1px solid transparent;transition:.25s var(--ease);min-height:46px}
.btn svg{transition:transform .25s var(--ease)}
.btn:hover svg{transform:translateX(3px)}
.btn-cta{background:var(--terracotta);color:#fff;box-shadow:0 10px 24px -12px rgba(193,80,46,.7)}
.btn-cta:hover{background:var(--terracotta-dk);transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--forest);border-color:var(--border-dk)}
.btn-ghost:hover{border-color:var(--green);color:var(--green)}
:focus-visible{outline:2px solid var(--terracotta);outline-offset:3px;border-radius:4px}

/* ---------- Header ---------- */
header{position:sticky;top:0;z-index:100;background:rgba(246,241,231,.85);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}
.nav{display:flex;align-items:center;justify-content:space-between;height:70px;gap:20px}
.logo{display:flex;align-items:center;gap:11px;font-family:var(--serif);font-size:1.35rem;font-weight:600;color:var(--forest)}
.logo svg{flex-shrink:0}
.nav-links{display:flex;gap:26px;align-items:center}
.nav-links a{font-size:.92rem;font-weight:500;color:var(--ink);transition:color .2s;position:relative}
.nav-links a:hover{color:var(--terracotta)}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;background:var(--terracotta);transition:width .28s var(--ease)}
.nav-links a:hover::after{width:100%}
.menu-btn{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:8px}
.menu-btn span{width:24px;height:2px;background:var(--forest);border-radius:2px}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--sand),#EFE8D9)}
.hero-inner{position:relative;z-index:2;padding:76px 0 90px;max-width:640px}
.hero h1{font-size:clamp(2.4rem,5.4vw,3.9rem);margin:16px 0}
.hero p{font-size:1.18rem;color:var(--muted);margin-bottom:28px;max-width:52ch}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}
.hero-mountains{position:absolute;right:0;bottom:0;width:min(52%,620px);z-index:1;pointer-events:none;opacity:.9}
@media(max-width:820px){.hero-mountains{opacity:.25;width:90%}}

/* ---------- Sections ---------- */
.section{padding:74px 0}
.section-head{max-width:640px;margin-bottom:40px}
.section-head h2{font-size:clamp(1.9rem,3.6vw,2.7rem);margin-top:10px}
.section-head p{color:var(--muted);margin-top:12px;font-size:1.05rem}

/* ---------- Silo cards ---------- */
.grid{display:grid;gap:20px}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.silo{background:var(--cream);border:1px solid var(--border);border-radius:var(--radius);padding:26px;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s;display:flex;flex-direction:column;gap:10px}
.silo:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:var(--border-dk)}
.silo .ic{width:48px;height:48px;border-radius:12px;background:rgba(110,142,99,.15);display:flex;align-items:center;justify-content:center;color:var(--green)}
.silo h3{font-size:1.35rem}
.silo p{color:var(--muted);font-size:.95rem}
.silo .go{margin-top:auto;font-weight:600;font-size:.9rem;color:var(--terracotta);display:inline-flex;align-items:center;gap:7px}

/* ---------- Article cards ---------- */
.card{background:var(--cream);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease);display:flex;flex-direction:column}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.card .thumb{aspect-ratio:16/10;background:linear-gradient(150deg,var(--moss),var(--green));position:relative;overflow:hidden}
.card .thumb svg{position:absolute;inset:0;width:100%;height:100%}
.card .tag{position:absolute;top:12px;left:12px;background:rgba(252,250,244,.92);color:var(--forest);font-size:.7rem;font-weight:700;
  letter-spacing:.05em;text-transform:uppercase;padding:5px 11px;border-radius:100px;z-index:2}
.card .body{padding:20px 22px 24px}
.card h3{font-size:1.3rem;margin-bottom:8px;line-height:1.2}
.card p{color:var(--muted);font-size:.93rem}
.card .go{margin-top:14px;font-weight:600;font-size:.88rem;color:var(--terracotta);display:inline-flex;gap:7px;align-items:center}

/* ---------- Newsletter ---------- */
.news{background:var(--forest);color:#fff;border-radius:var(--radius);padding:54px 40px;text-align:center;position:relative;overflow:hidden}
.news h2{color:#fff;font-size:clamp(1.8rem,3.5vw,2.5rem)}
.news p{color:rgba(255,255,255,.8);max-width:44ch;margin:12px auto 24px}
.news form{display:flex;gap:10px;max-width:440px;margin:0 auto;flex-wrap:wrap}
.news input{flex:1;min-width:200px;padding:13px 16px;border-radius:10px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.1);color:#fff;font-family:inherit}
.news input::placeholder{color:rgba(255,255,255,.6)}

/* ---------- Author box ---------- */
.author{display:flex;gap:18px;align-items:center;background:var(--cream);border:1px solid var(--border);border-radius:var(--radius);padding:22px}
.author .av{width:60px;height:60px;border-radius:50%;background:var(--moss);flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--serif);font-size:1.4rem}
.author .nm{font-weight:700;color:var(--forest)}
.author .rl{color:var(--muted);font-size:.9rem}

/* ---------- Footer ---------- */
footer{background:var(--forest);color:rgba(255,255,255,.72);padding:60px 0 26px;margin-top:70px}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:34px;padding-bottom:34px;border-bottom:1px solid rgba(255,255,255,.14)}
.foot-grid .logo{color:#fff}
.foot-grid p{font-size:.92rem;margin-top:12px;max-width:34ch}
.foot-col h4{color:#fff;font-family:var(--sans);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px}
.foot-col a{display:block;font-size:.92rem;margin-bottom:10px;transition:color .2s}
.foot-col a:hover{color:var(--terracotta)}
.disclosure{font-size:.82rem;color:rgba(255,255,255,.55);padding-top:22px;line-height:1.6}

/* ---------- Article page ---------- */
.article{max-width:760px;margin:0 auto;padding:44px 22px 20px}
.breadcrumb{font-size:.84rem;color:var(--muted);margin-bottom:18px}
.breadcrumb a:hover{color:var(--terracotta)}
.article h1{font-size:clamp(2rem,4.6vw,3rem);margin:10px 0 18px}
.article .meta{display:flex;gap:16px;align-items:center;color:var(--muted);font-size:.9rem;margin-bottom:26px;flex-wrap:wrap}
.article .lead{font-size:1.2rem;color:var(--ink);margin-bottom:30px;font-family:var(--serif)}
.article h2{font-size:1.7rem;margin:38px 0 14px}
.article h3{font-size:1.28rem;margin:26px 0 10px}
.article p{margin-bottom:16px}
.article ul,.article ol{margin:0 0 18px 22px}
.article li{margin-bottom:8px}
.article strong{color:var(--forest)}
.article a.inline{color:var(--terracotta);text-decoration:underline;text-underline-offset:2px}

/* verdict / recommendation box */
.tldr{background:var(--cream);border:1px solid var(--border);border-left:4px solid var(--terracotta);border-radius:12px;padding:22px 24px;margin:24px 0}
.tldr h3{margin:0 0 8px;color:var(--forest)}

/* product pick card (affiliate) */
.pick{background:var(--cream);border:1px solid var(--border);border-radius:var(--radius);padding:24px;margin:22px 0;
  display:grid;grid-template-columns:88px 1fr;gap:20px;align-items:start}
.pick .badge{width:88px;height:88px;border-radius:12px;background:linear-gradient(150deg,var(--moss),var(--green));
  display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--serif);font-size:1.6rem;text-align:center;line-height:1.1}
.pick h3{margin:0 0 4px}
.pick .price{color:var(--muted);font-size:.92rem;margin-bottom:6px}
.pick .why{font-size:.95rem;margin-bottom:14px}
.pick .pros{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.pick .pros span{font-size:.8rem;background:rgba(110,142,99,.14);color:var(--green);padding:5px 11px;border-radius:100px;font-weight:600}
.aff-note{font-size:.78rem;color:var(--muted);margin-top:8px}

/* comparison table */
.table-wrap{overflow-x:auto;margin:24px 0;border:1px solid var(--border);border-radius:12px}
table{width:100%;border-collapse:collapse;font-size:.92rem;min-width:520px}
th,td{padding:13px 16px;text-align:left;border-bottom:1px solid var(--border)}
th{background:var(--cream);font-family:var(--sans);color:var(--forest);font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}
tr:last-child td{border-bottom:none}
td strong{color:var(--forest)}

/* FAQ */
.faq details{border:1px solid var(--border);border-radius:12px;margin-bottom:12px;background:var(--cream);overflow:hidden}
.faq summary{padding:18px 22px;cursor:pointer;font-weight:600;color:var(--forest);font-family:var(--serif);font-size:1.1rem;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.5rem;color:var(--terracotta);transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .ans{padding:0 22px 18px;color:var(--muted)}

/* reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js .reveal.in{opacity:1;transform:none}
.js .reveal{opacity:0}
:root:not(.js) .reveal{opacity:1;transform:none}

/* responsive */
@media(max-width:860px){
  .grid-3{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .nav-links{display:none}
  .menu-btn{display:flex}
}
@media(max-width:560px){
  .grid-3,.grid-2{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .pick{grid-template-columns:1fr}
  .pick .badge{width:100%;height:70px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition-duration:.01ms!important}.reveal{opacity:1!important;transform:none!important}}

/* ============================================================
   IDENTITÉ VISUELLE — motif topographique, tagline, trail, lead magnet
   ============================================================ */

/* Brand + tagline */
.logo{align-items:center}
.brand-wrap{display:flex;flex-direction:column;line-height:1.05}
.tagline{font-family:var(--sans);font-size:.58rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:4px}

/* Topographic contour motif (signature) */
.topo{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;color:var(--moss)}
.topo path,.topo ellipse{fill:none;stroke:currentColor;stroke-width:1.3;opacity:.3}
.hero{position:relative;overflow:hidden}
.hero .hero-inner{position:relative;z-index:3}
.hero .hero-mountains{z-index:1}

/* Eyebrow gets a small trail dot */
.eyebrow::after{content:"";width:5px;height:5px;border-radius:50%;background:var(--moss);display:inline-block;margin-left:2px}

/* "Trail" dashed divider */
.trail{display:flex;align-items:center;gap:14px;justify-content:center;margin:6px 0 0;color:var(--border-dk)}
.trail::before,.trail::after{content:"";height:0;border-top:2px dashed var(--border-dk);flex:1}
.trail svg{color:var(--terracotta);flex-shrink:0}

/* Section headings: subtle serif italic accent already via Newsreader */
.section-head h2 .accent{font-style:italic;color:var(--terracotta)}

/* Lead-magnet block (remplace la newsletter) */
.magnet{position:relative;overflow:hidden;display:grid;grid-template-columns:1.15fr .85fr;gap:34px;align-items:center;
  background:linear-gradient(155deg,var(--forest),var(--navy-900,#1b3327));background:var(--forest);color:#fff;border-radius:var(--radius);padding:48px 46px}
.magnet .topo{color:#fff}
.magnet .topo path,.magnet .topo ellipse{opacity:.12}
.magnet-txt{position:relative;z-index:2}
.magnet .eyebrow{color:var(--gold-soft,#E7C58A)}
.magnet .eyebrow::before{background:#E7A38A}
.magnet .eyebrow::after{background:#E7A38A}
.magnet h2{color:#fff;font-size:clamp(1.7rem,3.4vw,2.4rem)}
.magnet p{color:rgba(255,255,255,.82);margin:12px 0 22px;max-width:42ch}
.magnet form{display:flex;gap:10px;flex-wrap:wrap;max-width:460px}
.magnet input{flex:1;min-width:200px;padding:13px 16px;border-radius:10px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.1);color:#fff;font-family:inherit}
.magnet input::placeholder{color:rgba(255,255,255,.6)}
.magnet .mini{font-size:.76rem;color:rgba(255,255,255,.6);margin-top:12px}
.magnet-visual{position:relative;z-index:2;display:flex;justify-content:center}
.pdf-card{width:210px;background:var(--cream);border-radius:14px;padding:22px;color:var(--ink);box-shadow:0 30px 60px -20px rgba(0,0,0,.55);transform:rotate(-4deg);transition:transform .4s var(--ease)}
.pdf-card:hover{transform:rotate(-1deg) translateY(-4px)}
.pdf-card .pill{display:inline-block;font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--terracotta);background:rgba(193,80,46,.1);padding:4px 10px;border-radius:100px}
.pdf-card h4{font-family:var(--serif);color:var(--forest);font-size:1.2rem;margin:12px 0 10px;line-height:1.15}
.pdf-card ul{list-style:none;margin:0;font-size:.82rem;color:var(--muted)}
.pdf-card li{display:flex;gap:8px;margin-bottom:6px;align-items:center}
.pdf-card li::before{content:"";width:12px;height:12px;border:1.5px solid var(--terracotta);border-radius:3px;flex-shrink:0}
@media(max-width:720px){.magnet{grid-template-columns:1fr;text-align:center;padding:38px 26px}.magnet p{margin-left:auto;margin-right:auto}.magnet form{justify-content:center;margin:0 auto}.magnet-visual{margin-top:8px}}

/* Author box → plus de présence */
.author{gap:20px}
.author .av{background:linear-gradient(150deg,var(--moss),var(--green));font-weight:600}
.author .bio-link{color:var(--terracotta);font-weight:600;font-size:.85rem;text-decoration:none}

/* ============================================================
   PASSE SOPHISTICATION — bleu nuit, drop cap, filets, ciel étoilé
   ============================================================ */

/* Hero plus raffiné + accent italique */
.hero{background:radial-gradient(130% 110% at 82% -10%, #F0E9DB 0%, var(--sand) 46%)}
.hero h1{letter-spacing:-.022em}
.accent{font-style:italic;color:var(--terracotta)}

/* Eyebrow : petit trait + point plus fin, plus premium */
.eyebrow{gap:12px}
.eyebrow::before{width:30px;height:1.5px}

/* Drop cap éditorial sur le chapô des articles */
.article .lead{overflow:hidden}
.article .lead::first-letter{
  float:left;font-family:var(--serif);font-weight:600;font-size:3.6rem;line-height:.8;
  margin:6px 12px 0 0;color:var(--terracotta)
}

/* Titres de section : filet fin sous le H2 */
.section-head h2{position:relative;padding-bottom:18px}
.section-head h2::after{content:"";position:absolute;left:0;bottom:0;width:52px;height:2px;
  background:linear-gradient(90deg,var(--terracotta),transparent)}

/* Cartes & silos : filet d'accent animé + ombre plus douce */
.silo,.card{position:relative}
.silo::before,.card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;z-index:6;
  background:linear-gradient(90deg,var(--terracotta),var(--moss));transform:scaleX(0);transform-origin:left;
  transition:transform .5s var(--ease)}
.card::before{border-radius:var(--radius) var(--radius) 0 0}
.silo::before{border-radius:var(--radius) var(--radius) 0 0}
.silo:hover::before,.card:hover::before{transform:scaleX(1)}
.silo:hover,.card:hover{box-shadow:0 28px 55px -32px rgba(38,55,79,.5)}

/* Section "Nos guides" : fond plus profond */
#guides{background:linear-gradient(180deg,#EFE8D9,#E7DFCE)!important}

/* ── Lead magnet → CIEL DE NUIT (nouvelle couleur bleu nuit + étoiles) ── */
.magnet{background:linear-gradient(158deg,var(--forest) 0%,var(--dusk) 82%)}
.magnet::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.8;
  background-image:
    radial-gradient(1.5px 1.5px at 18% 22%,#fff,transparent),
    radial-gradient(1.2px 1.2px at 68% 14%,#fff,transparent),
    radial-gradient(1.7px 1.7px at 86% 38%,#fff,transparent),
    radial-gradient(1.1px 1.1px at 42% 58%,#fff,transparent),
    radial-gradient(1.4px 1.4px at 58% 78%,#fff,transparent),
    radial-gradient(1.2px 1.2px at 28% 82%,#fff,transparent),
    radial-gradient(1.6px 1.6px at 92% 68%,#fff,transparent),
    radial-gradient(1.1px 1.1px at 8% 55%,#fff,transparent)}
.magnet-txt,.magnet-visual{position:relative;z-index:3}

/* Liens de contenu : soulignement raffiné, hover bleu nuit */
.article a.inline{text-decoration-thickness:1.5px;text-underline-offset:3px;transition:color .2s}
.article a.inline:hover{color:var(--dusk)}
.breadcrumb a:hover{color:var(--dusk)}

/* Footer : dégradé forêt → bleu nuit */
footer{background:linear-gradient(162deg,var(--forest),var(--dusk))}

/* Petit détail : la puce "trail" de l'eyebrow passe en bleu nuit sur fond clair */
.section-head .eyebrow::after{background:var(--dusk)}
