/* ===== Page Nos Cafés — même grammaire visuelle que la carte des thés ===== */

.lc-cafes-intro {
  max-width: 820px;
  margin: 0 auto;
  padding: 80px 20px 50px;
  text-align: center;
  font-family: 'EB Garamond', Georgia, serif;
  color: var(--lc-noir);
}
.lc-surtitre {
  font: 600 12.8px/1 'Montserrat', sans-serif;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--lc-or);
  margin: 0 0 14px;
}
.lc-cafes-intro h2 {
  font-family: 'EB Garamond', Georgia, serif;
  font-size: clamp(24px, 3.1vw, 33px);
  line-height: 1.25;
  color: var(--lc-noir);
  margin: 0 0 18px;
}
.lc-cafes-intro p:last-child { font-size: 17.6px; font-style: italic; color: #3a3a38; margin: 0; }


.lc-cafes {
  max-width: 1100px;
  margin: 0 auto;
  padding: 20px 16px 100px;
  font-size: 19px;
  font-family: 'EB Garamond', Georgia, serif;
  color: var(--lc-noir);
}
.lc-cafes-famille { scroll-margin-top: 80px; }
.lc-cafes-titre {
  font-family: 'Bebas Neue', sans-serif;
  font-weight: 400;
  font-size: 2.4em;
  letter-spacing: 1px;
  text-align: center;
  color: var(--lc-noir);
  margin: 76px 0 38px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--lc-or);
}
.lc-cafes-grille {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 34px 64px;
  max-width: 950px;
  margin: 0 auto;
}
.lc-cafe h3 {
  font-family: 'EB Garamond', serif;
  font-weight: 700;
  font-size: 1.1em;
  text-transform: uppercase;
  color: var(--lc-or);
  margin: 0 0 2px;
}
.lc-badge {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 7px;
  border: 1px solid var(--lc-or);
  border-radius: 2px;
  font: 600 .6em/1.4 'Montserrat', sans-serif;
  letter-spacing: 1px;
  vertical-align: 2px;
}
.lc-origine {
  font: 300 .75em/1.4 'Montserrat', sans-serif;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--lc-brun);
  margin: 0 0 4px;
}
.lc-notes { font-style: italic; font-size: .98em; line-height: 1.45; color: #3a3a38; margin: 0 0 8px; }

/* Jauge d'intensité en grains */
.lc-intensite { display: inline-flex; gap: 4px; }
.lc-grain svg { width: 15px; height: 15px; fill: none; stroke: var(--lc-or); stroke-width: 1.6; stroke-linecap: round; }
.lc-grain.lc-plein svg ellipse { fill: var(--lc-or); }
.lc-grain.lc-plein svg path { stroke: var(--lc-creme); }


.lc-cafes-cta {
  margin: 90px auto 0;
  max-width: 820px;
  padding: 28px 32px;
  background: #fff;
  border-left: 3px solid var(--lc-or);
  text-align: center;
  font-style: italic;
  font-size: 16.5px;
}
.lc-cafes-cta p { margin: 0; }
.lc-adresse { font: 600 12.8px/1.6 'Montserrat', sans-serif; font-style: normal; letter-spacing: 1px; text-transform: uppercase; color: var(--lc-brun); margin-top: 8px !important; }

@media (max-width: 700px) {
  .lc-cafes-grille { grid-template-columns: 1fr; gap: 22px; }
  .lc-cafes-intro { padding: 50px 20px 30px; }
}

/* ===== v1.8 — fiches détaillées, pictos, visuels de famille ===== */
.lc-cafes-grille { align-items: start; }
.lc-famille-visuel { margin: 0 auto 40px; text-align: center; }
.lc-famille-visuel img { width: 250px; max-width: 70%; height: auto; filter: drop-shadow(0 14px 18px rgba(29,29,27,.22)); }
.lc-cafe-img { display: block; width: 110px; height: auto; margin: 0 0 10px; }

/* Pictos : libellé + grains, sur deux colonnes */
.lc-pictos { list-style: none; margin: 10px 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 6px 22px; }
.lc-pictos li { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0; padding: 0; }
.lc-picto-lib { font: 300 11.5px/1 'Montserrat', sans-serif; letter-spacing: 1.4px; text-transform: uppercase; color: var(--lc-brun); }
.lc-pictos .lc-grain svg { width: 13px; height: 13px; }
.lc-pictos .lc-intensite { gap: 2px; }

/* Fiche détaillée dépliable */
.lc-fiche { margin-top: 16px; }
.lc-fiche summary { display: flex; align-items: center; justify-content: center; gap: 10px; cursor: pointer; list-style: none; padding: 11px 16px; border: 1px solid var(--lc-or); border-radius: 2px; font: 600 12px/1 'Montserrat', sans-serif; letter-spacing: 2px; text-transform: uppercase; color: var(--lc-or); transition: background .2s, color .2s; }
.lc-fiche summary::-webkit-details-marker { display: none; }
.lc-fiche summary::after { content: ''; width: 7px; height: 7px; border-right: 1.6px solid currentColor; border-bottom: 1.6px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .2s; }
.lc-fiche summary:hover, .lc-fiche summary:focus-visible { background: var(--lc-or); color: #fff; }
.lc-fiche[open] summary::after { transform: translateY(2px) rotate(-135deg); }
.lc-fiche .lc-fermer, .lc-fiche[open] .lc-ouvrir { display: none; }
.lc-fiche[open] .lc-fermer { display: inline; }
.lc-fiche-texte { font-size: .92em; line-height: 1.5; color: #3a3a38; margin: 12px 0 10px; }
.lc-fiche-liste { display: grid; grid-template-columns: max-content 1fr; gap: 4px 14px; margin: 10px 0 0; font-size: .82em; line-height: 1.35; }
.lc-fiche-liste dt { font: 600 10.5px/1.7 'Montserrat', sans-serif; letter-spacing: 1.2px; text-transform: uppercase; color: var(--lc-brun); margin: 0; }
.lc-fiche-liste dd { margin: 0; color: #3a3a38; }
