/* ═══════════════════════════════════════════════
   FRANCE MINERAUX V6 — CORRECTIONS FINALES v5
   Sélecteurs très spécifiques pour surcharger v6-pages.css
   ═══════════════════════════════════════════════ */


/* ─── Mobile menu toggle — kill parent theme background ─── */
button.mobile-menu-toggle,
.header button.mobile-menu-toggle,
.header .mobile-menu-toggle,
#header .mobile-menu-toggle {
  background: none !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  -webkit-appearance: none !important;
}

/* ─── Fond de page beige/cream (maquette) ─── */
body,
html body,
body.page,
body.home,
body.single,
body.archive {
  background: var(--cream-warm, #FAF7F2) !important;
  background-color: #FAF7F2 !important;
}
/* Main content area aussi */
#main, .site-main, main, .content-area, #content, .page-content {
  background: transparent !important;
}

/* ─── ANTI-SCROLL-LOCK — override parent theme ThemeSky ─── */
/* The parent theme locks body overflow on search/sidebar open. When navigating
   to a new page, those classes can persist (bfcache). Force body scrollable. */
html body,
html body.ts-search-opened,
html body.open-search-sidebar,
html body.open-sidebar,
html body.sidebar-opened,
html body.no-scroll,
html body.mobile-menu-open {
  overflow: visible !important;
  position: static !important;
  height: auto !important;
  width: auto !important;
}
/* Only lock scroll when OUR mobile nav is explicitly open */
html body.v6-menu-open {
  overflow: hidden !important;
}

/* ─── Topbar WPFront — hide (V6 has its own promo topbar) ─── */
#wpfront-notification-bar,
#wpfront-notification-bar-spacer,
div.wpfront-notification-bar-spacer,
#wpfront-notification-bar-open-button,
.wpfront-notification-bar-spacer,
[id*="wpfront-notification"],
[class*="wpfront-notification"] {
  display: none !important; height: 0 !important; max-height: 0 !important;
  margin: 0 !important; padding: 0 !important; overflow: hidden !important;
  visibility: hidden !important; opacity: 0 !important;
  position: absolute !important; top: -9999px !important;
}

/* ─── Topbar Promo V6 — MOBILE COMPACT (match reassurance bar size) ─── */
.topbar-promo p, .topbar-promo .topbar-promo-text { margin: 0 !important; padding: 0 !important; }

@media (max-width: 768px) {
  .topbar-promo {
    padding: 5px 12px !important;
    border-bottom: 1px solid rgba(196,162,101,.1) !important;
  }
  .topbar-promo a {
    display: block !important;
  }
  .topbar-promo-text,
  .topbar-promo .topbar-promo-text,
  .topbar-promo p.topbar-promo-text {
    font-family: 'Raleway', sans-serif !important;
    font-size: .44rem !important;
    font-style: normal !important;
    font-weight: 400 !important;
    letter-spacing: 1.5px !important;
    text-transform: none !important;
    color: rgba(232,217,190,.7) !important;
    line-height: 1.3 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .topbar-promo-text strong,
  .topbar-promo .topbar-promo-text strong {
    font-family: 'Raleway', sans-serif !important;
    font-size: .44rem !important;
    font-style: normal !important;
    font-weight: 600 !important;
    letter-spacing: 1.5px !important;
    color: rgba(232,217,190,.85) !important;
  }
  .topbar-promo-text .promo-highlight,
  .topbar-promo .topbar-promo-text .promo-highlight {
    font-family: 'Raleway', sans-serif !important;
    font-size: .5rem !important;
    font-style: normal !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
    color: #C4A265 !important;
  }
  .topbar-promo-sep {
    display: inline-block !important;
    width: 1px !important;
    height: 7px !important;
    background: rgba(196,162,101,.25) !important;
    margin: 0 6px !important;
    vertical-align: middle !important;
  }
  .topbar-promo-note {
    display: none !important;
  }
}
@media (max-width: 480px) {
  .topbar-promo {
    padding: 4px 8px !important;
  }
  .topbar-promo-text,
  .topbar-promo .topbar-promo-text,
  .topbar-promo p.topbar-promo-text {
    font-size: .38rem !important;
    letter-spacing: 1px !important;
  }
  .topbar-promo-text strong,
  .topbar-promo .topbar-promo-text strong {
    font-size: .38rem !important;
    letter-spacing: 1px !important;
  }
  .topbar-promo-text .promo-highlight,
  .topbar-promo .topbar-promo-text .promo-highlight {
    font-size: .42rem !important;
    letter-spacing: 1px !important;
  }
  .topbar-promo-sep {
    height: 6px !important;
    margin: 0 4px !important;
  }
}
/* topbar-track flex-wrap managed by media queries — no global override */

/* ─── Menu ─── */
#menu-menu-v6-principal {
  display: flex !important; align-items: stretch !important;
  list-style: none !important; margin: 0 !important; padding: 0 !important;
}
#menu-menu-v6-principal > li {
  position: relative !important; display: flex !important; align-items: stretch !important;
  float: none !important; margin: 0 !important; padding: 0 !important;
}
#menu-menu-v6-principal > li > a {
  display: flex !important; align-items: center !important; height: 72px !important;
  padding: 0 15px !important; margin: 0 !important;
  font-size: .62rem !important; letter-spacing: 2.5px !important; text-transform: uppercase !important;
  font-weight: 600 !important; color: var(--aubergine, #3C2A3C) !important;
  text-decoration: none !important; line-height: 1 !important; background: none !important; border: none !important;
}
#menu-menu-v6-principal > li:first-child > a, li.menu-item-home > a {
  color: var(--gold, #C4A265) !important;
}
.nav ul, .nav ul li, .nav > ul > li { float: none !important; list-style: none !important; }

/* ─── Header icons ─── */
.h-actions { display: flex !important; align-items: center !important; gap: 6px !important; }
.h-act {
  width: 40px !important; height: 40px !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  background: none !important; border: none !important; cursor: pointer !important;
  color: #3C2A3C !important; border-radius: 50% !important;
  visibility: visible !important; opacity: 1 !important; position: relative !important;
}
.h-act svg { width: 18px !important; height: 18px !important; display: block !important; }
/* Forcer stroke sur TOUS les SVG des h-act */
.h-act svg circle, .h-act svg path, .h-act svg rect, .h-act svg line {
  stroke: #3C2A3C !important;
}

/* ─── Recherche : sidebar en position fixe ─── */
#ts-search-sidebar {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 99999 !important;
  display: none !important;
}
#ts-search-sidebar.active {
  display: block !important;
}
#ts-search-sidebar .overlay {
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
  background: rgba(0,0,0,.5) !important;
  cursor: pointer !important;
}
#ts-search-sidebar .ts-sidebar-content {
  position: absolute !important;
  top: 50% !important; left: 50% !important;
  transform: translate(-50%, -50%) !important;
  background: var(--cream-warm, #FAF7F2) !important;
  padding: 40px !important;
  border-radius: 8px !important;
  max-width: 600px !important;
  width: 90% !important;
  z-index: 2 !important;
  box-shadow: 0 20px 60px rgba(0,0,0,.2) !important;
}

/* ─── Breadcrumb fond blanc ─── */
header + nav.breadcrumb, body > nav.breadcrumb, header ~ nav.breadcrumb {
  background: #fff !important; border-bottom: 1px solid var(--cream, #EDE7DD) !important;
}
main nav.breadcrumb, .site-main nav.breadcrumb, #main nav.breadcrumb { display: none !important; }

