/* ═══════════════════════════════════════════════════════════════════════════
   Les jetons du thème, redéclarés sur :root.

   La maquette les pose en style « inline » sur un <div> qui enveloppe la page.
   Tout ce qu'un script attache au <body> — un tiroir, une modale — se trouve
   donc HORS de ce div et perd la totalité des variables : le panneau d'aperçu
   s'affichait sans fond, transparent sur la page. Les valeurs sont identiques ;
   celles du div continuent de primer à l'intérieur.
   ═══════════════════════════════════════════════════════════════════════════ */
:root {
  --accent: #C9A24B;
  --radius: 14px;
  --gold: #C9A24B;
  --gold-2: #E4C77E;
  --ink: #1C1310;
  --ink-2: #241813;
  --ink-3: #150E0A;
  --cream: #EAD9B8;
  --parch: #F3E7CE;
  --parch-2: #ECDDBE;
  --bronze: #8A6D3B;
  --muted: #8A7350;
  --line: #DAC5A0;
  --text: #2A1B10;
}

/* ═══════════════════════════════════════════════════════════════════════════
   Amalhana — en-tête
   ---------------------------------------------------------------------------
   Même ossature que celle de Valisio : recherche toujours ouverte et centrée
   sur l'écran, actions à droite, navigation sur une seconde ligne ; sur mobile
   le menu à gauche, le logo au centre, les actions à droite et la recherche
   en pleine largeur dessous.

   Les couleurs viennent des jetons du thème Amalhana (--parch, --gold, --ink) :
   l'en-tête doit rester indiscernable du reste du site.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ------------------------------------------------------------------ ossature */
.entete {
  position: sticky;
  top: 0;
  z-index: 60;
  background: rgba(243, 231, 206, 0.94);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--line);
  box-shadow: 0 1px 0 rgba(201, 162, 75, 0.35);
}
.entete--defile { box-shadow: 0 1px 0 rgba(201, 162, 75, 0.35), 0 8px 24px rgba(28, 19, 16, 0.07); }

.entete__barre {
  max-width: 1340px;
  margin-inline: auto;
  padding: 14px clamp(16px, 4vw, 52px);
  display: grid;
  /* Colonnes latérales de largeur ÉGALE : c'est la seule façon d'avoir le champ
     de recherche au milieu de l'écran, et non au milieu de la place qui reste
     entre le logo et les icônes. */
  grid-template-columns: 1fr minmax(0, 560px) 1fr;
  align-items: center;
  gap: 26px;
}
.entete__barre > .entete__logo { justify-self: start; }
.entete__barre > .entete__actions { justify-self: end; }

/* ---------------------------------------------------------------------- logo */
.entete__logo {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  text-decoration: none;
  white-space: nowrap;
}
.entete__logo svg { flex: none; }
.entete__logo span {
  font-family: 'Amiri', serif;
  font-size: 29px;
  font-weight: 700;
  letter-spacing: 0.01em;
  color: var(--ink);
  line-height: 1;
}

/* ----------------------------------------------------------------- recherche */
/* Toujours ouverte : pas de loupe qui déplie un champ. C'est ce qui donne à un
   catalogue de près de 14 000 pièces une chance d'être réellement parcouru. */
.entete__recherche {
  position: relative;
  justify-self: stretch;
  width: 100%;
}
.entete__recherche input {
  width: 100%;
  height: 42px;
  padding: 0 46px 0 16px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255, 252, 245, 0.86);
  color: var(--text);
  font: inherit;
  font-size: 14px;
  font-weight: 300;
  outline: none;
  transition: border-color .2s, box-shadow .2s;
}
.entete__recherche input::placeholder { color: var(--muted); }
.entete__recherche input:focus {
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(201, 162, 75, 0.16);
}
.entete__recherche button {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 999px;
  background: var(--gold);
  color: var(--ink);
  cursor: pointer;
  display: grid;
  place-items: center;
  transition: background .2s;
}
.entete__recherche button:hover { background: var(--gold-2); }
.entete__recherche svg { width: 17px; height: 17px; }

