/* ============================================================
   ARGANE â Durcissement du systÃ¨me (chargÃ© APRÃS les autres CSS)
   ------------------------------------------------------------
   Port fidÃ¨le de components/argane-refine.css (maquette). Ãchelle
   de rayons, Ã©chelle d'Ã©lÃ©vation teintÃ©e Forge, chiffres
   tabulaires, anneaux de focus, plancher typographique, reset
   prefers-reduced-motion. SÃ©lecteurs doublÃ©s (.x.x) pour passer
   devant les feuilles de page sans !important â cette feuille doit
   donc rester la DERNIÃRE enfilÃ©e (voir functions.php::argane_assets()).
   ============================================================ */
:root{
  /* Rayons â Ã©chelle unique (5 crans, plus 999px pour les pilules) */
  --r-xs:4px;
  --r-sm:8px;
  --r-md:12px;
  --r-lg:16px;
  --r-xl:22px;
  /* Texte sur Forge â 3 niveaux, pas plus */
  --ink-1:rgba(250,250,250,0.88);
  --ink-2:rgba(250,250,250,0.62);
  --ink-3:rgba(250,250,250,0.38);
  --steel:#8FA0B3;
  --elev-1:0 1px 2px rgba(8,31,44,0.06), 0 2px 6px rgba(8,31,44,0.05);
  --elev-2:0 2px 4px rgba(8,31,44,0.07), 0 14px 30px rgba(8,31,44,0.09);
}

/* ---- Rayons : une seule Ã©chelle ---- */.prod-card.prod-card,.t6-card.t6-card,.tech.tech,.prod-filters.prod-filters,.cmp-wrap.cmp-wrap,.hm-fig.hm-fig,.fam-card.fam-card,.g-slide.g-slide,.lead-form.lead-form{border-radius:var(--r-md);}.pc-img.pc-img,.t6-media.t6-media,.tech-img.tech-img,.po-opt.po-opt,.field input,.field textarea,.field select{border-radius:var(--r-sm);}.pc-flag.pc-flag,.po-chip.po-chip{border-radius:var(--r-xs);}

/* ---- ÃlÃ©vation : neutre, teintÃ©e Forge, jamais colorÃ©e ---- */.prod-card.prod-card:hover{box-shadow:var(--elev-2);}

/* ---- Chiffres tabulaires partout oÃ¹ il y a de la donnÃ©e ---- */.pc-spec b,.pc-spec small,.po-opt-count,.spec-row2 dd,.keyspecs-row li,table.cmp td,table.cmp th,.fam-detail .spec-row{font-variant-numeric:tabular-nums;}

/* ---- Focus visible cohÃ©rent sur tout le site ---- */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:2px solid var(--braise);
  outline-offset:3px;
  border-radius:2px;
}

/* ---- Rails : indicateur de progression ---- */
.arg-rail-wrap{position:relative;}
.arg-rail-bar{
  position:relative;
  height:2px;
  margin:clamp(18px,2vw,26px) var(--gutter) 0;
  background:rgba(250,250,250,0.14);
  border-radius:2px;
  overflow:hidden;
}
.arg-rail-bar > i{
  position:absolute;
  top:0; left:0; bottom:0;
  display:block;
  width:20%;
  background:var(--braise);
  border-radius:2px;
  opacity:0;
  transform:translateX(0);
  transition:transform .12s linear, width .2s ease;
}
.arg-rail-bar.is-on > i{opacity:1;}
.on-light .arg-rail-bar,.arg-rail-bar.on-light{background:rgba(8,31,44,0.12);}

/* ---- Visuels dÃ©tourÃ©s : fond clair + contain ---- */
.range-img.is-cutout,
.pc-img.is-cutout{background:linear-gradient(135deg,var(--acier),var(--ardoise-brut));}
.range-img.is-cutout .range-shot,
.pc-img.is-cutout .pc-shot{padding:6% 5%;}
.pc-shot,.range-shot{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:6% 5%;}

