/* ============================================================
   Matériel Barista — Charte graphique v1.0 (design tokens + composants)
   Crème / Espresso / Cuivre — le cuivre est réservé à la conversion.
   ============================================================ */

:root {
  --mb-creme: #F8F4EE;
  --mb-blanc-casse: #FDFBF7;
  --mb-lin: #EFE7DB;
  --mb-sable: #E4DACB;
  --mb-espresso: #2C221B;
  --mb-moka: #6E6257;
  --mb-cuivre: #A65323;
  --mb-cuivre-hover: #8C441A;
  --mb-cuivre-actif: #753814;
  --mb-cuivre-off-bg: #D8C9BA;
  --mb-cuivre-off-txt: #8A7B6C;
  --mb-vert: #43604D;
  --mb-serif: 'Young Serif', Georgia, serif;
  --mb-sans: 'Public Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --mb-radius: 8px;
  --mb-radius-sm: 6px;\n  --mb-content: 720px;
  --mb-mesure: 720px;
}

/* ---------- Base ---------- */
body {
  background-color: var(--mb-creme);
  color: var(--mb-espresso);
  font-family: var(--mb-sans);
  font-size: 16px;
  line-height: 1.65;
}
@media (min-width: 768px) { body { font-size: 17px; } }

h1, h2, h3 { font-family: var(--mb-serif); font-weight: 400; color: var(--mb-espresso); }
h1 { font-size: 34px; line-height: 1.15; }
h2 { font-size: 26px; line-height: 1.2; }
h3 { font-size: 21px; line-height: 1.3; }
h4 { font-family: var(--mb-sans); font-weight: 700; font-size: 18px; line-height: 1.35; }
h5, h6 { font-family: var(--mb-sans); font-weight: 600; font-size: 14px; line-height: 1.4; letter-spacing: 0.08em; text-transform: uppercase; }
@media (min-width: 768px) {
  h1 { font-size: 44px; }
  h2 { font-size: 32px; }
  h3 { font-size: 24px; }
  h4 { font-size: 20px; }
}

/* Largeur de lecture : 68 caractères max */
.entry-content > p,
.entry-content > ul,
.entry-content > ol,
.entry-content > h2,
.entry-content > h3,
.entry-content > h4 {
  max-width: var(--mb-mesure);
}