.entete__suggestions {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  background: #FFFCF5;
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: 0 18px 44px rgba(28, 19, 16, 0.16);
  padding: 6px;
  max-height: min(64vh, 460px);
  overflow-y: auto;
  z-index: 80;
}
.entete__suggestions[hidden] { display: none; }
.entete__suggestions a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 10px;
  border-radius: 9px;
  text-decoration: none;
  color: var(--text);
}
.entete__suggestions a:hover,
.entete__suggestions a.est-actif { background: var(--parch-2); }
.entete__suggestions img {
  width: 44px;
  height: 44px;
  object-fit: cover;
  border-radius: 7px;
  background: var(--parch-2);
  flex: none;
}
.entete__suggestions .sg__nom {
  font-size: 13.5px;
  font-weight: 300;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.entete__suggestions .sg__prix {
  margin-left: auto;
  font-size: 13px;
  color: var(--gold);
  white-space: nowrap;
  padding-left: 8px;
}
.entete__suggestions .sg__tout {
  display: block;
  text-align: center;
  padding: 10px;
  font-size: 12.5px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink);
  border-top: 1px solid var(--parch-2);
  margin-top: 4px;
}
.entete__suggestions .sg__rien {
  padding: 16px 12px;
  font-size: 13.5px;
  font-weight: 300;
  color: var(--muted);
  text-align: center;
}

/* ------------------------------------------------------------------- actions */
.entete__actions { display: flex; align-items: center; gap: 4px; }
.entete__icone {
  position: relative;
  background: none;
  border: 0;
  color: var(--ink);
  cursor: pointer;
  padding: 9px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  font: inherit;
  text-decoration: none;
  transition: background .2s, color .2s;
}
.entete__icone:hover { color: var(--gold); background: rgba(201, 162, 75, 0.10); }
.entete__icone svg { width: 21px; height: 21px; flex: none; }
.entete__pastille {
  position: absolute;
  top: 2px;
  right: 2px;
  min-width: 17px;
  height: 17px;
  padding: 0 4px;
  border-radius: 999px;
  background: var(--gold);
  color: var(--ink);
  font-size: 11px;
  font-weight: 600;
  display: grid;
  place-items: center;
  line-height: 1;
}
.entete__pastille[hidden] { display: none; }

/* ---------------------------------------------------------------- navigation */
.entete__nav { border-top: 1px solid rgba(218, 197, 160, 0.6); }
.entete__nav .dedans {
  max-width: 1340px;
  margin-inline: auto;
  padding: 0 clamp(16px, 4vw, 52px);
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 26px;
  flex-wrap: wrap;
}
.entete__nav a {
  position: relative;
  padding: 11px 0;
  font-size: 12.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink);
  text-decoration: none;
  transition: color .2s;
}
.entete__nav a:hover { color: var(--gold); }
.entete__nav a[aria-current="page"] { color: var(--gold); }
.entete__nav a:hover::after,
.entete__nav a[aria-current="page"]::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 5px;
  height: 1.5px;
  background: var(--gold);
}

/* -------------------------------------------------------------------- burger */
.entete__burger {
  display: none;
  background: none;
  border: 0;
  cursor: pointer;
  padding: 6px;
  border-radius: 10px;
  flex-direction: column;
  gap: 5px;
  width: 34px;
}
.entete__burger span {
  display: block;
  height: 1.5px;
  background: var(--ink);
  border-radius: 2px;
}
.entete__burger span:last-child { width: 70%; }
.entete__burger:hover { background: rgba(201, 162, 75, 0.10); }

/* ═════════════════════════════════════════════════════════════════════ MOBILE */
@media (max-width: 1023px) {
  .entete__barre {
    grid-template-columns: 1fr auto 1fr;
    grid-template-areas:
      "burger logo actions"
      "search search search";
    gap: 10px 8px;
    padding: 10px clamp(14px, 4vw, 24px) 12px;
  }
  .entete__burger  { grid-area: burger; display: flex; justify-self: start; }
  .entete__logo    { grid-area: logo; justify-self: center; }
  .entete__logo span { font-size: 23px; }
  .entete__logo svg  { width: 21px; height: 21px; }
  .entete__actions { grid-area: actions; justify-self: end; }
  .entete__recherche { grid-area: search; justify-self: stretch; }
  /* Le compte passe dans le menu : l'en-tête mobile ne porte que le menu à
     gauche, le logo au centre, les favoris et le panier à droite. */
  .entete__icone--compte { display: none; }
  .entete__nav { display: none; }
}