/* ---- Technologie de coupe : lecture immÃ©diate rotor / disque ---- */
.tech-tag{position:absolute;z-index:2;right:10px;bottom:10px;display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:var(--r-xs);
  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{background:var(--braise);border-color:var(--braise);}
.tech-tag.is-disque::before{background:#fff;opacity:1;}

/* ---- CTA de carte devenu lien ---- */
.range-foot.as-link{display:inline-flex;align-items:center;gap:8px;color:var(--braise);transition:gap .2s ease;}
.range-foot.as-link svg{width:20px;height:20px;}
.range-foot.as-link:hover{gap:12px;}

/* ---- SÃ©lecteur de mobilitÃ© (fiche produit) ---- */
#versions .pdp-block-title{max-width:none;}
.mob{width:100%;}
.mob-ctrl{margin-top:clamp(24px,2.8vw,36px);justify-content:center;}
.mob-tabs{display:flex;justify-content:center;align-items:flex-end;gap:clamp(26px,3.4vw,56px);margin:clamp(24px,2.8vw,36px) 0 0;padding-bottom:14px;border-bottom:1px solid var(--forge-15);overflow-x:auto;scrollbar-width:none;}
.mob-tabs::-webkit-scrollbar{display:none}
.mob-tabs button{flex:0 0 auto;padding:0 0 14px;margin-bottom:-15px;border:0;border-bottom:1px solid transparent;background:transparent;
  font-family:var(--ff-display);font-weight:500;font-size:clamp(19px,2vw,28px);letter-spacing:-0.02em;line-height:1.1;color:var(--forge-25,rgba(8,31,44,0.26));
  transition:color .25s ease,border-color .25s ease;white-space:nowrap;}
.mob-tabs button{cursor:pointer;}
.mob-tabs button:hover{color:var(--ardoise);}
.mob-tabs button.sel{color:var(--forge);border-bottom-color:var(--forge);}
.mob-panel{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(28px,3.4vw,52px);align-items:center;margin-top:clamp(28px,3.4vw,48px);}
.mob-media{position:relative;aspect-ratio:16/10;overflow:hidden;background:transparent;display:grid;place-items:center;}
.mob-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;}
.mob-nophoto{font-family:var(--ff-mono);font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--ardoise);text-align:center;padding:0 20px;}
.mob-data{margin:0;font-variant-numeric:tabular-nums;}
.mob-row{display:grid;grid-template-columns:1fr auto;gap:12px 24px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--forge-15);}
.mob-row:first-child{border-top:1px solid var(--forge-15);}
.mob-row dt{font-family:var(--ff-body);font-size:13px;color:var(--ardoise);}
.mob-row dd{margin:0;font-family:var(--ff-body);font-size:16px;font-weight:500;color:var(--forge);text-align:right;}@media (max-width:760px){.mob-panel{grid-template-columns:1fr;}.mob-tabs{gap:24px;}}

/* ---- Fiche produit : le visuel descend pour dÃ©gager le nom en filigrane ---- */
.hm-showcase .shot{margin-top:clamp(104px,13vw,214px);}@media (max-width:640px){.hm-showcase .shot{margin-top:clamp(62px,17vw,124px);}}

/* ============================================================
   HIÃRARCHIE DES CTA â un seul primaire par vue
   ------------------------------------------------------------
   Les cartes produit portaient chacune un bouton plein Braise :
   dix accents par Ã©cran, donc aucune prioritÃ© lisible. La carte
   entiÃ¨re est dÃ©jÃ  cliquable ; le pied redevient un lien.
   ============================================================ */
.range-card.is-link .range-foot.range-foot,
.prod-card.is-link .pc-foot.pc-foot,
.prod-shell .prod-card.is-link .pc-foot.pc-foot{
  border:0;border-radius:0;background:transparent;box-shadow:none;
  width:auto;align-self:stretch;justify-content:flex-start;
  margin-top:16px;padding:14px 0 0;
  border-top:1px solid rgba(250,250,250,0.10);
  font-family:var(--ff-mono, "DM Mono", ui-monospace, monospace);
  font-weight:500;font-size:12px;line-height:1;letter-spacing:0.06em;text-transform:uppercase;
  color:var(--ink-2);
  transition:color .2s ease;
}
.range-card.is-link:hover .range-foot.range-foot,
.prod-card.is-link:hover .pc-foot.pc-foot,
.prod-shell .prod-card.is-link:hover .pc-foot.pc-foot{background:transparent;border-color:rgba(250,250,250,0.22);box-shadow:none;color:var(--paper);}
.range-card.is-link .range-foot svg,
.prod-card.is-link .pc-foot svg{margin-left:auto;color:var(--braise);opacity:0;transform:translateX(-6px);transition:opacity .2s ease,transform .2s ease;}
.range-card.is-link:hover .range-foot svg,
.prod-card.is-link:hover .pc-foot svg{opacity:1;transform:none;}
/* Fond clair (pages gamme) */
.on-light .range-card.is-link .range-foot,.on-light .prod-card.is-link .pc-foot{border-top-color:var(--forge-15);color:var(--acier);}
.on-light .range-card.is-link:hover .range-foot,.on-light .prod-card.is-link:hover .pc-foot{color:var(--forge);border-top-color:var(--forge);}

/* ============================================================
   BADGES DE CARTE â une forme, deux natures
   ------------------------------------------------------------
   Commercial (best-seller, premium, nouveautÃ©) : Braise, en haut.
   Technique (rotor, disque) : neutre, en bas. MÃªme gÃ©omÃ©trie.
   ============================================================ */