/* ─── FAQ — sélecteurs ULTRA spécifiques pour surcharger v6-pages.css ─── */
body .faq-section .faq-list .faq-item {
  background: none !important;
  background-color: transparent !important;
  border: none !important;
  border-bottom: 1px solid var(--cream, #EDE7DD) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}
body .faq-section .faq-list .faq-item:hover {
  box-shadow: none !important;
}
body .faq-section .faq-list .faq-item .faq-question {
  width: 100% !important; display: flex !important; justify-content: space-between !important;
  align-items: center !important; padding: 20px 0 !important;
  background: none !important; background-color: transparent !important;
  border: none !important; cursor: pointer !important;
  font-family: 'Cormorant Garamond', serif !important; font-size: 1.1rem !important;
  font-weight: 600 !important; color: var(--aubergine, #3C2A3C) !important;
  text-align: left !important; text-transform: none !important; letter-spacing: 0 !important;
}
body .faq-section .faq-list .faq-item .faq-question:hover {
  color: var(--gold, #C4A265) !important;
  background: none !important; background-color: transparent !important;
}
body .faq-section .faq-list .faq-item .faq-toggle {
  font-size: 1.4rem !important; color: var(--gold, #C4A265) !important;
  flex-shrink: 0 !important; margin-left: 16px !important; transition: transform .3s ease !important;
}
body .faq-section .faq-list .faq-item.open .faq-toggle { transform: rotate(45deg) !important; }

/* Accordéon réponse — MEME fond que la section (transparent) */
body .faq-section .faq-list .faq-item .faq-answer {
  max-height: 0 !important; overflow: hidden !important;
  transition: max-height .4s ease, padding .4s ease !important;
  padding: 0 !important;
  background: none !important; background-color: transparent !important;
  border: none !important; box-shadow: none !important;
}
body .faq-section .faq-list .faq-item.open .faq-answer {
  max-height: 500px !important; padding: 0 0 20px 0 !important; overflow: visible !important;
}
body .faq-section .faq-list .faq-item .faq-answer p {
  font-family: 'Raleway', sans-serif !important; font-size: .88rem !important;
  line-height: 1.8 !important; color: var(--text-soft, #6B5E66) !important;
  margin: 0 !important; padding: 8px 0 !important;
  background: none !important; background-color: transparent !important;
  border: none !important; border-radius: 0 !important;
}

/* ─── Newsletter ─── */
section.newsletter { background: var(--aubergine, #3C2A3C) !important; text-align: center !important; }
section.newsletter h2 { font-family: 'Cormorant Garamond', serif !important; color: #fff !important; font-weight: 300 !important; }
section.newsletter p { color: rgba(255,255,255,.7) !important; }
section.newsletter .nl-form {
  display: flex !important; max-width: 550px !important;
  margin: 32px auto 0 !important; gap: 0 !important; flex-wrap: nowrap !important;
}
section.newsletter .nl-form input[type="email"] {
  flex: 1 !important; padding: 18px 24px !important;
  border: 1px solid rgba(255,255,255,.15) !important; border-right: none !important;
  border-radius: 0 !important; background: rgba(255,255,255,.95) !important;
  font-family: 'Raleway', sans-serif !important; font-size: .88rem !important;
  font-style: italic !important; color: var(--text-muted, #8A7F85) !important;
  outline: none !important; -webkit-appearance: none !important;
  height: auto !important; box-shadow: none !important; margin: 0 !important; line-height: 1.4 !important;
}
section.newsletter .nl-form input[type="email"]::placeholder {
  color: var(--text-muted, #8A7F85) !important; font-style: italic !important;
}
section.newsletter .nl-form button[type="submit"] {
  padding: 18px 36px !important;
  background: var(--gold, #C4A265) !important; color: #fff !important;
  border: 1px solid var(--gold, #C4A265) !important; border-radius: 0 !important;
  font-family: 'Raleway', sans-serif !important; font-size: .7rem !important;
  letter-spacing: 3px !important; text-transform: uppercase !important;
  font-weight: 700 !important; cursor: pointer !important; white-space: nowrap !important;
  height: auto !important; line-height: 1.4 !important; box-shadow: none !important;
  -webkit-appearance: none !important; margin: 0 !important; transition: background .3s ease !important;
}
section.newsletter .nl-form button[type="submit"]:hover {
  background: var(--gold-bright, #D4B275) !important;
}
section.newsletter .nl-note { color: rgba(255,255,255,.5) !important; font-size: .65rem !important; margin-top: 10px !important; }

/* ─── Bandeau confidentialité ─── */
div.cmpwrapper, div#cmpwrapper, div[id^="cmp"], .fc-consent-root, .fc-dialog-container,
button[onclick*="confidentialit"], button[onclick*="privacy"] {
  display: none !important; visibility: hidden !important; height: 0 !important; overflow: hidden !important; pointer-events: none !important;
}

/* ─── Hero ─── */
section.bijoux-hero, .bijoux-hero {
  background: linear-gradient(135deg, var(--aubergine, #3C2A3C) 0%, #2D1B2D 100%) !important;
}

/* ─── Product cards ─── */
a.product-card-link { display: block !important; text-decoration: none !important; color: inherit !important; }
a.product-card-link:hover { color: inherit !important; text-decoration: none !important; }
.product-stars { display: flex !important; align-items: center !important; justify-content: center !important; gap: 4px !important; }
.product-stars .stars { display: inline-flex !important; align-items: center !important; gap: 1px !important; }
.product-price del { font-size: .85rem !important; opacity: .6 !important; margin-right: 6px !important; }
.product-price ins { text-decoration: none !important; font-weight: 700 !important; }

/* ─── Responsive ─── */
@media (max-width: 768px) {
  #menu-menu-v6-principal > li > a { height: 64px !important; font-size: .55rem !important; }
  section.newsletter .nl-form { flex-direction: column !important; }
}

/* ═══════════════════════════════════════════════
   CORRECTIONS SESSION 2 — 5 points restants
   ═══════════════════════════════════════════════ */

/* ─── 1. Topbar reassurance : centrage vertical ─── */
.topbar {
  display: flex !important;
  align-items: center !important;
  min-height: 36px !important;
}
.topbar-track {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 36px !important;
}
.topbar-item {
  display: flex !important;
  align-items: center !important;
  line-height: 1 !important;
}

/* ─── 2. Icone recherche visible entre Nous Trouver et Carte Cadeau ─── */
button.h-act[aria-label="Rechercher"],
button.h-act[data-action="search"] {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  order: -1 !important; /* Place avant carte cadeau */
}
/* Forcer la couleur du SVG loupe */
button.h-act[aria-label="Rechercher"] svg,
button.h-act[data-action="search"] svg {
  stroke: var(--aubergine, #3C2A3C) !important;
  fill: none !important;
}
button.h-act[aria-label="Rechercher"] svg *,
button.h-act[data-action="search"] svg * {
  stroke: var(--aubergine, #3C2A3C) !important;
}

/* ─── 3. Bouton "Voir tous les points de vente" : texte blanc ─── */
.btn-gold,
a.btn-gold,
.mega-map-cities .btn-gold,
.megamenu-map .btn-gold {
  color: #fff !important;
  background: var(--gold, #C4A265) !important;
  text-decoration: none !important;
  font-family: 'Raleway', sans-serif !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  border: none !important;
  cursor: pointer !important;
}
.btn-gold:hover,
a.btn-gold:hover {
  background: var(--gold-bright, #D4B275) !important;
  color: #fff !important;
}

/* ─── 4. Newsletter footer : catchline "Entrez dans l'univers" ─── */
/* Le titre est dans le HTML (footer.php ou contenu page) */
/* S'assurer que la section newsletter a le bon fond aubergine */
section.newsletter,
.newsletter {
  background: var(--aubergine, #3C2A3C) !important;
  background-color: #3C2A3C !important;
}
section.newsletter h2,
.newsletter h2 {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 2.2rem !important;
  font-weight: 300 !important;
  font-style: italic !important;
  color: #fff !important;
}

/* ─── 5. Newsletter : fond aubergine/violine PAS blanc ─── */
/* Reset total pour forcer le fond sombre */
section.newsletter,
.newsletter,
body section.newsletter,
body .newsletter {
  background: #3C2A3C !important;
  background-color: #3C2A3C !important;
}
section.newsletter *,
.newsletter * {
  /* Tout le texte en clair par defaut */
}
section.newsletter .eyebrow,
.newsletter .eyebrow {
  color: var(--gold, #C4A265) !important;
}
section.newsletter h2,
.newsletter h2 {
  color: #fff !important;
}
section.newsletter p,
.newsletter p {
  color: rgba(255,255,255,.7) !important;
}
section.newsletter .nl-note,
.newsletter .nl-note {
  color: rgba(255,255,255,.5) !important;
}
/* Le formulaire input reste blanc, le bouton dore */
section.newsletter .nl-form input[type="email"],
.newsletter .nl-form input[type="email"] {
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(196,162,101,.25) !important;
  border-right: none !important;
  border-radius: 0 !important;
  color: var(--cream-warm, #FAF7F2) !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .82rem !important;
}
section.newsletter .nl-form input[type="email"]::placeholder,
.newsletter .nl-form input[type="email"]::placeholder {
  color: rgba(196,162,101,.4) !important;
}
section.newsletter .nl-form button[type="submit"],
.newsletter .nl-form button[type="submit"] {
  background: var(--gold, #C4A265) !important;
  color: #fff !important;
  border: 1px solid var(--gold, #C4A265) !important;
}

/* ═══════════════════════════════════════════════
   CORRECTIONS SESSION 2 — 3 derniers points
   ═══════════════════════════════════════════════ */

/* ─── 1. Reassurance bar : centrage vertical parfait ─── */
.topbar {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 10px 0 !important;
  min-height: 40px !important;
  box-sizing: border-box !important;
}
.topbar .topbar-track {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 48px !important;
  height: auto !important;
  line-height: 1 !important;
}
.topbar .topbar-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  white-space: nowrap !important;
  line-height: 1 !important;
  padding: 0 !important;
  margin: 0 !important;
}
.topbar .topbar-dot {
  width: 3px !important;
  height: 3px !important;
  border-radius: 50% !important;
  background: var(--gold, #C4A265) !important;
  opacity: .4 !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
}

/* ─── 2. Recherche : icone visible + design premium ─── */
/* Forcer l'icone loupe en aubergine */
.h-actions button.h-act[aria-label="Rechercher"],
.h-actions button.h-act[data-action="search"] {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  visibility: visible !important;
  opacity: 1 !important;
  cursor: pointer !important;
  background: none !important;
  border: none !important;
  color: var(--aubergine, #3C2A3C) !important;
}
/* SVG loupe : forcer le stroke en aubergine fonce */
.h-actions button.h-act[aria-label="Rechercher"] svg,
.h-actions button.h-act[data-action="search"] svg {
  width: 18px !important;
  height: 18px !important;
  display: block !important;
}
.h-actions button.h-act[aria-label="Rechercher"] svg circle,
.h-actions button.h-act[aria-label="Rechercher"] svg path,
.h-actions button.h-act[data-action="search"] svg circle,
.h-actions button.h-act[data-action="search"] svg path {
  stroke: #3C2A3C !important;
  stroke-width: 1.5 !important;
}

/* Panneau recherche premium : modale centree au lieu du sidebar */
#ts-search-sidebar {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 99999 !important;
  display: none !important;
  pointer-events: none !important;
}
#ts-search-sidebar.active,
body.open-search-sidebar #ts-search-sidebar {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  padding-top: 120px !important;
  pointer-events: auto !important;
}
#ts-search-sidebar .overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: rgba(45, 27, 45, 0.6) !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
  z-index: 1 !important;
  cursor: pointer !important;
}
#ts-search-sidebar .ts-sidebar-content {
  position: relative !important;
  z-index: 2 !important;
  background: var(--cream-warm, #FAF7F2) !important;
  padding: 48px !important;
  border-radius: 12px !important;
  max-width: 640px !important;
  width: 90% !important;
  box-shadow: 0 24px 80px rgba(45, 27, 45, 0.25) !important;
  transform: none !important;
  top: auto !important;
  left: auto !important;
}
#ts-search-sidebar .ts-sidebar-content .title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.4rem !important;
  color: var(--aubergine, #3C2A3C) !important;
  text-align: center !important;
  margin-bottom: 24px !important;
}
#ts-search-sidebar .search-table {
  display: flex !important;
  gap: 0 !important;
  width: 100% !important;
  align-items: stretch !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
#ts-search-sidebar .search-table td,
#ts-search-sidebar .search-table tr,
#ts-search-sidebar .search-table th,
#ts-search-sidebar .search-table tbody {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
}
#ts-search-sidebar .search-content {
  flex: 1 1 0% !important;
  min-width: 0 !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}
#ts-search-sidebar .search-content input[type="text"] {
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 14px 20px !important;
  border: 2px solid var(--cream, #EDE7DD) !important;
  border-right: none !important;
  border-radius: 50px 0 0 50px !important;
  background: #fff !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .9rem !important;
  outline: none !important;
  color: var(--aubergine, #3C2A3C) !important;
  height: 50px !important;
}
#ts-search-sidebar .search-button {
  flex: 0 0 auto !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}
#ts-search-sidebar .search-button input[type="submit"] {
  padding: 14px 24px !important;
  background: var(--gold, #C4A265) !important;
  color: #fff !important;
  border: 2px solid var(--gold, #C4A265) !important;
  border-radius: 0 50px 50px 0 !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .7rem !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background .3s ease !important;
  height: 50px !important;
  box-sizing: border-box !important;
}
#ts-search-sidebar .search-button input[type="submit"]:hover {
  background: var(--gold-bright, #D4B275) !important;
}
/* Search modal — mobile */
@media (max-width: 768px) {
  #ts-search-sidebar.active,
  body.open-search-sidebar #ts-search-sidebar {
    padding-top: 80px !important;
    align-items: flex-start !important;
  }
  #ts-search-sidebar .ts-sidebar-content {
    padding: 28px 20px !important;
    width: 92% !important;
    border-radius: 10px !important;
  }
  #ts-search-sidebar .ts-sidebar-content .title {
    font-size: 1.15rem !important;
    margin-bottom: 16px !important;
  }
  #ts-search-sidebar .search-content input[type="text"] {
    padding: 12px 16px !important;
    font-size: .84rem !important;
    height: 46px !important;
  }
  #ts-search-sidebar .search-button input[type="submit"] {
    padding: 12px 16px !important;
    font-size: .6rem !important;
    letter-spacing: 1.5px !important;
    height: 46px !important;
  }
}
#ts-search-sidebar .close {
  position: absolute !important;
  top: 16px !important;
  right: 16px !important;
  width: 32px !important;
  height: 32px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1.2rem !important;
  color: var(--text-muted, #8A7F85) !important;
  z-index: 3 !important;
}

/* ─── 3. Newsletter : fond aubergine PARTOUT (footer + contenu page) ─── */
/* Cibler TOUTE section avec la classe newsletter */
section.newsletter,
.newsletter,
body section.newsletter,
body .newsletter,
main section.newsletter,
.site-main section.newsletter,
#main section.newsletter {
  background: #3C2A3C !important;
  background-color: #3C2A3C !important;
  color: #fff !important;
}
/* Textes dans la newsletter */
section.newsletter .eyebrow, .newsletter .eyebrow { color: var(--gold, #C4A265) !important; }
section.newsletter h2, .newsletter h2 { color: #fff !important; font-family: 'Cormorant Garamond', serif !important; font-style: italic !important; font-weight: 300 !important; }
section.newsletter p, .newsletter p { color: rgba(255,255,255,.7) !important; }
section.newsletter .nl-note, .newsletter .nl-note { color: rgba(255,255,255,.5) !important; }
section.newsletter .sep, .newsletter .sep { background: var(--gold, #C4A265) !important; }
/* Formulaire */
section.newsletter .nl-form input[type="email"],
.newsletter .nl-form input[type="email"] {
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(196,162,101,.25) !important;
  border-right: none !important;
  border-radius: 0 !important;
  color: var(--cream-warm, #FAF7F2) !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .82rem !important;
}
section.newsletter .nl-form input[type="email"]::placeholder,
.newsletter .nl-form input[type="email"]::placeholder {
  color: rgba(196,162,101,.4) !important;
}
section.newsletter .nl-form button[type="submit"],
.newsletter .nl-form button[type="submit"] {
  background: var(--gold, #C4A265) !important;
  color: #fff !important;
  border: 1px solid var(--gold, #C4A265) !important;
}
/* Aussi cibler le newsletter-glow overlay */
.newsletter-glow { display: none !important; }







/* ─── Fonds de sections selon la maquette ─── */

/* CREAM/BEIGE (#FAF7F2) — Intro, Offres, Ressources, Finder, Avis, SEO */
section.products:not(.novelties),
section.resources,
section.finder,
section.google-reviews,
section.trust,
.seo-block,
section.seo-block {
  background: var(--cream-warm, #FAF7F2) !important;
  background-color: #FAF7F2 !important;
}

/* BLANC (#FFFFFF) — Categories, Mineraux, Nouveautes, FAQ */
section.categories,
section.minerals,
section.novelties,
section.novelties.products,
section.faq-section,
.faq-section {
  background: #fff !important;
  background-color: #fff !important;
}

/* AUBERGINE (#3C2A3C) — Hero, Social, Newsletter, Footer */
section.hero-slider,
.hero-slider,
section.social,
section.newsletter,
.newsletter {
  background: #3C2A3C !important;
  background-color: #3C2A3C !important;
}

/* ─── Badge promo sur les product cards (style maquette) ─── */
.product-card-img,
.product-grid .product-card-img,
.product-grid .product-card .product-card-img {
  position: relative !important;
  overflow: hidden !important;
}
/* Badge : petit, compact, aubergine, en haut a gauche SUR l'image */
.product-badge,
.product-grid .product-badge,
.product-card .product-badge,
span.product-badge {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  right: auto !important;
  bottom: auto !important;
  width: auto !important;
  height: auto !important;
  display: inline-block !important;
  padding: 5px 12px !important;
  font-size: .55rem !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  font-family: 'Raleway', sans-serif !important;
  background: var(--aubergine, #3C2A3C) !important;
  background-color: #3C2A3C !important;
  color: var(--gold-light, #E8D9BE) !important;
  border: none !important;
  border-radius: 3px !important;
  z-index: 5 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  box-shadow: none !important;
  margin: 0 !important;
  float: none !important;
  min-width: 0 !important;
  max-width: none !important;
}
/* Cacher le badge WooCommerce natif si present */
.product-card .onsale,
.product-card-img .onsale,
.product-grid .onsale {
  display: none !important;
}

/* ─── Grille produits 5 colonnes ─── */
.product-grid.columns-5 {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 24px !important;
}
.product-grid.columns-5 .product-card {
  background: var(--white, #fff) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  box-shadow: 0 1px 4px rgba(60,42,60,.06) !important;
  transition: all .3s ease !important;
  text-align: center !important;
}
.product-grid.columns-5 .product-card:hover {
  box-shadow: 0 6px 24px rgba(60,42,60,.1) !important;
  transform: translateY(-4px) !important;
}
.product-grid.columns-5 .product-card-img {
  width: 100% !important;
  aspect-ratio: 1 !important;
  overflow: hidden !important;
  background: var(--cream, #EDE7DD) !important;
}
.product-grid.columns-5 .product-card-info h4 {
  font-size: .85rem !important;
  min-height: auto !important;
}
.product-grid.columns-5 .product-card-info {
  padding: 14px 12px !important;
}
/* Responsive 5 colonnes */
@media (max-width: 1024px) {
  .product-grid.columns-5 { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 768px) {
  .product-grid.columns-5 { grid-template-columns: repeat(2, 1fr) !important; }
}

/* ─── Hero Slider : images de fond + fleches ─── */
/* Images de fond pour les slides (URLs serveur) */
.slide-boutique .hero-slide-bg {
  background-image: url('https://www.france-mineraux.fr/wp-content/uploads/2026/03/SMO_11.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
}
.slide-promo .hero-slide-bg {
  background-image: url('https://www.france-mineraux.fr/wp-content/uploads/2026/03/SMO_16.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
}
.slide-book .hero-slide-bg {
  background-image: url('https://www.france-mineraux.fr/wp-content/uploads/2026/03/pexels-photo-4040586.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
}

/* Fleches slider : forcer visibilite des SVG */
.slider-arrow {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(196,162,101,.25) !important;
  background: rgba(45,27,45,.35) !important;
  backdrop-filter: blur(8px) !important;
  color: var(--gold-light, #E8D9BE) !important;
  cursor: pointer !important;
  z-index: 10 !important;
  padding: 0 !important;
}
.slider-arrow svg {
  width: 16px !important;
  height: 16px !important;
  display: block !important;
  stroke: var(--gold-light, #E8D9BE) !important;
  fill: none !important;
  overflow: visible !important;
}
.slider-arrow svg path {
  stroke: var(--gold-light, #E8D9BE) !important;
  stroke-width: 1.5 !important;
  fill: none !important;
}
.slider-arrow:hover {
  background: var(--gold, #C4A265) !important;
  border-color: var(--gold, #C4A265) !important;
}
.slider-arrow:hover svg,
.slider-arrow:hover svg path {
  stroke: #fff !important;
}
.slider-prev { left: 24px !important; }
.slider-next { right: 24px !important; }

/* ─── Guides Populaires : supprimer les bullets par defaut ─── */
.seo-links,
ul.seo-links,
.seo-sidebar .seo-links,
.seo-sidebar ul.seo-links {
  list-style: none !important;
  list-style-type: none !important;
  padding-left: 0 !important;
  margin: 0 !important;
}
.seo-links li,
ul.seo-links li,
.seo-sidebar .seo-links li {
  list-style: none !important;
  list-style-type: none !important;
  padding: 8px 0 !important;
  border-bottom: 1px solid var(--cream, #EDE7DD) !important;
  margin: 0 !important;
}
.seo-links li::before,
ul.seo-links li::before,
.seo-links li::marker,
ul.seo-links li::marker {
  content: none !important;
  display: none !important;
}
/* La fleche est dans le a::before, pas dans le li */
.seo-links a::before {
  content: '→' !important;
  color: var(--gold, #C4A265) !important;
  font-size: .7rem !important;
}

/* ─── Liseré doré (gold separator) ─── */
.sep, .sep-center {
  display: block !important;
  width: 40px !important;
  height: 1px !important;
  background: var(--gold, #C4A265) !important;
}
.sep-center { margin-left: auto !important; margin-right: auto !important; }

/* ─── Footer fond aubergine ─── */
footer {
  background: var(--aubergine, #3C2A3C) !important;
  background-color: #3C2A3C !important;
  border-top: 1px solid rgba(196,162,101,.1) !important;
  color: var(--cream-warm, #FAF7F2) !important;
}
footer .ft-col h5 { color: var(--gold, #C4A265) !important; }
footer .ft-col a { color: rgba(250,247,242,.6) !important; }
footer .ft-brand p { color: rgba(250,247,242,.6) !important; }
footer .ft-bottom { color: rgba(250,247,242,.4) !important; }

/* ═══════════════════════════════════════════════
   BOUTON COMMANDER — CHECKOUT
   Priority 9999 — dernier CSS chargé, gagne tout
   ═══════════════════════════════════════════════ */
#place_order,
button#place_order,
input#place_order,
.woocommerce #place_order,
.woocommerce-page #place_order,
.woocommerce-checkout #place_order,
.woocommerce-checkout #payment #place_order,
.woocommerce-checkout .place-order #place_order,
.woocommerce-checkout #payment .place-order #place_order,
.woocommerce-checkout #payment .place-order button#place_order,
body.woocommerce-checkout #place_order {
  background: #3C2A3C !important;
  background-color: #3C2A3C !important;
  color: #E8D9BE !important;
  border: none !important;
  border-radius: 12px !important;
  padding: 18px 32px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .8rem !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  box-shadow: 0 4px 20px rgba(60,42,60,.20) !important;
  width: 100% !important;
  display: block !important;
  opacity: 1 !important;
  cursor: pointer !important;
  margin-top: 20px !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}
#place_order:hover,
button#place_order:hover,
body.woocommerce-checkout #place_order:hover {
  background: #2a1a2a !important;
  background-color: #2a1a2a !important;
  box-shadow: 0 6px 24px rgba(60,42,60,.30) !important;
  transform: translateY(-1px) !important;
}

/* ═══════════════════════════════════════════════════════
   MON COMPTE — Social Login buttons (Nextend Social Login plugin)
   Priority 9999 — override the plugin's CSS
   Boutons GOLD outline — à la charte V6
   ═══════════════════════════════════════════════════════ */

/* ── ALL social login <a> links — gold bg, white text ── */
html body.woocommerce-account a[href*="loginSocial"],
html body .nsl-container a[href*="loginSocial"],
html body .nsl-container-buttons a[href*="loginSocial"] {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 46px !important;
  background: #C4A265 !important;
  background-color: #C4A265 !important;
  color: #fff !important;
  border: 1.5px solid #C4A265 !important;
  border-radius: 8px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .78rem !important;
  font-weight: 600 !important;
  letter-spacing: .8px !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  box-shadow: none !important;
  cursor: pointer !important;
  overflow: visible !important;
  transition: background .2s, box-shadow .2s, transform .15s, color .2s, border-color .2s !important;
}

/* ── Hover — gold darker ── */
html body.woocommerce-account a[href*="loginSocial"]:hover,
html body .nsl-container a[href*="loginSocial"]:hover {
  background: #B8953A !important;
  background-color: #B8953A !important;
  border-color: #B8953A !important;
  color: #fff !important;
  box-shadow: 0 3px 12px rgba(196,162,101,.25) !important;
  transform: translateY(-1px) !important;
}

/* ── Direct child div of <a> (the nsl-button wrapper) — transparent, full-size ── */
html body.woocommerce-account a[href*="loginSocial"] > div,
html body .nsl-container a[href*="loginSocial"] > div {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: 100% !important;
  height: 100% !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 8px !important;
  margin: 0 !important;
  color: inherit !important;
  overflow: visible !important;
}

/* ── SVG container (icon) — keep natural size ── */
html body a[href*="loginSocial"] .nsl-button-svg-container {
  display: flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
}
html body a[href*="loginSocial"] .nsl-button-svg-container svg,
html body a[href*="loginSocial"] .nsl-button-svg-container img {
  max-height: 20px !important;
  width: auto !important;
}

/* ── SVG icons — force white (FB + Google) ── */
html body a[href*="loginSocial"] svg,
html body a[href*="loginSocial"] svg path {
  fill: #fff !important;
  color: #fff !important;
}

/* ── Label container (text) — visible, inherit color ── */
html body a[href*="loginSocial"] .nsl-button-label-container {
  display: inline !important;
  color: inherit !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .78rem !important;
  font-weight: 600 !important;
  letter-spacing: .8px !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

/* ── All inner spans — inherit gold color ── */
html body a[href*="loginSocial"] span,
html body a[href*="loginSocial"] b,
html body a[href*="loginSocial"] strong {
  color: inherit !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
html body a[href*="loginSocial"] b,
html body a[href*="loginSocial"] strong {
  font-weight: 700 !important;
}

/* ── Container wrapper — full-width column, NO border ── */
html body .nsl-container,
html body .nsl-container-block,
html body .nsl-container-buttons {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 16px !important;
  padding: 0 !important;
  border: none !important;
  border-top: none !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

/* ── Kill ALL separators from plugin + theme ── */
html body .nsl-container hr,
html body .nsl-container-block hr,
html body .nsl-container::before,
html body .nsl-container::after,
html body .nsl-container-block::before,
html body .nsl-container-block::after,
html body .nsl-container .nsl-separator,
html body .nsl-container .nsl-separator::before,
html body .nsl-container .nsl-separator::after {
  display: none !important;
  border: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}


/* ═══════════════════════════════════════════════
   MON COMPTE — NUCLEAR FIXES (priority 9999)
   ═══════════════════════════════════════════════ */

/* 1. Sidebar nav — kill ALL borders on li AND a */
html body.woocommerce-account .woocommerce-MyAccount-navigation ul li {
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}
html body.woocommerce-account .woocommerce-MyAccount-navigation ul li a,
html body.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,
html body.woocommerce-account .woocommerce-MyAccount-navigation ul li a:focus,
html body.woocommerce-account .woocommerce-MyAccount-navigation ul li a:active,
html body.woocommerce-account .woocommerce-MyAccount-navigation ul li a:visited,
html body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
html body.woocommerce-account .woocommerce-MyAccount-navigation ul li a[aria-current="page"] {
  border: none !important;
  border-left: none !important;
  border-right: none !important;
  border-top: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  outline: none !important;
}

/* 2. Order numbers — kill ALL underlines/borders on a AND td */
html body.woocommerce-account .woocommerce-orders-table__cell-order-number a,
html body.woocommerce-account .woocommerce-orders-table__cell-order-number a:hover,
html body.woocommerce-account .woocommerce-orders-table__cell-order-number a:visited,
html body.woocommerce-account .woocommerce-orders-table__cell-order-number a:focus,
html body.woocommerce-account .woocommerce-orders-table td a[href*="view-order"],
html body.woocommerce-account .woocommerce-orders-table td a[href*="view-order"]:hover,
html body.woocommerce-account .woocommerce-MyAccount-orders td a,
html body.woocommerce-account .woocommerce-MyAccount-orders td a:hover,
html body.woocommerce-account table.my_account_orders td a,
html body.woocommerce-account table.my_account_orders td a:hover {
  text-decoration: none !important;
  border: none !important;
  border-bottom: none !important;
  border-bottom-width: 0 !important;
  border-bottom-style: none !important;
  box-shadow: none !important;
  background-image: none !important;
}
html body.woocommerce-account .woocommerce-orders-table__cell-order-number,
html body.woocommerce-account .woocommerce-orders-table__cell-order-number::after,
html body.woocommerce-account .woocommerce-orders-table__cell-order-number::before {
  border-bottom: none !important;
  box-shadow: none !important;
  background-image: none !important;
}

/* 3. Gift card page button — ONLY the "Ajouter une nouvelle carte-cadeau" button */
html body.woocommerce-account .woocommerce-MyAccount-content #ywgc-add-new-gift-card,
html body.woocommerce-account .woocommerce-MyAccount-content .yith-add-new-gc-my-account-button,
html body.woocommerce-account .woocommerce-MyAccount-content button.add-new-gc-button {
  white-space: normal !important;
  max-width: 280px !important;
  text-align: center !important;
  line-height: 1.5 !important;
  padding: 12px 24px !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
  background: #3C2A3C !important;
  color: #E8D9BE !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .78rem !important;
  font-weight: 600 !important;
  text-transform: none !important;
  cursor: pointer !important;
  box-shadow: 0 2px 8px rgba(60,42,60,.12) !important;
}

/* 4. YITH Gift Card Modal — nuclear override with REAL class names */
/* Modal dialog box */
html body #yith-ywgc-add-new-gift-card-modal-container .yith-ywgc-add-new-gift-card-modal,
html body .yith-ywgc-add-new-gift-card-modal-inner {
  background: #fff !important;
  border: none !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 40px rgba(60,42,60,.15), 0 2px 8px rgba(60,42,60,.06) !important;
  padding: 32px 28px !important;
  font-family: 'Raleway', sans-serif !important;
  max-width: none !important;
  width: auto !important;
}
/* Kill uppercase everywhere in modal */
html body #yith-ywgc-add-new-gift-card-modal-container *,
html body .yith-ywgc-add-new-gift-card-modal-inner * {
  text-transform: none !important;
  max-width: none !important;
}
/* Modal wrapper sizing */
html body .yith-ywgc-add-new-gift-card-modal-wrapper {
  max-width: 460px !important;
  width: 90vw !important;
  margin: auto !important;
}
/* Modal title */
html body .ywgc-add-new-gift-card-modal-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.35rem !important;
  font-weight: 500 !important;
  color: #3C2A3C !important;
  text-transform: none !important;
  margin: 0 0 20px !important;
}
/* Modal input */
html body #ywgc-link-code,
html body .yith-ywgc-add-new-gift-card-modal-inner input[type="text"] {
  width: 100% !important;
  height: 44px !important;
  background: #fff !important;
  border: 1px solid rgba(237,231,221,.8) !important;
  border-radius: 10px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .86rem !important;
  color: #3C2A3C !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  padding: 0 16px !important;
}
html body #ywgc-link-code:focus,
html body .yith-ywgc-add-new-gift-card-modal-inner input[type="text"]:focus {
  border-color: #C4A265 !important;
  box-shadow: 0 0 0 3px rgba(196,162,101,.12) !important;
}
/* Modal submit button */
html body .ywgc-link-gift-card-submit-button {
  background: #3C2A3C !important;
  color: #E8D9BE !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 12px 28px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .78rem !important;
  font-weight: 600 !important;
  text-transform: none !important;
  box-shadow: 0 2px 8px rgba(60,42,60,.12) !important;
  width: 100% !important;
  margin-top: 12px !important;
  cursor: pointer !important;
  max-width: none !important;
}
/* Modal close button */
html body .yith-ywgc-add-new-gift-card-modal-close {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  background: #FAF7F2 !important;
  border: 1px solid rgba(237,231,221,.6) !important;
  border-radius: 50% !important;
  color: #8A7A8A !important;
  font-size: 18px !important;
  padding: 0 !important;
  box-shadow: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
}

/* 5. Certificats d'authenticité — nuclear override */
html body.woocommerce-account [class*="certificat"] * {
  text-transform: none !important;
}
html body.woocommerce-account [class*="certificat"] a.button,
html body.woocommerce-account [class*="certificat"] button,
html body.woocommerce-account a[href*="certificat"],
html body.woocommerce-account a[href*="certificate"] {
  background: #3C2A3C !important;
  color: #E8D9BE !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 10px 24px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .78rem !important;
  font-weight: 600 !important;
  text-transform: none !important;
  text-decoration: none !important;
  box-shadow: 0 2px 8px rgba(60,42,60,.12) !important;
}

/* ═══════════════════════════════════════════════
   MOBILE RESPONSIVE OVERRIDES (priority 9999)
   ═══════════════════════════════════════════════ */

@media (max-width: 768px) {
  /* Hero title — bigger on mobile */
  .hero-slide h1 {
    font-size: clamp(1.8rem, 7vw, 2.6rem) !important;
    line-height: 1.2 !important;
  }
  .hero-eyebrow {
    font-size: .5rem !important;
    letter-spacing: 2.5px !important;
    margin-bottom: 16px !important;
  }
  .hero-text {
    font-size: .78rem !important;
    margin-bottom: 24px !important;
  }

  /* Hero slider arrows — bottom of banner, on the SIDES */
  .slider-arrow {
    top: auto !important;
    bottom: 16px !important;
    transform: none !important;
    width: 36px !important;
    height: 36px !important;
  }
  .slider-prev { left: 16px !important; right: auto !important; }
  .slider-next { right: 16px !important; left: auto !important; }

  /* Topbar reassurance — handled by the desktop/mobile approach below (Session 14) */
}

@media (max-width: 480px) {
  .hero-slide h1 {
    font-size: clamp(1.6rem, 7vw, 2.2rem) !important;
  }
  .slider-arrow {
    width: 32px !important;
    height: 32px !important;
    bottom: 12px !important;
  }
  .slider-prev { left: 12px !important; right: auto !important; }
  .slider-next { right: 12px !important; left: auto !important; }
  /* Topbar 480px — handled by Session 14 block below */
}

/* ══════════════════════════════════════════════════
   SESSION 14 — NUCLEAR FIXES (priority 9999, last loaded)
   Bouton Vérifier, Topbar mobile, Footer spacing, Order table typo
   ══════════════════════════════════════════════════ */

/* ── 1. BOUTON VÉRIFIER — order-received page, ALL buttons aubergine ── */
/* The email verification form button appears for non-authenticated users */
/* body class .woocommerce-order-received is always present on this page */
body.woocommerce-order-received button,
body.woocommerce-order-received input[type="submit"],
body.woocommerce-order-received .button,
body.woocommerce-order-received button[type="submit"],
body.woocommerce-order-received form button,
body.woocommerce-order-received form input[type="submit"],
body.woocommerce-order-received .woocommerce button,
body.woocommerce-order-received .woocommerce input[type="submit"],
body.woocommerce-order-received .woocommerce .button {
  background: #3C2A3C !important;
  color: #E8D9BE !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 10px 24px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .74rem !important;
  font-weight: 600 !important;
  letter-spacing: .5px !important;
  text-transform: none !important;
  cursor: pointer !important;
  transition: all .3s ease !important;
  box-shadow: 0 2px 8px rgba(60,42,60,.08) !important;
  display: inline-flex !important;
  align-items: center !important;
  text-decoration: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  outline: none !important;
}
body.woocommerce-order-received button:hover,
body.woocommerce-order-received input[type="submit"]:hover,
body.woocommerce-order-received .button:hover,
body.woocommerce-order-received form button:hover {
  background: #2a1a2a !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 16px rgba(60,42,60,.15) !important;
}
/* Email verification input field */
body.woocommerce-order-received form input[type="text"],
body.woocommerce-order-received form input[type="email"] {
  font-family: 'Raleway', sans-serif !important;
  font-size: .84rem !important;
  padding: 10px 16px !important;
  border: 1px solid #EDE7DD !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #3C2A3C !important;
  height: 44px !important;
  box-sizing: border-box !important;
  -webkit-appearance: none !important;
}
body.woocommerce-order-received form input[type="text"]:focus,
body.woocommerce-order-received form input[type="email"]:focus {
  border-color: #C4A265 !important;
  box-shadow: 0 0 0 3px rgba(196,162,101,.12) !important;
  outline: none !important;
}

/* ── 2. ORDER TABLE — tfoot borders + dt/dd inline + typography ── */
/* Nuclear tfoot border kill — every possible selector */
body.woocommerce-order-received table tfoot,
body.woocommerce-order-received table tfoot tr,
body.woocommerce-order-received table tfoot th,
body.woocommerce-order-received table tfoot td,
body.woocommerce-order-pay table tfoot,
body.woocommerce-order-pay table tfoot tr,
body.woocommerce-order-pay table tfoot th,
body.woocommerce-order-pay table tfoot td {
  border: none !important;
  border-bottom: none !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  border-style: none !important;
  border-width: 0 !important;
  border-image: none !important;
  box-shadow: none !important;
  outline: none !important;
}
/* Total row — only top border separator */
body.woocommerce-order-received table tfoot tr:last-child th,
body.woocommerce-order-received table tfoot tr:last-child td,
body.woocommerce-order-pay table tfoot tr:last-child th,
body.woocommerce-order-pay table tfoot tr:last-child td {
  border-top: 1px solid #EDE7DD !important;
  padding-top: 14px !important;
}
body.woocommerce-order-received table tfoot tr:last-child td,
body.woocommerce-order-pay table tfoot tr:last-child td {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.15rem !important;
  font-weight: 600 !important;
}

/* dt + dd on same line — nuclear */
body.woocommerce-order-received table dl,
body.woocommerce-order-received table .wc-item-meta {
  display: block !important;
  margin: 6px 0 0 !important;
  padding: 0 !important;
  font-size: .72rem !important;
  color: #6B5B6B !important;
}
body.woocommerce-order-received table dl dt,
body.woocommerce-order-received table .wc-item-meta dt {
  display: inline !important;
  font-weight: 600 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  clear: none !important;
  font-size: .72rem !important;
}
body.woocommerce-order-received table dl dd,
body.woocommerce-order-received table .wc-item-meta dd {
  display: inline !important;
  margin: 0 !important;
  padding: 0 0 0 2px !important;
  float: none !important;
  clear: none !important;
  font-size: .72rem !important;
}
body.woocommerce-order-received table dl dd p,
body.woocommerce-order-received table .wc-item-meta dd p {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.woocommerce-order-received table .wc-item-meta li {
  display: block !important;
  list-style: none !important;
  margin: 2px 0 !important;
  padding: 0 !important;
  line-height: 1.5 !important;
}
body.woocommerce-order-received table .wc-item-meta li::before,
body.woocommerce-order-received table .wc-item-meta li::marker {
  content: none !important;
  display: none !important;
}
/* Table typography harmonized */
body.woocommerce-order-received table,
body.woocommerce-order-pay table {
  font-family: 'Raleway', sans-serif !important;
  font-size: .82rem !important;
}
body.woocommerce-order-received table thead th,
body.woocommerce-order-pay table thead th {
  font-family: 'Raleway', sans-serif !important;
  font-size: .76rem !important;
  font-weight: 600 !important;
  text-transform: none !important;
  background: #FAF7F2 !important;
  color: #5A4A5A !important;
}
body.woocommerce-order-received table td,
body.woocommerce-order-pay table td {
  font-family: 'Raleway', sans-serif !important;
  font-size: .82rem !important;
  color: #3C2A3C !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
}
/* Address section — no underlines on links */
body.woocommerce-order-received address a,
body.woocommerce-order-received .woocommerce-column address a {
  text-decoration: none !important;
  border-bottom: none !important;
  color: #3C2A3C !important;
}

/* ── 3. TOPBAR REASSURANCE — mobile fix ── */
@media (max-width: 768px) {
  .topbar {
    overflow: visible !important;
    padding: 6px 12px !important;
    max-height: none !important;
    height: auto !important;
  }
  .topbar-desktop {
    display: none !important;
  }
  .topbar-mobile {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    align-items: center !important;
    padding: 2px 0 !important;
    overflow: visible !important;
    max-height: none !important;
    height: auto !important;
  }
  .tb-row {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    overflow: visible !important;
  }
  .tb-cell {
    font-size: .42rem !important;
    letter-spacing: .8px !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: unset !important;
  }
  .tb-dot {
    width: 2.5px !important;
    height: 2.5px !important;
    flex-shrink: 0 !important;
  }
}

@media (max-width: 480px) {
  .topbar {
    padding: 5px 8px !important;
  }
  .topbar-mobile {
    gap: 3px !important;
  }
  .tb-cell {
    font-size: .36rem !important;
    letter-spacing: .5px !important;
  }
  .tb-row {
    gap: 4px !important;
  }
  .tb-dot {
    width: 2px !important;
    height: 2px !important;
  }
}

/* ── 4. FOOTER + NEWSLETTER — reduced spacing on mobile ── */
@media (max-width: 768px) {
  section.newsletter,
  .newsletter {
    padding: 16px 0 10px !important;
  }
  .nl-inner h2 {
    font-size: 1.5rem !important;
    margin-bottom: 4px !important;
  }
  .nl-inner p {
    margin: 4px auto 12px !important;
    font-size: .78rem !important;
  }
  .nl-note {
    margin-top: 6px !important;
  }
  footer {
    padding: 8px 0 0 !important;
  }
  .ft-grid {
    gap: 12px !important;
    padding-bottom: 8px !important;
  }
  /* Hide brand description on mobile — invisible text wastes vertical space */
  .ft-brand p {
    display: none !important;
  }
  .ft-brand {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
  .ft-brand-name {
    margin-bottom: 2px !important;
  }
  /* Kill any hidden spacer elements */
  .newsletter-glow {
    display: none !important;
  }
}

@media (max-width: 480px) {
  section.newsletter,
  .newsletter {
    padding: 16px 0 8px !important;
  }
  .nl-inner h2 {
    font-size: 1.3rem !important;
  }
  .nl-inner p {
    margin: 6px auto 16px !important;
    font-size: .78rem !important;
  }
  .nl-form input {
    padding: 10px 14px !important;
  }
  .nl-form button {
    padding: 10px 18px !important;
  }
  .nl-note {
    margin-top: 6px !important;
    font-size: .55rem !important;
  }
  footer {
    padding: 6px 0 0 !important;
  }
  .ft-grid {
    gap: 10px !important;
    padding-bottom: 6px !important;
  }
  .ft-brand p {
    display: none !important;
  }
}

/* ── 5. ORDER CONFIRMATION — page layout compact ── */
body.woocommerce-order-received .woocommerce {
  padding: 20px 0 !important;
}
body.woocommerce-order-received .woocommerce-order {
  max-width: 680px !important;
  margin: 0 auto !important;
}
body.woocommerce-order-received .woocommerce-thankyou-order-received {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.4rem !important;
  font-weight: 500 !important;
  color: #3C2A3C !important;
  text-align: center !important;
  margin-bottom: 24px !important;
}
/* Order details list — card white */
body.woocommerce-order-received .woocommerce-order-overview {
  background: #fff !important;
  border-radius: 12px !important;
  padding: 20px 24px !important;
  list-style: none !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
  border: 1px solid rgba(237,231,221,.5) !important;
  box-shadow: 0 2px 12px rgba(60,42,60,.04) !important;
  margin: 0 0 24px !important;
}
body.woocommerce-order-received .woocommerce-order-overview li {
  flex: 1 1 50% !important;
  padding: 8px 0 !important;
  border-bottom: 1px solid #F5F0EB !important;
  list-style: none !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .82rem !important;
  color: #6B5B6B !important;
}
body.woocommerce-order-received .woocommerce-order-overview li::marker {
  content: none !important;
  display: none !important;
  font-size: 0 !important;
}
body.woocommerce-order-received .woocommerce-order-overview li strong,
body.woocommerce-order-received .woocommerce-order-overview li mark {
  font-family: 'Raleway', sans-serif !important;
  font-size: .84rem !important;
  font-weight: 600 !important;
  color: #3C2A3C !important;
  display: block !important;
  background: none !important;
}
/* Section headings */
body.woocommerce-order-received h2 {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.3rem !important;
  font-weight: 500 !important;
  color: #3C2A3C !important;
  text-transform: none !important;
  margin: 24px 0 12px !important;
}

/* ── 6. BOURSE EN SATIN — force Raleway same size as product names ── */
body.woocommerce-order-received table .wc-item-meta,
body.woocommerce-order-received table .wc-item-meta *,
body.woocommerce-order-received table .wc-item-meta li,
body.woocommerce-order-received table .wc-item-meta dt,
body.woocommerce-order-received table .wc-item-meta dd,
body.woocommerce-order-received table .wc-item-meta dd p,
body.woocommerce-order-received table .wc-item-meta p,
body.woocommerce-order-received table .wc-item-meta span,
body.woocommerce-order-received table .wc-item-meta strong,
body.woocommerce-order-received table dl.variation,
body.woocommerce-order-received table dl.variation *,
body.woocommerce-order-received table dl.variation dt,
body.woocommerce-order-received table dl.variation dd,
body.woocommerce-order-received table dl.variation dd p {
  font-family: 'Raleway', sans-serif !important;
  font-size: .78rem !important;
  color: #6B5B6B !important;
  text-transform: none !important;
  font-style: normal !important;
}
body.woocommerce-order-received table .wc-item-meta dt,
body.woocommerce-order-received table dl.variation dt {
  font-weight: 600 !important;
  color: #3C2A3C !important;
}

/* ── 7. ADDRESS — phone + email LEFT aligned (not centered) ── */
body.woocommerce-order-received address,
body.woocommerce-order-received .woocommerce-column address,
body.woocommerce-order-received .woocommerce-customer-details address {
  text-align: left !important;
  font-style: normal !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .82rem !important;
  line-height: 1.7 !important;
}
body.woocommerce-order-received address a,
body.woocommerce-order-received .woocommerce-column address a,
body.woocommerce-order-received .woocommerce-customer-details address a {
  text-decoration: none !important;
  border-bottom: none !important;
  color: #3C2A3C !important;
  display: block !important;
  text-align: left !important;
}
body.woocommerce-order-received address p,
body.woocommerce-order-received .woocommerce-customer-details address p {
  text-align: left !important;
  margin: 0 !important;
}
/* Phone number — force left alignment even when it's an inline <a> */
body.woocommerce-order-received address a[href^="tel"],
body.woocommerce-order-received .woocommerce-customer-details a[href^="tel"] {
  text-align: left !important;
  display: block !important;
  margin: 0 !important;
}
/* Email link — same treatment */
body.woocommerce-order-received address a[href^="mailto"],
body.woocommerce-order-received .woocommerce-customer-details a[href^="mailto"] {
  text-align: left !important;
  display: block !important;
  margin: 0 !important;
}
/* The address card wrapper itself should not center */
body.woocommerce-order-received .woocommerce-column,
body.woocommerce-order-received .woocommerce-column--billing-address,
body.woocommerce-order-received .woocommerce-column--shipping-address,
body.woocommerce-order-received .woocommerce-customer-details .col-1,
body.woocommerce-order-received .woocommerce-customer-details .col-2 {
  text-align: left !important;
}

/* ── 8. ORDER CONFIRMATION — side padding on mobile (not full-width) ── */
body.woocommerce-order-received .woocommerce,
body.woocommerce-order-received .woocommerce-order,
body.woocommerce-order-received .entry-content,
body.woocommerce-order-received main,
body.woocommerce-order-received .site-content,
body.woocommerce-order-received #content {
  padding-left: 20px !important;
  padding-right: 20px !important;
  box-sizing: border-box !important;
}
body.woocommerce-order-received table.shop_table,
body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details,
body.woocommerce-order-received .woocommerce-order-overview {
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow-x: hidden !important;
}
@media (max-width: 768px) {
  body.woocommerce-order-received .woocommerce,
  body.woocommerce-order-received .woocommerce-order,
  body.woocommerce-order-received .entry-content,
  body.woocommerce-order-received main,
  body.woocommerce-order-received .site-content,
  body.woocommerce-order-received #content {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  /* Form verification email — contained within padding */
  body.woocommerce-order-received form,
  body.woocommerce-order-received .woocommerce-form-verify-email {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  body.woocommerce-order-received form input[type="email"],
  body.woocommerce-order-received form input[type="text"] {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}
@media (max-width: 480px) {
  body.woocommerce-order-received .woocommerce,
  body.woocommerce-order-received .woocommerce-order,
  body.woocommerce-order-received .entry-content,
  body.woocommerce-order-received main,
  body.woocommerce-order-received .site-content,
  body.woocommerce-order-received #content {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
}

/* ═══════════════════════════════════════════════
   HOMEPAGE — RESPONSIVE MOBILE COMPLET
   ═══════════════════════════════════════════════ */

/* --- Quiz teaser banner (inline styles) — responsive overrides --- */
/* Le bloc "Quiz Interactif" utilise des styles inline (display:flex, gap:48px, padding:48px 56px)
   On le cible via la section .finder parent ou directement via les attributs style */

@media (max-width: 768px) {
  /* Quiz teaser banner — stack vertical */
  .finder > div[style*="linear-gradient"],
  .section-intro + div[style*="linear-gradient"],
  div[style*="linear-gradient"][style*="border-radius:16px"] {
    flex-direction: column !important;
    padding: 32px 24px !important;
    gap: 24px !important;
    text-align: center !important;
  }
  /* Quiz teaser — texte */
  .finder > div[style*="linear-gradient"] h3,
  div[style*="linear-gradient"][style*="border-radius:16px"] h3 {
    font-size: 1.4rem !important;
  }
  .finder > div[style*="linear-gradient"] p,
  div[style*="linear-gradient"][style*="border-radius:16px"] p {
    font-size: .82rem !important;
  }
  /* Quiz teaser — images en row centré */
  .finder > div[style*="linear-gradient"] > div[style*="flex-shrink"],
  div[style*="linear-gradient"][style*="border-radius:16px"] > div[style*="flex-shrink"] {
    justify-content: center !important;
    flex-shrink: 1 !important;
  }
  .finder > div[style*="linear-gradient"] img,
  div[style*="linear-gradient"][style*="border-radius:16px"] img {
    width: 80px !important;
    height: 80px !important;
  }
  .finder > div[style*="linear-gradient"] > div[style*="flex-shrink"] div[style*="flex-direction:column"] img,
  div[style*="linear-gradient"][style*="border-radius:16px"] > div[style*="flex-shrink"] div img {
    width: 80px !important;
    height: 64px !important;
  }
  /* Quiz teaser — CTA */
  .finder > div[style*="linear-gradient"] a[style*="inline-flex"],
  div[style*="linear-gradient"][style*="border-radius:16px"] a {
    padding: 12px 28px !important;
    font-size: .62rem !important;
  }
  /* Quiz teaser — badge */
  .finder > div[style*="linear-gradient"] div[style*="inline-block"],
  div[style*="linear-gradient"][style*="border-radius:16px"] div[style*="inline-block"] {
    font-size: .5rem !important;
    padding: 5px 12px !important;
  }
}

@media (max-width: 480px) {
  .finder > div[style*="linear-gradient"],
  .section-intro + div[style*="linear-gradient"],
  div[style*="linear-gradient"][style*="border-radius:16px"] {
    padding: 24px 18px !important;
    gap: 20px !important;
    border-radius: 12px !important;
  }
  .finder > div[style*="linear-gradient"] h3,
  div[style*="linear-gradient"][style*="border-radius:16px"] h3 {
    font-size: 1.2rem !important;
  }
  .finder > div[style*="linear-gradient"] p,
  div[style*="linear-gradient"][style*="border-radius:16px"] p {
    font-size: .76rem !important;
    margin-bottom: 16px !important;
  }
  .finder > div[style*="linear-gradient"] img,
  div[style*="linear-gradient"][style*="border-radius:16px"] img {
    width: 64px !important;
    height: 64px !important;
  }
  .finder > div[style*="linear-gradient"] > div[style*="flex-shrink"] div img,
  div[style*="linear-gradient"][style*="border-radius:16px"] > div[style*="flex-shrink"] div img {
    width: 64px !important;
    height: 52px !important;
  }
  .finder > div[style*="linear-gradient"] a[style*="inline-flex"],
  div[style*="linear-gradient"][style*="border-radius:16px"] a {
    padding: 10px 22px !important;
    font-size: .55rem !important;
    letter-spacing: 1.5px !important;
  }
}

/* --- 768px : Tablet --- */
@media (max-width: 768px) {

  /* Hero slider */
  .hero-slider {
    height: 380px !important;
    min-height: 380px !important;
    max-height: 380px !important;
  }
  .hero-slide-inner {
    padding: 32px 20px !important;
    gap: 16px !important;
  }
  .hero-slide h1 {
    font-size: clamp(1.3rem, 5vw, 1.8rem) !important;
    margin-bottom: 14px !important;
  }
  .hero-eyebrow {
    font-size: .5rem !important;
    letter-spacing: 2.5px !important;
    margin-bottom: 16px !important;
  }
  .hero-text {
    font-size: .78rem !important;
    line-height: 1.7 !important;
    margin-bottom: 24px !important;
  }
  .hero-ctas {
    gap: 10px !important;
  }
  .hero-ctas .btn,
  .hero-ctas a {
    padding: 10px 20px !important;
    font-size: .62rem !important;
    letter-spacing: 1.5px !important;
  }
  .slider-dots {
    bottom: 16px !important;
  }

  /* Intro block + stats */
  .intro-block {
    padding: 48px 0 0 !important;
  }
  .intro-block p {
    font-size: .82rem !important;
    padding: 0 16px !important;
  }
  .stats {
    grid-template-columns: repeat(2, 1fr) !important;
    margin: 32px 16px 0 !important;
  }
  .stat {
    padding: 20px 12px !important;
  }
  .stat-number {
    font-size: 1.6rem !important;
  }

  /* Categories grid */
  .categories {
    padding: 56px 0 !important;
  }
  .cat-grid {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 8px !important;
  }
  .cat-item {
    padding: 14px 4px !important;
  }
  .cat-circle {
    width: 56px !important;
    height: 56px !important;
    margin-bottom: 8px !important;
  }
  .cat-name {
    font-size: .72rem !important;
  }
  .cat-count {
    font-size: .52rem !important;
  }

  /* Products sections (novelties, etc.) */
  section.novelties,
  .products-section {
    padding: 56px 0 !important;
  }

  /* Resources grid */
  .resources {
    padding: 56px 0 !important;
  }
  .res-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
  .res-content {
    padding: 20px 16px !important;
  }
  .res-content h3 {
    font-size: 1.1rem !important;
  }

  /* Minerals grid */
  .minerals {
    padding: 56px 0 !important;
  }
  .min-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px !important;
  }
  .min-card {
    padding: 20px 12px !important;
  }
  .min-circle {
    width: 72px !important;
    height: 72px !important;
    margin-bottom: 10px !important;
  }

  /* Finder grid */
  .finder {
    padding: 56px 0 !important;
  }
  .finder-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
  .finder-card {
    padding: 28px 16px !important;
  }
  .finder-icon {
    width: 48px !important;
    height: 48px !important;
    margin-bottom: 14px !important;
  }

  /* Quiz page (classes .quiz-*) */
  .quiz-hero {
    padding: 48px 0 40px !important;
  }
  .quiz-hero h1 {
    font-size: 1.8rem !important;
  }
  .quiz-hero p {
    font-size: .84rem !important;
    padding: 0 16px !important;
  }
  .quiz-container {
    padding: 0 16px !important;
  }
  .quiz-options {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }
  .quiz-option {
    padding: 16px 12px !important;
  }
  .quiz-option-icon {
    font-size: 1.5rem !important;
    margin-bottom: 8px !important;
  }
  .quiz-option-label {
    font-size: .78rem !important;
  }
  .quiz-option-desc {
    font-size: .65rem !important;
  }
  .quiz-step-title {
    font-size: 1.3rem !important;
  }
  .quiz-step-sub {
    font-size: .76rem !important;
    margin-bottom: 20px !important;
  }
  .quiz-nav {
    margin-top: 28px !important;
  }
  .quiz-btn {
    padding: 10px 24px !important;
    font-size: .76rem !important;
  }
  .quiz-results-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px !important;
  }
  .quiz-results-title {
    font-size: 1.4rem !important;
  }

  /* Google Reviews */
  .google-reviews {
    padding: 56px 0 !important;
  }
  .gr-header-text {
    font-size: 1.2rem !important;
  }
  .gr-subtitle {
    font-size: .72rem !important;
    margin-bottom: 28px !important;
  }
  .gr-grid {
    display: flex !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    gap: 14px !important;
    padding-bottom: 8px !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .gr-card {
    flex: 0 0 260px !important;
    scroll-snap-align: start !important;
  }
  .gr-card:first-child {
    margin-left: 16px !important;
  }
  .gr-card:last-child {
    margin-right: 16px !important;
  }

  /* Trust row */
  .trust-row {
    grid-template-columns: repeat(3, 1fr) !important;
  }
  .trust-item {
    padding: 20px 10px !important;
  }
  .trust-item h4 {
    font-size: .52rem !important;
    letter-spacing: 1.5px !important;
  }
  .trust-item p {
    font-size: .62rem !important;
  }
  .trust-item svg {
    width: 22px !important;
    height: 22px !important;
  }

  /* Social / Instagram */
  .social {
    padding: 56px 0 0 !important;
  }
  .ig-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 2px !important;
  }
  .social-links {
    padding: 24px 0 !important;
    gap: 12px !important;
  }
  .social-link {
    width: 36px !important;
    height: 36px !important;
    font-size: .6rem !important;
  }

  /* FAQ */
  .faq-section {
    padding: 56px 0 !important;
  }
  .faq-question {
    padding: 16px !important;
    font-size: .88rem !important;
  }
  .faq-answer p {
    padding: 0 16px 16px !important;
    font-size: .84rem !important;
  }

  /* SEO block */
  .seo-block {
    padding: 48px 0 !important;
  }
  .seo-grid {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }
  .seo-text h2 {
    font-size: 1.3rem !important;
  }
  .seo-text p {
    font-size: .82rem !important;
  }
  .seo-sidebar {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 24px !important;
  }

  /* Section intros global */
  .section-intro h2 {
    font-size: clamp(1.3rem, 4vw, 1.8rem) !important;
  }
  .section-intro p {
    font-size: .82rem !important;
  }
  .section-eyebrow {
    font-size: .5rem !important;
    letter-spacing: 2.5px !important;
  }
}

/* --- 480px : Mobile petit --- */
@media (max-width: 480px) {

  /* Hero slider */
  .hero-slider {
    height: 340px !important;
    min-height: 340px !important;
    max-height: 340px !important;
  }
  .hero-slide-inner {
    padding: 24px 16px !important;
  }
  .hero-slide h1 {
    font-size: 1.3rem !important;
    margin-bottom: 10px !important;
  }
  .hero-eyebrow {
    font-size: .44rem !important;
    letter-spacing: 2px !important;
    margin-bottom: 12px !important;
    gap: 8px !important;
  }
  .hero-eyebrow::before {
    width: 20px !important;
  }
  .hero-text {
    font-size: .72rem !important;
    margin-bottom: 20px !important;
    line-height: 1.6 !important;
  }
  .hero-ctas .btn,
  .hero-ctas a {
    padding: 9px 16px !important;
    font-size: .55rem !important;
    letter-spacing: 1px !important;
  }

  /* Stats */
  .stats {
    margin: 24px 12px 0 !important;
  }
  .stat {
    padding: 16px 8px !important;
  }
  .stat-number {
    font-size: 1.3rem !important;
  }

  /* Categories */
  .categories {
    padding: 40px 0 !important;
  }
  .cat-grid {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 4px !important;
    padding: 0 8px !important;
  }
  .cat-item {
    padding: 10px 2px !important;
  }
  .cat-circle {
    width: 48px !important;
    height: 48px !important;
    margin-bottom: 6px !important;
  }
  .cat-name {
    font-size: .6rem !important;
  }
  .cat-count {
    display: none !important;
  }

  /* Products */
  section.novelties,
  .products-section {
    padding: 40px 0 !important;
  }

  /* Resources */
  .resources {
    padding: 40px 0 !important;
  }
  .res-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    max-width: 340px !important;
    margin: 0 auto !important;
  }
  .res-card {
    aspect-ratio: 16/9 !important;
  }

  /* Minerals */
  .minerals {
    padding: 40px 0 !important;
  }
  .min-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }
  .min-card {
    padding: 16px 8px !important;
  }
  .min-circle {
    width: 60px !important;
    height: 60px !important;
  }
  .min-name {
    font-size: .82rem !important;
  }
  .min-virtue {
    font-size: .6rem !important;
  }
  .min-price {
    font-size: .62rem !important;
  }
  .min-price strong {
    font-size: .78rem !important;
  }

  /* Finder */
  .finder {
    padding: 40px 0 !important;
  }
  .finder-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    max-width: 340px !important;
    margin: 0 auto !important;
  }
  .finder-card {
    padding: 24px 16px !important;
  }
  .finder-card h3 {
    font-size: .92rem !important;
  }
  .finder-card p {
    font-size: .72rem !important;
  }

  /* Quiz page 480px */
  .quiz-hero {
    padding: 36px 0 28px !important;
  }
  .quiz-hero h1 {
    font-size: 1.4rem !important;
  }
  .quiz-hero p {
    font-size: .76rem !important;
  }
  .quiz-options {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
  }
  .quiz-option {
    padding: 12px 8px !important;
    border-radius: 10px !important;
  }
  .quiz-option-icon {
    font-size: 1.2rem !important;
    margin-bottom: 6px !important;
  }
  .quiz-option-label {
    font-size: .7rem !important;
  }
  .quiz-option-desc {
    font-size: .58rem !important;
    display: none !important;
  }
  .quiz-step-title {
    font-size: 1.1rem !important;
  }
  .quiz-nav {
    margin-top: 20px !important;
    gap: 10px !important;
  }
  .quiz-btn {
    padding: 9px 18px !important;
    font-size: .68rem !important;
  }
  .quiz-results-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
  .quiz-results-title {
    font-size: 1.2rem !important;
  }
  .quiz-results-sub {
    font-size: .76rem !important;
  }

  /* Google Reviews */
  .google-reviews {
    padding: 40px 0 !important;
  }
  .gr-header-text {
    font-size: 1rem !important;
  }
  .gr-header svg {
    width: 24px !important;
    height: 24px !important;
  }
  .gr-card {
    flex: 0 0 230px !important;
    padding: 20px 16px !important;
  }
  .gr-text {
    font-size: .82rem !important;
  }

  /* Trust */
  .trust-row {
    grid-template-columns: repeat(3, 1fr) !important;
  }
  .trust-item {
    padding: 16px 6px !important;
  }
  .trust-item h4 {
    font-size: .45rem !important;
    letter-spacing: 1px !important;
  }
  .trust-item p {
    font-size: .55rem !important;
  }
  .trust-item svg {
    width: 18px !important;
    height: 18px !important;
    margin-bottom: 6px !important;
  }

  /* Social */
  .social {
    padding: 40px 0 0 !important;
  }
  .ig-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }

  /* FAQ */
  .faq-section {
    padding: 40px 0 !important;
  }
  .faq-question {
    padding: 14px 12px !important;
    font-size: .82rem !important;
  }
  .faq-answer p {
    padding: 0 12px 14px !important;
    font-size: .78rem !important;
  }
  .faq-toggle {
    font-size: 1.1rem !important;
  }

  /* SEO */
  .seo-block {
    padding: 36px 0 !important;
  }
  .seo-grid {
    gap: 28px !important;
  }
  .seo-text h2 {
    font-size: 1.15rem !important;
  }
  .seo-text h3 {
    font-size: 1rem !important;
  }
  .seo-text p {
    font-size: .78rem !important;
    line-height: 1.8 !important;
  }
  .seo-sidebar {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  .seo-links a {
    font-size: .76rem !important;
  }
  .seo-tag {
    font-size: .62rem !important;
    padding: 5px 10px !important;
  }

  /* Section intros */
  .section-intro h2 {
    font-size: 1.3rem !important;
  }
  .section-intro p {
    font-size: .76rem !important;
    padding: 0 12px !important;
  }
  .section-eyebrow {
    font-size: .44rem !important;
  }

  /* Sections global — padding compact */
  .section-intro {
    margin-bottom: 28px !important;
  }
  .sep, .sep-center {
    margin: 12px auto !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════
   PAGES DE CONTENU — CHARTE V6 (v4 — 26 mars 2026)

   FIX SPECIFICITY : v3 avait les couleurs INVERSEES car :
   1. Cover overlay : selecteur > (enfant direct) ne matchait pas les covers imbriques
   2. Cover texte blanc : meme specificite que body texte aubergine, aubergine gagnait (plus tard dans le fichier)
   3. Body texte blanc : les covers dans le body (sections decoratives) forcaient color:#fff sur tous les divs

   SOLUTION v4 :
   - ORDRE : Body texte aubergine EN PREMIER (specificite 0,0,4,1)
   - Cover texte blanc EN DERNIER avec prefixe html (specificite 0,0,4,2) → gagne toujours
   - PAS de > direct child sur les selectors cover
   - PAS de div/span dans les selectors cover (evite cascade dans les wrappers)
   ═══════════════════════════════════════════════════════════════════ */

/* ─── ZERO OVERLAY SUR LES IMAGES DU BODY ─── */
/* Tue tout ::after residuel de v6-pages.css ou sessions precedentes */
body.page-template-page-content .site-main .wp-block-media-text__media::after,
body.page-template-page-content .site-main figure::after,
body.page-template-page-content .site-main .wp-block-image::after,
body.page-template-page-content .site-main .wp-block-image figure::after {
  display: none !important;
  content: none !important;
  background: none !important;
  opacity: 0 !important;
}

/* ═══ CENTRAGE DE TOUS LES BLOCS ═══ */

/* Contenu orphelin — centre avec max-width */
body.page-template-page-content .site-main > h1,
body.page-template-page-content .site-main > h2,
body.page-template-page-content .site-main > h3,
body.page-template-page-content .site-main > h4,
body.page-template-page-content .site-main > h5,
body.page-template-page-content .site-main > h6,
body.page-template-page-content .site-main > p,
body.page-template-page-content .site-main > ul,
body.page-template-page-content .site-main > ol,
body.page-template-page-content .site-main > blockquote,
body.page-template-page-content .site-main > table,
body.page-template-page-content .site-main > figure,
body.page-template-page-content .site-main > img,
body.page-template-page-content .site-main > .wp-block-html,
body.page-template-page-content .site-main > .wp-block-table,
body.page-template-page-content .site-main > .wp-block-image,
body.page-template-page-content .site-main > .wp-block-separator,
body.page-template-page-content .site-main > .wp-block-quote,
body.page-template-page-content .site-main > .wp-block-list,
body.page-template-page-content .site-main > .wp-block-pullquote,
body.page-template-page-content .site-main > .wp-block-verse,
body.page-template-page-content .site-main > .wp-block-preformatted,
body.page-template-page-content .site-main > .wp-block-code,
body.page-template-page-content .site-main > .wp-block-embed,
body.page-template-page-content .site-main > .wp-block-video,
body.page-template-page-content .site-main > .wp-block-audio,
body.page-template-page-content .site-main > .wp-block-buttons,
body.page-template-page-content .site-main > .wp-block-gallery,
body.page-template-page-content .site-main > .wp-block-details,
body.page-template-page-content .site-main > .wp-block-group:not(.alignfull):not(.alignwide),
body.page-template-page-content .site-main > div:not([class]),
body.page-template-page-content .site-main > div.wp-block-html {
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

/* Colonnes non-full — centrees avec marges laterales
   EXCLUT .bloc-deux-colonnes et .purificationvertus qui ont leur propre layout
   (Session 16 suite 15 v2 — fix largeur fiches pierres) */
body.page-template-page-content .site-main > .wp-block-columns:not(.alignfull):not(.alignwide):not(.inside):not(.bloc-deux-colonnes):not(.purificationvertus) {
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
}

/* Media-text non-full — centre avec marge */
body.page-template-page-content .site-main .wp-block-media-text:not(.alignfull) {
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

/* Alignfull — marges laterales generieuses + fond blanc pour respirer */
body.page-template-page-content .site-main .wp-block-media-text.alignfull {
  max-width: calc(100% - 160px) !important;
  margin-left: 80px !important;
  margin-right: 80px !important;
  margin-top: 40px !important;
  margin-bottom: 40px !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: 0 4px 24px rgba(60,42,60,.06) !important;
}
body.page-template-page-content .site-main .wp-block-media-text.alignfull .wp-block-media-text__content {
  padding: 48px 56px !important;
  background: #fff !important;
}

/* Covers — pleine largeur (PAS de > enfant direct !) */
body.page-template-page-content .site-main .wp-block-cover {
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ═══ TYPOGRAPHIE V6 — SECTION 1 : BODY TEXTE AUBERGINE ═══ */
/* Ces regles viennent EN PREMIER — specificite 0,0,4,1 (body.page-template-page-content .site-main .class element)
   Elles seront ECRASEES par les regles cover (specificite 0,0,4,2 avec prefixe html) */

/* ─── Headings — Cormorant Garamond aubergine ─── */
body.page-template-page-content .site-main h1,
body.page-template-page-content .site-main h2,
body.page-template-page-content .site-main h3,
body.page-template-page-content .site-main h4,
body.page-template-page-content .site-main h5,
body.page-template-page-content .site-main h6,
body.page-template-page-content .site-main .wp-block-heading {
  font-family: 'Cormorant Garamond', serif !important;
  font-weight: 500 !important;
  color: #3C2A3C !important;
  line-height: 1.3 !important;
}
body.page-template-page-content .site-main h2,
body.page-template-page-content .site-main h2.wp-block-heading {
  font-size: 1.6rem !important;
  margin-top: 40px !important;
  margin-bottom: 16px !important;
}
body.page-template-page-content .site-main h3,
body.page-template-page-content .site-main h3.wp-block-heading {
  font-size: 1.3rem !important;
  margin-top: 32px !important;
  margin-bottom: 12px !important;
}
body.page-template-page-content .site-main h4,
body.page-template-page-content .site-main h4.wp-block-heading {
  font-size: 1.1rem !important;
}

/* ─── Paragraphes — Raleway aubergine (LARGE : tout p dans site-main) ─── */
body.page-template-page-content .site-main p {
  font-family: 'Raleway', sans-serif !important;
  font-size: .9rem !important;
  line-height: 1.8 !important;
  color: #4A3A4A !important;
}

/* ─── Listes — Raleway aubergine + KILL NATIVE BULLETS ─── */
body.page-template-page-content .site-main ul,
body.page-template-page-content .site-main ol {
  font-family: 'Raleway', sans-serif !important;
  font-size: .88rem !important;
  line-height: 1.75 !important;
  color: #4A3A4A !important;
  list-style: none !important;
  list-style-type: none !important;
  padding-left: 0 !important;
}
body.page-template-page-content .site-main li {
  font-family: 'Raleway', sans-serif !important;
  font-size: .88rem !important;
  line-height: 1.75 !important;
  color: #4A3A4A !important;
  list-style: none !important;
  list-style-type: none !important;
  position: relative !important;
  padding-left: 22px !important;
}
/* Kill native marker on every li — triple protection */
body.page-template-page-content .site-main li::marker {
  content: none !important;
  display: none !important;
  font-size: 0 !important;
  color: transparent !important;
}
/* Beige/gold dot ONLY — via ::before (from v6-pages.css, reinforced here) */
body.page-template-page-content .site-main ul li::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 10px !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: #C4A265 !important;
  opacity: .6 !important;
}
/* Ordered lists — gold number instead of bullet */
body.page-template-page-content .site-main ol { counter-reset: pg-ol !important; }
body.page-template-page-content .site-main ol li::before {
  counter-increment: pg-ol !important;
  content: counter(pg-ol) '.' !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: auto !important;
  height: auto !important;
  border-radius: 0 !important;
  background: transparent !important;
  opacity: 1 !important;
  font-weight: 700 !important;
  color: #C4A265 !important;
  font-size: .82rem !important;
}

/* ─── Strong/Bold — aubergine plus fonce ─── */
body.page-template-page-content .site-main strong,
body.page-template-page-content .site-main b {
  color: #3C2A3C !important;
  font-weight: 700 !important;
}

/* ─── Short desc — Raleway .9rem aubergine (Session 15 suite 8)
   Les zones "short desc" (ex: Signe chinois: Boeuf / Date: 2021 / Mode: Yang...)
   utilisent du texte brut + <b> + <br> directement dans un wp-block-column.
   PAS de <div>/<span> wrapper — on cible le conteneur colonne lui-meme
   pour que le texte herite de la bonne police, ET les <b> tags directement. ─── */
body.page-template-page-content .site-main .wp-block-column[class*="is-layout"] {
  font-family: 'Raleway', sans-serif !important;
  font-size: .9rem !important;
  line-height: 1.8 !important;
  color: #4A3A4A !important;
}
/* <b> tags dans les short desc — aubergine fonce pour les labels */
body.page-template-page-content .site-main .wp-block-column > b {
  font-family: 'Raleway', sans-serif !important;
  font-size: .9rem !important;
  color: #3C2A3C !important;
  font-weight: 700 !important;
}
/* Div/Span generiques sans classe — fallback pour d'autres structures */
body.page-template-page-content .site-main div:not([class]),
body.page-template-page-content .site-main span:not([class]) {
  font-family: 'Raleway', sans-serif !important;
  font-size: .9rem !important;
  line-height: 1.8 !important;
  color: #4A3A4A !important;
}

/* ─── Liens dans le contenu — gold ─── */
body.page-template-page-content .site-main a:not([class*="btn"]):not([class*="button"]):not(.yoast-breadcrumbs a):not(div.flex a) {
  color: #C4A265 !important;
}
body.page-template-page-content .site-main a:not([class*="btn"]):not([class*="button"]):not(.yoast-breadcrumbs a):not(div.flex a):hover {
  color: #3C2A3C !important;
}

/* ─── Colonnes texte list_right / list_left ─── */
body.page-template-page-content .site-main .wp-block-column.list_right,
body.page-template-page-content .site-main .wp-block-column.list_left {
  font-family: 'Raleway', sans-serif !important;
  font-size: .88rem !important;
  line-height: 1.8 !important;
  color: #4A3A4A !important;
  text-align: left !important;
}

/* ─── h4.h4image (cartes zodiac et image captions) ─── */
body.page-template-page-content .site-main h4.h4image {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.15rem !important;
  font-weight: 600 !important;
  color: #3C2A3C !important;
  margin-bottom: 8px !important;
}

/* ═══ SECTIONS MEDIA-TEXT — DESIGN V6 ═══ */

/* ─── Grandes bannieres alignfull — PAS d'overlay (retire en Session 15 suite 4) ─── */
/* L'overlay aubergine est reserve au hero cover uniquement. Les images du body restent naturelles. */
body.page-template-page-content .site-main .wp-block-media-text.alignfull .wp-block-media-text__media::after {
  display: none !important;
  content: none !important;
  background: none !important;
  opacity: 0 !important;
}
body.page-template-page-content .site-main .wp-block-media-text.alignfull .wp-block-media-text__content {
  position: relative !important;
  z-index: 2 !important;
}
/* Dimensions minimales (overflow et border-radius deja dans le bloc marges ci-dessus) */
body.page-template-page-content .site-main .wp-block-media-text.alignfull {
  min-height: 300px !important;
}
body.page-template-page-content .site-main .wp-block-media-text.alignfull .wp-block-media-text__media {
  min-height: 300px !important;
}

/* ─── IMAGE DANS LES SECTIONS ALIGNFULL ─── */
/* Gutenberg is-image-fill rend l'image en background-image sur la figure.
   On garde cover simple SANS background-origin ni padding (qui ecrasaient l'image
   en une fine bande horizontale quand la figure a une hauteur contrainte).
   Le border-radius arrondit les coins de la card blanche parente. */
body.page-template-page-content .site-main .wp-block-media-text.alignfull .wp-block-media-text__media {
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}
/* L'img enfant (quand present — souvent en position absolute via is-image-fill) */
body.page-template-page-content .site-main .wp-block-media-text.alignfull .wp-block-media-text__media img {
  object-fit: cover !important;
  border-radius: 8px !important;
}
/* Texte AUBERGINE + TYPO HARMONISEE dans TOUS les media-text (y compris alignfull) —
   le contenu texte est toujours sur une colonne a fond clair,
   meme quand l'image est en background-fill sur l'autre colonne.
   Specificite boostee avec html pour battre les regles cover blanc.
   TAILLES identiques au body : p=.9rem, h2=1.6rem, h3=1.3rem, h4=1.1rem */
html body.page-template-page-content .site-main .wp-block-media-text .wp-block-media-text__content p {
  font-family: 'Raleway', sans-serif !important;
  font-size: .9rem !important;
  line-height: 1.8 !important;
  color: #4A3A4A !important;
}
html body.page-template-page-content .site-main .wp-block-media-text .wp-block-media-text__content h2 {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.6rem !important;
  font-weight: 500 !important;
  color: #3C2A3C !important;
  line-height: 1.3 !important;
  margin-bottom: 16px !important;
}
html body.page-template-page-content .site-main .wp-block-media-text .wp-block-media-text__content h3 {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.3rem !important;
  font-weight: 500 !important;
  color: #3C2A3C !important;
  line-height: 1.3 !important;
  margin-bottom: 12px !important;
}
html body.page-template-page-content .site-main .wp-block-media-text .wp-block-media-text__content h4 {
  font-family: 'Raleway', sans-serif !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
  color: #C4A265 !important;
  line-height: 1.3 !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  margin-bottom: 8px !important;
}
html body.page-template-page-content .site-main .wp-block-media-text .wp-block-media-text__content h5,
html body.page-template-page-content .site-main .wp-block-media-text .wp-block-media-text__content h6 {
  font-family: 'Cormorant Garamond', serif !important;
  font-weight: 500 !important;
  color: #3C2A3C !important;
}
html body.page-template-page-content .site-main .wp-block-media-text .wp-block-media-text__content li {
  font-family: 'Raleway', sans-serif !important;
  font-size: .88rem !important;
  line-height: 1.75 !important;
  color: #4A3A4A !important;
}
html body.page-template-page-content .site-main .wp-block-media-text .wp-block-media-text__content strong,
html body.page-template-page-content .site-main .wp-block-media-text .wp-block-media-text__content b {
  color: #3C2A3C !important;
  font-weight: 700 !important;
}
html body.page-template-page-content .site-main .wp-block-media-text .wp-block-media-text__content a {
  color: #C4A265 !important;
}
html body.page-template-page-content .site-main .wp-block-media-text .wp-block-media-text__content a:hover {
  color: #3C2A3C !important;
}

/* ─── Cartes media-text classiques (pas alignfull) — texte aubergine, pas de filtre ─── */
/* h4 identique partout : eyebrow gold uppercase */

/* Cards zodiac (media-text alignwide) — SUPPRIME : gere par le bloc autoritaire Session 17 suite 8 (ligne ~4723) */
/* Les proprietes background, border-radius, overflow, box-shadow, transition sont definies dans le bloc principal */

/* ═══ ASTROLOGIE CHINOISE — CLASSES SPECIFIQUES ═══ */
/* Pages type : /astrologie/astrologie-chinoise/signes-astrologiques-chinois/boeuf/ */

/* ─── single_astro_bloc : carte zodiac (image 33% + texte 67%) ─── */
body.page-template-page-content .site-main .single_astro_bloc {
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 24px !important;
  gap: 32px !important;
  align-items: flex-start !important;
}

/* ─── SVG panier géant — constraint sur l'icône "Voir les produits associés" ─── */
/* Le contenu Gutenberg contient un SVG inline viewBox="0 0 64 64" (icône panier)
   dans le lien a[href*="#produits-associes"]. Sans contrainte CSS, le SVG prend
   toute la largeur disponible et s'affiche en taille énorme (bug visuel).
   IMPORTANT: Le JS fixProduitsAssociesLinks() change le href dynamiquement,
   ce qui casse les selecteurs a[href*="produits-associes"]. On utilise la classe
   .v6-produits-link (ajoutée par le JS) comme selecteur stable. Les selecteurs
   href sont conservés en fallback (avant que le JS s'exécute). */
body.page-template-page-content .site-main a[href*="produits-associes"] svg,
body.page .site-main a[href*="produits-associes"] svg,
.site-main a[href*="produits-associes"] svg,
body.page-template-page-content .site-main .v6-produits-link svg,
body.page .site-main .v6-produits-link svg,
.site-main .v6-produits-link svg {
  width: 28px !important;
  height: 28px !important;
  max-width: 28px !important;
  max-height: 28px !important;
  display: inline-block !important;
  vertical-align: middle !important;
  margin-right: 8px !important;
  fill: #3C2A3C !important;
}
/* Le lien lui-même : style CTA pill V6 — gold outline + arrow */
body.page-template-page-content .site-main a[href*="produits-associes"],
body.page .site-main a[href*="produits-associes"],
.site-main a[href*="produits-associes"],
body.page-template-page-content .site-main .v6-produits-link,
body.page .site-main .v6-produits-link,
.site-main .v6-produits-link,
body.page-template-page-content .site-main a.voir_produit_associer,
body.page .site-main a.voir_produit_associer {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: fit-content !important;
  padding: 14px 32px !important;
  background: transparent !important;
  color: #C4A265 !important;
  border: 1.5px solid #C4A265 !important;
  border-radius: 30px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .76rem !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: all .3s ease !important;
  margin: 28px auto !important;
  position: relative !important;
  overflow: hidden !important;
}
/* Arrow → after the text */
body.page-template-page-content .site-main a[href*="produits-associes"]::after,
body.page .site-main a[href*="produits-associes"]::after,
.site-main a[href*="produits-associes"]::after,
body.page-template-page-content .site-main .v6-produits-link::after,
body.page .site-main .v6-produits-link::after,
body.page-template-page-content .site-main a.voir_produit_associer::after,
body.page .site-main a.voir_produit_associer::after {
  content: '→' !important;
  display: inline-block !important;
  font-size: 1.1rem !important;
  transition: transform .3s ease !important;
}
/* Hover : gold fill, aubergine text */
body.page-template-page-content .site-main a[href*="produits-associes"]:hover,
body.page .site-main a[href*="produits-associes"]:hover,
body.page-template-page-content .site-main .v6-produits-link:hover,
body.page .site-main .v6-produits-link:hover,
body.page-template-page-content .site-main a.voir_produit_associer:hover,
body.page .site-main a.voir_produit_associer:hover {
  background: #C4A265 !important;
  color: #fff !important;
  border-color: #C4A265 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 16px rgba(196,162,101,.25) !important;
}
body.page-template-page-content .site-main a[href*="produits-associes"]:hover::after,
body.page .site-main a[href*="produits-associes"]:hover::after,
body.page-template-page-content .site-main .v6-produits-link:hover::after,
body.page .site-main .v6-produits-link:hover::after,
body.page-template-page-content .site-main a.voir_produit_associer:hover::after,
body.page .site-main a.voir_produit_associer:hover::after {
  transform: translateX(4px) !important;
}
/* SVG icon inside — gold color */
body.page-template-page-content .site-main a[href*="produits-associes"] svg path,
body.page .site-main a[href*="produits-associes"] svg path,
body.page-template-page-content .site-main .v6-produits-link svg path,
body.page .site-main .v6-produits-link svg path {
  fill: #C4A265 !important;
}
body.page-template-page-content .site-main a[href*="produits-associes"]:hover svg path,
body.page .site-main a[href*="produits-associes"]:hover svg path,
body.page-template-page-content .site-main .v6-produits-link:hover svg path,
body.page .site-main .v6-produits-link:hover svg path {
  fill: #fff !important;
}

/* ─── Produits associés grille (WooCommerce) ─── */
body.page-template-page-content .site-main .grid_product_relatif_container,
body.page .site-main .grid_product_relatif_container {
  max-width: 1100px !important;
  margin: 32px auto !important;
  padding: 0 24px !important;
}
body.page-template-page-content .site-main .grid_product_relatif_container h3,
body.page .site-main .grid_product_relatif_container h3 {
  font-family: 'Cormorant Garamond', serif !important;
  font-weight: 500 !important;
  font-size: 1.5rem !important;
  color: #3C2A3C !important;
  margin-bottom: 24px !important;
  text-align: center !important;
}

/* ─── imageastro : image du signe zodiac ─── */
body.page-template-page-content .site-main .imageastro {
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
body.page-template-page-content .site-main .imageastro img {
  border-radius: 12px !important;
  width: 100% !important;
  height: auto !important;
  box-shadow: 0 4px 20px rgba(60,42,60,.08) !important;
}

/* ─── caracsigne : colonne texte caractere/personnalite ─── */
body.page-template-page-content .site-main .caracsigne {
  padding: 0 !important;
}
body.page-template-page-content .site-main .caracsigne h2,
body.page-template-page-content .site-main .caracsigne h3 {
  font-family: 'Cormorant Garamond', serif !important;
  font-weight: 500 !important;
  color: #3C2A3C !important;
  margin-bottom: 12px !important;
}
body.page-template-page-content .site-main .caracsigne h2 {
  font-size: 1.5rem !important;
}
body.page-template-page-content .site-main .caracsigne h3 {
  font-size: 1.2rem !important;
}
body.page-template-page-content .site-main .caracsigne p,
body.page-template-page-content .site-main .caracsigne div,
body.page-template-page-content .site-main .caracsigne span {
  font-family: 'Raleway', sans-serif !important;
  font-size: .9rem !important;
  line-height: 1.8 !important;
  color: #4A3A4A !important;
}
body.page-template-page-content .site-main .caracsigne ul,
body.page-template-page-content .site-main .caracsigne ol {
  font-family: 'Raleway', sans-serif !important;
  font-size: .9rem !important;
  line-height: 1.8 !important;
  color: #4A3A4A !important;
  padding-left: 20px !important;
}
body.page-template-page-content .site-main .caracsigne li {
  font-family: 'Raleway', sans-serif !important;
  font-size: .9rem !important;
  line-height: 1.8 !important;
  color: #4A3A4A !important;
}
body.page-template-page-content .site-main .caracsigne strong,
body.page-template-page-content .site-main .caracsigne b {
  color: #3C2A3C !important;
  font-weight: 700 !important;
}

/* ─── ext-py-lg / ext : sections media-text avec padding etendu ─── */
body.page-template-page-content .site-main .wp-block-media-text.ext-py-lg {
  padding-top: 48px !important;
  padding-bottom: 48px !important;
}
body.page-template-page-content .site-main .wp-block-media-text.ext-py-lg .wp-block-media-text__content {
  padding: 40px 36px !important;
}

/* ─── astrologie-chinoise-fond : fond specifique aux pages astro chinoise ─── */
body.page-template-page-content .site-main .astrologie-chinoise-fond {
  background-color: #FAF7F2 !important;
  border-radius: 12px !important;
  padding: 24px !important;
}

/* ─── Responsive astro + alignfull ─── */
@media (max-width: 768px) {
  body.page-template-page-content .site-main .single_astro_bloc {
    flex-direction: column !important;
    padding: 0 16px !important;
    gap: 20px !important;
  }
  body.page-template-page-content .site-main .single_astro_bloc > .wp-block-column {
    flex-basis: 100% !important;
    max-width: 100% !important;
  }
  body.page-template-page-content .site-main .imageastro img {
    max-width: 300px !important;
    margin: 0 auto !important;
    display: block !important;
  }
  body.page-template-page-content .site-main .wp-block-media-text.ext-py-lg {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }
  body.page-template-page-content .site-main .wp-block-media-text.ext-py-lg .wp-block-media-text__content {
    padding: 24px 20px !important;
  }
  /* Alignfull — marges reduites sur tablette */
  body.page-template-page-content .site-main .wp-block-media-text.alignfull {
    max-width: calc(100% - 60px) !important;
    margin-left: 30px !important;
    margin-right: 30px !important;
    margin-top: 24px !important;
    margin-bottom: 24px !important;
    border-radius: 12px !important;
  }
  body.page-template-page-content .site-main .wp-block-media-text.alignfull .wp-block-media-text__content {
    padding: 28px 24px !important;
  }
  /* Image marges reduites sur tablette */
  body.page-template-page-content .site-main .wp-block-media-text.alignfull .wp-block-media-text__media {
    padding: 16px !important;
  }
  body.page-template-page-content .site-main .wp-block-media-text.alignfull .wp-block-media-text__media img {
    top: 14px !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 14px !important;
    width: calc(100% - 28px) !important;
    height: calc(100% - 28px) !important;
  }
}
@media (max-width: 480px) {
  body.page-template-page-content .site-main .single_astro_bloc {
    padding: 0 12px !important;
  }
  body.page-template-page-content .site-main .caracsigne h2 {
    font-size: 1.3rem !important;
  }
  /* Alignfull — marges minimales sur mobile */
  body.page-template-page-content .site-main .wp-block-media-text.alignfull {
    max-width: calc(100% - 32px) !important;
    margin-left: 16px !important;
    margin-right: 16px !important;
    margin-top: 16px !important;
    margin-bottom: 16px !important;
    border-radius: 10px !important;
  }
  body.page-template-page-content .site-main .wp-block-media-text.alignfull .wp-block-media-text__content {
    padding: 20px 16px !important;
  }
  /* Image marges reduites sur mobile */
  body.page-template-page-content .site-main .wp-block-media-text.alignfull .wp-block-media-text__media {
    padding: 12px !important;
  }
  body.page-template-page-content .site-main .wp-block-media-text.alignfull .wp-block-media-text__media img {
    top: 10px !important;
    left: 10px !important;
    right: 10px !important;
    bottom: 10px !important;
    width: calc(100% - 20px) !important;
    height: calc(100% - 20px) !important;
  }
}

/* ═══ TABLEAUX — DESIGN PREMIUM ═══ */

body.page-template-page-content .site-main .wp-block-table {
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}
body.page-template-page-content .site-main .wp-block-table table,
body.page-template-page-content .site-main > table {
  width: 100% !important;
  border-collapse: collapse !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .85rem !important;
}
body.page-template-page-content .site-main .wp-block-table table th,
body.page-template-page-content .site-main > table th {
  background: #3C2A3C !important;
  color: #E8D9BE !important;
  font-weight: 600 !important;
  padding: 12px 16px !important;
  text-align: left !important;
  font-size: .78rem !important;
}
body.page-template-page-content .site-main .wp-block-table table td,
body.page-template-page-content .site-main > table td {
  padding: 10px 16px !important;
  border-bottom: 1px solid #EDE7DD !important;
  color: #4A3A4A !important;
}
body.page-template-page-content .site-main .wp-block-table table tr:last-child td,
body.page-template-page-content .site-main > table tr:last-child td {
  border-bottom: none !important;
}
body.page-template-page-content .site-main .wp-block-table table tr:nth-child(even) td,
body.page-template-page-content .site-main > table tr:nth-child(even) td {
  background: rgba(250,247,242,.5) !important;
}

/* ═══ IMAGES — COINS ARRONDIS (PAS d'overlay) ═══ */

body.page-template-page-content .site-main .wp-block-media-text__media img,
body.page-template-page-content .site-main .wp-block-image img {
  border-radius: 6px !important;
  transition: transform .4s ease !important;
}
body.page-template-page-content .site-main .wp-block-media-text:not(.alignfull):hover .wp-block-media-text__media img {
  transform: scale(1.02) !important;
}

/* ═══ BLOCKQUOTES — STYLE V6 ═══ */

body.page-template-page-content .site-main blockquote,
body.page-template-page-content .site-main .wp-block-quote {
  border-left: 3px solid #C4A265 !important;
  padding: 16px 24px !important;
  margin: 24px auto !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.1rem !important;
  font-style: italic !important;
  color: #3C2A3C !important;
  background: rgba(250,247,242,.5) !important;
  border-radius: 0 8px 8px 0 !important;
}

/* ═══ SEPARATEURS ═══ */

body.page-template-page-content .site-main .wp-block-separator,
body.page-template-page-content .site-main hr {
  border: none !important;
  border-top: 1px solid #EDE7DD !important;
  max-width: 200px !important;
  margin: 32px auto !important;
  opacity: .6 !important;
}

/* ═══════════════════════════════════════════════════════════════════
   SECTION 2 : COVER TEXTE BLANC — SPECIFICITE BOOSTEE

   Prefixe "html" ajoute a tous les selecteurs = specificite 0,0,4,2
   ce qui bat les regles body ci-dessus (0,0,3,1 ou 0,0,4,1).
   PAS de > enfant direct (les covers peuvent etre imbriques n'importe ou).
   PAS de div/span (evite de cascader dans les wrappers generiques).
   Cible UNIQUEMENT les elements texte : h1-h6, p, li, a.
   ═══════════════════════════════════════════════════════════════════ */

/* ─── Cover overlay aubergine SEMI-TRANSPARENT (comme les pages WooCommerce) ─── */
/* UNE SEULE couche d'overlay — pas de double stacking.
   Le ::before est le fallback, le __background est le principal.
   Opacite reduite pour que l'image de fond soit visible a travers l'aubergine. */
html body.page-template-page-content .site-main .wp-block-cover {
  position: relative !important;
  overflow: hidden !important;
  min-height: auto !important;
}
/* L'image de fond du cover doit TOUJOURS couvrir 100% de la hauteur,
   meme sur mobile quand le contenu texte empile verticalement et depasse
   la min-height inline definie par Gutenberg. */
html body.page-template-page-content .site-main .wp-block-cover .wp-block-cover__image-background,
html body.page-template-page-content .site-main .wp-block-cover img[data-object-fit],
html body.page-template-page-content .site-main .wp-block-cover video {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 0 !important;
}
/* Overlay principal : gradient aubergine semi-transparent pour laisser l'image transparaître */
/* Comme gp-hero : rgba .88/.82 + image en dessous à opacity 1 → texture visible à ~15% */
html body.page-template-page-content .site-main .wp-block-cover .wp-block-cover__background {
  background: linear-gradient(135deg, rgba(60,42,60,.88) 0%, rgba(74,51,74,.82) 100%) !important;
  opacity: 1 !important;
  z-index: 1 !important;
}
/* Image fond → pleine opacité, l'overlay aubergine fait le tinting */
html body.page-template-page-content .site-main > .wp-block-cover > .wp-block-cover__image-background,
html body.page-template-page-content .site-main > .wp-block-cover > img[data-object-fit] {
  opacity: 1 !important;
  z-index: 0 !important;
}
/* Fallback ::before — NE S'AFFICHE PAS si __background existe deja */
html body.page-template-page-content .site-main .wp-block-cover::before {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: linear-gradient(135deg, rgba(60,42,60,.88) 0%, rgba(74,51,74,.82) 100%) !important;
  z-index: 1 !important;
  pointer-events: none !important;
}
/* Si __background existe, le ::before est redondant — le rendre transparent */
html body.page-template-page-content .site-main .wp-block-cover:has(.wp-block-cover__background)::before {
  opacity: 0 !important;
}
/* Le contenu du cover doit passer au-dessus de l'overlay */
html body.page-template-page-content .site-main .wp-block-cover .wp-block-cover__inner-container {
  position: relative !important;
  z-index: 2 !important;
}

/* ─── COVERS IMBRIQUES (fancy_heading, etc.) = PAS D'OVERLAY PROPRE ─── */
/* Les covers internes (rectangle centre) ne doivent pas ajouter une 2eme couche d'overlay.
   Seul le cover PARENT (plein bandeau) a l'overlay → resultat : overlay uniforme full-width. */
html body.page-template-page-content .site-main .wp-block-cover .wp-block-cover {
  background: transparent !important;
  background-color: transparent !important;
}
html body.page-template-page-content .site-main .wp-block-cover .wp-block-cover .wp-block-cover__background {
  background: transparent !important;
  background-color: transparent !important;
  opacity: 0 !important;
}
html body.page-template-page-content .site-main .wp-block-cover .wp-block-cover::before {
  display: none !important;
  content: none !important;
  opacity: 0 !important;
}

/* ─── Texte dans les covers = BLANC ─── */
/* Specificite 0,0,3,3 : bat les regles body aubergine (0,0,2,2) */
html body.page-template-page-content .site-main .wp-block-cover h1,
html body.page-template-page-content .site-main .wp-block-cover h2,
html body.page-template-page-content .site-main .wp-block-cover h3,
html body.page-template-page-content .site-main .wp-block-cover h4,
html body.page-template-page-content .site-main .wp-block-cover h5,
html body.page-template-page-content .site-main .wp-block-cover h6,
html body.page-template-page-content .site-main .wp-block-cover p,
html body.page-template-page-content .site-main .wp-block-cover li {
  color: #fff !important;
}
/* Liens dans les covers : gold clair */
html body.page-template-page-content .site-main .wp-block-cover a {
  color: #E8D9BE !important;
}
html body.page-template-page-content .site-main .wp-block-cover a:hover {
  color: #fff !important;
}
/* Slogan — uppercase gold */
html body.page-template-page-content .site-main .wp-block-cover .slogan {
  font-family: 'Raleway', sans-serif !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: #C4A265 !important;
}
/* Breadcrumb — blanc leger */
html body.page-template-page-content .site-main .wp-block-cover .yoast-breadcrumbs,
html body.page-template-page-content .site-main .wp-block-cover .yoast-breadcrumbs a {
  color: rgba(255,255,255,.7) !important;
  text-decoration: none !important;
  border-bottom: none !important;
  font-size: .78rem !important;
}
html body.page-template-page-content .site-main .wp-block-cover .yoast-breadcrumbs a:hover {
  color: #C4A265 !important;
}
/* Strong/bold dans les covers — blanc gras */
html body.page-template-page-content .site-main .wp-block-cover strong,
html body.page-template-page-content .site-main .wp-block-cover b {
  color: #fff !important;
}

/* ─── EXCEPTION : blocs media-text DANS les covers = texte AUBERGINE ─── */
/* Les sections en alternance (image gauche/droite) ont un fond clair sur la colonne texte,
   donc le texte doit etre aubergine meme s'ils sont imbriques dans un cover.
   Specificite 0,0,4,3 : bat les regles cover blanc (0,0,3,3).
   NOTE : cette regle renforce les regles media-text de la section "MEDIA-TEXT" ci-dessus
   pour les cas ou les blocs sont imbriques dans un wp-block-cover. */
html body.page-template-page-content .site-main .wp-block-cover .wp-block-media-text__content h1,
html body.page-template-page-content .site-main .wp-block-cover .wp-block-media-text__content h2,
html body.page-template-page-content .site-main .wp-block-cover .wp-block-media-text__content h3,
html body.page-template-page-content .site-main .wp-block-cover .wp-block-media-text__content h4,
html body.page-template-page-content .site-main .wp-block-cover .wp-block-media-text__content h5,
html body.page-template-page-content .site-main .wp-block-cover .wp-block-media-text__content h6,
html body.page-template-page-content .site-main .wp-block-cover .wp-block-media-text__content p,
html body.page-template-page-content .site-main .wp-block-cover .wp-block-media-text__content li {
  color: #4A3A4A !important;
}
html body.page-template-page-content .site-main .wp-block-cover .wp-block-media-text__content h4 {
  font-family: 'Cormorant Garamond', serif !important;
  font-weight: 600 !important;
  color: #3C2A3C !important;
}
html body.page-template-page-content .site-main .wp-block-cover .wp-block-media-text__content strong,
html body.page-template-page-content .site-main .wp-block-cover .wp-block-media-text__content b {
  color: #3C2A3C !important;
}
html body.page-template-page-content .site-main .wp-block-cover .wp-block-media-text__content a {
  color: #C4A265 !important;
}
html body.page-template-page-content .site-main .wp-block-cover .wp-block-media-text__content a:hover {
  color: #3C2A3C !important;
}

/* ═══ PIERRES DE CORRESPONDANCE — PILL BUTTONS V6 (Session 15 suite 10) ═══ */
/* Sur les pages zodiac (Vierge, Belier, etc.), les liens vers les fiches pierres
   sont rendus dans un div.flex (display:flex). On les style en pills premium
   coherentes avec le design system V6. */

body.page-template-page-content .site-main div.flex {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px 8px !important;
  margin: 20px 0 28px !important;
  padding: 0 !important;
}
html body.page-template-page-content .site-main div.flex a,
html body.page-template-page-content .site-main div.flex a:link,
html body.page-template-page-content .site-main div.flex a:visited,
html body.page-template-page-content .site-main div.flex a:active {
  display: inline-flex !important;
  align-items: center !important;
  padding: 8px 20px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .78rem !important;
  font-weight: 600 !important;
  letter-spacing: .5px !important;
  color: #fff !important;
  background: #C4A265 !important;
  border: 1.5px solid #C4A265 !important;
  border-radius: 24px !important;
  text-decoration: none !important;
  text-transform: none !important;
  transition: all .3s cubic-bezier(.25,.46,.45,.94) !important;
  box-shadow: 0 2px 8px rgba(196,162,101,.2) !important;
  white-space: nowrap !important;
}
html body.page-template-page-content .site-main div.flex a:hover,
html body.page-template-page-content .site-main div.flex a:focus {
  color: #fff !important;
  background: #3C2A3C !important;
  border-color: #3C2A3C !important;
  box-shadow: 0 4px 16px rgba(60,42,60,.15) !important;
  transform: translateY(-1px) !important;
  text-decoration: none !important;
}
/* Responsive — pills en wrap serré sur mobile */
@media (max-width: 768px) {
  body.page-template-page-content .site-main div.flex {
    gap: 8px 6px !important;
  }
  body.page-template-page-content .site-main div.flex a {
    padding: 6px 16px !important;
    font-size: .72rem !important;
  }
}

/* ═══ CTA PREMIUM — LIENS DANS LES CARDS ET LE CONTENU (Session 15 suite 9) ═══ */

/* IMPORTANT : On ne cible PAS p:last-of-type > a:only-child dans wp-block-column
   ni wp-block-group__inner-container. CSS :only-child ignore les text nodes, donc un lien
   inline comme <p>...ses <a>rêves</a> professionnels.</p> matche le selecteur alors que
   le lien est entoure de texte. Cela causait des faux positifs (ex: "REVES →" en pill).

   Pour wp-block-column et wp-block-group, on garde UNIQUEMENT > a:last-child
   qui cible les liens autonomes enfants directs du conteneur (pas dans un <p>).
   Les CTAs des pages signes-astrologiques utilisent cette structure :
   <div class="wp-block-column">...<a href="..."><u>Signe astrologique Bélier</u></a></div>

   Pour wp-block-media-text__content, on garde :only-child car les false positives
   y sont beaucoup plus rares (contenu controle). */

/* ─── SPACING : Respiration apres le hero cover ─── */
body.page-template-page-content .site-main .wp-block-cover + *,
body.page-template-page-content .site-main .wp-block-cover + .wp-block-columns,
body.page-template-page-content .site-main .wp-block-cover + h2,
body.page-template-page-content .site-main .wp-block-cover + p {
  margin-top: 40px !important;
}
body.page-template-page-content .site-main .wp-block-cover + .wp-block-media-text {
  margin-top: 48px !important;
}

/* ─── Block 1 : Base .btn — CTA pill style ─── */
body.page-template-page-content .site-main .wp-block-media-text__content p:last-of-type > a:only-child,
body.page-template-page-content .site-main .wp-block-media-text__content div:last-of-type > a:only-child,
body.page-template-page-content .site-main .wp-block-media-text__content > a:last-child,
body.page-template-page-content .site-main .wp-block-column > a:last-child,
body.page-template-page-content .site-main .wp-block-group__inner-container > a:last-child {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: fit-content !important;
  margin-left: auto !important;
  margin-right: auto !important;
  gap: 10px !important;
  padding: 15px 38px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .65rem !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  text-decoration: none !important;
  border-bottom: none !important;
  transition: all .4s cubic-bezier(.25,.46,.45,.94) !important;
  position: relative !important;
  overflow: hidden !important;
  margin-top: 12px !important;
  background: transparent !important;
  border: 1px solid #C4A265 !important;
  border-bottom: 1px solid #C4A265 !important;
  color: #C4A265 !important;
  border-radius: 0 !important;
}
/* Kill <u> tag underline inside CTA pills (signes-astrologiques uses <a><u>text</u></a>) */
body.page-template-page-content .site-main .wp-block-media-text__content p:last-of-type > a:only-child u,
body.page-template-page-content .site-main .wp-block-media-text__content div:last-of-type > a:only-child u,
body.page-template-page-content .site-main .wp-block-media-text__content > a:last-child u,
body.page-template-page-content .site-main .wp-block-column > a:last-child u,
body.page-template-page-content .site-main .wp-block-group__inner-container > a:last-child u {
  text-decoration: none !important;
  border-bottom: none !important;
}
/* ─── Block 2 : Fleche → a droite du texte ─── */
body.page-template-page-content .site-main .wp-block-media-text__content p:last-of-type > a:only-child::before,
body.page-template-page-content .site-main .wp-block-media-text__content div:last-of-type > a:only-child::before,
body.page-template-page-content .site-main .wp-block-media-text__content > a:last-child::before,
body.page-template-page-content .site-main .wp-block-column > a:last-child::before,
body.page-template-page-content .site-main .wp-block-group__inner-container > a:last-child::before {
  content: '→' !important;
  order: 2 !important;
  font-size: .85rem !important;
  transition: transform .3s ease !important;
  position: relative !important;
  z-index: 2 !important;
  display: inline-block !important;
}
/* ─── Block 3 : Arrow hover ─── */
body.page-template-page-content .site-main .wp-block-media-text__content p:last-of-type > a:only-child:hover::before,
body.page-template-page-content .site-main .wp-block-media-text__content div:last-of-type > a:only-child:hover::before,
body.page-template-page-content .site-main .wp-block-media-text__content > a:last-child:hover::before,
body.page-template-page-content .site-main .wp-block-column > a:last-child:hover::before,
body.page-template-page-content .site-main .wp-block-group__inner-container > a:last-child:hover::before {
  transform: translateX(4px) !important;
}
/* ─── Block 4 : Hover → fond gold + texte blanc ─── */
body.page-template-page-content .site-main .wp-block-media-text__content p:last-of-type > a:only-child:hover,
body.page-template-page-content .site-main .wp-block-media-text__content div:last-of-type > a:only-child:hover,
body.page-template-page-content .site-main .wp-block-media-text__content > a:last-child:hover,
body.page-template-page-content .site-main .wp-block-column > a:last-child:hover,
body.page-template-page-content .site-main .wp-block-group__inner-container > a:last-child:hover {
  background: #C4A265 !important;
  border-color: #C4A265 !important;
  color: #fff !important;
  box-shadow: 0 4px 20px rgba(196,162,101,.25) !important;
}
body.page-template-page-content .site-main .wp-block-column > a:last-child:hover u,
body.page-template-page-content .site-main .wp-block-group__inner-container > a:last-child:hover u {
  color: #fff !important;
}
/* ─── Block 5 : Shine sweep ::after ─── */
body.page-template-page-content .site-main .wp-block-media-text__content p:last-of-type > a:only-child::after,
body.page-template-page-content .site-main .wp-block-media-text__content div:last-of-type > a:only-child::after,
body.page-template-page-content .site-main .wp-block-media-text__content > a:last-child::after,
body.page-template-page-content .site-main .wp-block-column > a:last-child::after,
body.page-template-page-content .site-main .wp-block-group__inner-container > a:last-child::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(120deg, transparent 40%, rgba(255,255,255,.15) 50%, transparent 60%) !important;
  transform: translateX(-100%) !important;
  transition: transform .6s ease !important;
  z-index: 1 !important;
  pointer-events: none !important;
}
/* ─── Block 6 : Shine hover ─── */
body.page-template-page-content .site-main .wp-block-media-text__content p:last-of-type > a:only-child:hover::after,
body.page-template-page-content .site-main .wp-block-media-text__content div:last-of-type > a:only-child:hover::after,
body.page-template-page-content .site-main .wp-block-media-text__content > a:last-child:hover::after,
body.page-template-page-content .site-main .wp-block-column > a:last-child:hover::after,
body.page-template-page-content .site-main .wp-block-group__inner-container > a:last-child:hover::after {
  transform: translateX(100%) !important;
}
/* ─── Block 7 : Centrer le conteneur parent du CTA ─── */
body.page-template-page-content .site-main .wp-block-media-text__content p:last-of-type:has(> a:only-child),
body.page-template-page-content .site-main .wp-block-media-text__content div:last-of-type:has(> a:only-child) {
  text-align: center !important;
}

/* ─── Block 8 : CTA UNDERLINE KILL — tue TOUTES les sources de soulignement ─── */
body.page-template-page-content .site-main .wp-block-media-text__content p:last-of-type > a:only-child,
body.page-template-page-content .site-main .wp-block-media-text__content div:last-of-type > a:only-child,
body.page-template-page-content .site-main .wp-block-media-text__content > a:last-child,
body.page-template-page-content .site-main .wp-block-column > a:last-child,
body.page-template-page-content .site-main .wp-block-group__inner-container > a:last-child {
  text-decoration: none !important;
  text-decoration-line: none !important;
  text-underline-offset: 0 !important;
  -webkit-text-decoration: none !important;
  box-shadow: none !important;
  background-image: none !important;
  border-bottom: 1px solid #C4A265 !important;
  border-bottom-style: solid !important;
  border-bottom-color: #C4A265 !important;
  border-bottom-width: 1px !important;
}
/* Kill <u> underline inside CTA pills — found in signes-astrologiques page HTML */
body.page-template-page-content .site-main .wp-block-media-text__content p:last-of-type > a:only-child u,
body.page-template-page-content .site-main .wp-block-media-text__content > a:last-child u,
body.page-template-page-content .site-main .wp-block-column > a:last-child u,
body.page-template-page-content .site-main .wp-block-group__inner-container > a:last-child u {
  text-decoration: none !important;
  text-decoration-line: none !important;
  -webkit-text-decoration: none !important;
  border-bottom: none !important;
  border: none !important;
}
/* ─── Block 9 : CTA UNDERLINE KILL hover ─── */
body.page-template-page-content .site-main .wp-block-media-text__content p:last-of-type > a:only-child:hover,
body.page-template-page-content .site-main .wp-block-media-text__content div:last-of-type > a:only-child:hover,
body.page-template-page-content .site-main .wp-block-media-text__content > a:last-child:hover,
body.page-template-page-content .site-main .wp-block-column > a:last-child:hover,
body.page-template-page-content .site-main .wp-block-group__inner-container > a:last-child:hover {
  text-decoration: none !important;
  text-decoration-line: none !important;
  -webkit-text-decoration: none !important;
  border-bottom: 1px solid #C4A265 !important;
  border-bottom-color: #C4A265 !important;
  box-shadow: 0 4px 20px rgba(196,162,101,.25) !important;
}
body.page-template-page-content .site-main .wp-block-column > a:last-child:hover u,
body.page-template-page-content .site-main .wp-block-group__inner-container > a:last-child:hover u {
  text-decoration: none !important;
  border: none !important;
}

/* ─── Variante covers (fond sombre) → outline cream, hover cream fill ─── */
html body.page-template-page-content .site-main .wp-block-cover .wp-block-media-text__content p:last-of-type > a:only-child,
html body.page-template-page-content .site-main .wp-block-cover .wp-block-media-text__content div:last-of-type > a:only-child,
html body.page-template-page-content .site-main .wp-block-cover .wp-block-media-text__content > a:last-child,
html body.page-template-page-content .site-main .wp-block-cover > a:last-child {
  border-color: rgba(255,255,255,.4) !important;
  color: #fff !important;
}
html body.page-template-page-content .site-main .wp-block-cover .wp-block-media-text__content p:last-of-type > a:only-child:hover,
html body.page-template-page-content .site-main .wp-block-cover .wp-block-media-text__content div:last-of-type > a:only-child:hover,
html body.page-template-page-content .site-main .wp-block-cover .wp-block-media-text__content > a:last-child:hover,
html body.page-template-page-content .site-main .wp-block-cover > a:last-child:hover {
  background: #fff !important;
  border-color: #fff !important;
  color: #3C2A3C !important;
}

/* Boutons Gutenberg natifs (.wp-block-button) — aussi en premium */
body.page-template-page-content .site-main .wp-block-button__link {
  background: #3C2A3C !important;
  color: #E8D9BE !important;
  border: none !important;
  border-radius: 6px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
  letter-spacing: 1.8px !important;
  text-transform: uppercase !important;
  padding: 12px 32px !important;
  text-decoration: none !important;
  transition: all .3s cubic-bezier(.25,.46,.45,.94) !important;
}
body.page-template-page-content .site-main .wp-block-button__link:hover {
  background: #2a1a2a !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 16px rgba(60,42,60,.18) !important;
}
/* Variante outline */
body.page-template-page-content .site-main .wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent !important;
  border: 1.5px solid #C4A265 !important;
  color: #C4A265 !important;
}
body.page-template-page-content .site-main .wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: #3C2A3C !important;
  border-color: #3C2A3C !important;
  color: #E8D9BE !important;
}

/* ═══ ESPACEMENT BAS DE PAGE — BREATHING ROOM AVANT LE FOOTER ═══ */

body.page-template-page-content .site-main {
  padding-bottom: 64px !important;
}
/* Si le dernier element est un cover/full-width, reduire un peu */
body.page-template-page-content .site-main > .wp-block-cover:last-child,
body.page-template-page-content .site-main > .alignfull:last-child {
  margin-bottom: 0 !important;
}

/* ═══ RESPONSIVE ═══ */

@media (max-width: 768px) {
  /* CTA plus compacts sur mobile — meme design, plus petit */
  body.page-template-page-content .site-main .wp-block-media-text__content p:last-of-type > a:only-child,
  body.page-template-page-content .site-main .wp-block-media-text__content div:last-of-type > a:only-child,
  body.page-template-page-content .site-main .wp-block-media-text__content > a:last-child,
  body.page-template-page-content .site-main .wp-block-column > a:last-child,
  body.page-template-page-content .site-main .wp-block-group__inner-container > a:last-child {
    padding: 12px 28px !important;
    font-size: .6rem !important;
    letter-spacing: 2px !important;
  }
  /* Padding bas reduit */
  body.page-template-page-content .site-main {
    padding-bottom: 40px !important;
  }

  body.page-template-page-content .site-main > .wp-block-columns:not(.alignfull):not(.alignwide):not(.inside) {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  body.page-template-page-content .site-main .wp-block-media-text:not(.alignfull) {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  body.page-template-page-content .site-main .wp-block-media-text.alignfull .wp-block-media-text__content {
    padding: 28px 24px !important;
  }
  body.page-template-page-content .site-main h2,
  body.page-template-page-content .site-main h2.wp-block-heading {
    font-size: 1.3rem !important;
  }
}
@media (max-width: 480px) {
  body.page-template-page-content .site-main > h1,
  body.page-template-page-content .site-main > h2,
  body.page-template-page-content .site-main > h3,
  body.page-template-page-content .site-main > h4,
  body.page-template-page-content .site-main > h5,
  body.page-template-page-content .site-main > h6,
  body.page-template-page-content .site-main > p,
  body.page-template-page-content .site-main > ul,
  body.page-template-page-content .site-main > ol,
  body.page-template-page-content .site-main > .wp-block-table,
  body.page-template-page-content .site-main > .wp-block-image {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  body.page-template-page-content .site-main .wp-block-media-text.alignfull .wp-block-media-text__content {
    padding: 20px 16px !important;
  }
}


/* ═══════════════════════════════════════════════════════════════
   CPT ARCHIVES — DESIGN V6 PREMIUM (Session 16 suite 9)
   Template : archive-content.php
   Classes : .cpt-archive-hero, .cpt-archive-grid, .cpt-archive-card
   ═══════════════════════════════════════════════════════════════ */

/* ─── Hero Section ─── */
.cpt-archive-hero {
  position: relative !important;
  width: 100% !important;
  min-height: 340px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}
.cpt-archive-hero-bg {
  position: absolute !important;
  inset: 0 !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  opacity: .18 !important;
  z-index: 1 !important;
}
.cpt-archive-hero-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(135deg, #3C2A3C 0%, #4A354A 50%, #3C2A3C 100%) !important;
  z-index: 0 !important;
}
.cpt-archive-hero-content {
  position: relative !important;
  z-index: 2 !important;
  text-align: center !important;
  max-width: 720px !important;
  padding: 56px 32px !important;
}
.cpt-archive-hero-content .eyebrow {
  display: inline-block !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .62rem !important;
  font-weight: 700 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: #C4A265 !important;
  margin-bottom: 0 !important;
}
.cpt-archive-hero-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(1.8rem, 4vw, 2.8rem) !important;
  font-weight: 500 !important;
  color: #fff !important;
  line-height: 1.2 !important;
  margin: 0 0 16px !important;
  letter-spacing: .01em !important;
}
.cpt-archive-hero-desc {
  font-family: 'Raleway', sans-serif !important;
  font-size: .92rem !important;
  line-height: 1.7 !important;
  color: rgba(255,255,255,.85) !important;
  margin: 0 auto 20px !important;
  max-width: 560px !important;
}
.cpt-archive-hero-count {
  display: inline-block !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .68rem !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: #E8D9BE !important;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  padding: 6px 18px !important;
  border-radius: 20px !important;
}

/* ─── Cards Section ─── */
.cpt-archive-section {
  padding: 48px 0 16px !important;
  background: #FAF7F2 !important;
}

/* ─── Cards Grid ─── */
.cpt-archive-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)) !important;
  gap: 24px !important;
}

/* ─── Individual Card ─── */
.cpt-archive-card {
  background: #fff !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 16px rgba(60,42,60,.06), 0 1px 3px rgba(60,42,60,.03) !important;
  border: 1px solid rgba(237,231,221,.4) !important;
  transition: transform .35s cubic-bezier(.25,.46,.45,.94), box-shadow .35s ease, border-color .35s ease !important;
}
.cpt-archive-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 40px rgba(60,42,60,.12), 0 4px 12px rgba(60,42,60,.06) !important;
  border-color: rgba(196,162,101,.3) !important;
}

/* Card image */
.cpt-archive-card-image {
  display: block !important;
  aspect-ratio: 4/3 !important;
  overflow: hidden !important;
  background: #FAF7F2 !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(237,231,221,.3) !important;
}
.cpt-archive-card-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform .5s ease !important;
}
.cpt-archive-card:hover .cpt-archive-card-image img {
  transform: scale(1.06) !important;
}

/* Card placeholder (no image) */
.cpt-archive-card-noimg {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(135deg, #FAF7F2 0%, #F0EBE3 100%) !important;
}
.cpt-archive-card-placeholder {
  opacity: .5 !important;
}

/* Card body */
.cpt-archive-card-body {
  padding: 20px 22px 24px !important;
}
.cpt-archive-card-body h2 {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.2rem !important;
  font-weight: 600 !important;
  color: #3C2A3C !important;
  margin: 0 0 8px !important;
  line-height: 1.3 !important;
}
.cpt-archive-card-body h2 a {
  color: inherit !important;
  text-decoration: none !important;
  border-bottom: none !important;
  transition: color .25s ease !important;
}
.cpt-archive-card-body h2 a:hover {
  color: #C4A265 !important;
}
.cpt-archive-card-body > p {
  font-family: 'Raleway', sans-serif !important;
  font-size: .82rem !important;
  line-height: 1.6 !important;
  color: #6B5B6B !important;
  margin: 0 0 14px !important;
}

/* "Découvrir →" link */
.cpt-archive-card-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: #C4A265 !important;
  text-decoration: none !important;
  border-bottom: none !important;
  transition: color .25s ease, gap .25s ease !important;
}
.cpt-archive-card-link:hover {
  color: #3C2A3C !important;
  gap: 10px !important;
}
.cpt-archive-card-link span {
  transition: transform .25s ease !important;
}
.cpt-archive-card-link:hover span {
  transform: translateX(3px) !important;
}

/* ─── No results ─── */
.cpt-archive-section .container[style*="text-align:center"] p {
  font-family: 'Cormorant Garamond', serif !important;
  color: #3C2A3C !important;
}

/* ─── Pagination ─── */
body.archive-cpt-content .nav-links,
body.page-template-page-content .nav-links {
  display: flex !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 32px 24px 56px !important;
  flex-wrap: wrap !important;
}
body.archive-cpt-content .nav-links .page-numbers,
body.page-template-page-content .nav-links .page-numbers {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 40px !important;
  height: 40px !important;
  padding: 0 12px !important;
  border-radius: 8px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .82rem !important;
  font-weight: 600 !important;
  color: #3C2A3C !important;
  background: #fff !important;
  border: 1px solid #EDE7DD !important;
  text-decoration: none !important;
  transition: all .25s ease !important;
}
body.archive-cpt-content .nav-links .page-numbers.current,
body.page-template-page-content .nav-links .page-numbers.current {
  background: #3C2A3C !important;
  color: #E8D9BE !important;
  border-color: #3C2A3C !important;
}
body.archive-cpt-content .nav-links .page-numbers:hover:not(.current),
body.page-template-page-content .nav-links .page-numbers:hover:not(.current) {
  background: #FAF7F2 !important;
  border-color: #C4A265 !important;
  color: #C4A265 !important;
}

/* ─── Responsive ─── */
@media (max-width: 768px) {
  .cpt-archive-hero {
    min-height: 280px !important;
  }
  .cpt-archive-hero-content {
    padding: 40px 20px !important;
  }
  .cpt-archive-hero-title {
    font-size: clamp(1.5rem, 5vw, 2rem) !important;
  }
  .cpt-archive-hero-desc {
    font-size: .84rem !important;
  }
  .cpt-archive-section {
    padding: 36px 0 12px !important;
  }
  .cpt-archive-grid {
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
    gap: 18px !important;
  }
  .cpt-archive-card-body {
    padding: 16px 18px 20px !important;
  }
}
@media (max-width: 480px) {
  .cpt-archive-hero {
    min-height: 240px !important;
  }
  .cpt-archive-hero-content {
    padding: 32px 16px !important;
  }
  .cpt-archive-hero-count {
    font-size: .6rem !important;
    padding: 5px 14px !important;
  }
  .cpt-archive-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 14px !important;
  }
  .cpt-archive-card-body h2 {
    font-size: 1.05rem !important;
  }
  .cpt-archive-card-body > p {
    font-size: .78rem !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════
   FORMULAIRES PAGES CLASSIQUES — DESIGN V6 PREMIUM
   Pages comme calcul ange-gardien, heures miroirs, compatibilite, etc.
   qui contiennent des formulaires avec classes Bootstrap basiques
   (form-group, form-control, btn, text-center, selector-compatibility-*)
   ═══════════════════════════════════════════════════════════════════ */

/* ─── Wrapper formulaire — centre + card blanche ─── */
body.page-template-page-content .site-main form[class*="selector-compatibility"],
body.page-template-page-content .site-main form[class*="selector-"] {
  max-width: 560px !important;
  margin: 32px auto !important;
  background: #fff !important;
  border-radius: 16px !important;
  padding: 36px 32px !important;
  box-shadow: 0 4px 24px rgba(60,42,60,.06), 0 1px 3px rgba(60,42,60,.03) !important;
}

/* ─── Form groups — espacement ─── */
body.page-template-page-content .site-main .form-group {
  margin-bottom: 20px !important;
}

/* ─── Labels .title — Cormorant Garamond premium ─── */
body.page-template-page-content .site-main form label,
body.page-template-page-content .site-main form label.title {
  display: block !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  color: #3C2A3C !important;
  margin-bottom: 8px !important;
  text-align: center !important;
}

/* ─── Inputs — design V6 premium ─── */
body.page-template-page-content .site-main form .form-control,
body.page-template-page-content .site-main form input[type="text"],
body.page-template-page-content .site-main form input[type="number"],
body.page-template-page-content .site-main form input[type="email"],
body.page-template-page-content .site-main form input[type="date"],
body.page-template-page-content .site-main form input[type="tel"],
body.page-template-page-content .site-main form select {
  display: block !important;
  width: 100% !important;
  max-width: 320px !important;
  margin: 0 auto !important;
  height: 48px !important;
  padding: 0 20px !important;
  background: #FAF7F2 !important;
  border: 1.5px solid #EDE7DD !important;
  border-radius: 10px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .9rem !important;
  color: #3C2A3C !important;
  text-align: center !important;
  box-sizing: border-box !important;
  outline: none !important;
  transition: border-color .3s ease, box-shadow .3s ease, background .3s ease !important;
  -webkit-appearance: none !important;
  -moz-appearance: textfield !important;
}
/* Focus — gold glow */
body.page-template-page-content .site-main form .form-control:focus,
body.page-template-page-content .site-main form input:focus,
body.page-template-page-content .site-main form select:focus {
  background: #fff !important;
  border-color: #C4A265 !important;
  box-shadow: 0 0 0 3px rgba(196,162,101,.12) !important;
}
/* Kill number spinners */
body.page-template-page-content .site-main form input[type="number"]::-webkit-inner-spin-button,
body.page-template-page-content .site-main form input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

/* ─── Selects custom — chevron SVG ─── */
body.page-template-page-content .site-main form select {
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%233C2A3C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  padding-right: 44px !important;
}

/* ─── Boutons submit — aubergine/cream premium ─── */
body.page-template-page-content .site-main form .btn,
body.page-template-page-content .site-main form button[type="button"],
body.page-template-page-content .site-main form button[type="submit"],
body.page-template-page-content .site-main form input[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 280px !important;
  height: 50px !important;
  padding: 0 32px !important;
  background: #3C2A3C !important;
  color: #E8D9BE !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background .3s ease, transform .2s ease, box-shadow .3s ease !important;
  box-shadow: 0 2px 8px rgba(60,42,60,.15) !important;
  margin: 8px auto 0 !important;
}
body.page-template-page-content .site-main form .btn:hover,
body.page-template-page-content .site-main form button[type="button"]:hover,
body.page-template-page-content .site-main form button[type="submit"]:hover,
body.page-template-page-content .site-main form input[type="submit"]:hover {
  background: #2a1a2a !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 16px rgba(60,42,60,.25) !important;
}

/* ─── Centrage du wrapper bouton ─── */
body.page-template-page-content .site-main form .text-center,
body.page-template-page-content .site-main form div:has(> button),
body.page-template-page-content .site-main form div:has(> input[type="submit"]) {
  text-align: center !important;
  margin-top: 24px !important;
}

/* ─── Resultat du calcul — card premium ─── */
body.page-template-page-content .site-main #result,
body.page-template-page-content .site-main [id*="result"],
body.page-template-page-content .site-main .result-container,
body.page-template-page-content .site-main [class*="resultat"] {
  max-width: 560px !important;
  margin: 24px auto !important;
  padding: 28px 24px !important;
  background: #fff !important;
  border-radius: 14px !important;
  border: 1.5px solid #EDE7DD !important;
  box-shadow: 0 4px 16px rgba(60,42,60,.06) !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .9rem !important;
  color: #4A3A4A !important;
  line-height: 1.7 !important;
  text-align: center !important;
}

/* ─── Contact Form 7 — meme design ─── */
body.page-template-page-content .site-main .wpcf7 {
  max-width: 560px !important;
  margin: 32px auto !important;
}
body.page-template-page-content .site-main .wpcf7 input[type="text"],
body.page-template-page-content .site-main .wpcf7 input[type="email"],
body.page-template-page-content .site-main .wpcf7 input[type="tel"],
body.page-template-page-content .site-main .wpcf7 textarea,
body.page-template-page-content .site-main .wpcf7 select {
  width: 100% !important;
  max-width: 100% !important;
  height: 48px !important;
  padding: 0 20px !important;
  background: #FAF7F2 !important;
  border: 1.5px solid #EDE7DD !important;
  border-radius: 10px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .88rem !important;
  color: #3C2A3C !important;
  box-sizing: border-box !important;
  outline: none !important;
  transition: border-color .3s ease, box-shadow .3s ease !important;
}
body.page-template-page-content .site-main .wpcf7 textarea {
  height: auto !important;
  min-height: 120px !important;
  padding: 14px 20px !important;
  resize: vertical !important;
}
body.page-template-page-content .site-main .wpcf7 input:focus,
body.page-template-page-content .site-main .wpcf7 textarea:focus,
body.page-template-page-content .site-main .wpcf7 select:focus {
  background: #fff !important;
  border-color: #C4A265 !important;
  box-shadow: 0 0 0 3px rgba(196,162,101,.12) !important;
}
body.page-template-page-content .site-main .wpcf7 input[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 240px !important;
  height: 50px !important;
  padding: 0 32px !important;
  background: #3C2A3C !important;
  color: #E8D9BE !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  box-shadow: 0 2px 8px rgba(60,42,60,.15) !important;
  transition: background .3s ease, transform .2s ease !important;
}
body.page-template-page-content .site-main .wpcf7 input[type="submit"]:hover {
  background: #2a1a2a !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 16px rgba(60,42,60,.25) !important;
}

/* ─── Separateur wp-block-separator dans le contenu ─── */
body.page-template-page-content .site-main hr.wp-block-separator {
  max-width: 200px !important;
  margin: 24px auto !important;
  border: none !important;
  border-top: 1px solid rgba(237,231,221,.6) !important;
}

/* ─── Responsive formulaires ─── */
@media (max-width: 768px) {
  body.page-template-page-content .site-main form[class*="selector-"] {
    max-width: 100% !important;
    padding: 28px 20px !important;
    margin: 24px 16px !important;
    border-radius: 12px !important;
  }
  body.page-template-page-content .site-main form .form-control,
  body.page-template-page-content .site-main form input[type="text"],
  body.page-template-page-content .site-main form input[type="number"] {
    max-width: 100% !important;
  }
  body.page-template-page-content .site-main form .btn,
  body.page-template-page-content .site-main form button[type="button"],
  body.page-template-page-content .site-main form button[type="submit"] {
    min-width: 100% !important;
    width: 100% !important;
  }
}
@media (max-width: 480px) {
  body.page-template-page-content .site-main form[class*="selector-"] {
    padding: 24px 16px !important;
    margin: 20px 12px !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════
   SESSION 16 suite 5 — IMAGE MARGINS ALIGNFULL + CPT STYLING
   Images dans les alternances texte/image touchent le bord de la card
   blanche. Ajout de padding interne + gap entre image et texte.
   + H1 et styles pour les pages CPT singles et archives.
   ═══════════════════════════════════════════════════════════════════ */

/* ─── ALIGNFULL MEDIA-TEXT — PADDING INTERNE CARD BLANCHE ─── */
/* La card blanche a deja border-radius:16px, background:#fff, box-shadow.
   On ajoute du padding pour que l'image ne touche plus les bords.
   Le gap CSS grid cree un espace entre l'image et le texte. */
body.page-template-page-content .site-main .wp-block-media-text.alignfull {
  padding: 16px !important;
  gap: 0 !important;
}
body.page-template-page-content .site-main .wp-block-media-text.alignfull .wp-block-media-text__media {
  border-radius: 10px !important;
  overflow: hidden !important;
}
/* Reduire le padding du contenu texte pour compenser le padding parent */
body.page-template-page-content .site-main .wp-block-media-text.alignfull .wp-block-media-text__content {
  padding: 32px 40px !important;
}
/* Responsive */
@media (max-width: 768px) {
  body.page-template-page-content .site-main .wp-block-media-text.alignfull {
    padding: 12px !important;
  }
  body.page-template-page-content .site-main .wp-block-media-text.alignfull .wp-block-media-text__content {
    padding: 24px 20px !important;
  }
}
@media (max-width: 480px) {
  body.page-template-page-content .site-main .wp-block-media-text.alignfull {
    padding: 10px !important;
  }
  body.page-template-page-content .site-main .wp-block-media-text.alignfull .wp-block-media-text__content {
    padding: 20px 16px !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════
   CPT SINGLE PAGES — DESIGN V6 PREMIUM (vertus-des-pierres, etc.)
   Header avec titre + image a la une, contenu Gutenberg standard
   ═══════════════════════════════════════════════════════════════════ */

/* ─── Header CPT — Hero avec titre + image ─── */
body.single-cpt-content .cpt-entry-header {
  max-width: 900px;
  margin: 0 auto;
  padding: 48px 24px 32px;
  text-align: center;
}
body.single-cpt-content .cpt-entry-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  font-weight: 500;
  color: #3C2A3C;
  line-height: 1.2;
  margin: 0 0 24px;
  letter-spacing: .01em;
}
body.single-cpt-content .cpt-featured-image {
  max-width: 800px;
  margin: 0 auto 40px;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(60,42,60,.1);
}
body.single-cpt-content .cpt-featured-image img.cpt-hero-img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 480px;
  object-fit: cover;
}

/* ─── CPT single — contenu body typo ─── */
/* Les regles body.page-template-page-content s'appliquent deja via body_class.
   On ajoute juste des overrides specifiques aux CPT singles. */
body.single-cpt-content .site-main {
  padding-bottom: 48px;
}

/* Responsive CPT single */
@media (max-width: 768px) {
  body.single-cpt-content .cpt-entry-header {
    padding: 32px 16px 24px;
  }
  body.single-cpt-content .cpt-featured-image {
    border-radius: 10px;
    margin-bottom: 28px;
  }
  body.single-cpt-content .cpt-featured-image img.cpt-hero-img {
    max-height: 360px;
  }
}
@media (max-width: 480px) {
  body.single-cpt-content .cpt-entry-header {
    padding: 24px 14px 20px;
  }
  body.single-cpt-content .cpt-entry-title {
    font-size: 1.6rem;
  }
  body.single-cpt-content .cpt-featured-image {
    border-radius: 8px;
    margin-bottom: 20px;
  }
  body.single-cpt-content .cpt-featured-image img.cpt-hero-img {
    max-height: 280px;
  }
}

/* ═══════════════════════════════════════════════════════════════════
   (Old CPT ARCHIVE section removed — merged into Session 16 suite 9
    section above with .cpt-archive-* classes)
   ═══════════════════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════════════════════════════════
   SESSION 16 suite 15 — CPT SINGLE : CLASSES CUSTOM FICHES PIERRES (v7)

   Basé sur l'analyse du DOM réel de /vertus-des-pierres/l-amethyste/
   (view-source HTML 789KB analysé le 27 mars 2026).

   Le CSS v4 "CHARTE V6" (lignes 2618-3200+) gère déjà la typo générique
   (h2, h3, p, strong, a, ul/li, blockquote, table, hr, covers, etc.)
   via body.page-template-page-content.

   Cette section cible UNIQUEMENT les classes custom des fiches pierres :
   - .bloc-deux-colonnes + .colonne-image + .colonne-texte(-droite/-gauche)
   - ul.vertus-liste (LE <ul> lui-même, PAS un wrapper autour d'un <ul>)
   - .purificationvertus + .purificationvertustexte + .purificationvertusproduit
   - wp-block-media-text.alignwide (sections 40%/60% avec figure + texte)
   - figure.wp-block-table > table (tableau de caractéristiques)
   - wp-block-embed-youtube (vidéos YouTube)
   - wc-block-grid__products (produits WooCommerce handpicked)
   - schema-faq-section (Yoast FAQ)

   DOM RÉEL découvert :
   - 3× wp-block-media-text.alignwide (grid-template-columns:40% auto)
   - 14× wp-block-columns.bloc-deux-colonnes (flex-basis 33.33%/66.66%)
   - 34× <ul class="vertus-liste"> (pas .vertus-liste > ul !)
   - 1× .purificationvertus (section cream)
   - 59× wc-block-grid__product (produits WC)
   - 25× schema-faq-item (FAQ Yoast)
   - Images inline widths : 266px, 270px, 295px (à respecter)
   ═══════════════════════════════════════════════════════════════════ */

/* ─── HEADER CPT — Titre + liseret gold ─── */
/* Session 17 suite 3 : padding-top augmenté pour espace H1/breadcrumb */
body.single-cpt-content .cpt-entry-header {
  text-align: center !important;
  margin-bottom: 32px !important;
  padding: 32px 0 24px !important;
}
body.single-cpt-content .cpt-entry-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(1.8rem, 4vw, 2.8rem) !important;
  font-weight: 500 !important;
  color: #3C2A3C !important;
  line-height: 1.2 !important;
  margin: 0 !important;
}
body.single-cpt-content .cpt-entry-header::after {
  content: '' !important;
  display: block !important;
  width: 50px !important;
  height: 2px !important;
  background: #C4A265 !important;
  margin: 16px auto 0 !important;
}
body.single-cpt-content .cpt-featured-image {
  max-width: 400px !important;
  margin: 0 auto 24px !important;
}
body.single-cpt-content .cpt-hero-img {
  border-radius: 14px !important;
  box-shadow: 0 4px 24px rgba(60,42,60,.08) !important;
}

/* ─── PREMIER BLOC après H1 — espacement avec le header CPT ─── */
/* Session 17 suite 3 : la première section bloc-deux-colonnes après le header CPT
   a besoin de plus d'espace en haut pour ne pas coller au titre */
body.single-cpt-content .cpt-entry-header + .bloc-deux-colonnes,
body.single-cpt-content .cpt-entry-header + .wp-block-columns,
body.single-cpt-content .cpt-entry-header + .wp-block-image,
body.single-cpt-content .cpt-entry-header + .wp-block-media-text {
  margin-top: 48px !important;
}
/* Breadcrumb Yoast dans le body CPT — espacement */
body.single-cpt-content .yoast-breadcrumbs {
  margin-bottom: 12px !important;
  font-size: .78rem !important;
}

/* ─── CONTENEUR PRINCIPAL CPT — PAS de max-width sur site-main ─── */
/* Session 17 suite : SUPPRESSION du max-width: 1100px qui contraignait TOUS les enfants.
   Sur la page Belier (page classique), .site-main n'a PAS de max-width → les bloc-deux-colonnes
   sont larges et les sections alignfull respirent. Les éléments individuels (h1, h2, p, etc.)
   sont contraints par le sélecteur générique > enfant direct (lignes ~2648-2700).
   Le même pattern est appliqué ici : site-main sans max-width, enfants contraints individuellement. */
body.single-cpt-content .site-main {
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-bottom: 64px !important;
}
/* Contenus texte orphelins sur CPT singles — contraints à 1100px comme les pages classiques */
body.single-cpt-content .site-main > h1,
body.single-cpt-content .site-main > h2,
body.single-cpt-content .site-main > h3,
body.single-cpt-content .site-main > h4,
body.single-cpt-content .site-main > p,
body.single-cpt-content .site-main > ul,
body.single-cpt-content .site-main > ol,
body.single-cpt-content .site-main > blockquote,
body.single-cpt-content .site-main > .wp-block-separator,
body.single-cpt-content .site-main > .wp-block-table,
body.single-cpt-content .site-main > .wp-block-quote,
body.single-cpt-content .site-main > .wp-block-list,
body.single-cpt-content .site-main > .wp-block-html,
body.single-cpt-content .site-main > .wp-block-image,
body.single-cpt-content .site-main > .schema-faq-section,
body.single-cpt-content .site-main > .wp-block-embed,
body.single-cpt-content .site-main > .cpt-entry-header,
body.single-cpt-content .site-main > .woocommerce {
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}
/* Colonnes NON custom sur CPT — contraintes à 1100px (pas les bloc-deux-colonnes ni purificationvertus) */
body.single-cpt-content .site-main > .wp-block-columns:not(.bloc-deux-colonnes):not(.purificationvertus) {
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}
/* [CONSOLIDATED Session 17 suite 7] Block 1 commented out — was overriding padding:16px from Block 4
   due to higher specificity (.site-main >). All bloc-deux-colonnes styles now in Block 4 (line ~6009). */
/* body.single-cpt-content .site-main > .bloc-deux-colonnes { ... } */
/* PURIFICATIONVERTUS sur CPT — même largeur que bloc-deux-colonnes */
body.single-cpt-content .site-main > .purificationvertus {
  max-width: calc(100% - 160px) !important;
  margin-left: 80px !important;
  margin-right: 80px !important;
  margin-top: 32px !important;
  margin-bottom: 32px !important;
}
/* WC HANDPICKED PRODUCTS [woocommerce/handpicked-products] sur CPT — contraint */
body.single-cpt-content .site-main > div[data-block-name="woocommerce/handpicked-products"],
body.single-cpt-content .site-main > .wp-block-woocommerce-handpicked-products {
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

/* ─── SESSION 16 suite 15 — CORRECTIF (v6.1.85) ─── */
/* Les wrappers .site-article > .container > .article-content n'existent PAS sur les
   pages CPT qui utilisent page-content.php (pass-through, pas de wrapper).
   L'ancienne correction ciblait des éléments inexistants → sans effet.
   Le vrai problème était le double max-width/padding hérité du sélecteur générique
   .wp-block-columns (ligne ~2688). Corrigé dans le bloc .bloc-deux-colonnes ci-dessous. */

/* ─── IMAGES GLOBALES CPT — respecter les inline widths, capper à 100% ─── */
body.single-cpt-content .site-main img:not(.cpt-hero-img):not(.wc-block-grid__product-image img) {
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
}
/* Images img_vertu (classe custom des fiches pierres — inline widths 266-295px) */
body.single-cpt-content .site-main img.img_vertu {
  border-radius: 10px !important;
  box-shadow: 0 2px 12px rgba(60,42,60,.06) !important;
}

/* ─── WP-BLOCK-IMAGE standalone — white card wrapper ─── */
body.single-cpt-content .site-main .wp-block-image {
  max-width: 480px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  background: #fff !important;
  border-radius: 14px !important;
  padding: 16px !important;
  box-shadow: 0 2px 16px rgba(60,42,60,.06), 0 1px 3px rgba(60,42,60,.03) !important;
  margin-top: 24px !important;
  margin-bottom: 24px !important;
}
body.single-cpt-content .site-main .wp-block-image img {
  border-radius: 10px !important;
  margin: 0 auto !important;
}
/* wp-block-image DANS les colonnes — pas de card séparée, parent gère */
body.single-cpt-content .site-main .wp-block-columns .wp-block-image {
  max-width: 100% !important;
  background: transparent !important;
  padding: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  margin-top: 8px !important;
  margin-bottom: 8px !important;
}

/* ─── WP-BLOCK-MEDIA-TEXT.ALIGNWIDE — sections 40%/60% quasi full-width ─── */
/* Structure DOM : grid-template-columns:40% auto, figure + .wp-block-media-text__content */
/* Session 17 suite 8 — MEMES MARGES QUE bloc-deux-colonnes (calc(100% - 160px) + 80px) */
body.page-template-page-content .site-main .wp-block-media-text.alignwide,
body.single-cpt-content .site-main .wp-block-media-text.alignwide {
  background: #fff !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 24px rgba(60,42,60,.07), 0 1px 4px rgba(60,42,60,.04) !important;
  border: 1px solid rgba(237,231,221,.4) !important;
  max-width: calc(100% - 160px) !important;
  margin: 40px 80px !important;
  overflow: hidden !important;
  transition: box-shadow .3s ease, transform .3s ease !important;
}
body.page-template-page-content .site-main .wp-block-media-text.alignwide:hover,
body.single-cpt-content .site-main .wp-block-media-text.alignwide:hover {
  box-shadow: 0 8px 32px rgba(60,42,60,.10), 0 2px 6px rgba(60,42,60,.05) !important;
  transform: translateY(-2px) !important;
}
body.page-template-page-content .site-main .wp-block-media-text.alignwide .wp-block-media-text__media,
body.single-cpt-content .site-main .wp-block-media-text.alignwide .wp-block-media-text__media {
  padding: 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
body.page-template-page-content .site-main .wp-block-media-text.alignwide .wp-block-media-text__media img,
body.single-cpt-content .site-main .wp-block-media-text.alignwide .wp-block-media-text__media img {
  border-radius: 10px !important;
  box-shadow: none !important;
  max-width: 100% !important;
  height: auto !important;
  transition: transform .4s ease !important;
}
body.page-template-page-content .site-main .wp-block-media-text.alignwide:hover .wp-block-media-text__media img,
body.single-cpt-content .site-main .wp-block-media-text.alignwide:hover .wp-block-media-text__media img {
  transform: scale(1.03) !important;
}
body.page-template-page-content .site-main .wp-block-media-text.alignwide .wp-block-media-text__content,
body.single-cpt-content .site-main .wp-block-media-text.alignwide .wp-block-media-text__content {
  padding: 28px 32px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

/* ─── BLOC-DEUX-COLONNES — Cards image+texte quasi full-width ─── */
/* IMPORTANT : on écrase le max-width:1100px + padding:40px hérité du sélecteur
   générique .wp-block-columns (ligne ~2688) qui réduit la largeur utile.
   Sans cet override, le bloc fait ~972px au lieu de ~1052px. */
body.page-template-page-content .site-main .bloc-deux-colonnes ,
body.single-cpt-content .site-main .bloc-deux-colonnes  {
  background: #fff !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 24px rgba(60,42,60,.06) !important;
  overflow: hidden !important;
  transition: box-shadow .3s ease, transform .3s ease !important;
  /* Même espacement que les wp-block-media-text.alignfull sur la page Bélier */
  max-width: calc(100% - 160px) !important;
  margin-left: 80px !important;
  margin-right: 80px !important;
  margin-top: 40px !important;
  margin-bottom: 40px !important;
  /* Session 17 suite 3 : padding 16px pour créer un contour blanc autour de l'image */
  padding: 16px !important;
  border: none !important;
}
body.page-template-page-content .site-main .bloc-deux-colonnes:hover ,
body.single-cpt-content .site-main .bloc-deux-colonnes:hover  {
  box-shadow: 0 8px 32px rgba(60,42,60,.10), 0 2px 6px rgba(60,42,60,.05) !important;
  transform: translateY(-2px) !important;
}
body.page-template-page-content .site-main .colonne-image ,
body.single-cpt-content .site-main .colonne-image  {
  display: flex !important;
  align-items: stretch !important;
  justify-content: center !important;
  /* Session 17 suite 3 : pas de padding sur colonne-image, le padding de la card parente suffit */
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 10px !important;
}
/* Session 17 suite 4 : figure.wp-block-image entre .colonne-image et img
   casse la chaîne height:100%. On force figure en flex stretch pour propager. */
body.page-template-page-content .site-main .colonne-image figure,
body.page-template-page-content .site-main .colonne-image .wp-block-image,
body.single-cpt-content .site-main .colonne-image figure,
body.single-cpt-content .site-main .colonne-image .wp-block-image {
  display: flex !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 1 1 100% !important;
  overflow: hidden !important;
  border-radius: 10px !important;
}
body.page-template-page-content .site-main .colonne-image img,
body.single-cpt-content .site-main .colonne-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 10px !important;
  transition: transform .4s ease !important;
}
body.page-template-page-content .site-main .bloc-deux-colonnes:hover .colonne-image img,
body.single-cpt-content .site-main .bloc-deux-colonnes:hover .colonne-image img {
  transform: scale(1.03) !important;
}
body.page-template-page-content .site-main .colonne-texte,
body.page-template-page-content .site-main .colonne-texte-droite,
body.page-template-page-content .site-main .colonne-texte-gauche ,
body.single-cpt-content .site-main .colonne-texte-gauche  {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 48px 56px !important;
}
/* Headings dans les cards — gold underline au lieu de border-left */
body.page-template-page-content .site-main .bloc-deux-colonnes h2,
body.page-template-page-content .site-main .bloc-deux-colonnes h3,
body.page-template-page-content .site-main .wp-block-media-text.alignwide h2,
body.page-template-page-content .site-main .wp-block-media-text.alignwide h3 ,
body.single-cpt-content .site-main .wp-block-media-text.alignwide h3  {
  border-left: none !important;
  padding-left: 0 !important;
  border-bottom: 2px solid #C4A265 !important;
  display: inline-block !important;
  width: fit-content !important;
  padding-bottom: 4px !important;
  margin-bottom: 12px !important;
}

/* ─── ul.vertus-liste — Pills cream avec hover gold ─── */
/* IMPORTANT : vertus-liste EST le <ul>, PAS un wrapper autour d'un <ul> */
/* DOM réel : <ul class="vertus-liste"><li>Amour</li><li>Sérénité</li>...</ul> */
body.page-template-page-content .site-main ul.vertus-liste ,
body.single-cpt-content .site-main ul.vertus-liste  {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  padding: 0 !important;
  margin: 12px 0 !important;
  list-style: none !important;
}
body.page-template-page-content .site-main ul.vertus-liste li ,
body.single-cpt-content .site-main ul.vertus-liste li  {
  padding: 7px 18px !important;
  padding-left: 18px !important;
  margin-bottom: 0 !important;
  background: linear-gradient(135deg, #FAF7F2, #F5F0E8) !important;
  border-radius: 24px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .8rem !important;
  color: #3C2A3C !important;
  font-weight: 500 !important;
  letter-spacing: .3px !important;
  border: 1px solid rgba(237,231,221,.5) !important;
  transition: background .2s, color .2s, transform .2s, border-color .2s !important;
  position: relative !important;
}
body.page-template-page-content .site-main ul.vertus-liste li:hover ,
body.single-cpt-content .site-main ul.vertus-liste li:hover  {
  background: #C4A265 !important;
  color: #fff !important;
  border-color: #C4A265 !important;
  transform: translateY(-1px) !important;
}
body.page-template-page-content .site-main ul.vertus-liste li::before ,
body.single-cpt-content .site-main ul.vertus-liste li::before  {
  display: none !important;
  content: none !important;
}

/* ─── PURIFICATIONVERTUS — Section cream gradient, layout 2 colonnes ─── */
/* Le DOM réel : div.wp-block-columns.purificationvertus.is-layout-flex
   Gutenberg impose display:flex via is-layout-flex. Les colonnes enfants ont
   style="flex-basis:40%" en inline. On override tout avec !important. */
body.page-template-page-content .site-main .purificationvertus ,
body.single-cpt-content .site-main .purificationvertus  {
  background: linear-gradient(135deg, #FAF7F2 0%, #F5F0E8 100%) !important;
  border: 1px solid rgba(237,231,221,.4) !important;
  border-radius: 16px !important;
  padding: 36px 32px !important;
  max-width: calc(100% - 160px) !important;
  margin-left: 80px !important;
  margin-right: 80px !important;
  margin-top: 40px !important;
  margin-bottom: 40px !important;
  box-shadow: 0 4px 24px rgba(60,42,60,.06), 0 1px 4px rgba(60,42,60,.03) !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 32px !important;
  align-items: center !important;
  /* Override Gutenberg is-layout-flex */
  flex-direction: row !important;
  overflow: hidden !important;
}
body.page-template-page-content .site-main .purificationvertus::before ,
body.single-cpt-content .site-main .purificationvertus::before  {
  display: none !important;
  content: none !important;
}
body.page-template-page-content .site-main .purificationvertustexte ,
body.single-cpt-content .site-main .purificationvertustexte  {
  font-family: 'Raleway', sans-serif !important;
  font-size: .9rem !important;
  line-height: 1.8 !important;
  color: #4A3A4A !important;
  flex: 1 1 50% !important;
  min-width: 250px !important;
  max-width: 55% !important;
}
/* Bullets dans la section purification — gold dots V6 */
body.page-template-page-content .site-main .purificationvertustexte ul ,
body.single-cpt-content .site-main .purificationvertustexte ul  {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 12px 0 !important;
}
body.page-template-page-content .site-main .purificationvertustexte li ,
body.single-cpt-content .site-main .purificationvertustexte li  {
  list-style: none !important;
  padding-left: 22px !important;
  position: relative !important;
  margin-bottom: 6px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .88rem !important;
  line-height: 1.7 !important;
  color: #4A3A4A !important;
}
body.page-template-page-content .site-main .purificationvertustexte li::before ,
body.single-cpt-content .site-main .purificationvertustexte li::before  {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  top: .65em !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: #C4A265 !important;
  opacity: .7 !important;
}
body.page-template-page-content .site-main .purificationvertustexte li::marker ,
body.single-cpt-content .site-main .purificationvertustexte li::marker  {
  content: none !important;
  display: none !important;
  font-size: 0 !important;
}
body.page-template-page-content .site-main .purificationvertustexte h2,
body.page-template-page-content .site-main .purificationvertustexte h3 ,
body.single-cpt-content .site-main .purificationvertustexte h3  {
  font-family: 'Cormorant Garamond', serif !important;
  font-weight: 600 !important;
  color: #3C2A3C !important;
  border-bottom: 2px solid #C4A265 !important;
  display: inline-block !important;
  width: fit-content !important;
  padding-bottom: 4px !important;
  margin-bottom: 12px !important;
  border-left: none !important;
  padding-left: 0 !important;
}
/* Colonne produit — override du style="flex-basis:40%" inline */
/* Session 16 suite 15 : élargi de 35%/40% à 40%/45% pour éviter l'écrasement */
body.page-template-page-content .site-main .purificationvertusproduit ,
body.single-cpt-content .site-main .purificationvertusproduit  {
  flex: 0 0 40% !important;
  flex-basis: 40% !important;
  min-width: 220px !important;
  max-width: 45% !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  justify-content: center !important;
  align-items: center !important;
  padding: 12px !important;
}
/* La colonne produit contient un wp-block-columns imbriqué avec 2 enfants flex-basis:40% inline
   (Column 1 = image seule, Column 2 = titre+prix+bouton). On les garde côte à côte. */
body.page-template-page-content .site-main .purificationvertusproduit > .wp-block-columns ,
body.single-cpt-content .site-main .purificationvertusproduit > .wp-block-columns  {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: 100% !important;
}
body.page-template-page-content .site-main .purificationvertusproduit > .wp-block-columns > .wp-block-column ,
body.single-cpt-content .site-main .purificationvertusproduit > .wp-block-columns > .wp-block-column  {
  flex: 0 1 auto !important;
  width: auto !important;
  max-width: 50% !important;
}
/* Image produit dans la section purification */
body.page-template-page-content .site-main .purificationvertusproduit img ,
body.single-cpt-content .site-main .purificationvertusproduit img  {
  max-width: 280px !important;
  width: auto !important;
  height: auto !important;
  border-radius: 14px !important;
  box-shadow: 0 4px 20px rgba(60,42,60,.08) !important;
  transition: transform .3s ease, box-shadow .3s ease !important;
}
body.page-template-page-content .site-main .purificationvertusproduit img:hover ,
body.single-cpt-content .site-main .purificationvertusproduit img:hover  {
  transform: scale(1.03) !important;
  box-shadow: 0 8px 28px rgba(60,42,60,.12) !important;
}
body.page-template-page-content .site-main .purificationvertusproduit a ,
body.single-cpt-content .site-main .purificationvertusproduit a  {
  border-bottom: none !important;
}
/* Session 17 suite 3 — Fix 4 : KILL BULLET POINTS dans la section Sauge Blanche produit */
body.page-template-page-content .site-main .purificationvertusproduit ul,
body.page-template-page-content .site-main .purificationvertusproduit ol,
body.page-template-page-content .site-main .purificationvertusproduit li,
body.single-cpt-content .site-main .purificationvertusproduit ul,
body.single-cpt-content .site-main .purificationvertusproduit ol,
body.single-cpt-content .site-main .purificationvertusproduit li {
  list-style: none !important;
  list-style-type: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}
body.page-template-page-content .site-main .purificationvertusproduit li::marker,
body.single-cpt-content .site-main .purificationvertusproduit li::marker {
  content: none !important;
  display: none !important;
  font-size: 0 !important;
}
body.page-template-page-content .site-main .purificationvertusproduit li::before,
body.single-cpt-content .site-main .purificationvertusproduit li::before {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
}
/* Aussi tuer les bullets sur les wc-block-grid__products dans cette section */
body.page-template-page-content .site-main .purificationvertusproduit .wc-block-grid__products,
body.single-cpt-content .site-main .purificationvertusproduit .wc-block-grid__products {
  list-style: none !important;
  padding-left: 0 !important;
}
body.page-template-page-content .site-main .purificationvertusproduit .wc-block-grid__product,
body.single-cpt-content .site-main .purificationvertusproduit .wc-block-grid__product {
  list-style: none !important;
}
body.page-template-page-content .site-main .purificationvertusproduit .wc-block-grid__product::marker,
body.single-cpt-content .site-main .purificationvertusproduit .wc-block-grid__product::marker {
  content: none !important;
  display: none !important;
  font-size: 0 !important;
}
/* Nom et prix produit dans la section purification */
body.page-template-page-content .site-main .purificationvertusproduit .wc-block-grid__product-title ,
body.single-cpt-content .site-main .purificationvertusproduit .wc-block-grid__product-title  {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  color: #3C2A3C !important;
  margin: 8px 0 4px !important;
}
body.page-template-page-content .site-main .purificationvertusproduit .wc-block-grid__product-price ,
body.single-cpt-content .site-main .purificationvertusproduit .wc-block-grid__product-price  {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.1rem !important;
  color: #3C2A3C !important;
  margin: 4px 0 8px !important;
}
body.page-template-page-content .site-main .purificationvertusproduit .wc-block-grid__product-price del ,
body.single-cpt-content .site-main .purificationvertusproduit .wc-block-grid__product-price del  {
  color: #9A8A9A !important;
  font-size: .88rem !important;
}
body.page-template-page-content .site-main .purificationvertusproduit .wc-block-grid__product-price ins ,
body.single-cpt-content .site-main .purificationvertusproduit .wc-block-grid__product-price ins  {
  text-decoration: none !important;
  font-weight: 600 !important;
}
/* Bouton "Ajouter au panier" dans la section purification */
body.page-template-page-content .site-main .purificationvertusproduit .wp-block-button a,
body.page-template-page-content .site-main .purificationvertusproduit .add_to_cart_button ,
body.single-cpt-content .site-main .purificationvertusproduit .add_to_cart_button  {
  background: #3C2A3C !important;
  color: #E8D9BE !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 8px 20px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
  letter-spacing: 1px !important;
  text-transform: none !important;
  text-decoration: none !important;
  border-bottom: none !important;
}
body.page-template-page-content .site-main .purificationvertusproduit .wp-block-button a:hover,
body.page-template-page-content .site-main .purificationvertusproduit .add_to_cart_button:hover ,
body.single-cpt-content .site-main .purificationvertusproduit .add_to_cart_button:hover  {
  background: #2a1a2a !important;
}
/* WC Block grid inside purification — force max-width */
body.page-template-page-content .site-main .purificationvertusproduit .wc-block-grid ,
body.single-cpt-content .site-main .purificationvertusproduit .wc-block-grid  {
  width: 100% !important;
  max-width: 100% !important;
}
body.page-template-page-content .site-main .purificationvertusproduit .wc-block-grid__products ,
body.single-cpt-content .site-main .purificationvertusproduit .wc-block-grid__products  {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  justify-content: center !important;
}
body.page-template-page-content .site-main .purificationvertusproduit .wc-block-grid__product ,
body.single-cpt-content .site-main .purificationvertusproduit .wc-block-grid__product  {
  list-style: none !important;
  text-align: center !important;
}

/* ─── FIGURE.WP-BLOCK-TABLE — Tableau de caractéristiques ─── */
body.single-cpt-content .site-main figure.wp-block-table {
  max-width: 100% !important;
  margin: 28px auto !important;
  overflow-x: auto !important;
}
body.single-cpt-content .site-main figure.wp-block-table table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  border: 1px solid rgba(237,231,221,.5) !important;
}
body.single-cpt-content .site-main figure.wp-block-table th {
  background: #3C2A3C !important;
  color: #E8D9BE !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .78rem !important;
  font-weight: 600 !important;
  padding: 12px 16px !important;
  text-align: left !important;
  text-transform: none !important;
}
body.single-cpt-content .site-main figure.wp-block-table td {
  padding: 10px 16px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .86rem !important;
  color: #4A3A4A !important;
  border-bottom: 1px solid rgba(237,231,221,.4) !important;
}
body.single-cpt-content .site-main figure.wp-block-table tr:nth-child(even) td {
  background: rgba(250,247,242,.5) !important;
}
body.single-cpt-content .site-main figure.wp-block-table tr:last-child td {
  border-bottom: none !important;
}

/* ─── WP-BLOCK-EMBED-YOUTUBE — Vidéo responsive ─── */
body.single-cpt-content .site-main .wp-block-embed-youtube {
  max-width: 680px !important;
  margin: 32px auto !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 24px rgba(60,42,60,.08) !important;
}
body.single-cpt-content .site-main .wp-block-embed-youtube .wp-block-embed__wrapper {
  position: relative !important;
  padding-bottom: 56.25% !important;
  height: 0 !important;
}
body.single-cpt-content .site-main .wp-block-embed-youtube iframe {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border: none !important;
  border-radius: 14px !important;
}

/* ─── COLONNES WP GÉNÉRIQUES (pas bloc-deux-colonnes) ─── */
body.single-cpt-content .site-main .wp-block-columns:not(.bloc-deux-colonnes):not(.purificationvertus) {
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
/* Images dans les colonnes génériques — centrées, taille raisonnable */
body.single-cpt-content .site-main .wp-block-columns:not(.bloc-deux-colonnes) img:not(.wc-block-grid__product-image img):not(.img_vertu) {
  max-width: 300px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  border-radius: 8px !important;
}

/* ─── FIGCAPTIONS ─── */
body.single-cpt-content .site-main figcaption {
  font-family: 'Raleway', sans-serif !important;
  font-size: .78rem !important;
  color: #9A8A9A !important;
  font-style: italic !important;
  text-align: center !important;
  margin-top: 8px !important;
}

/* ─── [fm_products] SHORTCODE — Grille 3 colonnes fixe ─── */
/* Le DOM réel : div.woocommerce.columns-6 > div.products > article.product-card
   Généré par le shortcode [fm_products], PAS par WC Blocks */
body.page-template-page-content .site-main .woocommerce .products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 32px 0 !important;
  max-width: 100% !important;
}
body.page-template-page-content .site-main .woocommerce .products article.product-card,
body.page-template-page-content .site-main .products .product-card {
  background: #fff !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 16px rgba(60,42,60,.06), 0 1px 3px rgba(60,42,60,.03) !important;
  border: 1px solid rgba(237,231,221,.3) !important;
  text-align: center !important;
  overflow: hidden !important;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease !important;
  list-style: none !important;
  width: 100% !important;
  max-width: 100% !important;
}
body.page-template-page-content .site-main .woocommerce .products article.product-card:hover,
body.page-template-page-content .site-main .products .product-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 28px rgba(60,42,60,.10) !important;
  border-color: rgba(196,162,101,.3) !important;
}
/* Image produit */
body.page-template-page-content .site-main .products .product-card-img img {
  width: 100% !important;
  border-radius: 0 !important;
  max-width: 100% !important;
  box-shadow: none !important;
  padding: 0 !important;
  height: auto !important;
}
/* Titre produit */
body.page-template-page-content .site-main .products .product-card-info h4 {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1rem !important;
  color: #3C2A3C !important;
  padding: 10px 10px 4px !important;
  margin: 0 !important;
}
/* Étoiles */
body.page-template-page-content .site-main .products .product-stars {
  padding: 0 10px !important;
}
/* Prix */
body.page-template-page-content .site-main .products .product-price {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: #3C2A3C !important;
  padding: 2px 10px 8px !important;
}
body.page-template-page-content .site-main .products .product-price del {
  color: #9A8A9A !important;
  font-size: .85rem !important;
}
body.page-template-page-content .site-main .products .product-price ins {
  text-decoration: none !important;
}
/* Bouton Ajouter au panier — cream text on <span> children too */
html body.page-template-page-content .site-main .products .product-card-atc span,
html body.page-template-page-content .site-main .products a.product-card-atc span,
html body.single-cpt-content .site-main .products .product-card-atc span,
html body.single-cpt-content .site-main .products a.product-card-atc span,
html body.page-template-page-content .site-main .product-card-atc span,
html body.single-cpt-content .site-main .product-card-atc span {
  color: inherit !important;
}
/* Bouton Ajouter au panier — cream text, no uppercase (html prefix for specificity) */
html body.page-template-page-content .site-main .products .product-card-atc,
html body.page-template-page-content .site-main .products .product-card-atc:link,
html body.page-template-page-content .site-main .products .product-card-atc:visited,
html body.page-template-page-content .site-main .products a.product-card-atc,
html body.single-cpt-content .site-main .products .product-card-atc,
html body.single-cpt-content .site-main .products .product-card-atc:link,
html body.single-cpt-content .site-main .products .product-card-atc:visited,
html body.single-cpt-content .site-main .products a.product-card-atc,
html body.page-template-page-content .site-main .products a.add_to_cart_button,
html body.single-cpt-content .site-main .products a.add_to_cart_button {
  background: #3C2A3C !important;
  color: #E8D9BE !important;
  border: none !important;
  border-radius: 6px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .78rem !important;
  text-transform: none !important;
  letter-spacing: .5px !important;
  padding: 10px 18px !important;
  display: block !important;
  margin: 0 10px 10px !important;
  transition: background .2s ease, transform .2s ease !important;
  text-align: center !important;
  text-decoration: none !important;
  cursor: pointer !important;
}
html body.page-template-page-content .site-main .products .product-card-atc:hover,
html body.page-template-page-content .site-main .products a.add_to_cart_button:hover {
  background: #2a1a2a !important;
  color: #E8D9BE !important;
  border-bottom: none !important;
  transform: translateY(-1px) !important;
}
/* Lien card — pas de border-bottom gold */
body.page-template-page-content .site-main .products .product-card-link {
  border-bottom: none !important;
  text-decoration: none !important;
}
/* Badge promo */
body.page-template-page-content .site-main .products .product-badge {
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  background: #3C2A3C !important;
  color: #E8D9BE !important;
  font-size: .55rem !important;
  padding: 4px 10px !important;
  border-radius: 4px !important;
  z-index: 2 !important;
}
/* Image wrapper — position relative pour le badge */
body.page-template-page-content .site-main .products .product-card-img {
  position: relative !important;
  overflow: hidden !important;
}

/* ─── WC BLOCKS HANDPICKED PRODUCTS — Boutons cream (html prefix for specificity) ─── */
/* Dual scope: page-template-page-content (pages classiques) + single-cpt-content (fiches pierres CPT) */
html body.page-template-page-content .site-main .wc-block-grid__product .wp-block-button a,
html body.page-template-page-content .site-main .wc-block-grid__product .wp-block-button a:link,
html body.page-template-page-content .site-main .wc-block-grid__product .wp-block-button a:visited,
html body.page-template-page-content .site-main .wc-block-grid__product .wp-block-button a:active,
html body.page-template-page-content .site-main .wc-block-grid__product .add_to_cart_button,
html body.page-template-page-content .site-main .wc-block-grid__product .wp-element-button,
html body.page-template-page-content .site-main .wp-block-button .wp-block-button__link.add_to_cart_button,
html body.single-cpt-content .site-main .wc-block-grid__product .wp-block-button a,
html body.single-cpt-content .site-main .wc-block-grid__product .wp-block-button a:link,
html body.single-cpt-content .site-main .wc-block-grid__product .wp-block-button a:visited,
html body.single-cpt-content .site-main .wc-block-grid__product .wp-block-button a:active,
html body.single-cpt-content .site-main .wc-block-grid__product .add_to_cart_button,
html body.single-cpt-content .site-main .wc-block-grid__product .wp-element-button,
html body.single-cpt-content .site-main .wp-block-button .wp-block-button__link.add_to_cart_button {
  background: #3C2A3C !important;
  color: #E8D9BE !important;
  border: none !important;
  border-radius: 6px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .7rem !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  padding: 8px 18px !important;
  display: inline-block !important;
  text-align: center !important;
  transition: background .2s ease, transform .2s ease, box-shadow .2s ease !important;
  cursor: pointer !important;
}
html body.page-template-page-content .site-main .wc-block-grid__product .wp-block-button a:hover,
html body.page-template-page-content .site-main .wc-block-grid__product .add_to_cart_button:hover,
html body.page-template-page-content .site-main .wc-block-grid__product .wp-element-button:hover,
html body.page-template-page-content .site-main .wp-block-button .wp-block-button__link.add_to_cart_button:hover,
html body.single-cpt-content .site-main .wc-block-grid__product .wp-block-button a:hover,
html body.single-cpt-content .site-main .wc-block-grid__product .add_to_cart_button:hover,
html body.single-cpt-content .site-main .wc-block-grid__product .wp-element-button:hover,
html body.single-cpt-content .site-main .wp-block-button .wp-block-button__link.add_to_cart_button:hover {
  background: #2a1a2a !important;
  color: #E8D9BE !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(60,42,60,.18) !important;
}
/* ─── NUCLEAR FALLBACK — Attrape TOUS les boutons add-to-cart sur les pages CPT ─── */
/* wc-blocks-style.css charge APRES v6-fixes.css, donc specificite maximale requise */
html body.single-cpt-content .site-main a.add_to_cart_button,
html body.single-cpt-content .site-main a.add_to_cart_button:link,
html body.single-cpt-content .site-main a.add_to_cart_button:visited,
html body.single-cpt-content .site-main a.add_to_cart_button:active,
html body.single-cpt-content .site-main a.ajax_add_to_cart,
html body.single-cpt-content .site-main a[data-product_id],
html body.single-cpt-content .site-main a[href*="add-to-cart"],
html body.single-cpt-content .site-main .wp-block-button__link,
html body.single-cpt-content .site-main .wp-block-button__link:link,
html body.single-cpt-content .site-main .wp-block-button__link:visited,
html body.single-cpt-content .site-main .wp-element-button,
html body.single-cpt-content .site-main .wp-element-button:link,
html body.single-cpt-content .site-main .wp-element-button:visited {
  background: #3C2A3C !important;
  color: #E8D9BE !important;
  border: none !important;
  border-radius: 6px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .7rem !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  padding: 8px 18px !important;
  display: inline-block !important;
  text-align: center !important;
  transition: background .2s ease, transform .2s ease, box-shadow .2s ease !important;
  cursor: pointer !important;
}
html body.single-cpt-content .site-main a.add_to_cart_button:hover,
html body.single-cpt-content .site-main a.ajax_add_to_cart:hover,
html body.single-cpt-content .site-main a[data-product_id]:hover,
html body.single-cpt-content .site-main a[href*="add-to-cart"]:hover,
html body.single-cpt-content .site-main .wp-block-button__link:hover,
html body.single-cpt-content .site-main .wp-element-button:hover {
  background: #2a1a2a !important;
  color: #E8D9BE !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(60,42,60,.18) !important;
}

/* ─── BOUTON PROMO CTA (Session 17 suite) ─── */
html body.page-template-page-content .site-main button.boutonpromo,
html body.page-template-page-content .site-main .boutonpromo {
  background: #3C2A3C !important;
  color: #E8D9BE !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .78rem !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  padding: 12px 28px !important;
  cursor: pointer !important;
  display: inline-block !important;
  transition: background .2s ease, transform .2s ease, box-shadow .2s ease !important;
  box-shadow: 0 2px 8px rgba(60,42,60,.12) !important;
  text-align: center !important;
}
html body.page-template-page-content .site-main button.boutonpromo a,
html body.page-template-page-content .site-main .boutonpromo a,
html body.page-template-page-content .site-main button.boutonpromo a:link,
html body.page-template-page-content .site-main .boutonpromo a:link,
html body.page-template-page-content .site-main button.boutonpromo a:visited,
html body.page-template-page-content .site-main .boutonpromo a:visited {
  color: #E8D9BE !important;
  text-decoration: none !important;
  border-bottom: none !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .78rem !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
}
html body.page-template-page-content .site-main button.boutonpromo:hover,
html body.page-template-page-content .site-main .boutonpromo:hover {
  background: #2a1a2a !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 16px rgba(60,42,60,.2) !important;
}
html body.page-template-page-content .site-main button.boutonpromo:hover a {
  color: #E8D9BE !important;
}

/* ─── YOAST FAQ ─── */
body.page-template-page-content .site-main .schema-faq-section {
  border-bottom: 1px solid rgba(237,231,221,.3) !important;
  padding-bottom: 16px !important;
  margin-bottom: 16px !important;
}
body.page-template-page-content .site-main .schema-faq-section:last-child {
  border-bottom: none !important;
}
body.page-template-page-content .site-main .schema-faq-question {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.15rem !important;
  font-weight: 600 !important;
  color: #3C2A3C !important;
  margin-bottom: 6px !important;
}

/* ═══════════════════════════════════════════════════════════════════
   ULTRA-NUCLEAR — TOUS les boutons "Ajouter au panier" en aubergine/cream
   Couvre TOUTES les variantes possibles du DOM (Session 17 suite 2)
   ═══════════════════════════════════════════════════════════════════ */
html body.page-template-page-content .site-main a.add_to_cart_button,
html body.page-template-page-content .site-main a.add_to_cart_button:link,
html body.page-template-page-content .site-main a.add_to_cart_button:visited,
html body.page-template-page-content .site-main a.add_to_cart_button:active,
html body.page-template-page-content .site-main a[data-product_id],
html body.page-template-page-content .site-main a[data-product_id]:link,
html body.page-template-page-content .site-main a[data-product_id]:visited,
html body.page-template-page-content .site-main a[href*="add-to-cart"],
html body.page-template-page-content .site-main a[href*="add-to-cart"]:link,
html body.page-template-page-content .site-main a[href*="add-to-cart"]:visited,
html body.page-template-page-content .site-main .wp-block-button__link,
html body.page-template-page-content .site-main .wp-block-button__link:link,
html body.page-template-page-content .site-main .wp-block-button__link:visited,
html body.page-template-page-content .site-main .wp-element-button,
html body.page-template-page-content .site-main .wp-element-button:link,
html body.page-template-page-content .site-main .wp-element-button:visited,
html body.page-template-page-content .site-main a.ajax_add_to_cart,
html body.page-template-page-content .site-main a.ajax_add_to_cart:link,
html body.page-template-page-content .site-main a.ajax_add_to_cart:visited,
html body.single-cpt-content .site-main a.add_to_cart_button,
html body.single-cpt-content .site-main a.add_to_cart_button:link,
html body.single-cpt-content .site-main a.add_to_cart_button:visited,
html body.single-cpt-content .site-main a[data-product_id],
html body.single-cpt-content .site-main a[data-product_id]:link,
html body.single-cpt-content .site-main a[data-product_id]:visited,
html body.single-cpt-content .site-main a[href*="add-to-cart"],
html body.single-cpt-content .site-main a[href*="add-to-cart"]:link,
html body.single-cpt-content .site-main a[href*="add-to-cart"]:visited,
html body.single-cpt-content .site-main .wp-block-button__link,
html body.single-cpt-content .site-main .wp-block-button__link:link,
html body.single-cpt-content .site-main .wp-block-button__link:visited,
html body.single-cpt-content .site-main .wp-element-button,
html body.single-cpt-content .site-main .wp-element-button:link,
html body.single-cpt-content .site-main .wp-element-button:visited,
html body.single-cpt-content .site-main a.ajax_add_to_cart,
html body.single-cpt-content .site-main a.ajax_add_to_cart:link,
html body.single-cpt-content .site-main a.ajax_add_to_cart:visited {
  background: #3C2A3C !important;
  color: #E8D9BE !important;
  border: none !important;
  border-radius: 6px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
  letter-spacing: 1.2px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  border-bottom: none !important;
  padding: 9px 18px !important;
  display: inline-block !important;
  text-align: center !important;
  transition: background .2s ease, transform .2s ease, box-shadow .2s ease !important;
  cursor: pointer !important;
}
html body.page-template-page-content .site-main a.add_to_cart_button:hover,
html body.page-template-page-content .site-main a[data-product_id]:hover,
html body.page-template-page-content .site-main a[href*="add-to-cart"]:hover,
html body.page-template-page-content .site-main .wp-block-button__link:hover,
html body.page-template-page-content .site-main .wp-element-button:hover,
html body.page-template-page-content .site-main a.ajax_add_to_cart:hover,
html body.single-cpt-content .site-main a.add_to_cart_button:hover,
html body.single-cpt-content .site-main a[data-product_id]:hover,
html body.single-cpt-content .site-main a[href*="add-to-cart"]:hover,
html body.single-cpt-content .site-main .wp-block-button__link:hover,
html body.single-cpt-content .site-main .wp-element-button:hover,
html body.single-cpt-content .site-main a.ajax_add_to_cart:hover {
  background: #2a1a2a !important;
  color: #E8D9BE !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(60,42,60,.18) !important;
  border-bottom: none !important;
}

/* ═══════════════════════════════════════════════════════════════════
   CPT SINGLE CUSTOM CLASSES — RESPONSIVE
   ═══════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {
  body.single-cpt-content .site-main {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  /* Bloc-deux-colonnes + purificationvertus — marges reduites tablette */
  body.single-cpt-content .site-main > .bloc-deux-colonnes {
    max-width: calc(100% - 60px) !important;
    margin-left: 30px !important;
    margin-right: 30px !important;
  }
  body.single-cpt-content .site-main > .purificationvertus {
    max-width: calc(100% - 60px) !important;
    margin-left: 30px !important;
    margin-right: 30px !important;
  }
  body.single-cpt-content .site-main .wp-block-image {
    max-width: 380px !important;
    padding: 12px !important;
  }
  body.single-cpt-content .cpt-featured-image {
    max-width: 300px !important;
  }
  /* Media-text alignwide — stack vertical + marges reduites tablet (Session 17 suite 8) */
  body.page-template-page-content .site-main .wp-block-media-text.alignwide,
  body.single-cpt-content .site-main .wp-block-media-text.alignwide {
    grid-template-columns: 1fr !important;
    max-width: calc(100% - 60px) !important;
    margin-left: 30px !important;
    margin-right: 30px !important;
    margin-top: 20px !important;
    margin-bottom: 20px !important;
  }
  body.page-template-page-content .site-main .wp-block-media-text.alignwide .wp-block-media-text__media,
  body.single-cpt-content .site-main .wp-block-media-text.alignwide .wp-block-media-text__media {
    padding: 16px !important;
  }
  body.page-template-page-content .site-main .wp-block-media-text.alignwide .wp-block-media-text__content,
  body.single-cpt-content .site-main .wp-block-media-text.alignwide .wp-block-media-text__content {
    padding: 16px 20px 20px !important;
  }
  /* Bloc-deux-colonnes — stack vertical */
  body.page-template-page-content .site-main .bloc-deux-colonnes {
    flex-direction: column !important;
  }
  body.page-template-page-content .site-main .bloc-deux-colonnes .colonne-image,
  body.page-template-page-content .site-main .bloc-deux-colonnes .colonne-texte,
  body.page-template-page-content .site-main .bloc-deux-colonnes .colonne-texte-droite,
  body.page-template-page-content .site-main .bloc-deux-colonnes .colonne-texte-gauche {
    flex-basis: 100% !important;
    max-width: 100% !important;
  }
  body.page-template-page-content .site-main .colonne-image {
    padding: 16px !important;
  }
  body.page-template-page-content .site-main .colonne-texte,
  body.page-template-page-content .site-main .colonne-texte-droite,
  body.page-template-page-content .site-main .colonne-texte-gauche {
    padding: 16px 20px 20px !important;
  }
  body.page-template-page-content .site-main .purificationvertus {
    max-width: calc(100% - 60px) !important;
    margin-left: 30px !important;
    margin-right: 30px !important;
    margin-top: 24px !important;
    margin-bottom: 24px !important;
    flex-direction: column !important;
    padding: 24px 20px !important;
    gap: 20px !important;
  }
  body.page-template-page-content .site-main .purificationvertustexte {
    min-width: 0 !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
  }
  body.page-template-page-content .site-main .purificationvertusproduit {
    min-width: 0 !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
  }
  body.page-template-page-content .site-main .purificationvertusproduit img {
    max-width: 220px !important;
  }
  /* Produits [fm_products] — 2 colonnes sur tablette */
  body.page-template-page-content .site-main .woocommerce .products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
  }
  /* Purification — colonne produit nested wp-block-columns — stack vertical on mobile */
  body.page-template-page-content .site-main .purificationvertusproduit > .wp-block-columns {
    flex-direction: column !important;
    flex-wrap: wrap !important;
    align-items: center !important;
  }
  body.page-template-page-content .site-main .purificationvertusproduit > .wp-block-columns > .wp-block-column {
    max-width: 100% !important;
    flex: 1 1 100% !important;
  }
  /* Images colonnes génériques */
  body.single-cpt-content .site-main .wp-block-columns:not(.bloc-deux-colonnes) img:not(.wc-block-grid__product-image img) {
    max-width: 240px !important;
  }
  /* YouTube */
  body.single-cpt-content .site-main .wp-block-embed-youtube {
    border-radius: 10px !important;
  }
}
@media (max-width: 480px) {
  body.single-cpt-content .site-main {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  body.single-cpt-content .site-main .wp-block-image {
    max-width: 300px !important;
    padding: 10px !important;
    border-radius: 10px !important;
  }
  body.single-cpt-content .site-main .wp-block-columns:not(.bloc-deux-colonnes) img:not(.wc-block-grid__product-image img) {
    max-width: 200px !important;
  }
  body.single-cpt-content .cpt-featured-image {
    max-width: 240px !important;
  }
  /* Produits [fm_products] — 1 colonne sur mobile */
  body.page-template-page-content .site-main .woocommerce .products {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    max-width: 340px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  body.page-template-page-content .site-main .colonne-image {
    padding: 12px !important;
  }
  body.page-template-page-content .site-main .colonne-texte,
  body.page-template-page-content .site-main .colonne-texte-droite,
  body.page-template-page-content .site-main .colonne-texte-gauche {
    padding: 12px 16px 16px !important;
  }
  body.single-cpt-content .site-main .wp-block-embed-youtube {
    border-radius: 8px !important;
  }
  /* Bloc-deux-colonnes + purificationvertus — marges reduites mobile */
  body.single-cpt-content .site-main > .bloc-deux-colonnes {
    max-width: calc(100% - 32px) !important;
    margin-left: 16px !important;
    margin-right: 16px !important;
  }
  body.single-cpt-content .site-main > .purificationvertus {
    max-width: calc(100% - 32px) !important;
    margin-left: 16px !important;
    margin-right: 16px !important;
  }
  /* page-template-page-content scope — marges reduites mobile */
  body.page-template-page-content .site-main .purificationvertus {
    max-width: calc(100% - 32px) !important;
    margin-left: 16px !important;
    margin-right: 16px !important;
    margin-top: 20px !important;
    margin-bottom: 20px !important;
  }
  /* Media-text alignwide — marges reduites mobile (Session 17 suite 8) */
  body.page-template-page-content .site-main .wp-block-media-text.alignwide,
  body.single-cpt-content .site-main .wp-block-media-text.alignwide {
    max-width: calc(100% - 32px) !important;
    margin-left: 16px !important;
    margin-right: 16px !important;
    margin-top: 16px !important;
    margin-bottom: 16px !important;
  }
  body.page-template-page-content .site-main .wp-block-media-text.alignwide .wp-block-media-text__media,
  body.single-cpt-content .site-main .wp-block-media-text.alignwide .wp-block-media-text__media {
    padding: 12px !important;
  }
  body.page-template-page-content .site-main .wp-block-media-text.alignwide .wp-block-media-text__content,
  body.single-cpt-content .site-main .wp-block-media-text.alignwide .wp-block-media-text__content {
    padding: 14px 16px 16px !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   SESSION 17 suite 4 — BLOC-DEUX-COLONNES + COLONNE-TEXTE + PURIFICATIONVERTUS
   Corrections 388-391 : Full-width layout, images cover, colonne-texte styling,
   purificationvertus gradient, responsive 768px/480px
   ═══════════════════════════════════════════════════════════════════════════ */

/* [CONSOLIDATED Session 17 suite 7] Block 3 commented out — was overriding gap:0 and align-items:stretch
   from Block 4 due to higher specificity (.site-main >). All bloc-deux-colonnes styles now in Block 4 (line ~6009).
   The hover block below was also redundant with Block 4's hover. */
/* body.page-template-page-content .site-main > .bloc-deux-colonnes,
   body.single-cpt-content .site-main > .bloc-deux-colonnes { ... } */

/* 388 continued. COLONNE-IMAGE — IMAGES REMPLISSENT LA CELLULE */
body.page-template-page-content .colonne-image,
body.single-cpt-content .colonne-image {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  border-radius: 10px !important;
}

body.page-template-page-content .colonne-image img,
body.single-cpt-content .colonne-image img {
  object-fit: cover !important;
  width: 100% !important;
  height: 100% !important;
  border-radius: 10px !important;
  transition: transform .35s ease-out !important;
}

body.page-template-page-content .colonne-image:hover img,
body.single-cpt-content .colonne-image:hover img {
  transform: scale(1.03) !important;
}

/* 389. COLONNE-TEXTE VARIANTS — CENTERED FLEX LAYOUT */
body.page-template-page-content .colonne-texte,
body.page-template-page-content .colonne-texte-droite,
body.page-template-page-content .colonne-texte-gauche,
body.single-cpt-content .colonne-texte,
body.single-cpt-content .colonne-texte-droite,
body.single-cpt-content .colonne-texte-gauche {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 32px 48px !important;
  line-height: 1.8 !important;
}

body.page-template-page-content .colonne-texte h2,
body.page-template-page-content .colonne-texte-droite h2,
body.page-template-page-content .colonne-texte-gauche h2,
body.single-cpt-content .colonne-texte h2,
body.single-cpt-content .colonne-texte-droite h2,
body.single-cpt-content .colonne-texte-gauche h2 {
  border-left: none !important;
  border-bottom: 2px solid #C4A265 !important;
  padding-left: 0 !important;
  padding-bottom: 8px !important;
  display: inline-block !important;
  width: fit-content !important;
  margin-bottom: 16px !important;
}

body.page-template-page-content .colonne-texte p,
body.page-template-page-content .colonne-texte-droite p,
body.page-template-page-content .colonne-texte-gauche p,
body.single-cpt-content .colonne-texte p,
body.single-cpt-content .colonne-texte-droite p,
body.single-cpt-content .colonne-texte-gauche p {
  margin-bottom: 12px !important;
  color: #4A3A4A !important;
}

/* 390. PURIFICATIONVERTUS — GRADIENT BACKGROUND CREAM */
body.page-template-page-content .purificationvertus,
body.single-cpt-content .purificationvertus {
  background: linear-gradient(135deg, #FAF7F2 0%, #F5F0E8 100%) !important;
  max-width: calc(100% - 160px) !important;
  margin: 40px 80px !important;
  padding: 32px 28px !important;
  border-radius: 16px !important;
  box-shadow: 0 2px 16px rgba(60, 42, 60, .04), 0 1px 3px rgba(60, 42, 60, .02) !important;
  display: flex !important;
  gap: 32px !important;
  align-items: flex-start !important;
}

body.page-template-page-content .purificationvertustexte,
body.single-cpt-content .purificationvertustexte {
  flex: 1 1 50% !important;
  min-width: 250px !important;
  max-width: 55% !important;
}

body.page-template-page-content .purificationvertus ul,
body.single-cpt-content .purificationvertus ul {
  list-style: none !important;
  padding-left: 0 !important;
}

body.page-template-page-content .purificationvertus li,
body.single-cpt-content .purificationvertus li {
  padding-left: 22px !important;
  position: relative !important;
  margin-bottom: 6px !important;
  color: #4A3A4A !important;
}

body.page-template-page-content .purificationvertus li::before,
body.single-cpt-content .purificationvertus li::before {
  content: '' !important;
  width: 6px !important;
  height: 6px !important;
  background: #C4A265 !important;
  opacity: .7 !important;
  border-radius: 50% !important;
  position: absolute !important;
  left: 0 !important;
  top: 7px !important;
}

body.page-template-page-content .purificationvertus li::marker,
body.single-cpt-content .purificationvertus li::marker {
  content: none !important;
  display: none !important;
  font-size: 0 !important;
}

body.page-template-page-content .purificationvertusproduit,
body.single-cpt-content .purificationvertusproduit {
  flex: 0 0 40% !important;
  min-width: 220px !important;
  max-width: 45% !important;
  padding: 12px !important;
  text-align: center !important;
}

body.page-template-page-content .purificationvertusproduit img,
body.single-cpt-content .purificationvertusproduit img {
  max-width: 280px !important;
  width: auto !important;
  height: auto !important;
  border-radius: 12px !important;
  margin-bottom: 12px !important;
}

body.page-template-page-content .purificationvertusproduit h3,
body.single-cpt-content .purificationvertusproduit h3 {
  margin-bottom: 8px !important;
  font-size: 1.05rem !important;
}

body.page-template-page-content .purificationvertusproduit .price,
body.single-cpt-content .purificationvertusproduit .price {
  margin-bottom: 12px !important;
}

body.page-template-page-content .purificationvertusproduit a.button,
body.single-cpt-content .purificationvertusproduit a.button {
  background: #3C2A3C !important;
  color: #E8D9BE !important;
  border-radius: 6px !important;
  font-size: .7rem !important;
  padding: 10px 20px !important;
  display: inline-block !important;
}

/* 391. RESPONSIVE 768px — PURIFICATION COLUMN STACK */
@media (max-width: 768px) {
  body.page-template-page-content .bloc-deux-colonnes,
  body.single-cpt-content .bloc-deux-colonnes {
    max-width: calc(100% - 60px) !important;
    margin: 20px 30px !important;
    flex-direction: column !important;
    padding: 12px !important;
  }

  body.page-template-page-content .colonne-texte,
  body.page-template-page-content .colonne-texte-droite,
  body.page-template-page-content .colonne-texte-gauche,
  body.single-cpt-content .colonne-texte,
  body.single-cpt-content .colonne-texte-droite,
  body.single-cpt-content .colonne-texte-gauche {
    padding: 20px 16px !important;
  }

  body.page-template-page-content .purificationvertus,
  body.single-cpt-content .purificationvertus {
    max-width: calc(100% - 60px) !important;
    margin: 20px 30px !important;
    flex-direction: column !important;
    padding: 20px 16px !important;
  }

  body.page-template-page-content .purificationvertustexte,
  body.single-cpt-content .purificationvertustexte {
    max-width: 100% !important;
  }

  body.page-template-page-content .purificationvertusproduit,
  body.single-cpt-content .purificationvertusproduit {
    max-width: 100% !important;
  }
}

/* 391 continued. RESPONSIVE 480px — ULTRA-COMPACT MOBILE */
@media (max-width: 480px) {
  body.page-template-page-content .bloc-deux-colonnes,
  body.single-cpt-content .bloc-deux-colonnes {
    max-width: calc(100% - 32px) !important;
    margin: 16px 16px !important;
    padding: 12px !important;
  }

  body.page-template-page-content .colonne-texte,
  body.page-template-page-content .colonne-texte-droite,
  body.page-template-page-content .colonne-texte-gauche,
  body.single-cpt-content .colonne-texte,
  body.single-cpt-content .colonne-texte-droite,
  body.single-cpt-content .colonne-texte-gauche {
    padding: 16px 14px !important;
  }

  body.page-template-page-content .purificationvertus,
  body.single-cpt-content .purificationvertus {
    max-width: calc(100% - 32px) !important;
    margin: 16px 16px !important;
    padding: 16px 14px !important;
  }

  body.page-template-page-content .purificationvertusproduit img,
  body.single-cpt-content .purificationvertusproduit img {
    max-width: 220px !important;
  }
}

/* ═════════════════════════════════════════════════════════════════════════════
   SESSION 17 (SUITE 4) — FIX 4 PROBLEMES VISUELS FICHES PIERRES CPT (27 mars 2026)
   ════════════════════════════════════════════════════════════════════════════= */

/* 388. BLOC-DEUX-COLONNES FULL-WIDTH CARD LAYOUT — AUTHORITATIVE BLOCK (Session 17 suite 7) */
/* Override Gutenberg is-layout-flex / wp-block-columns-is-layout-flex (same pattern as purificationvertus) */
/* Specificity 0,0,3,1 via .site-main (without >) to beat Blocks 1-3 and match Block 2 */
body.page-template-page-content .site-main .bloc-deux-colonnes,
body.single-cpt-content .site-main .bloc-deux-colonnes {
  max-width: calc(100% - 160px) !important;
  margin-left: 80px !important;
  margin-right: 80px !important;
  margin-top: 40px !important;
  margin-bottom: 40px !important;
  padding: 16px !important;
  background: #fff !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 24px rgba(60,42,60,.06), 0 1px 3px rgba(60,42,60,.03) !important;
  align-items: stretch !important;
  gap: 0 !important;
  transition: box-shadow .3s cubic-bezier(.25,.46,.45,.94), transform .3s cubic-bezier(.25,.46,.45,.94) !important;
  /* Override Gutenberg is-layout-flex that forces full-width */
  display: flex !important;
  flex-wrap: nowrap !important;
  flex-direction: row !important;
  overflow: hidden !important;
}

body.page-template-page-content .site-main .bloc-deux-colonnes:hover,
body.single-cpt-content .site-main .bloc-deux-colonnes:hover {
  box-shadow: 0 8px 32px rgba(60,42,60,.10), 0 2px 6px rgba(60,42,60,.04) !important;
  transform: translateY(-2px) !important;
}

/* 388a. COLONNE IMAGE — OBJECT-FIT COVER */
body.page-template-page-content .site-main .colonne-image,
body.single-cpt-content .site-main .colonne-image {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  border-radius: 10px !important;
}

body.page-template-page-content .site-main .colonne-image img,
body.single-cpt-content .site-main .colonne-image img {
  object-fit: cover !important;
  width: 100% !important;
  height: 100% !important;
  border-radius: 10px !important;
  transition: transform .3s ease !important;
}

body.page-template-page-content .colonne-image:hover img,
body.single-cpt-content .colonne-image:hover img {
  transform: scale(1.03) !important;
}

/* 389. COLONNE-TEXTE VARIANTS — GOLD UNDERLINE H2 */
body.page-template-page-content .colonne-texte,
body.page-template-page-content .colonne-texte-droite,
body.page-template-page-content .colonne-texte-gauche,
body.single-cpt-content .colonne-texte,
body.single-cpt-content .colonne-texte-droite,
body.single-cpt-content .colonne-texte-gauche {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 32px 48px !important;
}

body.page-template-page-content .colonne-texte h2,
body.page-template-page-content .colonne-texte-droite h2,
body.page-template-page-content .colonne-texte-gauche h2,
body.single-cpt-content .colonne-texte h2,
body.single-cpt-content .colonne-texte-droite h2,
body.single-cpt-content .colonne-texte-gauche h2 {
  border-bottom: 2px solid #C4A265 !important;
  border-left: none !important;
  display: inline-block !important;
  width: fit-content !important;
  padding-bottom: 6px !important;
  padding-left: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 12px !important;
}

/* 390. PURIFICATIONVERTUS SECTION — GRADIENT CREAM + FLEX LAYOUT */
body.page-template-page-content .purificationvertus,
body.single-cpt-content .purificationvertus {
  max-width: calc(100% - 160px) !important;
  margin-left: 80px !important;
  margin-right: 80px !important;
  margin-top: 40px !important;
  margin-bottom: 40px !important;
  padding: 32px 28px !important;
  background: linear-gradient(135deg, #FAF7F2 0%, #F5F0E8 100%) !important;
  border-radius: 16px !important;
  box-shadow: 0 2px 16px rgba(60,42,60,.06), 0 1px 3px rgba(60,42,60,.03) !important;
  display: flex !important;
  flex-direction: row !important;
  gap: 32px !important;
  align-items: flex-start !important;
}

body.page-template-page-content .purificationvertustexte,
body.single-cpt-content .purificationvertustexte {
  flex: 1 1 50% !important;
  max-width: 55% !important;
  min-width: 250px !important;
}

body.page-template-page-content .purificationvertustexte ul,
body.single-cpt-content .purificationvertustexte ul {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 8px 0 !important;
}

body.page-template-page-content .purificationvertustexte li,
body.single-cpt-content .purificationvertustexte li {
  padding-left: 22px !important;
  position: relative !important;
  Raleway .88rem !important;
  line-height: 1.7 !important;
  color: #4A3A4A !important;
  margin-bottom: 4px !important;
  list-style: none !important;
}

body.page-template-page-content .purificationvertustexte li::before,
body.single-cpt-content .purificationvertustexte li::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 7px !important;
  width: 6px !important;
  height: 6px !important;
  background: #C4A265 !important;
  border-radius: 50% !important;
  opacity: .7 !important;
}

body.page-template-page-content .purificationvertustexte li::marker,
body.single-cpt-content .purificationvertustexte li::marker {
  content: none !important;
  display: none !important;
  font-size: 0 !important;
}

body.page-template-page-content .purificationvertusproduit,
body.single-cpt-content .purificationvertusproduit {
  flex: 0 0 40% !important;
  max-width: 45% !important;
  min-width: 220px !important;
  padding: 12px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

body.page-template-page-content .purificationvertusproduit img,
body.single-cpt-content .purificationvertusproduit img {
  max-width: 280px !important;
  width: auto !important;
  height: auto !important;
  border-radius: 12px !important;
  margin-bottom: 8px !important;
}

/* 391. RESPONSIVE PURIFICATIONVERTUS — 768px BREAKPOINT */
@media (max-width: 768px) {
  body.page-template-page-content .purificationvertus,
  body.single-cpt-content .purificationvertus {
    max-width: calc(100% - 60px) !important;
    margin-left: 30px !important;
    margin-right: 30px !important;
    flex-direction: column !important;
  }

  body.page-template-page-content .purificationvertustexte,
  body.single-cpt-content .purificationvertustexte {
    max-width: 100% !important;
    flex: 1 1 100% !important;
  }

  body.page-template-page-content .purificationvertusproduit,
  body.single-cpt-content .purificationvertusproduit {
    max-width: 100% !important;
    flex: 1 1 100% !important;
  }
}

/* 391. RESPONSIVE PURIFICATIONVERTUS — 480px BREAKPOINT */
@media (max-width: 480px) {
  body.page-template-page-content .purificationvertus,
  body.single-cpt-content .purificationvertus {
    max-width: calc(100% - 32px) !important;
    margin-left: 16px !important;
    margin-right: 16px !important;
    padding: 16px 12px !important;
  }

  body.page-template-page-content .colonne-texte,
  body.page-template-page-content .colonne-texte-droite,
  body.page-template-page-content .colonne-texte-gauche,
  body.single-cpt-content .colonne-texte,
  body.single-cpt-content .colonne-texte-droite,
  body.single-cpt-content .colonne-texte-gauche {
    padding: 16px 20px !important;
  }

  body.page-template-page-content .colonne-image,
  body.single-cpt-content .colonne-image {
    min-height: 240px !important;
  }

  body.page-template-page-content .purificationvertusproduit img,
  body.single-cpt-content .purificationvertusproduit img {
    max-width: 200px !important;
  }
}

/* ═════════════════════════════════════════════════════════════════════════════
   SESSION 17 suite 9 — BOUTON "VOIR TOUS LES PRODUITS EN..." — GOLD CTA PILL
   Le bouton est dans le contenu Gutenberg (wp-block-button) des fiches pierres CPT.
   On cible wp-block-button__link et wp-element-button sur les pages CPT pierres
   pour appliquer le meme design gold pill que "LE GUIDE DES PIERRES →".
   ═════════════════════════════════════════════════════════════════════════════ */

/* Base : gold outline pill — dual scope CPT pierres */
body.page-template-page-content .site-main .wp-block-button .wp-block-button__link,
body.page-template-page-content .site-main .wp-block-button .wp-element-button,
body.single-cpt-content .site-main .wp-block-button .wp-block-button__link,
body.single-cpt-content .site-main .wp-block-button .wp-element-button,
html body.page-template-page-content .site-main .wp-block-button__link,
html body.single-cpt-content .site-main .wp-block-button__link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: fit-content !important;
  padding: 14px 32px !important;
  background: transparent !important;
  color: #C4A265 !important;
  border: 1.5px solid #C4A265 !important;
  border-radius: 30px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .76rem !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: all .3s ease !important;
  margin: 28px auto !important;
  position: relative !important;
  overflow: hidden !important;
  cursor: pointer !important;
}

/* Arrow → pseudo-element */
body.page-template-page-content .site-main .wp-block-button .wp-block-button__link::after,
body.page-template-page-content .site-main .wp-block-button .wp-element-button::after,
body.single-cpt-content .site-main .wp-block-button .wp-block-button__link::after,
body.single-cpt-content .site-main .wp-block-button .wp-element-button::after,
html body.page-template-page-content .site-main .wp-block-button__link::after,
html body.single-cpt-content .site-main .wp-block-button__link::after {
  content: '\2192' !important;
  display: inline-block !important;
  font-size: 1.1rem !important;
  transition: transform .3s ease !important;
}

/* Hover arrow shift */
body.page-template-page-content .site-main .wp-block-button .wp-block-button__link:hover::after,
body.page-template-page-content .site-main .wp-block-button .wp-element-button:hover::after,
body.single-cpt-content .site-main .wp-block-button .wp-block-button__link:hover::after,
body.single-cpt-content .site-main .wp-block-button .wp-element-button:hover::after,
html body.page-template-page-content .site-main .wp-block-button__link:hover::after,
html body.single-cpt-content .site-main .wp-block-button__link:hover::after {
  transform: translateX(4px) !important;
}

/* Hover : gold fill + white text + shadow + lift */
body.page-template-page-content .site-main .wp-block-button .wp-block-button__link:hover,
body.page-template-page-content .site-main .wp-block-button .wp-element-button:hover,
body.single-cpt-content .site-main .wp-block-button .wp-block-button__link:hover,
body.single-cpt-content .site-main .wp-block-button .wp-element-button:hover,
html body.page-template-page-content .site-main .wp-block-button__link:hover,
html body.single-cpt-content .site-main .wp-block-button__link:hover {
  background: #C4A265 !important;
  color: #fff !important;
  border-color: #C4A265 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 16px rgba(196,162,101,.25) !important;
}

/* Centre le conteneur wp-block-button parent */
body.page-template-page-content .site-main .wp-block-button,
body.single-cpt-content .site-main .wp-block-button {
  text-align: center !important;
  display: flex !important;
  justify-content: center !important;
  margin: 28px auto !important;
}

/* Pseudo-classes : visited/active */
body.page-template-page-content .site-main .wp-block-button .wp-block-button__link:visited,
body.page-template-page-content .site-main .wp-block-button .wp-block-button__link:active,
body.single-cpt-content .site-main .wp-block-button .wp-block-button__link:visited,
body.single-cpt-content .site-main .wp-block-button .wp-block-button__link:active {
  color: #C4A265 !important;
  background: transparent !important;
  border-color: #C4A265 !important;
}

/* ═══════════════════════════════════════════════════════════════════════════════
   SESSION 17 suite 10 — CARACTERISTIQUES PIERRES CPT : UL/LI → TABLE PREMIUM
   Pages ciblees : toutes les fiches pierres CPT (/vertus-des-pierres/*)
   HTML cible : <h2>Caractéristiques...</h2> + <ul><li><span>Label :</span> Value</li></ul>
   Design : table-like layout, white card, gold/aubergine labels, cream row borders
   ═══════════════════════════════════════════════════════════════════════════════ */

/* --- Heading "Caractéristiques de la pierre..." --- */
body.page-template-page-content .site-main > h2,
body.single-cpt-content .site-main > h2 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: clamp(1.4rem, 3vw, 1.8rem) !important;
  font-weight: 600 !important;
  color: #3C2A3C !important;
  text-align: center !important;
  margin: 40px auto 0 !important;
  max-width: calc(100% - 160px) !important;
  border-left: none !important;
  padding-left: 0 !important;
}

/* --- UL characteristics → premium table card --- */
body.page-template-page-content .site-main > ul,
body.single-cpt-content .site-main > ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 16px 80px 40px !important;
  max-width: calc(100% - 160px) !important;
  background: #fff !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 24px rgba(60,42,60,.07), 0 1px 4px rgba(60,42,60,.04) !important;
  border: 1px solid rgba(237,231,221,.4) !important;
  overflow: hidden !important;
}

/* Kill bullets and markers */
body.page-template-page-content .site-main > ul li::before,
body.single-cpt-content .site-main > ul li::before,
body.page-template-page-content .site-main > ul li::marker,
body.single-cpt-content .site-main > ul li::marker {
  content: none !important;
  display: none !important;
  font-size: 0 !important;
}

/* --- Each LI = table row --- */
body.page-template-page-content .site-main > ul > li,
body.single-cpt-content .site-main > ul > li {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  padding: 14px 28px !important;
  border-bottom: 1px solid rgba(237,231,221,.5) !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .9rem !important;
  line-height: 1.6 !important;
  color: #4A3A4A !important;
  list-style: none !important;
  list-style-type: none !important;
  margin: 0 !important;
  transition: background .2s ease !important;
}

/* Last row — no border */
body.page-template-page-content .site-main > ul > li:last-child,
body.single-cpt-content .site-main > ul > li:last-child {
  border-bottom: none !important;
}

/* Zebra striping */
body.page-template-page-content .site-main > ul > li:nth-child(even),
body.single-cpt-content .site-main > ul > li:nth-child(even) {
  background: rgba(250,247,242,.5) !important;
}

/* Hover row highlight */
body.page-template-page-content .site-main > ul > li:hover,
body.single-cpt-content .site-main > ul > li:hover {
  background: rgba(250,247,242,.8) !important;
}

/* --- SPAN = label (left column) --- */
body.page-template-page-content .site-main > ul > li > span,
body.single-cpt-content .site-main > ul > li > span {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: #3C2A3C !important;
  min-width: 220px !important;
  flex-shrink: 0 !important;
  margin-right: 16px !important;
}

/* --- CTA link below characteristics --- */
body.page-template-page-content .site-main > p:has(> a.voir_produit_associer),
body.single-cpt-content .site-main > p:has(> a.voir_produit_associer) {
  text-align: center !important;
  margin: 32px auto !important;
  max-width: calc(100% - 160px) !important;
}

/* --- RESPONSIVE 768px --- */
@media (max-width: 768px) {
  body.page-template-page-content .site-main > h2,
  body.single-cpt-content .site-main > h2 {
    max-width: calc(100% - 60px) !important;
    margin: 28px 30px 0 !important;
    font-size: 1.4rem !important;
  }
  body.page-template-page-content .site-main > ul,
  body.single-cpt-content .site-main > ul {
    margin: 12px 30px 28px !important;
    max-width: calc(100% - 60px) !important;
  }
  body.page-template-page-content .site-main > ul > li,
  body.single-cpt-content .site-main > ul > li {
    padding: 12px 20px !important;
    font-size: .86rem !important;
  }
  body.page-template-page-content .site-main > ul > li > span,
  body.single-cpt-content .site-main > ul > li > span {
    min-width: 180px !important;
    font-size: .95rem !important;
  }
  body.page-template-page-content .site-main > p:has(> a.voir_produit_associer),
  body.single-cpt-content .site-main > p:has(> a.voir_produit_associer) {
    max-width: calc(100% - 60px) !important;
  }
}

/* --- RESPONSIVE 480px --- */
@media (max-width: 480px) {
  body.page-template-page-content .site-main > h2,
  body.single-cpt-content .site-main > h2 {
    max-width: calc(100% - 32px) !important;
    margin: 20px 16px 0 !important;
    font-size: 1.2rem !important;
  }
  body.page-template-page-content .site-main > ul,
  body.single-cpt-content .site-main > ul {
    margin: 10px 16px 24px !important;
    max-width: calc(100% - 32px) !important;
    border-radius: 12px !important;
  }
  body.page-template-page-content .site-main > ul > li,
  body.single-cpt-content .site-main > ul > li {
    flex-direction: column !important;
    padding: 10px 16px !important;
    font-size: .84rem !important;
    gap: 4px !important;
  }
  body.page-template-page-content .site-main > ul > li > span,
  body.single-cpt-content .site-main > ul > li > span {
    min-width: unset !important;
    margin-right: 0 !important;
    margin-bottom: 2px !important;
    font-size: .9rem !important;
  }
  body.page-template-page-content .site-main > p:has(> a.voir_produit_associer),
  body.single-cpt-content .site-main > p:has(> a.voir_produit_associer) {
    max-width: calc(100% - 32px) !important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   SESSION 29 — CARTE CADEAU (Gift Card) Product Page V6
   Harmonisation du design du sélecteur de montant + bouton ajout panier
   ═══════════════════════════════════════════════════════════════ */

/* Sélecteur de montants (boutons radio style) */
html body.single-product .gift-cards-list,
html body.single-product .ywgc-predefined-amount-list,
html body.single-product .variations .value ul,
html body.single-product .gift-card-content-editor .amounts-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 16px 0 24px !important;
}

/* YITH place les boutons montant comme enfants directs du form */
html body.single-product form.ywgc-generator-form,
html body.single-product form.cart:has(> button[type="button"]) {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}
/* Champs du formulaire (email, nom, message) → pleine largeur */
html body.single-product form.ywgc-generator-form > div,
html body.single-product form.ywgc-generator-form > p,
html body.single-product form.ywgc-generator-form > label,
html body.single-product form.ywgc-generator-form > .quantity,
html body.single-product form.ywgc-generator-form > h3,
html body.single-product form.ywgc-generator-form > h4,
html body.single-product form.ywgc-generator-form > input[type="text"],
html body.single-product form.ywgc-generator-form > input[type="email"],
html body.single-product form.ywgc-generator-form > textarea,
html body.single-product form.cart > div:not(.fmv6-cart-row),
html body.single-product form.cart > p,
html body.single-product form.cart > h3,
html body.single-product form.cart > h4 {
  flex: 0 0 100% !important;
}

html body.single-product .gift-cards-list li,
html body.single-product .ywgc-predefined-amount-list li,
html body.single-product .gift-card-content-editor .amounts-grid label,
html body.single-product .gift-card-content-editor .amounts-grid button,
html body.single-product .gift-card-content-editor .amounts-grid .gift-card-amount,
html body.single-product form.ywgc-generator-form > button[type="button"],
html body.single-product form.cart > button[type="button"],
html body.single-product .gift-cards-list .ywgc-predefined-amount-button,
html body.single-product form.gift-cards_form .ywgc-predefined-amount-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 70px !important;
  padding: 10px 18px !important;
  border: 1px solid rgba(60,42,60,.15) !important;
  border-radius: 8px !important;
  background-color: #fff;  /* PAS !important — laisser YITH overrider via inline style */
  font-family: 'Raleway', sans-serif !important;
  font-size: .88rem !important;
  font-weight: 600 !important;
  color: #3C2A3C !important;
  cursor: pointer !important;
  transition: all .2s ease !important;
  list-style: none !important;
}

/* Hover — bordure dorée */
html body.single-product .gift-cards-list li:hover,
html body.single-product .ywgc-predefined-amount-list li:hover,
html body.single-product .gift-card-content-editor .amounts-grid label:hover,
html body.single-product .gift-card-content-editor .amounts-grid button:hover,
html body.single-product .gift-card-content-editor .amounts-grid .gift-card-amount:hover,
html body.single-product form.ywgc-generator-form > button[type="button"]:hover,
html body.single-product form.cart > button[type="button"]:hover,
html body.single-product .gift-cards-list .ywgc-predefined-amount-button:hover,
html body.single-product form.gift-cards_form .ywgc-predefined-amount-button:hover {
  border-color: #C4A265 !important;
  background-color: rgba(196,162,101,.06);  /* PAS !important — laisser YITH garder le bg si sélectionné */
  color: #3C2A3C !important;
  box-shadow: 0 0 0 2px rgba(196,162,101,.2) !important;
}
/* Selected — fond aubergine + texte blanc */
html body.single-product .gift-cards-list li.selected,
html body.single-product .gift-cards-list li.active,
html body.single-product .gift-cards-list li.selected_button,
html body.single-product .ywgc-predefined-amount-list li.selected,
html body.single-product .ywgc-predefined-amount-list li.active,
html body.single-product .ywgc-predefined-amount-list li.selected_button,
html body.single-product .gift-card-content-editor .amounts-grid label.selected,
html body.single-product .gift-card-content-editor .amounts-grid label.active,
html body.single-product .gift-card-content-editor .amounts-grid button.selected,
html body.single-product .gift-card-content-editor .amounts-grid button.active,
html body.single-product .gift-card-content-editor .amounts-grid button[aria-pressed="true"],
html body.single-product .gift-card-content-editor .amounts-grid .gift-card-amount.selected,
html body.single-product .gift-card-content-editor .amounts-grid .gift-card-amount.active,
html body.single-product form.ywgc-generator-form > button[type="button"].selected,
html body.single-product form.ywgc-generator-form > button[type="button"].active,
html body.single-product form.ywgc-generator-form > button[type="button"][aria-pressed="true"],
html body.single-product form.cart > button[type="button"].selected,
html body.single-product form.cart > button[type="button"].active,
html body.single-product form.cart > button[type="button"][aria-pressed="true"],
html body.single-product .gift-cards-list button.selected_button,
html body.single-product .gift-cards-list .ywgc-predefined-amount-button.selected_button,
html body.single-product form.gift-cards_form .selected_button,
html body.single-product form.cart .ywgc-predefined-amount-button.selected_button {
  border-color: var(--aubergine, #3C2A3C) !important;
  background: var(--aubergine, #3C2A3C) !important;
  color: #FFFFFF !important;
  box-shadow: 0 2px 8px rgba(60,42,60,.2) !important;
}

/* Formulaire infos personnalisées */
html body.single-product .gift-card-content-editor label,
html body.single-product .ywgc-form-field label {
  font-family: 'Raleway', sans-serif !important;
  font-size: .7rem !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: #3C2A3C !important;
  margin-bottom: 6px !important;
}

html body.single-product .gift-card-content-editor input[type="text"],
html body.single-product .gift-card-content-editor input[type="email"],
html body.single-product .gift-card-content-editor textarea,
html body.single-product .ywgc-form-field input,
html body.single-product .ywgc-form-field textarea {
  width: 100% !important;
  height: 44px !important;
  border: 1px solid rgba(60,42,60,.15) !important;
  border-radius: 8px !important;
  padding: 0 16px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .88rem !important;
  color: #3C2A3C !important;
  transition: border-color .2s ease !important;
}

html body.single-product .gift-card-content-editor textarea {
  height: auto !important;
  min-height: 100px !important;
  padding: 12px 16px !important;
}

html body.single-product .gift-card-content-editor input:focus,
html body.single-product .gift-card-content-editor textarea:focus,
html body.single-product .ywgc-form-field input:focus {
  border-color: #C4A265 !important;
  box-shadow: 0 0 0 3px rgba(196,162,101,.12) !important;
  outline: none !important;
}

/* Bouton Ajouter au Panier — aligné sur .pp-add-row des pages produit standard */
html body.single-product .gift-card-content-editor .single_add_to_cart_button,
html body.single-product form.cart .single_add_to_cart_button.ywgc_add_to_cart,
html body.single-product form.cart button.single_add_to_cart_button[name="ywgc-add-to-cart"],
html body.single-product .gift-card-content-editor button[type="submit"] {
  flex: 1 1 0% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 220px !important;
  height: 50px !important;
  padding: 14px 28px !important;
  background: var(--aubergine, #3C2A3C) !important;
  color: #E8D9BE !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background .2s ease !important;
  margin-top: 0 !important;
}

html body.single-product .gift-card-content-editor .single_add_to_cart_button:hover,
html body.single-product form.cart .single_add_to_cart_button.ywgc_add_to_cart:hover,
html body.single-product form.cart button.single_add_to_cart_button[name="ywgc-add-to-cart"]:hover,
html body.single-product .gift-card-content-editor button[type="submit"]:hover {
  background: #2a1a2a !important;
}

/* Layout quantité + bouton — même disposition que les pages produit */
html body.single-product .gift-card-content-editor form.cart,
html body.single-product form.cart:has(.ywgc_add_to_cart) {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 12px !important;
  margin-top: 24px !important;
}

html body.single-product .gift-card-content-editor .quantity-wrapper,
html body.single-product form.cart .quantity {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  background: var(--cream-warm, #FAF3E8) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
}

html body.single-product form.cart .quantity input[type="number"] {
  width: 56px !important;
  height: 50px !important;
  text-align: center !important;
  border: none !important;
  background: transparent !important;
  font-family: 'Raleway', sans-serif !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  color: #3C2A3C !important;
  -moz-appearance: textfield !important;
}
html body.single-product form.cart .quantity input[type="number"]::-webkit-outer-spin-button,
html body.single-product form.cart .quantity input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

/* Boutons +/- quantité — style V6 aligné pages produit standard */
html body.single-product form.cart .quantity button,
html body.single-product form.cart .quantity .minus,
html body.single-product form.cart .quantity .plus,
html body.single-product form.cart .quantity .qty-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 50px !important;
  background: transparent !important;
  border: none !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  color: #3C2A3C !important;
  cursor: pointer !important;
  transition: color .2s ease !important;
}
html body.single-product form.cart .quantity button:hover,
html body.single-product form.cart .quantity .minus:hover,
html body.single-product form.cart .quantity .plus:hover {
  color: #C4A265 !important;
}

/* Titre "Sélectionnez le montant" — style V6 */
html body.single-product .gift-card-content-editor h3,
html body.single-product .gift-card-content-editor h4,
html body.single-product .ywgc-predefined-amount-list-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.3rem !important;
  font-weight: 500 !important;
  color: #3C2A3C !important;
  margin-bottom: 8px !important;
}

/* ─── Carte Cadeau — Responsive ─── */
@media (max-width: 768px) {
  html body.single-product .gift-cards-list,
  html body.single-product .ywgc-predefined-amount-list,
  html body.single-product .gift-card-content-editor .amounts-grid {
    gap: 8px !important;
    justify-content: center !important;
  }
  html body.single-product .gift-cards-list li,
  html body.single-product .ywgc-predefined-amount-list li,
  html body.single-product .gift-card-content-editor .amounts-grid label {
    min-width: 60px !important;
    padding: 8px 14px !important;
    font-size: .82rem !important;
  }
  html body.single-product .gift-card-content-editor form.cart,
  html body.single-product form.cart:has(.ywgc_add_to_cart) {
    flex-direction: column !important;
  }
  html body.single-product .gift-card-content-editor .single_add_to_cart_button,
  html body.single-product form.cart .single_add_to_cart_button.ywgc_add_to_cart,
  html body.single-product form.cart button.single_add_to_cart_button[name="ywgc-add-to-cart"] {
    width: 100% !important;
    min-width: unset !important;
    flex: unset !important;
  }
  html body.single-product form.cart .quantity {
    width: 100% !important;
    justify-content: center !important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   SESSION 29 — HOROSCOPE DU JOUR — Fix layout sections
   Pages /astrologie/.../horoscope-du-jour/belier-.../
   Les blocs média-texte sans .alignwide ont besoin de style V6
   ═══════════════════════════════════════════════════════════════ */

/* Sections horoscope : media-text sans alignwide (contenu Gutenberg hérité) */
body.page-template-page-content .site-main .wp-block-media-text:not(.alignwide):not(.alignfull) {
  display: grid !important;
  grid-template-columns: 1fr 1.5fr !important;
  gap: 32px !important;
  align-items: start !important;
  margin: 32px auto !important;
  max-width: 1100px !important;
  padding: 0 24px !important;
}

body.page-template-page-content .site-main .wp-block-media-text:not(.alignwide):not(.alignfull) .wp-block-media-text__media {
  border-radius: 12px !important;
  overflow: hidden !important;
}

body.page-template-page-content .site-main .wp-block-media-text:not(.alignwide):not(.alignfull) .wp-block-media-text__media img {
  width: 100% !important;
  height: auto !important;
  border-radius: 12px !important;
  object-fit: cover !important;
}

body.page-template-page-content .site-main .wp-block-media-text:not(.alignwide):not(.alignfull) .wp-block-media-text__content {
  padding: 0 !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .9rem !important;
  line-height: 1.75 !important;
  color: #3C2A3C !important;
}

body.page-template-page-content .site-main .wp-block-media-text:not(.alignwide):not(.alignfull) .wp-block-media-text__content h3,
body.page-template-page-content .site-main .wp-block-media-text:not(.alignwide):not(.alignfull) .wp-block-media-text__content h4 {
  font-family: 'Cormorant Garamond', serif !important;
  font-weight: 500 !important;
  color: #3C2A3C !important;
  margin-bottom: 12px !important;
}

@media (max-width: 768px) {
  body.page-template-page-content .site-main .wp-block-media-text:not(.alignwide):not(.alignfull) {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    padding: 0 16px !important;
  }
  body.page-template-page-content .site-main .wp-block-media-text:not(.alignwide):not(.alignfull) .wp-block-media-text__media {
    max-width: 300px !important;
    margin: 0 auto !important;
  }
}

/* ═════════════════════════════════════════════════════════════════════════════
   HOROSCOPE ITEMS — Styling V6 pour les sections .horoscope-item
   Pages horoscope du jour / semaine / mois avec div.horoscope-item > h3 + p.horoscopeoccultale
   ═════════════════════════════════════════════════════════════════════════════ */

/* Container des items horoscope — espacement + max-width */
body.page-template-page-content .site-main .horoscope-item {
  max-width: 1100px !important;
  margin: 0 auto 36px !important;
  padding: 28px 32px !important;
  background: #FFFFFF !important;
  border-radius: 14px !important;
  box-shadow: 0 2px 12px rgba(60,42,60,.06) !important;
  border: 1px solid rgba(60,42,60,.06) !important;
  transition: box-shadow .2s ease !important;
}

body.page-template-page-content .site-main .horoscope-item:hover {
  box-shadow: 0 4px 20px rgba(60,42,60,.10) !important;
}

/* Titre de section (h3) — Cormorant Garamond + filet doré dessous */
body.page-template-page-content .site-main .horoscope-item h3 {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.35rem !important;
  font-weight: 600 !important;
  color: #3C2A3C !important;
  margin: 0 0 6px !important;
  padding-bottom: 10px !important;
  border-bottom: 2px solid #C4A265 !important;
  display: inline-block !important;
}

/* Paragraphe horoscope — layout flex pour icône + texte */
body.page-template-page-content .site-main .horoscope-item .horoscopeoccultale {
  display: flex !important;
  gap: 20px !important;
  align-items: flex-start !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: .9rem !important;
  line-height: 1.8 !important;
  color: #3C2A3C !important;
  margin-top: 16px !important;
}

/* Icône horoscope — taille fixe, pas de shrink */
body.page-template-page-content .site-main .horoscope-item .icon_horoscope {
  width: 60px !important;
  min-width: 60px !important;
  height: 60px !important;
  object-fit: contain !important;
  flex-shrink: 0 !important;
  border-radius: 8px !important;
  margin-top: 2px !important;
}

/* H2 au dessus des items horoscope */
body.page-template-page-content .site-main > h2 {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(1.3rem, 2.5vw, 1.7rem) !important;
  font-weight: 500 !important;
  color: #3C2A3C !important;
  text-align: center !important;
  max-width: 900px !important;
  margin: 40px auto 36px !important;
  line-height: 1.35 !important;
}

/* Mobile */
@media (max-width: 768px) {
  body.page-template-page-content .site-main .horoscope-item {
    padding: 20px 18px !important;
    margin-bottom: 24px !important;
  }
  body.page-template-page-content .site-main .horoscope-item .horoscopeoccultale {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 12px !important;
  }
  body.page-template-page-content .site-main .horoscope-item .icon_horoscope {
    width: 50px !important;
    min-width: 50px !important;
    height: 50px !important;
  }
}

/* ═════════════════════════════════════════════════════════════════════════════ */
/* H1 capitalize for destinataire (idees-cadeaux child) pages */
/* Note : pas nécessaire si les noms sont corrigés dans WP Admin > Catégories */

/* ═════════════════════════════════════════════════════════════════════════════ */

/* ═══ GLOBAL CTA HOVER FIX — Override MyDecor red hover ════════════════════ */
/* ONLY targets hover state to fix the red text on hover from MyDecor.
   Does NOT restyle buttons (avoids breaking hero slider, home page, etc.).
   The hero-slider and hero-ctas sections are excluded.                       */

.site-main .wp-block-button__link:hover,
.site-main .wp-element-button:hover,
.site-main .wp-block-button a:hover {
  color: #fff !important;
}

/* Exclude hero slider from any button overrides */
.hero-slider .wp-block-button__link,
.hero-slider .wp-element-button,
.hero-slider .wp-block-button a,
.hero-ctas .wp-block-button__link,
.hero-ctas .wp-element-button,
.hero-ctas .wp-block-button a {
  background: unset !important;
  color: unset !important;
  border: unset !important;
  border-radius: unset !important;
  font-size: unset !important;
  font-weight: unset !important;
  letter-spacing: unset !important;
  text-transform: unset !important;
  padding: unset !important;
}

/* ═════════════════════════════════════════════════════════════════════════════ */
