/* =====================================================================
   PAGE PRODUIT
   ===================================================================== */
.fil { padding: 28px 0; font-size: 13px; color: var(--gris); }
.fil a:hover { color: var(--bordeaux); }

.fiche { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }
.fiche-medias { position: sticky; top: calc(var(--hauteur-entete) + 24px); }
.fiche-visuel {
  position: relative; /* repère de l'image absolue */ aspect-ratio: 4 / 5; border-radius: 24px;
  background: radial-gradient(circle at 50% 65%, var(--creme-chaud) 0%, var(--creme-pale) 55%, var(--creme-doux) 100%);
  display: grid; place-items: center; overflow: hidden;
}
.fiche-visuel img { position: absolute; inset: 8% 10%; width: 80%; height: 84%; object-fit: contain; filter: drop-shadow(0 30px 30px rgba(0, 0, 0, .18)); animation: entreeBouteille 1s var(--courbe); }
@keyframes entreeBouteille { from { opacity: 0; transform: translateY(30px) rotate(-2deg); } to { opacity: 1; transform: none; } }

.fiche-badges { position: static; margin-bottom: 18px; }
.fiche-infos h1 { font-size: clamp(32px, 3.6vw, 50px); margin-bottom: 10px; }
.fiche-domaine { color: var(--bordeaux); font-weight: 600; }
.fiche-description { font-size: 17px; color: var(--texte-doux); margin: 22px 0 0; }

.fiche-achat { margin: 30px 0; padding: 26px; border-radius: var(--rayon); background: var(--blanc); border: 1px solid var(--ligne); }
.fiche-achat__prix { font-size: 32px; font-weight: 700; margin-bottom: 18px; }
.fiche-achat__prix s { font-size: 18px; font-weight: 400; color: var(--gris); }
.fiche-achat__prix small { display: block; font-size: 12px; font-weight: 400; color: var(--gris); }
.fiche-achat__ligne { display: flex; gap: 12px; }
.fiche-achat__ligne .bouton { flex: 1; }
.fiche-achat__note { font-size: 13px; color: var(--gris); margin-top: 12px; }
.fiche-achat__note:first-child { margin: 0 0 14px; }
.quantite--grande { margin: 0; }
.quantite--grande button { width: 44px; height: 50px; font-size: 18px; }

.fiche-technique { display: grid; grid-template-columns: 130px 1fr; border-top: 1px solid var(--ligne); }
.fiche-technique dt, .fiche-technique dd { padding: 13px 0; border-bottom: 1px solid var(--ligne); font-size: 14px; }
.fiche-technique dt { color: var(--gris); }
.fiche-technique a { border-bottom: 1px dotted var(--or); }
.fiche-technique a:hover { color: var(--bordeaux); }

.fiche-bloc { margin-top: 90px; }
.fiche-bloc h2 { font-size: 34px; margin-bottom: 24px; }
.fiche-degustation { font-family: var(--police-titre); font-size: 22px; line-height: 1.55; max-width: 860px; }
.fiche-service { margin-top: 16px; color: var(--gris); max-width: 760px; }
.fiche-accords { display: flex; flex-wrap: wrap; gap: 10px; }

@media (max-width: 900px) {
  .fiche { grid-template-columns: 1fr; gap: 28px; }
  .fiche-visuel { position: relative; top: 0; aspect-ratio: 1; }
  .fiche-bloc { margin-top: 60px; }
  .fiche-degustation { font-size: 18px; }
}

.lien-conseil { display: block; margin: -12px 0 28px; font-size: 14px; font-weight: 600; color: var(--bordeaux); border-bottom: 1px solid transparent; }
.lien-conseil:hover { border-color: currentColor; }

.alerte-dispo { display: flex; flex-direction: column; gap: 4px; }

.fiche-vignettes { display: flex; gap: 10px; margin-top: 12px; overflow-x: auto; }
.fiche-vignette { flex: 0 0 76px; height: 92px; border-radius: 12px; background: var(--creme-fonce); border: 2px solid transparent; padding: 6px; transition: border-color .2s; }
.fiche-vignette img { width: 100%; height: 100%; object-fit: contain; }
.fiche-vignette--active { border-color: var(--bordeaux); }
@media (max-width: 900px) { .fiche-medias { position: static; } }