/* ══════════════════════════════════════════════════ tiroir gauche (le menu) */
.am-tiroir--gauche {
  left: 0;
  right: auto;
  border-left: 0;
  border-right: 1px solid var(--line);
  transform: translateX(-102%);
}
.am-tiroir--gauche.est-ouvert { transform: translateX(0); }

.menu-liste { display: flex; flex-direction: column; }
.menu-liste a {
  padding: 14px 2px;
  border-bottom: 1px solid var(--parch-2);
  font-size: 15px;
  font-weight: 300;
  color: var(--ink);
  text-decoration: none;
}
.menu-liste a:hover { color: var(--gold); }
.menu-titre {
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 22px 0 6px;
}

/* ═══════════════════════════════════════════════════════ favoris (la wishlist) */
.coeur {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 3;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 252, 245, 0.92);
  color: var(--ink);
  cursor: pointer;
  display: grid;
  place-items: center;
  box-shadow: 0 2px 8px rgba(28, 19, 16, 0.12);
  transition: transform .18s, color .18s;
}
.coeur:hover { transform: scale(1.08); }
.coeur svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.coeur.est-aime { color: #B4453C; }
.coeur.est-aime svg { fill: #B4453C; stroke: #B4453C; }

.favori-ligne {
  display: flex;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--parch-2);
}
.favori-ligne img {
  width: 68px;
  height: 68px;
  object-fit: cover;
  border-radius: 8px;
  background: var(--parch-2);
  flex: none;
}
.favori-ligne__nom {
  font-size: 13.5px;
  font-weight: 300;
  line-height: 1.4;
  color: var(--ink);
  text-decoration: none;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.favori-ligne__prix { font-size: 13px; color: var(--gold); margin-top: 4px; }
.favori-ligne button {
  background: none;
  border: 0;
  color: var(--muted);
  cursor: pointer;
  font-size: 12px;
  text-decoration: underline;
  padding: 0;
  margin-top: 6px;
  text-align: left;
}
.favori-ligne button:hover { color: var(--ink); }

/* ═══════════════════════════════════════════════════ étiquette hors écran */
.am-invisible {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* ═══════════════════════════════════════════════ page de résultats */
.resultats {
  max-width: 1340px;
  margin-inline: auto;
  padding: 46px clamp(16px, 4vw, 52px) 80px;
}
.resultats h1 {
  font-family: 'Amiri', serif;
  font-size: clamp(30px, 4vw, 44px);
  font-weight: 700;
  color: var(--ink);
  margin: 0 0 8px;
}
.resultats__compte {
  font-size: 14px;
  font-weight: 300;
  color: var(--muted);
  margin-bottom: 34px;
}
.resultats__grille {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 30px 24px;
}
.resultats__carte { position: relative; }
.resultats__carte a { text-decoration: none; color: inherit; display: block; }
.resultats__cadre {
  position: relative;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  border-radius: var(--radius);
  background: var(--parch-2);
  margin-bottom: 12px;
}
.resultats__cadre img { width: 100%; height: 100%; object-fit: cover; display: block; }
.resultats__nom {
  font-family: 'Amiri', serif;
  font-size: 18px;
  line-height: 1.2;
  color: var(--ink);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.resultats__prix { font-family: 'Amiri', serif; font-size: 17px; color: var(--gold); margin-top: 5px; }
.resultats__plus {
  display: block;
  margin: 46px auto 0;
  background: none;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 13px 34px;
  font-family: 'Jost', sans-serif;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink);
  cursor: pointer;
}
.resultats__plus:hover { border-color: var(--gold); color: var(--gold); }

/* ═══════════════════════════════════════════════════════ page compte */
.compte { max-width: 560px; margin-inline: auto; padding: 46px clamp(16px, 4vw, 24px) 80px; }
.compte h1 {
  font-family: 'Amiri', serif;
  font-size: clamp(28px, 4vw, 40px);
  color: var(--ink);
  margin: 0 0 8px;
}
.compte__intro { font-size: 14.5px; font-weight: 300; color: var(--muted); margin-bottom: 30px; }
.compte__onglets { display: flex; gap: 8px; margin-bottom: 24px; }
.compte__onglets button {
  flex: 1;
  background: none;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 11px 14px;
  font-family: 'Jost', sans-serif;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink);
  cursor: pointer;
}
.compte__onglets button[aria-pressed="true"] { background: var(--gold); border-color: var(--gold); }
.champ { display: block; margin-bottom: 16px; }
.champ span { display: block; font-size: 12.5px; color: var(--muted); margin-bottom: 6px; }
.champ input {
  width: 100%;
  height: 46px;
  padding: 0 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(255, 252, 245, 0.9);
  font: inherit;
  font-size: 14.5px;
  color: var(--text);
}
.champ input:focus { outline: none; border-color: var(--gold); box-shadow: 0 0 0 3px rgba(201,162,75,.16); }
.champ small { display: block; font-size: 12px; color: var(--muted); margin-top: 5px; }
.compte .bouton {
  width: 100%;
  border: none;
  border-radius: 10px;
  background: linear-gradient(160deg, var(--gold-2), var(--gold));
  color: var(--ink);
  padding: 15px;
  font-family: 'Jost', sans-serif;
  font-size: 12.5px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  cursor: pointer;
}
.compte .bouton--discret {
  background: none;
  border: 1px solid var(--line);
  color: var(--ink);
}
.compte .lien-discret {
  background: none; border: 0; color: var(--muted); cursor: pointer;
  font-size: 13px; text-decoration: underline; padding: 12px 0 0; display: block;
}
.compte__carte {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 22px;
  margin-bottom: 20px;
  background: rgba(255, 252, 245, 0.55);
}
.compte__carte h2 { font-family: 'Amiri', serif; font-size: 21px; color: var(--ink); margin: 0 0 14px; }
.compte__message {
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 13.5px;
  margin-top: 16px;
  background: var(--parch-2);
  color: var(--ink);
}
.compte__message--ko { background: #F6E0DD; color: #7C2D24; }
.compte__commande {
  border-top: 1px solid var(--parch-2);
  padding: 12px 0;
  font-size: 13.5px;
  font-weight: 300;
  color: var(--text);
  display: flex;
  justify-content: space-between;
  gap: 12px;
}


/* ═══════════════════════════════════════════════════════════ aperçu rapide */
.apercu {
  position: fixed;
  z-index: 110;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -46%) scale(0.98);
  width: min(760px, 92vw);
  max-height: 88vh;
  overflow-y: auto;
  background: var(--parch);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: 0 30px 80px rgba(28, 19, 16, 0.34);
  display: grid;
  grid-template-columns: 1fr 1fr;
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s ease, transform .22s ease;
}
.apercu.est-ouvert {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, -50%) scale(1);
}
.apercu__fermer {
  position: absolute;
  top: 8px;
  right: 10px;
  z-index: 2;
  background: rgba(255, 252, 245, 0.9);
  border: 0;
  border-radius: 999px;
  width: 34px;
  height: 34px;
  font-size: 24px;
  line-height: 1;
  color: var(--ink);
  cursor: pointer;
}
.apercu__fermer:hover { background: var(--parch-2); }
.apercu__media { background: var(--parch-2); }
.apercu__media img {
  width: 100%;
  height: 100%;
  max-height: 88vh;
  object-fit: cover;
  display: block;
}
.apercu__texte { padding: 30px 30px 28px; display: flex; flex-direction: column; }
.apercu__texte h2 {
  font-family: 'Amiri', serif;
  font-size: 24px;
  line-height: 1.2;
  color: var(--ink);
  margin: 0 0 12px;
}
.apercu__prix { font-family: 'Amiri', serif; font-size: 26px; color: var(--gold); margin-bottom: 14px; }
.apercu__note { font-size: 13px; font-weight: 300; color: var(--muted); margin: 0 0 22px; line-height: 1.6; }
.apercu__actions { margin-top: auto; display: flex; flex-direction: column; gap: 10px; }
.apercu__ajouter {
  border: none;
  border-radius: var(--radius);
  background: linear-gradient(160deg, var(--gold-2), var(--gold));
  color: var(--ink);
  padding: 15px;
  font-family: 'Jost', sans-serif;
  font-size: 12.5px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  cursor: pointer;
}
.apercu__lien {
  text-align: center;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  font-family: 'Jost', sans-serif;
  font-size: 12.5px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink);
  text-decoration: none;
}
.apercu__lien:hover { border-color: var(--gold); color: var(--gold); }