.range-flag.range-flag,.pc-flag.pc-flag{
  top:10px;left:10px;
  padding:5px 9px;border-radius:var(--r-xs);
  font-family:var(--ff-mono, "DM Mono", ui-monospace, monospace);
  font-size:10px;font-weight:500;letter-spacing:0.12em;
  background:var(--braise);color:#fff;border:1px solid var(--braise);
}
.range-flag.is-premium,.pc-flag.is-premium,
.range-flag.is-new,.pc-flag.is-new{background:var(--braise);border-color:var(--braise);}
.tech-tag.tech-tag{
  right:auto;left:10px;bottom:10px;
  padding:5px 9px;border-radius:var(--r-xs);
  font-size:10px;letter-spacing:0.12em;
  background:rgba(8,31,44,0.55);border:1px solid rgba(250,250,250,0.18);color:var(--paper);
}
.tech-tag.is-disque.is-disque{background:rgba(8,31,44,0.55);border-color:rgba(250,250,250,0.18);}
.tech-tag.is-disque.is-disque::before{background:var(--braise);opacity:1;}

/* ============================================================
   QUALIFICATIF DE CARTE â sous le nom, plus au-dessus
   (rÃ¨gle projet : aucun libellÃ© en capitales au-dessus d'un titre)
   ============================================================ */
.range-card .range-body,.prod-card .pc-body{position:relative;}
.range-card .pos,.prod-card .pc-pos{order:2;margin-top:-4px;}
.range-card h3,.prod-card .pc-name{order:1;}
.range-card .range-spec,.prod-card .pc-spec{order:3;}
.range-card .range-chassis,.prod-card .pc-chassis{order:4;}
.range-card .range-foot,.prod-card .pc-foot{order:5;}

/* ============================================================
   CIBLES TACTILES â 44px minimum sur tout ce qui se touche
   ============================================================ */
.cmp-pick.cmp-pick{min-height:44px;min-width:44px;padding-inline:10px;}
/* Pied de page : zone tactile portÃ©e par un pseudo-Ã©lÃ©ment dÃ©bordant â
   l'interligne des colonnes reste celui du design. */
.site-footer a:not(.btn){position:relative;}
.site-footer a:not(.btn)::after{content:"";position:absolute;left:0;right:0;top:50%;height:44px;transform:translateY(-50%);}
button.clear,.clear{min-height:44px;min-width:44px;}
.ni-pill{min-height:44px;display:inline-flex;align-items:center;}
.po-chip,.pf-chip{min-height:44px;display:inline-flex;align-items:center;}
/* Barre utilitaire, fil d'Ariane, en-tÃªtes de comparatif : cibles Ã©largies
   par le padding, la taille de texte reste inchangÃ©e. */
.util-right a,.menu-bottom-right a,.breadcrumb a{position:relative;}
.util-right a::after,.menu-bottom-right a::after,.breadcrumb a::after{content:"";position:absolute;left:0;right:0;top:50%;height:44px;transform:translateY(-50%);}
.cmp-model-link{display:inline-flex;align-items:center;min-height:44px;}
.menu-trigger,.menu-close{min-height:44px;}

/* ============================================================
   RYTHME VERTICAL â pas de double intervalle sans rupture de fond
   ------------------------------------------------------------
   .is-stacked est posÃ©e par assets/js/components/argane-rhythm.js sur
   toute section qui suit une section de mÃªme couleur de fond.
   ============================================================ */
section.is-stacked{padding-top:clamp(16px,1.7vw,28px);}
section.is-stacked.intro-statement,section.is-stacked.families,section.is-stacked.guide,
section.is-stacked.news,section.is-stacked.jobs,section.is-stacked.craft,
section.is-stacked.sec,section.is-stacked.pdp-section{padding-top:clamp(16px,1.7vw,28px);}

/* ============================================================
   TABLEAUX COMPARATIFS â mÃªmes tags que les cartes produit
   ============================================================ */
table.cmp .row-tag,table.cmp .row-tag.is-premium,table.cmp .row-tag.is-new{
  display:inline-block;margin-left:10px;vertical-align:middle;
  padding:5px 9px;border-radius:var(--r-xs);
  font-family:var(--ff-mono, "DM Mono", ui-monospace, monospace);
  font-size:10px;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;
  background:var(--braise);color:#fff;border:1px solid var(--braise);
}
table.cmp .pos-cell{font-size:12px;color:var(--ink-2);}
.cmp-note{color:var(--ink-2);}
.cmp-wrap{border-radius:var(--r-sm);}

/* Barre de dÃ©filement horizontale visible sur les tableaux comparatifs/
   configurations â sans elle, rien n'indique qu'il y a plus de colonnes
   Ã  droite sur les Ã©crans Ã©troits. */
