/* ============================================================
   DURAL'S — Direction D « Basse-cour pro » (brand/CHARTE.md)
   Plus Jakarta Sans 800 (titres) · Inter (texte)
   ============================================================ */
:root{
  --sapin:#15362A; --ambre:#E8A02E; --paille:#F3D9A4; --sable:#F6EFDD;
  --fond:#FAFAF6; --encre:#141B17; --blanc:#FFFFFF; --ok:#3DA83C; --alerte:#D6362F;
  --vert-doux:#D8E2D6; --ambre-fonce:#B4651A;
  --fs-display:clamp(34px,4.5vw,62px);
  --fs-h2:clamp(26px,3vw,40px);
  --fs-h3:clamp(19px,2vw,24px);
  --ombre-carte:6px 6px 0 rgba(21,54,42,.9);
  --ombre-btn:4px 4px 0 var(--encre);
  --radius:12px;
}
*{margin:0;padding:0;box-sizing:border-box}
img{max-width:100%;height:auto;display:block}
body{background:var(--fond);color:var(--encre);font:400 16px/1.6 Inter,system-ui,sans-serif}
h1,h2,h3,.display{font-family:'Plus Jakarta Sans',Inter,sans-serif;font-weight:800;line-height:1.08;letter-spacing:-.01em}
h1{font-size:var(--fs-display)}
h2{font-size:var(--fs-h2);margin-bottom:14px}
h3{font-size:var(--fs-h3);font-weight:700}
a{color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.eyebrow{font:700 12.5px/1 Inter;letter-spacing:.12em;text-transform:uppercase;color:var(--ambre-fonce);display:inline-block;margin-bottom:14px}
.on-dark .eyebrow{color:var(--paille)}
section{padding:72px 0}
.s-sable{background:var(--sable)}
.s-sapin{background:var(--sapin);color:#F4F2EC}
.lead{font-size:clamp(16px,1.4vw,18.5px);color:#3C4A42;max-width:640px}
.s-sapin .lead{color:var(--vert-doux)}

/* ---------- Header ---------- */
.topbar{background:var(--sapin);position:sticky;top:0;z-index:90;border-bottom:2px solid rgba(0,0,0,.25)}
.topbar .wrap{display:flex;align-items:center;gap:28px;padding-top:12px;padding-bottom:12px}
.topbar img.logo{height:52px;width:auto}
.nav{display:flex;gap:22px;margin-left:8px}
.nav a{color:#E9EFE8;font:600 14px Inter;text-decoration:none;padding:6px 2px;border-bottom:2px solid transparent}
.nav a:hover,.nav a.actif{color:#fff;border-bottom-color:var(--ambre)}
.top-cta{margin-left:auto}
.burger{display:none;margin-left:auto;background:none;border:2px solid #E9EFE8;border-radius:8px;color:#E9EFE8;font:700 13px Inter;padding:8px 12px;cursor:pointer}

/* ---------- Boutons & badges ---------- */
.btn{display:inline-block;font:700 15px Inter;padding:14px 26px;border-radius:8px;text-decoration:none;cursor:pointer;border:2px solid transparent;white-space:nowrap;transition:transform .12s ease,box-shadow .12s ease}
.btn-p{background:var(--ambre);color:#1B1405;box-shadow:var(--ombre-btn)}
.btn-p:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--encre)}
.btn-s{background:transparent;color:var(--sapin);border-color:var(--sapin)}
.btn-s:hover{background:var(--sapin);color:#fff}
.btn-sm{padding:11px 18px;font-size:13.5px;box-shadow:3px 3px 0 var(--encre)}
.s-sapin .btn-s{color:#F4F2EC;border-color:#F4F2EC}
.s-sapin .btn-s:hover{background:#F4F2EC;color:var(--sapin)}
.badge-row{display:flex;gap:10px;flex-wrap:wrap}
.badge{font:700 12.5px Inter;padding:8px 13px;background:var(--blanc);border:2px solid var(--encre);border-radius:8px;display:inline-flex;align-items:center;gap:6px}
.badge .pt{color:var(--ok);font-weight:800}
.stars{color:var(--ambre);letter-spacing:2px;font-size:15px}
.note-txt{font:600 13.5px Inter;color:#4A554E}

/* ---------- Hero accueil (split) ---------- */
.hero-home{background:var(--sable);border-bottom:2px solid var(--encre)}
.hero-flex{display:flex;align-items:center;gap:44px;padding:64px 0;flex-wrap:wrap}
.hero-copy{flex:1 1 400px;max-width:640px}
.hero-copy .badge-row{margin-top:26px}
.hero-visual{flex:0 1 400px;background:var(--blanc);border:2px solid var(--encre);border-radius:14px;box-shadow:8px 8px 0 var(--sapin);padding:20px;position:relative}
.hero-visual .tag-note{position:absolute;top:-16px;right:-14px;background:var(--sapin);color:var(--paille);font:800 14px 'Plus Jakarta Sans';padding:9px 14px;border-radius:8px;border:2px solid var(--encre);box-shadow:3px 3px 0 rgba(20,27,23,.85)}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:26px}

/* ---------- Hero pages intérieures (photo) ---------- */
.page-hero{position:relative;min-height:380px;display:flex;align-items:flex-end;background-size:cover;background-position:center;border-bottom:2px solid var(--encre)}
.page-hero .veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,27,23,.18) 0%,rgba(20,27,23,.78) 100%)}
.page-hero .wrap{position:relative;padding-top:70px;padding-bottom:44px}
.page-hero h1{color:#FFFDF8;text-shadow:0 2px 22px rgba(0,0,0,.5)}
.page-hero .lead{color:#F4EFE4;text-shadow:0 1px 12px rgba(0,0,0,.55)}
.page-hero .eyebrow{color:var(--paille);text-shadow:0 1px 10px rgba(0,0,0,.5)}
.fil{font:600 13px Inter;color:#5A665E;padding:14px 0 0}
.fil a{color:var(--ambre-fonce);text-decoration:none}

/* ---------- Cartes ---------- */
.carte{background:var(--blanc);border:2px solid var(--encre);border-radius:var(--radius);box-shadow:var(--ombre-carte)}
.grille{display:grid;gap:26px}
.g3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:760px){.g2{grid-template-columns:1fr}}
.carte-produit{overflow:hidden;display:flex;flex-direction:column;transition:transform .15s ease}
.carte-produit:hover{transform:translate(-2px,-2px)}
.carte-produit .ph{background:#fff;display:grid;place-items:center;padding:22px;min-height:240px;border-bottom:2px solid var(--encre)}
.carte-produit .ph img{max-height:230px;width:auto;object-fit:contain}
.carte-produit .corps{padding:20px 22px 24px;display:flex;flex-direction:column;gap:9px;flex:1}
.carte-produit .corps p{font-size:14.5px;color:#3C4A42}
.carte-produit .corps .cta-row{margin-top:auto;padding-top:8px}
.prix-note{display:flex;align-items:center;gap:9px}

/* ---------- Bénéfices / features ---------- */
.feat{padding:24px;display:flex;flex-direction:column;gap:8px}
.feat .ico{width:46px;height:46px;border-radius:9px;background:var(--sable);border:2px solid var(--encre);display:grid;place-items:center;font-size:21px}
.feat p{font-size:14.5px;color:#3C4A42}
.check-list{list-style:none;display:flex;flex-direction:column;gap:11px;font-size:15.5px}
.check-list li{padding-left:28px;position:relative}
.check-list li::before{content:"✓";position:absolute;left:0;top:0;color:var(--ok);font-weight:800}

/* ---------- Bande stats ---------- */
.stats-band{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:30px;text-align:center}
.stat b{display:block;font:800 clamp(30px,3.4vw,46px)/1 'Plus Jakarta Sans';color:var(--paille);margin-bottom:8px}
.stat span{font:600 14px Inter;color:var(--vert-doux)}

/* ---------- Avis ---------- */
.carte-avis{padding:24px;display:flex;flex-direction:column;gap:10px}
.carte-avis blockquote{font-size:15.5px;line-height:1.55}
.carte-avis .meta{font:600 12.5px Inter;color:#5A665E}
.carte-avis .produit-tag{font:700 11.5px Inter;text-transform:uppercase;letter-spacing:.08em;color:var(--ambre-fonce)}
.mur-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}
.mur-photos figure{border:2px solid var(--encre);border-radius:10px;overflow:hidden;background:#fff;box-shadow:4px 4px 0 rgba(21,54,42,.85);margin:0}
.mur-photos img{width:100%;height:190px;object-fit:cover}
.mur-photos figcaption{font:600 11.5px Inter;padding:8px 10px;color:#3C4A42;border-top:2px solid var(--encre);background:var(--blanc)}

/* ---------- Fiche produit ---------- */
.fiche-top{display:flex;gap:44px;flex-wrap:wrap;align-items:flex-start}
.galerie{flex:1 1 380px;max-width:520px;position:sticky;top:96px}
.galerie .principale{background:#fff;border:2px solid var(--encre);border-radius:14px;box-shadow:var(--ombre-carte);padding:18px;display:grid;place-items:center;min-height:380px}
.galerie .principale img{max-height:420px;width:auto;object-fit:contain}
.galerie .vignettes{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.galerie .vignettes button{width:76px;height:76px;border:2px solid var(--encre);border-radius:9px;background:#fff;cursor:pointer;padding:6px;display:grid;place-items:center}
.galerie .vignettes button.actif{outline:3px solid var(--ambre)}
.galerie .vignettes img{max-height:60px;width:auto;object-fit:contain}
.fiche-infos{flex:1 1 380px}
.fiche-infos .lead{margin:10px 0 4px}
.tbl{width:100%;border-collapse:collapse;font-size:14.5px;font-feature-settings:'tnum'}
.tbl th,.tbl td{text-align:left;padding:11px 14px;border:2px solid var(--encre)}
.tbl th{background:var(--sable);font:700 13px Inter}
.tbl tr:nth-child(even) td{background:#FBFAF5}
.tbl-scroll{overflow-x:auto}

/* ---------- FAQ ---------- */
.faq details{background:var(--blanc);border:2px solid var(--encre);border-radius:10px;margin-bottom:12px;box-shadow:4px 4px 0 rgba(21,54,42,.85)}
.faq summary{cursor:pointer;font:700 15.5px Inter;padding:17px 20px;list-style:none;display:flex;justify-content:space-between;gap:14px}
.faq summary::after{content:"+";font:800 20px/1 'Plus Jakarta Sans';color:var(--ambre-fonce)}
.faq details[open] summary::after{content:"–"}
.faq .rep{padding:0 20px 18px;font-size:14.5px;color:#3C4A42}

/* ---------- CTA band / footer ---------- */
.cta-band{text-align:center}
.cta-band h2{max-width:700px;margin:0 auto 14px}
.cta-band .cta-row{justify-content:center}
footer{background:var(--sapin);color:var(--vert-doux);padding:60px 0 30px;border-top:2px solid var(--encre)}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;margin-bottom:38px}
footer img.logo-f{height:74px;width:auto;margin-bottom:16px}
footer h4{font:800 13px 'Plus Jakarta Sans';text-transform:uppercase;letter-spacing:.1em;color:var(--paille);margin-bottom:14px}
footer a{color:var(--vert-doux);text-decoration:none;font-size:14.5px}
footer a:hover{color:#fff}
footer li{list-style:none;margin-bottom:9px}
footer .bas{border-top:1px solid rgba(216,226,214,.25);padding-top:20px;font-size:13px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.note-legale{font-size:12.5px;color:#8FA396}

/* ---------- Reveal sobre ---------- */
.rv{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

/* ---------- Responsive ---------- */
@media (max-width:920px){
  .nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--sapin);flex-direction:column;gap:0;padding:10px 20px 18px;border-bottom:2px solid var(--encre)}
  .nav.ouvert{display:flex}
  .nav a{padding:12px 2px;border-bottom:1px solid rgba(233,239,232,.15)}
  .burger{display:block}
  .top-cta{display:none}
  .galerie{position:static}
  footer .cols{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  section{padding:52px 0}
  .hero-flex{padding:44px 0}
  .hero-visual .tag-note{right:8px;top:-16px}
  .topbar img.logo{height:42px}
  footer .cols{grid-template-columns:1fr}
  .mur-photos{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
  .mur-photos img{height:150px}
}