/* Liens : espresso souligné, cuivre au survol uniquement */
.entry-content a:not(.mb-cta):not(.button) {
  color: var(--mb-espresso);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.entry-content a:not(.mb-cta):not(.button):hover { color: var(--mb-cuivre-hover); }

/* Légendes */
.wp-caption-text, figcaption, .mb-legende { font-size: 14px; line-height: 1.5; color: var(--mb-moka); }

/* Prix */
.mb-prix { font-family: var(--mb-sans); font-weight: 700; font-size: 22px; font-variant-numeric: tabular-nums; color: var(--mb-espresso); }

/* ---------- CTA cuivre (conversion uniquement) ---------- */
.mb-cta,
.entry-content a.mb-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 12px 24px;
  background-color: var(--mb-cuivre);
  color: #FFFFFF;
  font-family: var(--mb-sans);
  font-weight: 600;
  font-size: 16px;
  text-decoration: none;
  border: none;
  border-radius: var(--mb-radius);
  box-shadow: none;
  cursor: pointer;
  transition: background-color .15s ease;
}
.mb-cta:hover, .entry-content a.mb-cta:hover { background-color: var(--mb-cuivre-hover); color: #FFFFFF; }
.mb-cta:active { background-color: var(--mb-cuivre-actif); }
.mb-cta[aria-disabled="true"], .mb-cta:disabled { background-color: var(--mb-cuivre-off-bg); color: var(--mb-cuivre-off-txt); cursor: not-allowed; }

/* Mention d'affiliation sous le CTA */
.mb-disclosure { font-size: 13px; line-height: 1.5; color: var(--mb-moka); margin-top: 6px; }

/* ---------- Carte produit ---------- */
.mb-carte {
  background-color: var(--mb-blanc-casse);
  border: 1px solid var(--mb-sable);
  border-radius: var(--mb-radius);
  padding: 24px;
}
.mb-carte img { border-radius: var(--mb-radius-sm); }
.mb-carte h3, .mb-carte .mb-carte-titre { font-family: var(--mb-sans); font-weight: 600; font-size: 18px; line-height: 1.35; margin: 12px 0 4px; }

/* Badge */
.mb-badge {
  display: inline-block;
  padding: 4px 10px;
  background-color: var(--mb-lin);
  color: var(--mb-espresso);
  font-size: 13px;
  font-weight: 600;
  border-radius: var(--mb-radius-sm);
}

/* Étoiles */
.mb-note { color: var(--mb-espresso); font-weight: 600; letter-spacing: 1px; }

/* Points forts / faibles */
.mb-pour, .mb-contre { list-style: none; margin: 0; padding: 0; }
.mb-pour li, .mb-contre li { padding-left: 26px; position: relative; margin-bottom: 6px; }
.mb-pour li::before { content: "✓"; position: absolute; left: 0; color: var(--mb-vert); font-weight: 700; }
.mb-contre li::before { content: "—"; position: absolute; left: 0; color: var(--mb-moka); font-weight: 700; }

/* ---------- Encadré verdict ---------- */
.mb-verdict {
  background-color: var(--mb-lin);
  border-left: 3px solid var(--mb-espresso);
  border-radius: 0 var(--mb-radius) var(--mb-radius) 0;
  padding: 24px 28px;
  margin: 32px 0;
}
.mb-verdict h3, .mb-verdict .mb-verdict-titre { font-family: var(--mb-serif); font-size: 21px; margin-top: 0; }

/* ---------- Encart réassurance / méthodologie ---------- */
.mb-methodo {
  background-color: var(--mb-lin);
  border-radius: var(--mb-radius);
  padding: 20px 24px;
  font-size: 15px;
}

/* ---------- Tableau comparatif ---------- */
.mb-comparatif { width: 100%; border-collapse: collapse; background: var(--mb-blanc-casse); border: 1px solid var(--mb-sable); border-radius: var(--mb-radius); overflow: hidden; }
.mb-comparatif th { font-family: var(--mb-sans); font-weight: 600; font-size: 14px; text-align: left; padding: 12px 16px; background: var(--mb-lin); border-bottom: 1px solid var(--mb-sable); }
.mb-comparatif td { padding: 12px 16px; border-bottom: 1px solid var(--mb-sable); font-size: 15px; vertical-align: top; }
.mb-comparatif tr:nth-child(even) td { background: var(--mb-creme); }
.mb-comparatif tr:last-child td { border-bottom: none; }

/* Empilement mobile */
@media (max-width: 640px) {
  .mb-comparatif thead { display: none; }
  .mb-comparatif, .mb-comparatif tbody, .mb-comparatif tr, .mb-comparatif td { display: block; width: 100%; }
  .mb-comparatif td { border-bottom: 1px solid var(--mb-sable); }
  .mb-comparatif td::before { content: attr(data-label); display: block; font-weight: 600; font-size: 13px; color: var(--mb-moka); margin-bottom: 2px; }
}

/* ---------- Box « Pour qui ? » ---------- */
.mb-pour-qui { background: var(--mb-blanc-casse); border: 1px solid var(--mb-sable); border-radius: var(--mb-radius); padding: 20px 24px; }

/* ---------- GeneratePress : ajustements ---------- */
.site-header { background-color: var(--mb-blanc-casse); border-bottom: 1px solid var(--mb-sable); }
.main-navigation, .main-navigation .main-nav ul li a { font-family: var(--mb-sans); font-weight: 500; color: var(--mb-espresso); }
.main-navigation .main-nav ul li a:hover { color: var(--mb-cuivre-hover); }
.site-footer, .footer-widgets { background-color: var(--mb-espresso); color: var(--mb-creme); }
.site-footer a, .footer-widgets a { color: var(--mb-creme); }
.inside-article { background-color: transparent; }

/* Boutons GenerateBlocks / core alignés sur la charte quand classe mb-cta absente : neutres */
.wp-block-button__link:not(.mb-cta) {
  background-color: var(--mb-blanc-casse);
  color: var(--mb-espresso);
  border: 1px solid var(--mb-sable);
  border-radius: var(--mb-radius);
}

/* Accessibilité : focus visible */
a:focus-visible, button:focus-visible, .mb-cta:focus-visible {
  outline: 2px solid var(--mb-espresso);
  outline-offset: 2px;
}

/* ============================================================
   Gabarit FICHE-AVIS PRODUIT (charte section 08)
   ============================================================ */

/* Breadcrumb */
.mb-breadcrumb { font-size: 14px; color: var(--mb-moka); margin-bottom: 12px; }
.mb-breadcrumb a { color: var(--mb-moka); text-decoration: none; }
.mb-breadcrumb a:hover { color: var(--mb-cuivre-hover); text-decoration: underline; }

/* En-tete fiche : note + byline */
.mb-note-header { display: flex; align-items: baseline; gap: 10px; margin: 8px 0 4px; }
.mb-etoiles { color: var(--mb-espresso); letter-spacing: 2px; font-size: 18px; }
.mb-note-chiffre { font-family: var(--mb-sans); font-weight: 700; font-size: 18px; }
.mb-note-chiffre small { font-weight: 400; color: var(--mb-moka); }
.mb-byline { font-size: 14px; color: var(--mb-moka); margin-bottom: 16px; }

/* Bandeau transparence (avant le premier CTA) */
.mb-transparence { background: var(--mb-lin); border-radius: var(--mb-radius); padding: 12px 18px; font-size: 14px; line-height: 1.5; color: var(--mb-espresso); margin-bottom: 24px; }
.mb-transparence strong { font-weight: 600; }

/* Hero produit : photo + colonne achat */
.mb-hero { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; background: var(--mb-blanc-casse); border: 1px solid var(--mb-sable); border-radius: var(--mb-radius); padding: 24px; margin-bottom: 40px; }
.mb-hero-photo { background: var(--mb-lin); border-radius: var(--mb-radius); min-height: 280px; display: flex; align-items: center; justify-content: center; color: var(--mb-moka); font-size: 14px; overflow: hidden; }
.mb-hero-photo img { width: 100%; height: 100%; object-fit: cover; }
.mb-hero-achat { display: flex; flex-direction: column; gap: 10px; justify-content: center; }
.mb-hero-achat .mb-pour li, .mb-hero-achat .mb-contre li { margin-bottom: 4px; font-size: 15px; }
.mb-prix-label { font-size: 13px; color: var(--mb-moka); }
@media (max-width: 720px) { .mb-hero { grid-template-columns: 1fr; } .mb-hero-photo { min-height: 200px; } }

/* Layout 2 colonnes : contenu 720px + sommaire sticky */
.mb-layout { display: grid; grid-template-columns: minmax(0, 720px) 260px; justify-content: space-between; gap: 48px; align-items: start; }
.mb-sommaire { position: sticky; top: 96px; background: var(--mb-blanc-casse); border: 1px solid var(--mb-sable); border-radius: var(--mb-radius); padding: 18px 20px; font-size: 15px; }
.mb-sommaire p.mb-sommaire-titre { font-weight: 600; font-size: 14px; text-transform: uppercase; letter-spacing: .08em; margin: 0 0 10px; }
.mb-sommaire ul { list-style: none; margin: 0; padding: 0; }
.mb-sommaire li { margin-bottom: 8px; }
.mb-sommaire a { color: var(--mb-espresso); text-decoration: none; border-left: 2px solid transparent; padding-left: 10px; display: block; }
.mb-sommaire a:hover { border-left-color: var(--mb-espresso); }
.mb-sommaire-mobile { display: none; }
@media (max-width: 980px) {
  .mb-layout { grid-template-columns: 1fr; }
  .mb-sommaire { display: none; }
  .mb-sommaire-mobile { display: block; background: var(--mb-blanc-casse); border: 1px solid var(--mb-sable); border-radius: var(--mb-radius); padding: 4px 16px; margin-bottom: 24px; }
  .mb-sommaire-mobile summary { font-weight: 600; padding: 10px 0; cursor: pointer; }
  .mb-sommaire-mobile ul { list-style: none; margin: 0 0 10px; padding: 0; }
  .mb-sommaire-mobile li { margin-bottom: 8px; }
  .mb-sommaire-mobile a { color: var(--mb-espresso); text-decoration: none; }
}

/* Bandeau de chiffres (stat strip) */
.mb-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 24px 0; }
.mb-stat { background: var(--mb-blanc-casse); border: 1px solid var(--mb-sable); border-radius: var(--mb-radius); padding: 16px; text-align: center; }
.mb-stat .mb-stat-valeur { font-family: var(--mb-sans); font-weight: 700; font-size: 22px; font-variant-numeric: tabular-nums; display: block; }
.mb-stat .mb-stat-label { font-size: 13px; color: var(--mb-moka); }
@media (max-width: 560px) { .mb-stats { grid-template-columns: 1fr; } }

/* Pour qui : lignes avec coche / croix */
.mb-pour-qui .mb-non li::before { content: "\2715"; position: absolute; left: 0; color: var(--mb-moka); font-weight: 700; }
.mb-non { list-style: none; margin: 0; padding: 0; }
.mb-non li { padding-left: 26px; position: relative; margin-bottom: 6px; }

