/* Fiche produit (PrestaShop) — reprend les variables du webshop */
.wsh-fiche-modal { width: min(60rem, 100%); max-width: 60rem; padding: 0; overflow: hidden; border-radius: 1.25rem; }
.wsh-fiche-modal .wsh-modal-close-x { z-index: 3; top: 0.75rem; right: 0.75rem; width: 2.25rem; height: 2.25rem; background: rgba(255,255,255,.92); color: var(--wsh-primary); box-shadow: 0 0.125rem 0.5rem rgba(74,32,80,.18); display: flex; align-items: center; justify-content: center; }
.wsh-fiche-modal { max-height: 90vh; max-height: 90dvh; }
.wsh-fiche-contenu { max-height: 90vh; max-height: 90dvh; overflow-y: auto; }
.wsh-fiche-grille { display: grid; grid-template-columns: 1fr; }
@media (min-width: 641px) {
  .wsh-fiche-grille { grid-template-columns: 21rem minmax(0, 1fr); height: min(33rem, 88vh); }
  .wsh-fiche-contenu { overflow: hidden; }
}

/* Photos : la photo remplit toute la colonne, les miniatures sont posées dessus */
.wsh-fiche-galerie { position: relative; background: var(--wsh-bg-soft); min-height: 15rem; overflow: hidden; }
.wsh-fiche-photo-principale { position: absolute; inset: 0; background: #efe7ec; display: flex; align-items: center; justify-content: center; }
.wsh-fiche-photo-principale img { width: 100%; height: 100%; object-fit: cover; }
.wsh-fiche-sans-photo { color: #786976; font-size: 0.8125rem; }
.wsh-fiche-miniatures { position: absolute; left: 0.75rem; bottom: 0.75rem; display: flex; gap: 0.5rem; }
.wsh-fiche-mini { width: 3.75rem; height: 3.75rem; padding: 0; border: 0.1875rem solid rgba(255,255,255,.85); border-radius: 0.75rem; overflow: hidden; background: #fff; cursor: pointer; opacity: .9; box-shadow: 0 0.125rem 0.5rem rgba(43,23,48,.28); transition: border-color .12s ease, opacity .12s ease; }
.wsh-fiche-mini img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wsh-fiche-mini:hover { opacity: 1; }
.wsh-fiche-mini.is-actif { border-color: var(--wsh-accent); opacity: 1; }

/* Colonne de droite : tête fixe, onglets, panneau qui défile seul si besoin */
.wsh-fiche-corps { display: flex; flex-direction: column; min-width: 0; min-height: 0; }
.wsh-fiche-tete { padding: 1.25rem 3.5rem 0.5rem 1.375rem; display: flex; flex-direction: column; gap: 0.5rem; }
.wsh-fiche-code { align-self: flex-start; font-size: 0.6875rem; font-weight: 600; letter-spacing: .04em; color: var(--wsh-primary-light); background: var(--wsh-bg-soft); padding: 0.1875rem 0.625rem; border-radius: 62.4375rem; }
.wsh-fiche-tete h2 { margin: 0; font-size: 1.3125rem; line-height: 1.25; font-weight: 700; color: var(--wsh-primary); }
.wsh-fiche-etiquettes { display: flex; flex-wrap: wrap; gap: 0.375rem; }
.wsh-fiche-etiquettes span { font-size: 0.6875rem; font-weight: 600; color: var(--wsh-green); background: var(--wsh-green-bg); padding: 0.1875rem 0.625rem; border-radius: 62.4375rem; }

.wsh-fiche-onglets { display: flex; gap: 0.25rem; padding: 0.5rem 1.375rem 0; border-bottom: 0.0625rem solid var(--wsh-border-soft); }
.wsh-fiche-onglet { background: none; border: none; font: inherit; font-size: 0.8125rem; font-weight: 600; color: #786976; padding: 0.5rem 0.875rem; cursor: pointer; border-bottom: 0.1875rem solid transparent; margin-bottom: -0.0625rem; }
.wsh-fiche-onglet:hover { color: var(--wsh-primary); }
.wsh-fiche-onglet.is-actif { color: var(--wsh-primary); border-bottom-color: var(--wsh-accent); }

.wsh-fiche-panneaux { flex: 1; min-height: 0; overflow-y: auto; padding: 1rem 1.375rem 1.25rem; }
.wsh-fiche-panneau { display: none; flex-direction: column; gap: 1rem; }
.wsh-fiche-panneau.is-actif { display: flex; }

/* Essentiel */
.wsh-fiche-resume { font-size: 0.84375rem; line-height: 1.6; color: #4a3d4a; }
.wsh-fiche-resume.is-court { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.wsh-fiche-resume p { margin: 0 0 0.5rem; }
.wsh-fiche-resume ul { margin: 0 0 0.5rem; padding-left: 1.1rem; }
.wsh-fiche-plus { align-self: flex-start; background: none; border: none; padding: 0; margin-top: -0.5rem; font: inherit; font-size: 0.78125rem; font-weight: 600; color: var(--wsh-accent-texte); cursor: pointer; }
.wsh-fiche-cles { margin: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.wsh-fiche-cle { flex: 1 1 9rem; background: var(--wsh-bg-soft); border-radius: 0.75rem; padding: 0.625rem 0.75rem; min-width: 0; }
.wsh-fiche-cle dt { font-size: 0.6875rem; color: #786976; font-weight: 500; margin-bottom: 0.125rem; }
.wsh-fiche-cle dd { margin: 0; font-size: 0.875rem; font-weight: 700; color: var(--wsh-primary); line-height: 1.3; }
.wsh-fiche-bloc-titre { font-size: 0.6875rem; color: #786976; font-weight: 500; margin-bottom: 0.375rem; }

/* Barre des 12 mois */
.wsh-fiche-mois { display: grid; grid-template-columns: repeat(12, 1fr); gap: 0.1875rem; }
.wsh-fiche-mois span { text-align: center; font-size: 0.6875rem; font-weight: 600; padding: 0.3125rem 0; border-radius: 0.375rem; background: #f3eef2; color: #b8aab5; }
.wsh-fiche-mois span.is-on { background: var(--wsh-accent); color: #fff; }

/* Culture / Détails */
.wsh-fiche-grille-cases { margin: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.wsh-fiche-case { flex: 1 1 calc(50% - 0.25rem); background: var(--wsh-bg-soft); border-radius: 0.75rem; padding: 0.5rem 0.75rem; min-width: 0; }
.wsh-fiche-case.is-large { flex-basis: 100%; }
.wsh-fiche-case dt { font-size: 0.6875rem; color: #786976; font-weight: 500; margin-bottom: 0.125rem; }
.wsh-fiche-case dd { margin: 0; font-size: 0.84375rem; font-weight: 600; color: var(--wsh-primary); line-height: 1.35; }
.wsh-fiche-case .wsh-fiche-mois { margin-top: 0.25rem; }

@media (max-width: 640px) {
  .wsh-fiche-galerie { height: 14rem; min-height: 0; }
  .wsh-fiche-mini { width: 3.25rem; height: 3.25rem; }
  .wsh-fiche-tete { padding: 1rem 1rem 0.5rem; }
  .wsh-fiche-onglets { padding: 0.5rem 1rem 0; gap: 0; }
  .wsh-fiche-onglet { padding: 0.5rem 0.5rem; font-size: 0.78125rem; }
  .wsh-fiche-a4 svg { display: none; }
  .wsh-fiche-a4-pdf { display: none; }
  .wsh-fiche-panneaux { padding: 1rem 1rem calc(1.75rem + env(safe-area-inset-bottom, 0px)); overflow: visible; }
  .wsh-fiche-cle { flex-basis: calc(50% - 0.25rem); }
}

/* « Plus d'infos » : visible seulement pour les articles qui ont une fiche */
a.wsh-fiche-link[data-num]:not(.has-fiche) { display: none !important; }

/* Bouton « Fiche A4 » : dans la ligne des onglets, à droite, même taille que « Détails » */
.wsh-fiche-onglets { align-items: flex-end; }
.wsh-fiche-a4 { flex: none; white-space: nowrap; margin-left: auto; display: inline-flex; align-items: center; gap: 0.375rem; color: var(--wsh-accent-texte); }
.wsh-fiche-a4:hover { color: var(--wsh-primary); }

/* Fiche A4 : invisible à l'écran, seule chose imprimée pendant l'impression */
#fiche-a4 { display: none; }
#fiche-a4.is-mesure { display: block; position: absolute; left: -9999px; top: 0; }
#fiche-a4 { width: 210mm; margin: 0 auto; box-sizing: border-box; padding: 10mm 12mm; background: #fff; color: #2b1f2b; font-family: 'Poppins', -apple-system, 'Segoe UI', Roboto, Arial, sans-serif; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
#fiche-a4 .a4-entete { display: flex; align-items: flex-end; justify-content: space-between; padding-bottom: 3mm; border-bottom: 0.25mm solid #4a2050; }
#fiche-a4 .a4-logo { height: 12mm; width: auto; }
#fiche-a4 .a4-ref { text-align: right; font-size: 7.5pt; letter-spacing: .12em; text-transform: uppercase; color: #786976; line-height: 1.5; }
#fiche-a4 .a4-ref span { display: block; font-size: 9pt; letter-spacing: .04em; color: #4a2050; font-weight: 600; }
#fiche-a4 .a4-titre { margin: 6mm 0 1.5mm; font-size: 22pt; line-height: 1.15; font-weight: 700; color: #4a2050; }
#fiche-a4 .a4-etiquettes { font-size: 8.5pt; font-weight: 600; color: #e56a54; margin-bottom: 4mm; }
#fiche-a4 .a4-etiquettes i { font-style: normal; margin: 0 2mm; color: #cdb9c9; }
#fiche-a4 .a4-photos { display: grid; grid-template-columns: 1fr 1fr; gap: 3mm; margin: 4mm 0; }
#fiche-a4 .a4-photos.is-seule { grid-template-columns: 1fr; }
#fiche-a4 .a4-photos img { width: 100%; height: 64mm; object-fit: cover; display: block; }
#fiche-a4 .a4-texte { font-size: 9pt; line-height: 1.55; color: #3d313d; margin-bottom: 4mm; text-align: left; }
#fiche-a4 .a4-texte p { margin: 0 0 1.5mm; }
#fiche-a4 .a4-cles { margin: 0 0 4mm; display: flex; border-top: 0.25mm solid #4a2050; border-bottom: 0.25mm solid #ead9e6; }
#fiche-a4 .a4-cles > div { flex: 1 1 0; padding: 2.5mm 3mm; border-left: 0.2mm solid #ead9e6; min-width: 0; }
#fiche-a4 .a4-cles > div:first-child { border-left: 0; padding-left: 0; }
#fiche-a4 .a4-cles dt { font-size: 6.5pt; letter-spacing: .1em; text-transform: uppercase; color: #786976; margin-bottom: 0.5mm; }
#fiche-a4 .a4-cles dd { margin: 0; font-size: 10pt; font-weight: 700; color: #4a2050; line-height: 1.25; }
#fiche-a4 .a4-section { margin: 0 0 1.5mm; font-size: 7pt; letter-spacing: .14em; text-transform: uppercase; color: #e56a54; font-weight: 700; }
#fiche-a4 .a4-lignes { margin: 0 0 3mm; column-count: 2; column-gap: 10mm; }
#fiche-a4 .a4-ligne { display: grid; grid-template-columns: 38% 1fr; gap: 3mm; padding: 1.1mm 0; border-bottom: 0.2mm solid #ead9e6; break-inside: avoid; }
#fiche-a4 .a4-ligne dt { font-size: 7.5pt; color: #786976; }
#fiche-a4 .a4-ligne dd { margin: 0; font-size: 8pt; font-weight: 600; color: #2b1f2b; line-height: 1.3; }
#fiche-a4 .a4-mois { display: grid; grid-template-columns: 1fr 1fr; gap: 3mm 10mm; margin-bottom: 2mm; }
#fiche-a4 .a4-mois-nom { display: block; font-size: 7.5pt; color: #786976; margin-bottom: 0.8mm; }
#fiche-a4 .wsh-fiche-mois { gap: 0.6mm; }
#fiche-a4 .wsh-fiche-mois span { font-size: 5.5pt; padding: 0.7mm 0; border-radius: 0; background: #f1e9ef; color: #b8aab5; }
#fiche-a4 .wsh-fiche-mois span.is-on { background: #e56a54; color: #fff; }
#fiche-a4 .a4-pied { display: flex; justify-content: space-between; margin-top: 5mm; padding-top: 2mm; border-top: 0.2mm solid #ead9e6; font-size: 7pt; color: #786976; }

@media print {
  @page { size: A4; margin: 0; }
  html, body { background: #fff !important; }
  body.wsh-imprime-fiche > *:not(#fiche-a4) { display: none !important; }
  body.wsh-imprime-fiche #fiche-a4 { display: block; }
}

/* « Plus d'infos » dans le menu de la recherche rapide */

/* v257 - Ouverture immédiate : trois points de chargement (puis message d'erreur éventuel) dans la fenêtre. */
.wsh-fiche-attente { min-height: 14rem; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1rem; padding: 2.5rem 1.5rem; text-align: center; }
.wsh-fiche-message { margin: 0; color: #6f5b6c; font-size: 0.875rem; }