.cmp-wrap{scrollbar-width:thin; scrollbar-color:var(--ardoise) transparent;}
.cmp-wrap::-webkit-scrollbar{height:8px;}
.cmp-wrap::-webkit-scrollbar-track{background:transparent;}
.cmp-wrap::-webkit-scrollbar-thumb{background:var(--ardoise); border-radius:4px;}
.cmp-wrap::-webkit-scrollbar-thumb:hover{background:var(--braise);}

/* Champ masquÃ© par [hidden] : .field{display:flex} gagnait sur la rÃ¨gle UA */
.field[hidden]{display:none;}


/* ============================================================
   PLANCHER TYPOGRAPHIQUE â micro-libellÃ©s
   ------------------------------------------------------------
   Plancher unique Ã  12px, interlettrage plafonnÃ© Ã  0.12em.
   SÃ©lecteurs doublÃ©s pour passer devant les feuilles de page sans
   !important. Liste Ã©tendue avec les classes propres au thÃ¨me
   (.search-submit, .browse-head h2 em, .no-results, etc. relÃ¨vent
   des tokens --fs-*, corrigÃ©s dans les feuilles de page concernÃ©es,
   pas ici).
   ============================================================ */
.eyebrow.eyebrow,.eyebrow.eyebrow .num,
.util-lang.util-lang,.util .lang.lang,.util-right.util-right > a,
.menu-bottom-right.menu-bottom-right,
.menu-primary li a .num,.menu-fam-label.menu-fam-label,.menu-fam .num,.menu-fam-cap.menu-fam-cap,.menu-fam small,
.mm-group-label.mm-group-label,.mm-ref.mm-ref,.mm-cap.mm-cap,.mm-preview-cap.mm-preview-cap,
.foot-col .label,.foot-col-newsletter .label,.foot-col details > summary,.foot-identity .signature,
.news-card .fig .lab,.news-card .meta .cat,
.guide-step .label,.guide-step .label .num,.guide-progress-mobile .m-num,
.recap-modify.recap-modify,.guide-result h4,.guide-sumrow dt,.step-optional.step-optional,
.fo-facet-label.fo-facet-label,.fo-opt-count.fo-opt-count,
.pf-glabel.pf-glabel,.po-opt-count.po-opt-count,.po-opts--grid.po-opts--grid .po-opt-count,.po-opts--2.po-opts--2 .po-opt-count,.pf-toggle-badge.pf-toggle-badge,
.range-flag.range-flag,.pc-flag.pc-flag,.tech-tag.tech-tag,table.cmp .row-tag,table.cmp .row-tag.is-premium,table.cmp .row-tag.is-new,
.range-card .pos,.prod-card .pc-pos,.range-spec small,.pc-spec small,.range-chassis span,.pc-chassis span,
.bh-meta span,.mob-nophoto.mob-nophoto,.cmp-pick.cmp-pick,
.field label,table.cmp thead th,
.fam-detail .badge,.craft-image .lab,.jobs-photo .lab,.craft-panel-sig span,
.vlb-flag.vlb-flag,.vlb-close.vlb-close,.vlb-scene-sub.vlb-scene-sub,
.row-tag.row-tag{font-size:12px;}

/* Interlettrage plafonnÃ© â uniquement les libellÃ©s en capitales */
.eyebrow.eyebrow,
.util .lang.lang,.menu-bottom-right.menu-bottom-right,
.menu-primary li a .num,.menu-fam-label.menu-fam-label,.menu-fam .num,
.mm-group-label.mm-group-label,
.foot-col .label,.foot-col-newsletter .label,.foot-col details > summary,.foot-identity .signature,
.news-card .fig .lab,.news-card .meta .cat,
.guide-step .label,.guide-step .label .num,.guide-progress-mobile .m-label,
.recap-modify.recap-modify,.guide-result h4,.guide-sumrow dt,
.fo-facet-label.fo-facet-label,.pf-glabel.pf-glabel,
.range-card .pos,.prod-card .pc-pos,
.field label,table.cmp thead th,
.fam-detail .badge,.craft-image .lab,.jobs-photo .lab,.craft-panel-sig span,
.vlb-flag.vlb-flag,.vlb-close.vlb-close,.vlb-scene-sub.vlb-scene-sub{letter-spacing:0.12em;}

/* ============================================================
   RESET MOUVEMENT RÃDUIT
   ------------------------------------------------------------
   Neutralise d'un bloc toutes les transitions/animations CSS du
   thÃ¨me quand prefers-reduced-motion est actif, y compris les
   composants qui ne gÃ©raient pas le cas individuellement
   (configurateur, cartes, navigation, barre CTAâ¦). Les gardes JS
   restent nÃ©cessaires lÃ  oÃ¹ le mouvement est pilotÃ© en script.
   ============================================================ */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:0.01ms !important;
    animation-iteration-count:1 !important;
    animation-delay:0s !important;
    transition-duration:0.01ms !important;
    transition-delay:0s !important;
  }
  html{scroll-behavior:auto !important;}
}
