/* ============================================================
   FD — Styles de pages (accueil, catégorie, fiche, panier)
   ============================================================ */

/* ---------- HERO ---------- */
.fd-hero{display:grid;grid-template-columns:1.02fr .98fr;border-bottom:1px solid var(--fd-line);min-height:min(640px,80vh)}
.fd-hero__copy{padding:var(--fd-s10) var(--fd-s8) var(--fd-s10) 0;display:flex;flex-direction:column;justify-content:center}
.fd-hero__kick{display:inline-block;width:max-content;background:var(--fd-ink);color:var(--fd-yellow);font-family:var(--fd-font-mono);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:6px 10px;margin-bottom:var(--fd-s6)}
.fd-hero h1{font-family:var(--fd-font-display);font-size:var(--fd-fs-3xl);line-height:.86;text-transform:uppercase;letter-spacing:-.035em;margin:0}
.fd-hero h1 .fd-hl{background:var(--fd-yellow);padding:0 8px;display:inline-block;transform:rotate(-1deg)}
.fd-hero__lead{margin-top:var(--fd-s5);max-width:420px;font-size:15px;line-height:1.6;color:var(--fd-ink-soft)}
.fd-hero__cta{display:flex;gap:var(--fd-s3);margin-top:var(--fd-s7);flex-wrap:wrap}
.fd-hero__visual{position:relative;background:var(--fd-blue);border-left:1px solid var(--fd-line);display:grid;place-items:center;overflow:hidden}
.fd-hero__visual::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent 0 24px,rgba(255,255,255,.055) 24px 48px)}
.fd-hero__bgtype{position:absolute;top:-10px;left:-12px;font-family:var(--fd-font-display);font-size:clamp(160px,22vw,280px);line-height:1;color:rgba(255,255,255,.13);letter-spacing:-.05em;user-select:none;pointer-events:none}
.fd-hero__visual img{width:76%;height:78%;object-fit:contain;position:relative;z-index:2;filter:drop-shadow(0 30px 50px rgba(0,0,0,.45))}
.fd-hero__sticker{position:absolute;z-index:3;top:38px;right:36px;background:var(--fd-yellow);border:1px solid var(--fd-line);padding:14px 18px;font-family:var(--fd-font-display);font-size:18px;line-height:1;transform:rotate(-6deg);box-shadow:6px 6px 0 var(--fd-ink);text-align:center}
.fd-hero__sticker span{display:block;font-family:var(--fd-font-mono);font-size:9px;font-weight:700;letter-spacing:.14em;margin-top:5px}
.fd-hero__meta{position:absolute;bottom:30px;left:32px;z-index:3;color:#fff;font-family:var(--fd-font-mono);font-size:10px;letter-spacing:.12em;line-height:2}
.fd-hero__meta b{display:block;font-family:var(--fd-font-display);font-size:20px;letter-spacing:0}

/* ---------- GRILLES ---------- */
.fd-grid{display:grid;gap:var(--fd-s4)}
.fd-grid--products{grid-template-columns:repeat(4,1fr)}
.fd-grid--3{grid-template-columns:repeat(3,1fr)}
.fd-grid--2{grid-template-columns:repeat(2,1fr)}
/* Écartement produit : spécificité supérieure pour ne pas être écrasé par .fd-grid. */
.fd-grid.fd-grid--products{gap:18px}
@media (max-width:900px){ .fd-grid.fd-grid--products{gap:14px} }
@media (max-width:560px){ .fd-grid.fd-grid--products{gap:12px} }

/* ---------- EN-TÊTE DE SECTION ---------- */
.fd-sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--fd-s5);border-bottom:1px solid var(--fd-line);padding-bottom:var(--fd-s3);margin-bottom:var(--fd-s6)}
.fd-sec-head h2{font-family:var(--fd-font-display);font-size:var(--fd-fs-2xl);text-transform:uppercase;letter-spacing:-.03em;line-height:.95;margin:0}
.fd-sec-head h2 em{font-style:normal;background:var(--fd-yellow);padding:0 8px}
.fd-sec-head__link{font-family:var(--fd-font-mono);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;border:1px solid var(--fd-line);padding:8px 12px;box-shadow:var(--fd-shadow-hard-sm);background:#fff;white-space:nowrap}
.fd-sec-head__link:hover{background:var(--fd-ink);color:#fff}

/* ---------- BLOC 2 ACHETÉS = 1 OFFERT ACCUEIL ---------- */
.fd-bundle-hero{background:var(--fd-yellow);border-block:1px solid var(--fd-line);padding:var(--fd-s9) 0;position:relative;overflow:hidden}
.fd-bundle-hero::after{content:"2=1";position:absolute;right:-30px;bottom:-90px;font-family:var(--fd-font-display);font-size:300px;line-height:1;color:#000;opacity:.055;pointer-events:none}
.fd-bundle-hero__inner{display:grid;grid-template-columns:1fr 1fr;gap:var(--fd-s9);align-items:center;position:relative;z-index:2}
.fd-bundle-hero h2{font-family:var(--fd-font-display);font-size:var(--fd-fs-2xl);line-height:.86;text-transform:uppercase;letter-spacing:-.035em;margin:0}
.fd-bundle-hero h2 em{font-style:normal;background:var(--fd-ink);color:var(--fd-yellow);padding:0 10px}
.fd-bundle-hero p{margin-top:var(--fd-s4);max-width:380px;font-size:14.5px;line-height:1.6;color:var(--fd-ink-soft)}

/* ---------- BANDES CLUBS ---------- */
.fd-clubs{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--fd-s3)}
.fd-club{border:1px solid var(--fd-line);aspect-ratio:2.2/1;display:grid;place-items:center;text-align:center;padding:8px;font-family:var(--fd-font-display);font-size:11px;text-transform:uppercase;background:#fff;box-shadow:var(--fd-shadow-hard-sm);transition:transform var(--fd-t-fast) var(--fd-ease),box-shadow var(--fd-t-fast) var(--fd-ease),background var(--fd-t-fast),color var(--fd-t-fast)}
.fd-club:hover{background:var(--fd-ink);color:#fff;transform:translate(2px,2px);box-shadow:none}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1100px){
  .fd-grid--products{grid-template-columns:repeat(2,1fr)}
  .fd-clubs{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:1024px){
  .fd-hero{grid-template-columns:1fr}
  .fd-hero__copy{padding:var(--fd-s8) 0}
  .fd-hero__visual{min-height:360px;border-left:0;border-top:1px solid var(--fd-line)}
  .fd-bundle-hero__inner{grid-template-columns:1fr;gap:var(--fd-s6)}
  .fd-grid--3{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .fd-grid--products,.fd-grid--3{grid-template-columns:1fr 1fr}
  .fd-hero__sticker{width:96px;padding:10px;font-size:15px}
}