/* Verdict sombre en cloture */
.mb-verdict-final { background: var(--mb-espresso); color: var(--mb-creme); border-radius: var(--mb-radius); padding: 32px; margin: 48px 0 32px; }
.mb-verdict-final .mb-verdict-titre { font-family: var(--mb-serif); font-size: 24px; color: var(--mb-creme); margin: 0 0 8px; }
.mb-verdict-final .mb-etoiles { color: var(--mb-creme); }
.mb-verdict-final .mb-note-chiffre { color: var(--mb-creme); }
.mb-verdict-final p { color: var(--mb-creme); max-width: 56ch; }
.mb-verdict-final .mb-disclosure { color: var(--mb-sable); }

/* Signature auteur */
.mb-auteur { display: flex; gap: 16px; align-items: center; border-top: 1px solid var(--mb-sable); padding-top: 24px; margin-top: 8px; }
.mb-auteur-portrait { width: 56px; height: 56px; border-radius: 50%; background: var(--mb-lin); flex-shrink: 0; display: flex; align-items: center; justify-content: center; color: var(--mb-moka); font-size: 11px; overflow: hidden; }
.mb-auteur-portrait img { width: 100%; height: 100%; object-fit: cover; }
.mb-auteur-nom { font-weight: 600; }
.mb-auteur-bio { font-size: 14px; color: var(--mb-moka); }

/* Bloc methodologie 4 etapes */
.mb-methodo-etapes { counter-reset: etape; list-style: none; margin: 16px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px 24px; }
.mb-methodo-etapes li { counter-increment: etape; padding-left: 40px; position: relative; font-size: 15px; }
.mb-methodo-etapes li::before { content: counter(etape); position: absolute; left: 0; top: 0; width: 28px; height: 28px; border-radius: 50%; background: var(--mb-espresso); color: var(--mb-creme); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 14px; }
@media (max-width: 560px) { .mb-methodo-etapes { grid-template-columns: 1fr; } }
/* ============================================================
   Gabarit FICHE PRODUIT (e-commerce vers Amazon)
   ============================================================ */

/* Hero e-commerce : galerie + colonne achat */
.mb-pf-hero { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 32px; margin-bottom: 24px; align-items: start; }
@media (max-width: 860px) { .mb-pf-hero { grid-template-columns: 1fr; } }

.mb-pf-galerie { position: static; }
.mb-pf-photo { background: var(--mb-lin); border-radius: var(--mb-radius); aspect-ratio: 4/3; display: flex; align-items: center; justify-content: center; color: var(--mb-moka); font-size: 14px; overflow: hidden; }
.mb-pf-photo img { width: 100%; height: 100%; object-fit: contain; }
.mb-pf-vignettes { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 10px; }
.mb-pf-vignettes > div { background: var(--mb-lin); border-radius: var(--mb-radius-sm); aspect-ratio: 1; }


.mb-pf-achat { display: flex; flex-direction: column; gap: 14px; }
.mb-pf-marque { font-size: 14px; text-transform: uppercase; letter-spacing: .08em; color: var(--mb-moka); font-weight: 600; }
.mb-pf-achat h1 { margin: 0; }
.mb-pf-promesse { font-size: 17px; color: var(--mb-espresso); margin: 0; }
.mb-pf-testlink { font-size: 15px; }

/* Bloc prix */
.mb-prix-bloc { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; padding: 14px 0 4px; border-top: 1px solid var(--mb-sable); }
.mb-prix-bloc .mb-prix { font-size: 28px; }
.mb-prix-date { font-size: 13px; color: var(--mb-moka); }

/* CTA secondaire (fantôme espresso) */
.mb-cta-secondaire {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 48px; padding: 11px 22px;
  background: transparent; color: var(--mb-espresso);
  font-family: var(--mb-sans); font-weight: 600; font-size: 15px;
  text-decoration: none; border: 1.5px solid var(--mb-espresso); border-radius: var(--mb-radius);
  transition: background-color .15s ease;
}
.mb-cta-secondaire:hover { background: var(--mb-lin); color: var(--mb-espresso); }
.mb-pf-boutons { display: flex; flex-direction: column; gap: 10px; }
.mb-pf-boutons .mb-cta, .mb-pf-boutons .mb-cta-secondaire { width: 100%; }

/* Barre de réassurance */
.mb-reassurance { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; font-size: 13px; color: var(--mb-moka); border-top: 1px solid var(--mb-sable); padding-top: 14px; }
.mb-reassurance span { display: flex; align-items: center; gap: 6px; }
.mb-reassurance svg { flex-shrink: 0; }
@media (max-width: 480px) { .mb-reassurance { grid-template-columns: 1fr; } }

/* Tableau caractéristiques : terme + explication */
.mb-specs td:first-child { font-weight: 600; width: 40%; }
.mb-specs .mb-spec-aide { display: block; font-weight: 400; font-size: 13px; color: var(--mb-moka); }

/* Extrait du test */
.mb-pf-test { background: var(--mb-blanc-casse); border: 1px solid var(--mb-sable); border-radius: var(--mb-radius); padding: 24px; margin: 32px 0; }

/* Hésitez avec… (alternatives) */
.mb-pf-alternatives { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin: 16px 0; }
.mb-pf-alternatives a { text-align: center; }
@media (max-width: 560px) { .mb-pf-alternatives { grid-template-columns: 1fr; } }

/* Sections fiche produit : largeur lecture */
.mb-pf-corps { max-width: 860px; }
.mb-pf-corps > p { max-width: var(--mb-content); }
/* ---------- Fiches produits : pleine largeur ---------- */
.mb-fiche .entry-content > p,
.mb-fiche .entry-content > ul,
.mb-fiche .entry-content > ol,
.mb-fiche .entry-content > h2,
.mb-fiche .entry-content > h3,
.mb-fiche .entry-content > h4 { max-width: none; }
.mb-fiche .mb-pf-corps { max-width: none; }
.mb-fiche .mb-pf-corps > p, .mb-fiche .mb-pf-corps > ul { max-width: 900px; }
.mb-fiche .site-content { padding-left: 0; padding-right: 0; }
.mb-fiche .mb-pf-photo { width: 100%; aspect-ratio: 1 / 0.85; max-height: none; }

