/* ============================================================
   Waldmann France — styles des pages produit
   ============================================================ */
:root{
  --rouge:#e41923;
  --rouge-fonce:#c01017;
  --noir:#16181b;
  --anthracite:#2a2d31;
  --texte:#43474c;
  --texte-doux:#6c7177;
  --gris-50:#f7f8f8;
  --gris-100:#efefef;
  --gris-200:#e9eaeb;
  --gris-300:#d9dbdd;
  --blanc:#ffffff;
  --max:1200px;
  font-size:16px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Archivo',Helvetica,Arial,sans-serif;color:var(--texte);background:var(--blanc);line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}

h1,h2,h3{font-weight:300;color:var(--noir);line-height:1.12;letter-spacing:-.01em}
h1{font-size:clamp(2rem,4vw,3.1rem)}
h2{font-size:clamp(1.6rem,2.8vw,2.2rem)}
h3{font-size:1.15rem;font-weight:600;letter-spacing:0}
strong{color:var(--noir);font-weight:600}
.accent{color:var(--rouge)}
.kicker{display:flex;align-items:center;gap:12px;font-size:.78rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--rouge);margin-bottom:16px}
.kicker::before{content:"";display:block;width:34px;height:2px;background:var(--rouge)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 30px;font-family:inherit;font-size:.95rem;font-weight:600;letter-spacing:.02em;border:none;cursor:pointer;transition:background .22s,color .22s,transform .22s}
.btn-rouge{background:var(--rouge);color:#fff}
.btn-rouge:hover{background:var(--rouge-fonce);transform:translateY(-2px)}
.btn-noir{background:var(--noir);color:#fff}
.btn-noir:hover{background:var(--anthracite)}
.btn-ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.55)}
.btn-ghost:hover{background:rgba(255,255,255,.12)}
.btn-contour{background:transparent;color:var(--noir);border:1px solid var(--gris-300)}
.btn-contour:hover{border-color:var(--noir)}
.btn .fleche{transition:transform .22s}
.btn:hover .fleche{transform:translateX(4px)}

/* ---------- header ---------- */
header{position:fixed;inset:0 0 auto 0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s}
header.scrolled{border-color:var(--gris-200);box-shadow:0 4px 24px rgba(22,24,27,.06)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:76px;max-width:var(--max);margin:0 auto;padding:0 24px}
.logo img{height:30px;width:auto}
nav.principal{display:flex;gap:34px}
nav.principal a{font-size:.92rem;font-weight:500;color:var(--anthracite);position:relative;padding:6px 0}
nav.principal a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--rouge);transition:width .25s}
nav.principal a:hover::after{width:100%}
.header-actions{display:flex;align-items:center;gap:22px}
.header-tel{font-size:.95rem;font-weight:600;color:var(--noir);display:flex;align-items:center;gap:8px}
.header-tel svg{width:16px;height:16px;fill:var(--rouge)}
.header-cta{padding:11px 22px;font-size:.88rem}

/* ---------- fil d'ariane ---------- */
.fil{padding:100px 0 0;font-size:.82rem;color:var(--texte-doux)}
.fil a:hover{color:var(--rouge)}
.fil span{margin:0 8px;color:var(--gris-300)}

/* ---------- bloc produit ---------- */
.produit-hero{padding:28px 0 90px}
.produit-grille{display:grid;grid-template-columns:1.05fr 1fr;gap:60px;align-items:start}
.galerie-principale{background:var(--blanc);border:1px solid var(--gris-200);height:480px;display:flex;align-items:center;justify-content:center;padding:32px;position:relative}
.galerie-principale img{max-width:82%;max-height:88%;width:auto;height:auto;object-fit:contain;transition:opacity .25s}
.badge-nouveau{position:absolute;top:16px;left:16px;background:var(--rouge);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:6px 12px}
.galerie-vignettes{display:flex;gap:12px;margin-top:14px;flex-wrap:wrap}
.galerie-vignettes button{width:86px;height:74px;background:var(--blanc);border:1px solid var(--gris-200);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:8px;transition:border-color .2s}
.galerie-vignettes button img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.galerie-vignettes button:hover{border-color:var(--texte-doux)}
.galerie-vignettes button.active{border-color:var(--rouge);border-width:2px}

.info-produit h1{margin-bottom:10px}
.ligne-spec{font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--rouge);margin-bottom:18px}
.info-produit .pitch{font-size:1.08rem;color:var(--texte);margin-bottom:24px}
ul.points{list-style:none;margin-bottom:28px}
ul.points li{position:relative;padding:6px 0 6px 30px;font-size:.95rem}
ul.points li::before{content:"";position:absolute;left:0;top:13px;width:16px;height:9px;border-left:2.5px solid var(--rouge);border-bottom:2.5px solid var(--rouge);transform:rotate(-45deg)}
.prix-bloc{display:flex;align-items:baseline;gap:14px;padding:18px 0;border-top:1px solid var(--gris-200);border-bottom:1px solid var(--gris-200);margin-bottom:26px}
.prix-bloc .prix{font-size:1.25rem;font-weight:600;color:var(--noir);white-space:nowrap;flex-shrink:0}
.prix-bloc .note{font-size:.85rem;color:var(--texte-doux)}
.cta-rangee{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:22px}
.mini-trust{display:flex;gap:22px;flex-wrap:wrap;font-size:.8rem;color:var(--texte-doux)}
.mini-trust div{display:flex;align-items:center;gap:7px}
.mini-trust svg{width:14px;height:14px;fill:var(--rouge);flex-shrink:0}