@media (max-width: 700px) {
  .apercu { grid-template-columns: 1fr; width: 94vw; }
  .apercu__media img { max-height: 42vh; }
  .apercu__texte { padding: 22px 20px 24px; }
}


/* La page de resultats herite du gabarit des pages simples, limite a 860 px.
   Une grille de produits y est a l'etroit : on elargit cette section-la
   uniquement. Les navigateurs sans :has() gardent la largeur d'origine, ce qui
   reste lisible. */
section:has(> .am-prose .resultats__grille),
section:has(> .am-prose > .resultats__grille) {
  max-width: 1340px !important;
}

/* Le coeur de la fiche produit : pose dans la rangee d'achat, pas sur une
   vignette — il lui faut donc un cadre a lui. */
.coeur--fiche {
  position: static;
  width: 54px;
  height: 54px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: transparent;
  box-shadow: none;
  flex: none;
}
.coeur--fiche:hover { border-color: var(--gold); transform: none; }
.coeur--fiche svg { width: 21px; height: 21px; }


/* ══════════════════════════════════════════ le choix de la variation, visible
   Le script posait déjà « est-choisi » et « est-indispo » sur les options ;
   aucune règle ne les dessinait, et le style en ligne du gabarit l'emporte de
   toute façon sur une classe. D'où le « !important » : il ne cache pas une
   hésitation, il tranche entre deux autorités. */