/* ---------- Trio de reassurance sous la photo (composant autonome) ---------- */
.mb-pf-photo { position: relative; }
.mb-pf-photo-placeholder { color: var(--mb-moka); font-size: 14px; }
.mb-trio {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
  margin-top: 28px;
}
.mb-trio-item {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  text-align: center;
  font-family: var(--mb-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .05em;
  text-transform: uppercase;
  line-height: 1.35;
  color: var(--mb-espresso);
}
.mb-trio-item svg { width: 26px; height: 26px; flex-shrink: 0; color: var(--mb-espresso); }
/* Micro-lignes regroupees sous le CTA + boutons secondaires cote a cote */
.mb-pf-micro { display: flex; flex-direction: column; gap: 2px; margin-top: -4px; }
.mb-pf-micro span { font-size: 13px; line-height: 1.5; color: var(--mb-moka); }
.mb-pf-micro .mb-legende { font-size: 13px; }
.mb-pf-secondaires { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.mb-pf-secondaires .mb-cta-secondaire { width: 100%; font-size: 14px; padding: 11px 14px; }
@media (max-width: 480px) { .mb-pf-secondaires { grid-template-columns: 1fr; } }
/* Demi-etoile (etoile coupee a 50%) */
.mb-demi { display: inline-block; width: .52em; overflow: hidden; white-space: nowrap; vertical-align: text-bottom; }

/* Les deux micro-mentions sur une meme ligne, boutons rapproches */
.mb-pf-micro { flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; margin-top: -2px; }
.mb-pf-micro > span:not(:first-child)::before { content: "\00b7"; margin-right: 8px; color: var(--mb-moka); }
.mb-pf-secondaires { margin-top: -4px; }
/* Rangee prix (gauche) + note (droite) sous le titre */
.mb-pf-prixnote { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.mb-pf-prixnote .mb-prix-bloc { border-top: none; padding: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
.mb-pf-prixnote .mb-prix { font-size: 30px; line-height: 1.1; }
.mb-pf-prixnote .mb-note-header { margin: 8px 0 0; }
.mb-etoiles { font-variant-emoji: text; }
.mb-demi { vertical-align: baseline; color: var(--mb-espresso); }

/* Etoiles SVG */
.mb-stars { display: inline-flex; align-items: center; }
.mb-stars svg { display: block; }
.mb-note-header { align-items: center; }
.mb-pf-prixnote .mb-note-header { margin: 0; }
.mb-pf-prixnote .mb-prix-bloc { align-items: flex-start; text-align: left; }

/* Ajustements hero */
.mb-pf-marque { margin-bottom: -14px; }
.mb-pf-boutons { margin-top: 10px; }
.mb-pf-micro { margin-top: 0; }
.mb-pf-galerie .mb-pf-secondaires { margin-top: 20px; }

/* Trio au-dessus du CTA */
.mb-pf-achat .mb-trio { margin-top: 6px; margin-bottom: 0; }
.mb-pf-achat .mb-trio-item svg { width: 22px; height: 22px; }
.mb-pf-achat .mb-trio-item { font-size: 10.5px; }
.mb-pf-boutons { margin-top: 4px; gap: 6px; }
.mb-pf-galerie .mb-pf-secondaires { margin-top: 24px; }

/* Mention affiliee collee au CTA */
.mb-pf-boutons { gap: 0; }
.mb-pf-boutons .mb-pf-micro { margin-top: 6px; }

.mb-fiche .mb-pf-achat h1 { margin: 0; }

.mb-pf-photo { padding: 28px; }
.mb-pf-photo img { width: 100%; height: 100%; object-fit: contain; }

/* Reference produit */
.mb-pf-ref { font-size: 13px; color: var(--mb-moka); margin-top: 2px; }

/* Selecteur de variantes */
.mb-variantes { display: flex; flex-direction: column; gap: 8px; margin-top: 4px; }
.mb-variantes-label { font-size: 14px; color: var(--mb-espresso); }
.mb-variantes-chips { display: flex; gap: 10px; }
.mb-variante-chip { width: 28px; height: 28px; border-radius: 50%; background: var(--chip); border: 2px solid var(--mb-sable); cursor: pointer; padding: 0; transition: transform .1s ease; }
.mb-variante-chip:hover { transform: scale(1.1); }
.mb-variante-chip.est-active { border-color: var(--mb-espresso); box-shadow: 0 0 0 2px var(--mb-blanc-casse) inset; }

/* Photo agrandie */
.mb-pf-photo { padding: 10px; }
/* Selecteur de variantes sous la photo */
.mb-pf-galerie .mb-variantes { flex-direction: row; align-items: center; justify-content: space-between; margin-top: 16px; }
.mb-pf-galerie .mb-variante-chip { width: 30px; height: 30px; }
.mb-pf-galerie .mb-pf-secondaires { margin-top: 16px; }

/* Pastilles : couleur verrouillee sur tous les etats */
.mb-variante-chip,
.mb-variante-chip:hover,
.mb-variante-chip:focus,
.mb-variante-chip:active,
.mb-variante-chip.est-active {
  background: var(--chip);
  color: transparent;
}
.mb-variante-chip { border: 2px solid var(--mb-sable); box-shadow: none; }
.mb-variante-chip:hover { border-color: var(--mb-moka); }
.mb-variante-chip.est-active { border-color: transparent; outline: 2px solid var(--mb-espresso); outline-offset: 2px; box-shadow: none; }
.mb-variante-chip:focus-visible { outline: 2px solid var(--mb-espresso); outline-offset: 2px; }
/* Fond blanc derriere les packshots (les visuels ont un fond blanc integre) */
.mb-pf-photo { background: #FFFFFF; border: 1px solid var(--mb-sable); }

/* ---------- Rythme vertical des fiches produits (pas de 8 px) ---------- */
.mb-fiche .mb-pf-hero { margin-bottom: 48px; }
.mb-pf-corps h2 { margin-top: 56px; margin-bottom: 16px; }
.mb-pf-corps h2:first-of-type { margin-top: 0; }
.mb-pf-corps h3 { margin-top: 28px; margin-bottom: 8px; }
.mb-pf-corps p { margin-top: 0; margin-bottom: 16px; }
.mb-pf-corps .mb-comparatif { margin: 16px 0 8px; }
.mb-pf-corps .mb-pour-qui { margin: 16px 0 8px; }
.mb-pf-corps .mb-pf-test { margin: 56px 0; }
.mb-pf-corps .mb-pf-alternatives { margin: 16px 0 8px; }
.mb-pf-corps .mb-verdict-final { margin: 64px 0 24px; }
/* Video responsive */
.mb-video { position: relative; aspect-ratio: 16 / 9; max-width: 900px; border-radius: var(--mb-radius); overflow: hidden; border: 1px solid var(--mb-sable); background: var(--mb-espresso); }
.mb-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* Bloc documentation */
.mb-doc { background: var(--mb-blanc-casse); border: 1px solid var(--mb-sable); border-radius: var(--mb-radius); padding: 24px 28px; max-width: 900px; }
.mb-doc .mb-cta-secondaire { display: inline-block; }
/* ---------- Grille de 3 videos ---------- */
.mb-videos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 16px 0 8px; }
.mb-video-item { margin: 0; }
.mb-video { max-width: none; }
.mb-video-item .mb-legende { display: block; margin-top: 8px; }

/* ---------- Harmonisation des espacements de sections ---------- */
.mb-pf-corps .mb-videos, .mb-pf-corps .mb-doc { margin-top: 16px; margin-bottom: 8px; }

/* ---------- Responsive fiche produit ---------- */
@media (max-width: 980px) {
  .mb-videos { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 860px) {
  .mb-pf-hero { grid-template-columns: 1fr; gap: 28px; }
  .mb-pf-achat h1 { font-size: clamp(28px, 7vw, 36px); }
  .mb-fiche .mb-pf-corps > p, .mb-fiche .mb-pf-corps > ul { max-width: none; }
}
@media (max-width: 700px) {
  .mb-videos { grid-template-columns: 1fr; gap: 20px; }
  .mb-pf-corps h2 { margin-top: 40px; font-size: 26px; }
  .mb-pf-corps .mb-pf-test { margin: 40px 0; }
  .mb-pf-corps .mb-verdict-final { margin: 48px 0 16px; }
}
@media (max-width: 600px) {
  .mb-fiche .site-content { padding-left: 4px; padding-right: 4px; }
  .mb-pf-photo { padding: 6px; }
  .mb-variantes { flex-direction: column; align-items: flex-start; gap: 8px; }
  .mb-variantes-chips { flex-wrap: wrap; }
  .mb-pf-boutons .mb-cta { display: block; width: 100%; text-align: center; }
  .mb-doc { padding: 18px 16px; }
  .mb-doc .mb-cta-secondaire { display: block; text-align: center; }
  .mb-comparatif { font-size: 14px; }
  .mb-pf-micro { gap: 2px 6px; }
}
/* ---------- Ordre mobile de la fiche produit (marque > titre > photo > couleurs > prix > conviction > CTA) ---------- */
@media (max-width: 860px) {
  .mb-fiche .mb-pf-hero { display: flex; flex-direction: column; }
  .mb-fiche .mb-pf-galerie, .mb-fiche .mb-pf-achat { display: contents; }

  .mb-pf-marque       { order: 1; margin-bottom: 2px; }
  .mb-pf-ref          { order: 2; margin-bottom: 6px; }
  .mb-pf-achat h1     { order: 3; margin: 0 0 14px; }
  .mb-pf-photo        { order: 4; margin-bottom: 14px; }
  .mb-variantes       { order: 5; margin: 0 0 20px; }
  .mb-pf-prixnote     { order: 6; margin-bottom: 14px; }
  .mb-pf-promesse     { order: 7; margin: 0 0 12px; }
  .mb-pf-achat .mb-pour   { order: 8; margin: 0 0 8px; }
  .mb-pf-achat .mb-contre { order: 9; margin: 0 0 16px; }
  .mb-pf-achat .mb-trio   { order: 10; margin: 0 0 18px; }
  .mb-pf-boutons      { order: 11; margin: 0 0 18px; }
  .mb-pf-secondaires  { order: 12; margin: 0; }
}
/* Correctif mobile : suppression du gap herite + rythme resserre */
@media (max-width: 860px) {
  .mb-fiche .mb-pf-hero { gap: 0; }
  .mb-fiche .mb-breadcrumb { margin-bottom: 16px; }
  .mb-pf-marque       { margin-bottom: 0; }
  .mb-pf-ref          { margin-bottom: 4px; }
  .mb-pf-achat h1     { margin: 0 0 10px; font-size: clamp(26px, 6.5vw, 34px); }
  .mb-pf-photo        { margin-bottom: 12px; }
  .mb-variantes       { margin: 0 0 14px; }
  .mb-pf-prixnote     { margin-bottom: 10px; gap: 6px; }
  .mb-pf-promesse     { margin: 0 0 10px; }
  .mb-pf-achat .mb-pour   { margin: 0 0 6px; }
  .mb-pf-achat .mb-contre { margin: 0 0 12px; }
  .mb-pf-achat .mb-trio   { margin: 0 0 14px; }
  .mb-pf-boutons      { margin: 0 0 14px; }
  .mb-fiche .mb-pf-hero + * { margin-top: 0; }
}
/* Finitions mobile : fil d'Ariane, titre, pastilles ---------- */
@media (max-width: 860px) {
  /* Fil d'Ariane plus discret */
  .mb-fiche .mb-breadcrumb { font-size: 12px; line-height: 1.5; }

  /* Respiration entre le titre et la photo */
  .mb-pf-achat h1 { margin: 0 0 18px; }

  /* Pastilles : plus petites, mieux espacees, rangee homogene et centree */
  .mb-variantes { flex-direction: column; align-items: center; gap: 10px; margin: 2px 0 20px; }
  .mb-variantes-label { font-size: 13px; text-align: center; }
  .mb-variantes-chips { justify-content: center; gap: 14px; flex-wrap: wrap; row-gap: 12px; }
  .mb-variante-chip { width: 24px; height: 24px; }
  .mb-variante-chip.est-active { outline-width: 2px; outline-offset: 2px; }
}
/* Surclassement mobile (specificite alignee sur les regles desktop) */
@media (max-width: 860px) {
  .mb-fiche .mb-pf-achat h1 { margin: 0 0 20px; }
  .mb-pf-galerie .mb-variante-chip, .mb-variante-chip { width: 20px; height: 20px; }
  .mb-variantes-chips { gap: 12px; }
}
/* Mobile : libelle au-dessus, pastilles reparties sur la largeur de la photo */
@media (max-width: 860px) {
  .mb-pf-galerie .mb-variantes, .mb-variantes { flex-direction: column; align-items: stretch; gap: 10px; }
  .mb-variantes-label { text-align: left; font-size: 13px; }
  .mb-variantes-chips { width: 100%; justify-content: space-between; gap: 0; row-gap: 12px; flex-wrap: nowrap; }
  .mb-pf-galerie .mb-variante-chip, .mb-variante-chip { width: 26px; height: 26px; flex-shrink: 0; }
}
/* Mobile : plus d'air entre les pastilles */
@media (max-width: 860px) {
  .mb-pf-galerie .mb-variante-chip, .mb-variante-chip { width: 22px; height: 22px; }
  .mb-variantes-chips { justify-content: space-between; padding: 0 2px; }
}
/* Mobile : pastilles = largeur exacte de la photo (regle definitive) */
@media (max-width: 860px) {
  .mb-variantes { width: 100% !important; }
  .mb-variantes-chips {
    display: flex !important;
    width: 100% !important;
    justify-content: space-between !important;
    gap: 0 !important;
    padding: 0 !important;
  }
}
/* Mobile : boutons secondaires au gabarit du CTA + mention affiliee sur une ligne */
@media (max-width: 860px) {
  .mb-pf-secondaires { display: flex !important; flex-direction: column; gap: 10px; width: 100%; }
  .mb-pf-secondaires .mb-cta-secondaire {
    display: block;
    width: 100%;
    padding: 14px 16px;
    font-size: 15px;
    text-align: center;
    box-sizing: border-box;
  }
  .mb-pf-micro { flex-wrap: nowrap !important; white-space: nowrap; overflow: hidden; gap: 0 6px; }
  .mb-pf-micro span { font-size: 11px; }
  .mb-pf-micro > span:not(:first-child)::before { margin-right: 6px; }
}
/* Mobile : CTA Amazon au meme gabarit que les boutons secondaires */
@media (max-width: 860px) {
  .mb-pf-boutons .mb-cta {
    padding: 14px 16px !important;
    font-size: 15px !important;
    line-height: 1.2;
    box-sizing: border-box;
  }
}
/* Mobile : hauteur STRICTEMENT identique pour les 3 boutons (48px, flex centre) */
@media (max-width: 860px) {
  .mb-pf-boutons .mb-cta,
  .mb-pf-secondaires .mb-cta-secondaire {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 48px !important;
    padding: 0 16px !important;
    font-size: 15px !important;
    line-height: 1 !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
}
/* Mobile : CTA pleine largeur (conteneur inclus) + mention sur 2 lignes centrees */
@media (max-width: 860px) {
  .mb-pf-boutons {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .mb-pf-boutons .mb-cta {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }
  .mb-pf-micro {
    flex-direction: column !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    white-space: normal !important;
    overflow: visible !important;
    gap: 2px !important;
    text-align: center;
    margin-top: 8px !important;
  }
  .mb-pf-micro span { font-size: 12px; }
  .mb-pf-micro > span:not(:first-child)::before { content: none !important; margin: 0 !important; }
}
/* Correctif tableau caracteristiques sur mobile : rester en 2 colonnes propres */
@media (max-width: 700px) {
  .mb-specs tr { display: table-row !important; }
  .mb-specs td { display: table-cell !important; width: auto !important; padding: 10px 12px !important; }
  .mb-specs td::before { content: none !important; display: none !important; }
  .mb-specs td:first-child { width: 46%; font-size: 13px; }
  .mb-specs .mb-spec-aide { font-size: 11px; }
}

/* Desktop : galerie aeree, pastilles centrees verticalement, boutons au gabarit du CTA */
@media (min-width: 861px) {
  .mb-pf-galerie { display: flex; flex-direction: column; }
  .mb-pf-galerie .mb-variantes { margin: auto 0; padding: 16px 0; }
  .mb-pf-secondaires { margin-top: auto; display: flex; gap: 12px; }
  .mb-pf-secondaires .mb-cta-secondaire {
    flex: 1; display: flex; align-items: center; justify-content: center;
    height: 52px; padding: 0 16px; box-sizing: border-box;
  }
  .mb-pf-boutons .mb-cta {
    display: flex; align-items: center; justify-content: center;
    height: 52px; padding: 0 24px; box-sizing: border-box;
  }
}
/* Mobile : boutons du verdict et du manuel proprement centres, sans retour a la ligne casse */
@media (max-width: 860px) {
  .mb-verdict-final .mb-cta,
  .mb-doc .mb-cta-secondaire {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 48px;
    height: auto !important;
    padding: 12px 14px !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    text-align: center !important;
    box-sizing: border-box !important;
    white-space: normal;
  }
}

/* Desktop : compenser la hauteur de la mention affiliee pour aligner les 2 boutons sur le CTA */
@media (min-width: 861px) {
  .mb-pf-secondaires { margin-bottom: 0; }
}
/* Verdict : air entre le CTA et la mention */
.mb-verdict-final .mb-cta { margin-bottom: 14px !important; }

/* Desktop : la colonne galerie doit s'etirer sur toute la hauteur de la rangee (sinon margin-top:auto est inoperant) */
@media (min-width: 861px) {
  .mb-fiche .mb-pf-hero { align-items: stretch !important; }
}
/* Titres du bloc verdict : creme sur fond espresso, sans marge de section */
.mb-pf-corps .mb-verdict-final h2, .mb-verdict-final h2 {
  color: var(--mb-creme) !important;
  margin-top: 0 !important;
  margin-bottom: 14px;
}
/* Bouton fonctionnalite a venir */
.mb-bientot { opacity: .55; cursor: default; pointer-events: none; }

/* ---------- Aeration fine des sections (titres, legendes, encadres) ---------- */
.mb-pf-corps h3 { margin-top: 32px; margin-bottom: 10px; }
.mb-pf-corps h2 + p, .mb-pf-corps h3 + p { margin-top: 0; }
.mb-pf-corps .mb-legende { display: block; margin: 10px 0 24px; line-height: 1.5; }
.mb-pf-corps p + .mb-comparatif, .mb-pf-corps h3 + .mb-comparatif { margin-top: 12px; }
.mb-pf-corps .mb-comparatif + .mb-legende { margin-top: 12px; }
.mb-pour-qui { gap: 32px; }
.mb-pour-qui h3 { margin: 0 0 14px; }
.mb-pour-qui ul { margin: 0; }
.mb-pour-qui li + li { margin-top: 10px; }
.mb-doc p:first-child { margin-top: 0; }
.mb-doc p:last-child, .mb-doc a:last-child { margin-bottom: 0; }
.mb-pf-corps .mb-doc + h2 { margin-top: 56px; }
/* Aeration renforcee du bloc avis (pour/contre) */
.mb-pour-qui { padding: 32px 36px; }
.mb-pour-qui h3 { margin: 0 0 18px; }
.mb-pour-qui li + li { margin-top: 14px; }
.mb-pour-qui li { line-height: 1.6; }
.mb-pour-qui > div + div { margin-top: 36px; padding-top: 32px; border-top: 1px solid var(--mb-sable); }
/* ---------- Grille de cartes fiches (pages de navigation) ---------- */
.mb-intro { font-size: 18px; max-width: 760px; margin-bottom: 8px; }
.mb-grid-fiches { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin: 24px 0 48px; }
.mb-carte-fiche { display: flex; flex-direction: column; background: var(--mb-blanc-casse); border: 1px solid var(--mb-sable); border-radius: var(--mb-radius); padding: 20px; text-decoration: none; transition: transform .15s ease, box-shadow .15s ease; }
.mb-carte-fiche:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(44,34,27,.08); }
.mb-carte-img { background: #fff; border-radius: 6px; padding: 12px; margin-bottom: 14px; display: flex; align-items: center; justify-content: center; aspect-ratio: 1/0.9; }
.mb-carte-img img { max-height: 100%; width: auto; max-width: 100%; object-fit: contain; }
.mb-carte-titre { font-family: 'Young Serif', serif; font-size: 19px; color: var(--mb-espresso); margin-bottom: 4px; }
.mb-carte-sous { font-size: 13px; color: var(--mb-moka); margin-bottom: 10px; }
.mb-carte-prix { font-weight: 700; font-size: 17px; color: var(--mb-espresso); margin-top: auto; }
@media (max-width: 900px) { .mb-grid-fiches { grid-template-columns: 1fr 1fr; gap: 16px; } }
@media (max-width: 560px) { .mb-grid-fiches { grid-template-columns: 1fr; } }
/* ---------- En-tete ---------- */
.main-navigation .main-nav ul li a { font-family: 'Public Sans', sans-serif; font-size: 14px; font-weight: 600; letter-spacing: .02em; color: var(--mb-espresso); }
.main-navigation .main-nav ul li a:hover { color: var(--mb-cuivre); }
.site-header { border-bottom: 1px solid var(--mb-sable); }
.main-title a { font-family: 'Young Serif', serif !important; color: var(--mb-espresso) !important; }

/* ---------- Pied de page ---------- */
.site-footer .site-info { display: none; }
.mb-footer { background: var(--mb-espresso); color: var(--mb-lin); margin-top: 72px; }
.mb-footer-inner { max-width: 1200px; margin: 0 auto; padding: 56px 24px 40px; display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 40px; }
.mb-footer-logo { font-family: 'Young Serif', serif; font-size: 22px; color: var(--mb-creme); display: block; margin-bottom: 12px; }
.mb-footer-marque p { font-size: 14px; line-height: 1.6; color: var(--mb-lin); opacity: .85; margin: 0 0 14px; }
.mb-footer-affiliation { font-size: 12px !important; opacity: .6 !important; }
.mb-footer-titre { display: block; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--mb-creme); margin-bottom: 14px; }
.mb-footer-col a { display: block; color: var(--mb-lin); text-decoration: none; font-size: 14px; padding: 5px 0; opacity: .85; }
.mb-footer-col a:hover { color: var(--mb-creme); opacity: 1; }
.mb-footer-bas { border-top: 1px solid rgba(239,231,219,.15); text-align: center; padding: 18px 24px; font-size: 13px; color: var(--mb-lin); opacity: .6; }
@media (max-width: 860px) {
  .mb-footer-inner { grid-template-columns: 1fr 1fr; gap: 28px; padding: 40px 20px 28px; }
  .mb-footer-marque { grid-column: 1 / -1; }
}
@media (max-width: 480px) { .mb-footer-inner { grid-template-columns: 1fr; } }
/* ---------- Catalogue : barre de tri et filtres ---------- */
.mb-catalogue-barre { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin: 24px 0 4px; padding: 14px 18px; background: var(--mb-blanc-casse); border: 1px solid var(--mb-sable); border-radius: var(--mb-radius); }
.mb-catalogue-compte { font-weight: 700; color: var(--mb-espresso); font-size: 14px; }
.mb-catalogue-filtres { display: flex; gap: 6px; }
.mb-catalogue-filtres button { border: 1px solid var(--mb-sable); background: transparent; color: var(--mb-moka); font-size: 13px; font-weight: 600; padding: 7px 14px; border-radius: 99px; cursor: pointer; }
.mb-catalogue-filtres button.est-actif { background: var(--mb-espresso); border-color: var(--mb-espresso); color: var(--mb-creme); }
.mb-catalogue-tri { margin-left: auto; font-size: 13px; color: var(--mb-moka); display: flex; align-items: center; gap: 8px; }
.mb-catalogue-tri select { border: 1px solid var(--mb-sable); border-radius: 6px; background: #fff; color: var(--mb-espresso); font-size: 13px; font-weight: 600; padding: 7px 10px; cursor: pointer; }
.mb-carte-fiche { position: relative; }
.mb-carte-badge { position: absolute; top: 14px; left: 14px; z-index: 2; background: var(--mb-espresso); color: var(--mb-creme); font-size: 11px; font-weight: 700; letter-spacing: .04em; padding: 5px 10px; border-radius: 99px; }
.mb-carte-note { font-size: 13px; color: var(--mb-cuivre); font-weight: 700; margin-bottom: 6px; }
.mb-carte-note small { color: var(--mb-moka); font-weight: 400; }
@media (max-width: 640px) {
  .mb-catalogue-barre { gap: 10px; padding: 12px 14px; }
  .mb-catalogue-tri { margin-left: 0; width: 100%; }
  .mb-catalogue-tri select { flex: 1; }
}
.mb-pf-marque a.mb-lien-marque { color: inherit; text-decoration: none; border-bottom: 1px solid var(--mb-sable); }
.mb-pf-marque a.mb-lien-marque:hover { color: var(--mb-cuivre); border-color: var(--mb-cuivre); }

/* ---------- Annuaire des marques ---------- */
.mb-marques-recherche { display: flex; align-items: center; gap: 12px; background: var(--mb-blanc-casse); border: 1px solid var(--mb-sable); border-radius: var(--mb-radius); padding: 14px 18px; margin: 24px 0; color: var(--mb-moka); }
.mb-marques-recherche input { flex: 1; border: none; background: transparent; font-size: 15px; color: var(--mb-espresso); outline: none; font-family: 'Public Sans', sans-serif; }
.mb-marques-compte { font-size: 13px; font-weight: 700; color: var(--mb-espresso); white-space: nowrap; }
.mb-marques-grille { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-bottom: 48px; }
.mb-carte-marque { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px; background: var(--mb-blanc-casse); border: 1px solid var(--mb-sable); border-radius: var(--mb-radius); padding: 28px 18px 22px; text-decoration: none; transition: transform .15s ease, box-shadow .15s ease; }
a.mb-carte-marque:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(44,34,27,.08); }
.mb-carte-marque.est-a-venir { opacity: .62; }
.mb-marque-logo { width: 72px; height: 72px; background: #fff; border: 1px solid var(--mb-sable); border-radius: 50%; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.mb-marque-logo img { width: 44px; height: 44px; object-fit: contain; }
.mb-marque-monogramme { font-family: 'Young Serif', serif; font-size: 30px; color: var(--mb-espresso); }
.mb-marque-nom { font-family: 'Young Serif', serif; font-size: 17px; color: var(--mb-espresso); }
.mb-marque-statut { font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--mb-moka); background: var(--mb-lin); border-radius: 99px; padding: 4px 10px; }
.mb-marque-statut.est-actif { background: var(--mb-vert); color: var(--mb-creme); }
.mb-marques-vide { color: var(--mb-moka); font-style: italic; }
@media (max-width: 900px) { .mb-marques-grille { grid-template-columns: repeat(3, 1fr); gap: 14px; } }
@media (max-width: 600px) { .mb-marques-grille { grid-template-columns: repeat(2, 1fr); } .mb-marques-compte { display: none; } }
/* ---------- Menu : couleurs charte (fini le bleu) ---------- */
.main-navigation .main-nav ul li a,
.main-navigation .main-nav ul li a:visited { color: var(--mb-espresso); }
.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li a:focus,
.main-navigation .main-nav ul li.sfHover > a,
.main-navigation .main-nav ul li[class*="current"] > a { color: var(--mb-cuivre) !important; background: transparent !important; }
.main-navigation .main-nav ul li[class*="current"] > a { box-shadow: inset 0 -2px 0 var(--mb-cuivre); }
.main-navigation .menu-toggle, .main-navigation button.menu-toggle:hover { color: var(--mb-espresso); background: transparent; }

/* ---------- Menu deroulant : carte creme selon la charte ---------- */
.main-navigation ul ul {
  background: var(--mb-blanc-casse) !important;
  border: 1px solid var(--mb-sable);
  border-radius: var(--mb-radius);
  box-shadow: 0 12px 32px rgba(44, 34, 27, .12);
  padding: 8px;
  margin-top: 6px;
  min-width: 240px;
}
.main-navigation ul ul li { border: none !important; }
.main-navigation ul ul li a {
  color: var(--mb-espresso) !important;
  font-size: 14px !important;
  font-weight: 500;
  padding: 11px 14px !important;
  border-radius: 6px;
  transition: background .12s ease, color .12s ease;
}
.main-navigation ul ul li a:hover,
.main-navigation ul ul li a:focus,
.main-navigation ul ul li[class*="current"] > a {
  background: var(--mb-lin) !important;
  color: var(--mb-cuivre) !important;
  box-shadow: none;
}
.main-navigation .main-nav ul li a .dropdown-menu-toggle { color: inherit; }
/* Pont invisible : le survol survit a l'espace entre l'onglet et le menu deroulant */
.main-navigation ul ul::before {
  content: '';
  position: absolute;
  top: -10px;
  left: 0;
  right: 0;
  height: 10px;
}
/* Parent de sous-menu : cuivre aussi quand on survole le conteneur ou le sous-menu ouvert */
.main-navigation .main-nav ul li:hover > a,
.main-navigation .main-nav ul li:focus-within > a,
.main-navigation .main-nav ul li.sfHover > a,
nav.main-navigation ul li:hover > a {
  color: var(--mb-cuivre) !important;
  background: transparent !important;
}
/* ---------- Cartes catalogue v2 : homogenes et nettes ---------- */
.entry-content a.mb-carte-fiche,
.entry-content a.mb-carte-fiche:visited,
.entry-content a.mb-carte-fiche:hover,
a.mb-carte-fiche, a.mb-carte-marque {
  color: var(--mb-espresso) !important;
  text-decoration: none !important;
  border-bottom: none !important;
}
.mb-carte-fiche *, .mb-carte-marque * { text-decoration: none !important; }
.mb-carte-img {
  aspect-ratio: 1 / 1;
  padding: 18px;
  margin-bottom: 16px;
}
.mb-carte-img img { max-height: 100%; max-width: 100%; width: auto; height: auto; object-fit: contain; }
.mb-carte-titre {
  font-size: 18px;
  line-height: 1.3;
  min-height: calc(2 * 1.3em);
  margin-bottom: 8px;
  color: var(--mb-espresso) !important;
  display: flex;
  align-items: flex-start;
}
.mb-carte-note { margin-bottom: 12px; }
.mb-carte-prix { font-size: 16px; padding-top: 12px; border-top: 1px solid var(--mb-lin); }
a.mb-carte-fiche:hover .mb-carte-titre { color: var(--mb-cuivre) !important; }
/* Cartes catalogue : zone image a hauteur FIXE, image contenue en absolu */
.mb-carte-img {
  position: relative !important;
  height: 240px !important;
  aspect-ratio: auto !important;
  padding: 0 !important;
  margin-bottom: 16px;
  display: block !important;
}
.mb-carte-img img {
  position: absolute !important;
  inset: 16px !important;
  width: calc(100% - 32px) !important;
  height: calc(100% - 32px) !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
}
@media (max-width: 900px) { .mb-carte-img { height: 190px !important; } }
@media (max-width: 560px) { .mb-carte-img { height: 220px !important; } }
/* == Logo, largeur de lecture et aération (ajout) == */
.site-logo img, .site-header .header-image img { height: 46px; width: auto; max-width: none; }
@media (max-width: 640px) { .site-logo img { height: 36px; } }
.entry-content > p, .entry-content > ul, .entry-content > ol, .entry-content > h2, .entry-content > h3, .entry-content > h4 { max-width: none; }
.entry-content > h2 { margin-top: 2.3em; margin-bottom: 0.9em; }
.entry-content > h3 { margin-top: 1.8em; }
.entry-content > p { margin-bottom: 1.35em; }
.entry-content > .mb-doc { margin: 1.6em 0 2em; }
.entry-content > .mb-intro { margin-bottom: 1.8em; }

.site-header .main-title, .site-header .site-description { display: none; }

.mb-footer .mb-footer-logo-img { height: 36px; width: auto; display: block; margin: 0 0 14px -10px; }

/* == Accueil (ajout) == */
.home .mb-hero-photo { background: #fff; }
.home .mb-hero-photo img { width: auto; height: auto; max-height: 430px; max-width: 90%; object-fit: contain; }
.home .mb-stat { padding: 28px 18px; }
.home .mb-stat .mb-stat-valeur { font-family: 'Young Serif', serif; font-weight: 400; font-size: 46px; line-height: 1.05; margin-bottom: 8px; }
.home .mb-stat .mb-stat-label { font-size: 14px; }
.home .mb-grid-fiches { margin-bottom: 16px; }
.home .mb-carte-fiche { padding-bottom: 22px; }
.home .mb-catalogue { padding-bottom: 6px; }
.mb-gammes { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin: 20px 0 8px; }
.mb-gammes .mb-gamme { display: flex; flex-direction: column; gap: 6px; background: var(--mb-lin); border: 1px solid var(--mb-sable); border-radius: var(--mb-radius); padding: 20px 18px; text-decoration: none !important; border-bottom: none !important; color: var(--mb-espresso) !important; transition: transform .15s ease, border-color .15s ease; }
.mb-gammes .mb-gamme:hover { transform: translateY(-3px); border-color: var(--mb-cuivre); }
.mb-gammes .mb-gamme:hover strong { color: var(--mb-cuivre); }
.mb-gammes .mb-gamme strong { font-family: 'Young Serif', serif; font-weight: 400; font-size: 20px; line-height: 1.2; }
.mb-gammes .mb-gamme span { font-size: 14px; color: var(--mb-moka); }
@media (max-width: 980px) { .mb-gammes { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .mb-gammes { grid-template-columns: 1fr; } }

/* == Hero accueil responsive (ajout) == */
.mb-hero-cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 10px; }
.mb-hero-cta .mb-cta, .mb-hero-cta .mb-cta-secondaire { margin: 0; }
@media (max-width: 640px) {
  .mb-hero-cta { flex-direction: column; gap: 10px; }
  .mb-hero-cta .mb-cta, .mb-hero-cta .mb-cta-secondaire { display: block; text-align: center; width: 100%; box-sizing: border-box; }
  .home .mb-hero { gap: 18px; }
  .home .mb-hero-photo { min-height: 0; }
  .home .mb-hero-photo img { max-height: 280px; max-width: 100%; }
  .home .mb-hero-achat h1 { font-size: 30px; line-height: 1.15; }
  .home .mb-stat .mb-stat-valeur { font-size: 36px; }
}