/* ---------- sections ---------- */
section.bloc{padding:90px 0}
.bloc-gris{background:var(--gris-50)}
.section-head{max-width:720px;margin-bottom:48px}
.section-head p{margin-top:14px;color:var(--texte-doux)}

/* ---------- features ---------- */
.feature-row{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding:44px 0;border-top:1px solid var(--gris-200)}
.feature-row:first-of-type{border-top:none;padding-top:0}
.feature-row .visuel{background:var(--gris-50);border:1px solid var(--gris-200);min-height:320px;display:flex;align-items:center;justify-content:center;padding:24px;overflow:hidden}
.feature-row .visuel img{max-height:340px;width:auto;max-width:100%;object-fit:contain}
.feature-row .visuel.plein{padding:0;background:var(--noir)}
.feature-row .visuel.plein img{width:100%;height:100%;max-height:380px;object-fit:cover}
.feature-row:nth-of-type(even) .visuel{order:2}
.feature-row h3{font-size:1.4rem;font-weight:600;margin-bottom:14px}
.feature-row p{color:var(--texte-doux)}

/* ---------- caractéristiques ---------- */
table.specs{width:100%;border-collapse:collapse;background:var(--blanc);border:1px solid var(--gris-200)}
table.specs th,table.specs td{text-align:left;padding:15px 20px;font-size:.93rem;vertical-align:top}
table.specs th{width:34%;font-weight:600;color:var(--noir);background:var(--gris-50);border-right:1px solid var(--gris-200)}
table.specs tr+tr th,table.specs tr+tr td{border-top:1px solid var(--gris-200)}

/* ---------- variantes ---------- */
.variantes{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}
.variante{background:var(--blanc);border:1px solid var(--gris-200);border-top:3px solid var(--rouge);padding:24px}
.variante h4{font-size:1rem;font-weight:600;color:var(--noir);margin-bottom:8px}
.variante p{font-size:.87rem;color:var(--texte-doux)}

/* ---------- bande CTA ---------- */
.cta-bande{background:var(--noir);color:#fff;padding:80px 0}
.cta-bande .inner{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}
.cta-bande h2{color:#fff;max-width:560px}
.cta-bande p{color:rgba(255,255,255,.7);margin-top:10px}
.cta-bande .boutons{display:flex;gap:14px;flex-wrap:wrap}

/* ---------- footer ---------- */
footer{background:#0d0f12;color:rgba(255,255,255,.6);padding:54px 0 40px;font-size:.85rem}
.footer-haut{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;align-items:flex-start;padding-bottom:32px;border-bottom:1px solid rgba(255,255,255,.12)}
.footer-haut img{height:26px;width:auto;filter:brightness(0) invert(1);opacity:.9}
.footer-haut address{font-style:normal;line-height:1.8}
.footer-bas{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:26px}
.footer-bas nav{display:flex;gap:26px;flex-wrap:wrap}
.footer-bas a:hover{color:#fff}

/* ---------- cookies ---------- */
.cookies{position:fixed;bottom:20px;left:20px;right:20px;max-width:480px;background:var(--blanc);border:1px solid var(--gris-200);box-shadow:0 18px 60px rgba(13,15,18,.25);padding:26px 28px;z-index:200;display:none}
.cookies.visible{display:block}
.cookies p{font-size:.85rem;color:var(--texte-doux);margin-bottom:18px}
.cookies p a{text-decoration:underline}
.cookies-boutons{display:flex;gap:12px}
.cookies-boutons .btn{padding:11px 20px;font-size:.85rem;flex:1}
.btn-gris{background:var(--gris-100);color:var(--noir)}
.btn-gris:hover{background:var(--gris-200)}

/* ---------- barre mobile ---------- */
.barre-mobile{display:none;position:fixed;bottom:0;left:0;right:0;z-index:150;background:var(--blanc);border-top:1px solid var(--gris-200);box-shadow:0 -6px 24px rgba(13,15,18,.1)}
.barre-mobile a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:15px 10px;font-size:.9rem;font-weight:600}
.barre-mobile .tel{color:var(--noir)}
.barre-mobile .devis{background:var(--rouge);color:#fff}

/* ---------- mouvement réduit ---------- */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *{transition:none !important;animation:none !important}
}

/* ---------- responsive ---------- */
@media(max-width:1024px){
  nav.principal{display:none}
  .header-tel span{display:none}
  .produit-grille{grid-template-columns:1fr;gap:36px}
  .galerie-principale{height:400px}
}
@media(max-width:680px){
  section.bloc{padding:64px 0}
  .produit-hero{padding-bottom:64px}
  .galerie-principale{height:320px}
  .feature-row{grid-template-columns:1fr;gap:24px;padding:32px 0}
  .feature-row:nth-of-type(even) .visuel{order:0}
  .header-cta{display:none}
  .barre-mobile{display:flex}
  body{padding-bottom:54px}
  .cookies{bottom:66px}
  table.specs th{width:42%}
}