.opt { transition: background .2s ease, color .2s ease, border-color .2s ease,
       box-shadow .2s ease, opacity .2s ease; }
.opt:hover:not([disabled]) { border-color: var(--gold) !important; }

.opt-texte.est-choisi {
  background: var(--ink) !important;
  color: var(--cream) !important;
  border-color: var(--ink) !important;
  font-weight: 500;
}
.opt-teinte.est-choisi {
  border-color: #FFFCF5 !important;
  box-shadow: 0 0 0 2px var(--gold), 0 2px 8px rgba(28, 19, 16, .28) !important;
  transform: scale(1.06);
}
.opt[disabled] {
  opacity: .34 !important;
  cursor: not-allowed !important;
}
.opt-texte[disabled] { text-decoration: line-through; }
.opt-teinte[disabled] { filter: grayscale(.7); }
/* Valeur existante mais épuisée : lisible, barrée, encore cliquable pour que
   la visiteuse voie le motif s'afficher. */
.opt-texte.est-indispo:not([disabled]) { text-decoration: line-through; opacity: .6; }
.opt-teinte.est-indispo:not([disabled]) { opacity: .5; }

[data-etat-variation].est-indispo { color: #A9744C; }

/* ═══════════════════════════════════════════════ le guide, en fenêtre */
.guide {
  position: fixed;
  z-index: 120;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -46%) scale(.985);
  width: min(820px, 94vw);
  max-height: 88vh;
  display: flex;
  flex-direction: column;
  background: var(--parch);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: 0 30px 80px rgba(28, 19, 16, .34);
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s ease, transform .22s ease;
}
.guide.est-ouvert { opacity: 1; pointer-events: auto; transform: translate(-50%, -50%) scale(1); }
.guide__tete {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 22px 16px;
  border-bottom: 1px solid var(--line);
  flex: none;
}
.guide__tete h2 {
  margin: 0;
  font-family: 'Amiri', serif;
  font-size: 24px;
  line-height: 1.15;
  color: var(--ink);
}
.guide__fermer {
  flex: none;
  background: var(--parch-2);
  border: 1px solid var(--line);
  border-radius: 999px;
  width: 36px;
  height: 36px;
  font-size: 22px;
  line-height: 1;
  color: var(--ink);
  cursor: pointer;
}
.guide__fermer:hover { border-color: var(--gold); color: var(--gold); }
.guide__corps {
  overflow-y: auto;
  padding: 22px 26px 8px;
  font-size: 15px;
  line-height: 1.75;
  font-weight: 300;
  color: var(--muted);
}
.guide__corps h2 { font-family: 'Amiri', serif; font-size: 21px; color: var(--ink); margin: 26px 0 10px; }
.guide__corps h3 { font-family: 'Amiri', serif; font-size: 18px; color: var(--ink); margin: 20px 0 8px; }
.guide__corps h2:first-child, .guide__corps h3:first-child { margin-top: 0; }
.guide__corps p { margin: 0 0 14px; }
.guide__corps ul, .guide__corps ol { margin: 0 0 14px; padding-left: 20px; }
.guide__corps li { margin-bottom: 6px; }
.guide__corps img { max-width: 100%; height: auto; border-radius: var(--radius); }
.guide__pied {
  flex: none;
  padding: 14px 26px 20px;
  border-top: 1px solid var(--line);
  font-size: 13px;
}
.guide__pied a { color: var(--gold); }

