/* ============================================================
   ARGANE \002014 Carte produit (composant partag\0000e9)
   ------------------------------------------------------------
   Source UNIQUE de la carte produit. Identique sur la page
   Produits (.prod-card / .pc-*) et les pages gamme
   (.range-card / .range-*). Fond clair (paper).
   ============================================================ */
.range-card,
.prod-card{
  display:flex;
  flex-direction:column;
  border-radius:8px;
  overflow:hidden;
  background:var(--paper-warm);
  border:1px solid var(--forge-08);
}
.range-card[hidden],
.prod-card[hidden]{display:none;}
.range-card.is-link,
.prod-card.is-link{transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; text-decoration:none; color:inherit;}
.range-card.is-link:hover,
.prod-card.is-link:hover{transform:translateY(-5px); box-shadow:0 20px 44px rgba(8,31,44,0.12);}
.range-card.featured,
.prod-card.featured{border-color:var(--braise); box-shadow:0 0 0 1px var(--braise);}

.range-img,
.pc-img{position:relative; aspect-ratio:4/3; overflow:hidden; background:linear-gradient(135deg,var(--acier),var(--ardoise-brut));}.range-img.is-cutout,
.pc-img.is-cutout{background:linear-gradient(135deg,var(--acier),var(--ardoise-brut));}
.range-shot,
.pc-shot{position:absolute; inset:0; width:100%; height:100%; object-fit:contain; padding:6% 5%;}

/* ModÃ¨le sans rendu 3D disponible : emplacement vide, sobre. */
.pc-img-empty{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; text-align:center; padding:0 20px; font-family:var(--ff-mono); font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--paper); opacity:0.5;}

/* Technologie de coupe (Rotor/Disque) : lecture immÃ©diate sur la vignette */
.tech-tag{position:absolute; z-index:2; left:10px; bottom:10px; display:inline-flex; align-items:center; gap:6px; padding:5px 9px; border-radius:8px; font-family:var(--ff-mono); font-size:10px; font-weight:500; letter-spacing:0.12em; text-transform:uppercase; color:var(--paper); background:rgba(8,31,44,0.55); border:1px solid rgba(250,250,250,0.18); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);}
.tech-tag::before{content:""; width:6px; height:6px; border-radius:50%; background:var(--paper); opacity:0.55;}
.tech-tag.is-disque::before{background:var(--braise); opacity:1;}

.range-flag,
.pc-flag{position:absolute; z-index:2; top:12px; left:12px; font-family:var(--ff-body); font-size:10px; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; color:var(--paper); background:var(--braise); padding:5px 10px; border-radius:8px;}
/* Une seule couleur d'accent pour tous les badges (Best-seller \0000b7 Premium \0000b7 Nouveaut\0000e9) :
   trois couleurs distinctes diluaient la priorit\0000e9 visuelle sur la grille produits. */
.range-flag.is-bestseller,
.pc-flag.is-bestseller,
.range-flag.is-premium,
.pc-flag.is-premium,
.range-flag.is-new,
.pc-flag.is-new{background:var(--braise);}

/* Valeur technique en attente de validation client */
.range-spec b.tbd,
.pc-spec b.tbd{color:var(--ardoise); font-weight:500; font-size:12px; font-style:italic; letter-spacing:0;}
.range-chassis span.tbd,
.pc-chassis span.tbd{color:var(--ardoise); font-style:italic; background:transparent; border:1px dashed var(--forge-15); padding:5px 9px;}

.range-body,
.pc-body{padding:20px; display:flex; flex-direction:column; gap:9px; flex:1;}

.range-card .pos,
.prod-card .pc-pos{font-family:var(--ff-body); font-size:10px; letter-spacing:0.16em; text-transform:uppercase; color:var(--acier);}

.range-card h3,
.prod-card .pc-name{font-family:var(--ff-display); font-weight:500; font-size:26px; letter-spacing:-0.02em; line-height:1; color:var(--forge); margin:0;}

.range-spec,
.pc-spec{display:flex; gap:22px; margin-top:4px;}
.range-spec small,
.pc-spec small{display:block; font-family:var(--ff-body); font-size:9.5px; letter-spacing:0.12em; text-transform:uppercase; color:var(--ardoise); margin-bottom:4px;}
.range-spec b,
.pc-spec b{font-family:var(--ff-body); font-weight:600; font-size:15px; color:var(--forge);}

.range-chassis,
.pc-chassis{display:flex; flex-wrap:wrap; gap:6px; margin-top:auto; padding-top:14px;}
.range-chassis span,
.pc-chassis span{font-family:var(--ff-body); font-size:11px; color:var(--acier); background:var(--forge-08); border:0; border-radius:8px; padding:5px 9px;}

/* Pied de carte : un simple lien texte, pas un bouton plein â la carte
   entiÃ¨re est dÃ©jÃ  cliquable, un bouton en plus dilue la prioritÃ© visuelle
   quand plusieurs accents Braise se rÃ©pÃ¨tent sur un mÃªme Ã©cran. */
.range-foot,
.pc-foot{margin-top:14px; padding-top:14px; border-top:1px solid var(--forge-08); font-family:var(--ff-body); font-size:12.5px; font-weight:500; display:flex; align-items:center; gap:8px; color:var(--forge); transition:color .2s ease;}
.range-card.is-link:hover .range-foot,
.prod-card.is-link:hover .pc-foot{color:var(--braise);}
.range-card.is-link .range-foot svg,
.prod-card.is-link .pc-foot svg{width:16px; height:16px; transition:transform .25s ease;}
.range-card.is-link:hover .range-foot svg,
.prod-card.is-link:hover .pc-foot svg{transform:translateX(5px);}
.range-foot.muted,
.pc-foot.muted{color:var(--ardoise); font-weight:400; font-style:italic;}

/* Configurations listÃ©es dans une carte de rÃ©sultat (configurateur balayeuses) */
.pc-versions{list-style:none; margin:12px 0 0; padding:12px 0 0; border-top:1px solid var(--forge-08); display:flex; flex-direction:column; gap:7px;}
.pc-versions li{position:relative; padding-left:14px; font-family:var(--ff-body); font-size:13px; line-height:1.45; color:var(--acier); text-wrap:pretty;}
.pc-versions li::before{content:""; position:absolute; left:0; top:.55em; width:6px; height:1px; background:var(--braise);}
.reco-models{opacity:.55; font-weight:400;}
