/* Section — Fiche produit — Produit (V3). Desktop p64/64/80 : fil d'Ariane + rangée galerie 400 / carte infos 668 (gap 32). Mobile p32/16/56 : empilé g20. */
.fiche { padding-top: var(--section-padding-under-title); }
.fiche__inner { display: flex; flex-direction: column; gap: var(--space-20); }
.fiche__row { display: flex; flex-direction: column; gap: var(--space-20); }
.fiche__gallery { display: flex; flex-direction: column; gap: var(--space-12); }
.fiche__main { position: relative; aspect-ratio: 1; overflow: hidden; border-radius: var(--radius-20); background: var(--brandt-white); }
.fiche__main img, .fiche__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; } /* l'image remplit le cadre, l'arrondi est conservé par overflow: hidden */
/* contour intérieur tracé au-dessus de l'image (une ombre intérieure du cadre passerait sous l'image) */
.fiche__main::after, .fiche__thumb::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; box-shadow: inset 0 0 0 var(--border-1) var(--brandt-line); transition: box-shadow var(--transition); }
.fiche__thumbs { display: flex; gap: var(--space-12); }
.fiche__thumb { position: relative; width: var(--size-thumb); height: var(--size-thumb); flex: 0 0 auto; padding: 0; border-radius: var(--radius-thumb); overflow: hidden; background: var(--brandt-white); transition: box-shadow var(--transition); }
.fiche__thumb::after { box-shadow: inset 0 0 0 var(--border-1-5) var(--brandt-line); }
.fiche__thumb:hover::after { box-shadow: inset 0 0 0 var(--border-1-5) var(--brandt-carbon); }
.fiche__thumb.is-active::after { box-shadow: inset 0 0 0 var(--border-1-5) var(--brandt-red); }
.fiche__thumb:focus-visible { box-shadow: var(--focus-ring); }
.fiche__info { padding: var(--space-20); gap: var(--space-20); }
.fiche__head { display: flex; flex-direction: column; gap: var(--space-8); }
.fiche__options { display: flex; flex-direction: column; gap: var(--space-16); }
.fiche__option { display: flex; flex-direction: column; gap: var(--space-8); }
.fiche__option-label { display: flex; gap: var(--space-8); }
.fiche__chips { display: flex; flex-wrap: wrap; gap: var(--space-8); }
.chip { position: relative; }
.chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.chip label {
  display: inline-flex; align-items: center; min-height: var(--size-target-44); padding: var(--space-8) var(--space-16);
  border-radius: var(--radius-pill); border: var(--border-1-5) solid var(--brandt-carbon); cursor: pointer;
  font-size: var(--text-legend-size); line-height: var(--text-legend-lh); font-weight: var(--text-legend-weight); /* puces en Legend dans tous les états (maquette 22/10) */
  transition: border-color var(--transition), background-color var(--transition), color var(--transition);
}
.chip label:hover { background: var(--brandt-white); }
.chip input:checked + label { background: var(--brandt-white); border-color: var(--brandt-red); color: var(--brandt-red); }
.chip input:focus-visible + label { box-shadow: var(--focus-ring); }
.chip input:disabled + label { opacity: var(--disabled-opacity); cursor: not-allowed; }
.fiche__info .cta-group { align-self: stretch; }
@media (min-width: 1024px) { .fiche__info .cta-group { align-self: flex-start; } } /* groupe calé à gauche, mention centrée sous le CTA */
.fiche__includes { display: flex; flex-direction: column; gap: var(--space-12); padding: var(--space-16) var(--space-20); border-radius: var(--radius-12); background: var(--brandt-white); }
.fiche__points { display: flex; flex-direction: column; gap: var(--space-8); }
.fiche__points li { display: flex; align-items: flex-start; gap: var(--space-12); }
.fiche__points .icon { margin-top: var(--icon-text-offset); }
@media (min-width: 1024px) {
  .fiche { padding-top: var(--space-64); }
  .fiche__inner { gap: var(--space-16); }
  .fiche__row { flex-direction: row; align-items: flex-start; gap: var(--space-32); }
  .fiche__gallery { flex: 0 0 var(--size-gallery); }
  .fiche__info { flex: 1 1 auto; padding: var(--space-28); }
  .fiche__head { gap: var(--space-12); }
  .fiche__options { gap: var(--space-12); }
  .fiche__option { flex-direction: row; align-items: center; gap: var(--space-16); }
  .fiche__option-label { flex: 0 0 var(--size-option-label); }
  .chip label { padding: var(--space-12) var(--space-16); }
}