@media (max-width: 640px) {
  .guide { width: 96vw; max-height: 92vh; }
  .guide__corps { padding: 18px 18px 6px; }
  .guide__tete { padding: 16px 16px 14px; }
  .guide__pied { padding: 12px 18px 16px; }
}

/* ═════════════════════════════════════ le guide des tailles, à la mesure du site
   Le contenu vient du thème WordPress : mêmes mesures, mêmes conseils. Seule
   la présentation est refaite — les rangées en <div> sont devenues de vrais
   tableaux, et les classes d'origine (amlh-*) reçoivent ici leur habillage. */
.guide-tableau { overflow-x: auto; margin: 14px 0 18px; -webkit-overflow-scrolling: touch; }
.guide-tableau table {
  width: 100%;
  min-width: 460px;
  border-collapse: collapse;
  font-size: 14px;
  font-weight: 300;
}
.guide-tableau th, .guide-tableau td {
  padding: 10px 12px;
  text-align: center;
  border-bottom: 1px solid var(--line);
  white-space: nowrap;
}
.guide-tableau thead th {
  background: var(--parch-2);
  color: var(--ink);
  font-family: 'Jost', sans-serif;
  font-weight: 500;
  font-size: 11.5px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--gold);
}
.guide-tableau tbody th[scope="row"] {
  font-family: 'Amiri', serif;
  font-size: 17px;
  color: var(--ink);
  font-weight: 700;
}
.guide-tableau tbody tr:nth-child(even) { background: rgba(201, 162, 75, 0.05); }
.guide-tableau tbody tr:last-child th, .guide-tableau tbody tr:last-child td { border-bottom: 0; }

.amlh-section + .amlh-section { margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--line); }
.amlh-subsection { margin-bottom: 14px; }
.amlh-steps { display: grid; gap: 12px; margin: 12px 0 0; padding: 0; list-style: none; }
.amlh-steps li, .amlh-list li, .amlh-list-warn li { margin-bottom: 6px; }
.amlh-list, .amlh-list-warn { margin: 10px 0 0; padding-left: 20px; }
.amlh-list-warn li::marker { color: #A9744C; }
.amlh-tip, .amlh-warn {
  margin: 14px 0 0;
  padding: 12px 14px;
  border-left: 3px solid var(--gold);
  background: rgba(201, 162, 75, 0.08);
  border-radius: 0 var(--radius) var(--radius) 0;
  font-size: 14px;
}
.amlh-warn { border-left-color: #A9744C; background: rgba(169, 116, 76, 0.08); }

/* Dans la page (hors fenêtre), le même contenu profite de la mise en page prose. */
.am-prose .amlh-section h3 { font-family: 'Amiri', serif; }

/* ═════════════════════════════════════════════ les vignettes de la galerie */
.vignette { transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.vignette:hover { border-color: var(--gold) !important; }
.vignette:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.vignette.est-active {
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 1px var(--gold);
}
.vignette img { width: 100%; height: 100%; display: block; }

/* ═══════════════════════════════════════════════════ accordéons de la fiche
   Le corps est maintenant toujours dans la page — c'est le script qui replie.
   Sans lui, tout reste ouvert et lisible : jamais de contenu inaccessible. */
[data-accordeon] { transition: color .2s ease; }
[data-accordeon]:hover { color: var(--gold) !important; }
[data-accordeon-corps][hidden] { display: none; }
