/* ============================================================
   HÉDONIA — Reconstruction premium / discret / light  v1.0.0
   ============================================================ */
:root{
  --he-ivory:#FAF7F2;
  --he-white:#FFFFFF;
  --he-ink:#23201B;
  --he-ink-soft:#4A443A;
  --he-muted:#6E675C;
  --he-gold:#B08D57;
  --he-gold-deep:#8C6D3F;
  --he-gold-soft:#EFE6D3;
  --he-gold-faint:#F6F1E4;
  --he-line:#E9E2D2;
  --he-serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --he-sans:"Jost","Montserrat",system-ui,-apple-system,sans-serif;
  --he-r:14px;
  --he-shadow:0 18px 45px -18px rgba(35,32,27,.18);
  --he-shadow-sm:0 8px 24px -12px rgba(35,32,27,.14);
}

/* ---------- Retire l'ancien hero sombre (Slider Revolution) ---------- */
body.home rs-module-wrap,
body.home rs-module{ display:none !important; }
body.home .elementor-section:has(rs-module-wrap),
body.home .elementor-top-section:has(rs-module-wrap){ display:none !important; }

/* ================= HERO ================= */
.he-hero{
  position:relative; overflow:hidden;
  background:
    radial-gradient(900px 480px at 85% 8%, rgba(176,141,87,.14), transparent 60%),
    radial-gradient(720px 520px at 6% 92%, rgba(176,141,87,.10), transparent 60%),
    var(--he-ivory);
  border-bottom:1px solid var(--he-line);
}
.he-hero__inner{
  max-width:1220px; margin:0 auto; padding:96px 32px 90px;
  display:grid; grid-template-columns:1.05fr .95fr; gap:60px; align-items:center;
}
.he-eyebrow{
  font-family:var(--he-sans); font-size:12px; font-weight:500;
  letter-spacing:.32em; text-transform:uppercase;
  color:var(--he-gold-deep); margin:0 0 24px;
}
.he-eyebrow--gold{ color:var(--he-gold); }
.he-title{
  font-family:var(--he-serif); font-weight:500;
  font-size:clamp(44px,5.4vw,78px); line-height:1.03; letter-spacing:.01em;
  color:var(--he-ink); margin:0 0 26px;
}
.he-title em{ font-style:italic; color:var(--he-gold-deep); }
.he-sub{
  font-family:var(--he-sans); font-size:18px; line-height:1.72;
  color:var(--he-ink-soft); max-width:46ch; margin:0 0 38px; font-weight:300;
}
.he-ctas{ display:flex; align-items:center; gap:30px; flex-wrap:wrap; margin-bottom:42px; }
.he-btn{
  display:inline-block; font-family:var(--he-sans); font-size:14px; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase; text-decoration:none;
  background:var(--he-ink); color:#F7F2E7 !important;
  padding:19px 40px; border-radius:10px; border:none; cursor:pointer;
  transition:background .3s ease,color .3s ease,transform .3s ease,box-shadow .3s ease;
}
.he-btn:hover{ background:var(--he-gold); color:var(--he-ink) !important; transform:translateY(-2px); box-shadow:var(--he-shadow); }
.he-btn--gold{ background:var(--he-gold); color:var(--he-ink) !important; }
.he-btn--gold:hover{ background:#F7F2E7; color:var(--he-ink) !important; }
.he-link{
  font-family:var(--he-sans); font-size:14px; font-weight:500;
  letter-spacing:.14em; text-transform:uppercase;
  color:var(--he-gold-deep) !important; text-decoration:none;
  border-bottom:1px solid var(--he-gold); padding-bottom:5px;
}
.he-link span{ display:inline-block; transition:margin .3s ease; }
.he-link:hover span{ margin-left:7px; }
.he-points{
  list-style:none; display:flex; gap:28px; flex-wrap:wrap;
  margin:0; padding:24px 0 0; border-top:1px solid var(--he-line);
}
.he-points li{
  font-family:var(--he-sans); font-size:13.5px; letter-spacing:.05em; color:var(--he-muted);
  display:flex; align-items:center; gap:10px;
}
.he-points li::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--he-gold); flex:none; }

/* Hero art — composition abstraite premium */
.he-hero__art{ position:relative; min-height:500px; display:flex; align-items:center; justify-content:center; }
.he-orb{ position:absolute; border-radius:50%; }
.he-orb--1{ width:430px; height:430px; background:radial-gradient(circle at 35% 30%, #F5EACF, #E3D0A8 72%); box-shadow:var(--he-shadow); }
.he-orb--2{ width:300px; height:300px; background:radial-gradient(circle at 60% 40%, #FCF8ED, #EDDFC0 76%); margin:-150px 0 0 200px; box-shadow:var(--he-shadow-sm); }
.he-ring{ position:absolute; width:530px; height:530px; border:1px solid rgba(176,141,87,.45); border-radius:50%; }
.he-ring--2{ width:615px; height:615px; border-color:rgba(176,141,87,.20); }
.he-mono{ position:relative; text-align:center; z-index:2; }
.he-mono__letter{ font-family:var(--he-serif); font-size:148px; line-height:1; color:var(--he-ink); display:block; }
.he-mono__name{
  font-family:var(--he-sans); font-size:21px; font-weight:500;
  letter-spacing:.52em; text-transform:uppercase; text-indent:.52em;
  color:var(--he-ink); margin:14px 0 8px;
}
.he-mono__tag{ margin:0; }
.he-mono__tag i{ font-family:var(--he-serif); font-style:italic; font-size:20px; color:var(--he-gold-deep); }

/* ================= TRUST STRIP ================= */
.he-trust{ background:var(--he-white); border-bottom:1px solid var(--he-line); }
.he-trust__inner{
  max-width:1220px; margin:0 auto; padding:34px 32px;
  display:grid; grid-template-columns:repeat(4,1fr); gap:28px;
}
.he-trust__item{ display:flex; align-items:flex-start; gap:16px; }
.he-trust__icon{
  flex:none; width:46px; height:46px; border-radius:50%;
  border:1px solid var(--he-gold); color:var(--he-gold-deep);
  display:flex; align-items:center; justify-content:center; background:var(--he-gold-faint);
}
.he-trust__icon svg{ width:22px; height:22px; }
.he-trust__item strong{ display:block; font-family:var(--he-sans); font-size:14.5px; font-weight:500; letter-spacing:.04em; color:var(--he-ink); margin-bottom:4px; }
.he-trust__item span{ font-family:var(--he-sans); font-size:13px; color:var(--he-muted); font-weight:300; }

/* ================= BRAND SECTION ================= */
.he-brand{ background:var(--he-ink); position:relative; overflow:hidden; }
.he-brand::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(800px 400px at 50% 0%, rgba(176,141,87,.16), transparent 65%);
  pointer-events:none;
}
.he-brand__inner{ position:relative; max-width:820px; margin:0 auto; padding:110px 32px; text-align:center; }
.he-brand__title{
  font-family:var(--he-serif); font-weight:500;
  font-size:clamp(38px,4.4vw,60px); line-height:1.08;
  color:#F7F2E7; margin:0 0 26px;
}
.he-brand__title em{ font-style:italic; color:var(--he-gold); }
.he-brand__text{
  font-family:var(--he-sans); font-weight:300; font-size:17.5px; line-height:1.8;
  color:#CFC6B4; max-width:60ch; margin:0 auto 42px;
}

/* ================= WOOCOMMERCE POLISH ================= */
.woocommerce ul.products li.product{
  background:#fff; border:1px solid var(--he-line); border-radius:var(--he-r);
  padding:20px 18px 24px;
  transition:transform .35s ease, box-shadow .35s ease;
}
.woocommerce ul.products li.product:hover{ transform:translateY(-6px); box-shadow:var(--he-shadow); }
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  color:var(--he-gold-deep); font-family:var(--he-sans); font-weight:500;
}
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce a.added_to_cart{
  background:var(--he-ink); color:#F7F2E7;
  border-radius:10px; font-family:var(--he-sans); font-size:12.5px; font-weight:500;
  letter-spacing:.12em; text-transform:uppercase; padding:15px 26px;
  transition:background .3s ease,color .3s ease;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover{
  background:var(--he-gold); color:var(--he-ink);
}
.woocommerce span.onsale{
  background:var(--he-gold-soft) !important; color:var(--he-ink) !important;
  font-family:var(--he-sans); font-size:11px; letter-spacing:.1em; text-transform:uppercase;
  border-radius:20px; padding:6px 14px; min-height:0; line-height:1.6;
}

/* ---------- Neutralise les derniers magenta codés en dur ---------- */
a.rev-btn, .rev-btn, rs-layer a, .rs-layer a{
  background:#23201B !important; border-radius:8px !important;
}
body.home .elementor-button{ background-color:#23201B; border-radius:8px; }
body.home .elementor-button:hover{ background-color:var(--he-gold); color:#23201B; }
.et_b_header-account a:hover{ color:var(--he-gold) !important; }
.site-header a:hover, .main-menu a:hover{ color:var(--he-gold-deep); }

/* ---------- Rythme & typographie ---------- */
.main-menu, .menu{ letter-spacing:.08em; }
.elementor-section .elementor-container{ max-width:1220px; }

/* ================= RESPONSIVE ================= */
@media (max-width:960px){
  .he-hero__inner{ grid-template-columns:1fr; padding:70px 24px 60px; gap:48px; text-align:center; }
  .he-hero__art{ min-height:360px; order:-1; }
  .he-orb--1{ width:300px; height:300px; }
  .he-orb--2{ width:210px; height:210px; margin:-100px 0 0 140px; }
  .he-ring{ width:370px; height:370px; }
  .he-ring--2{ width:430px; height:430px; }
  .he-mono__letter{ font-size:104px; }
  .he-ctas, .he-points{ justify-content:center; }
  .he-sub{ margin-left:auto; margin-right:auto; }
  .he-trust__inner{ grid-template-columns:1fr 1fr; padding:28px 24px; gap:22px; }
  .he-brand__inner{ padding:80px 24px; }
}
@media (max-width:560px){
  .he-trust__inner{ grid-template-columns:1fr; }
  .he-title{ font-size:42px; }
}

/* ============================================================
   FORÇAGE THÈME CLAIR — appliqué par le plugin, indépendant
   du customizer. Désactiver le plugin restaure le thème d'origine.
   ============================================================ */
body{
  background:#FAF7F2 !important;
  color:#23201B;
  font-family:"Jost","Montserrat",system-ui,-apple-system,sans-serif;
}
h1,h2,h3,h4,h5,h6{
  font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  color:#23201B;
}

/* Header blanc */
header, [class*="et_b_header"]{ background:#ffffff !important; }
header a, [class*="et_b_header"] a{ color:#23201B !important; }
header a:hover, [class*="et_b_header"] a:hover{ color:#8C6D3F !important; }

/* Barre promo dorée */
[class*="et-tb-promo"], .et-tb-promo-slide{ background:#B08D57 !important; }
[class*="et-tb-promo"] a, .et-tb-promo-slide,
[class*="et-tb-promo"] span{ color:#ffffff !important; }

/* Footer anthracite */
footer{ background:#23201B !important; }
footer, footer p, footer span, footer div{ color:#EDE6D6; }
footer a{ color:#EDE6D6 !important; }
footer a:hover{ color:#B08D57 !important; }
footer h1, footer h2, footer h3, footer h4, footer h5, footer h6,
footer .widget-title{ color:#F7F2E7 !important; }

/* Liens : doré profond */
a{ color:#8C6D3F; }
a:hover{ color:#B08D57; }

/* Champs de formulaire */
input[type="text"], input[type="email"], input[type="search"], input[type="tel"],
input[type="number"], input[type="password"], textarea, select{
  background:#ffffff !important;
  border:1px solid #E5DFD3 !important;
  border-radius:8px;
  color:#23201B;
}

/* ============================================================
   v1.0.2 — CORRECTIFS CIBLÉS (sélecteurs relevés sur le HTML réel)
   ============================================================ */

/* 1) Ancien hero = widget XStore "etheme_slider" (Swiper), pas Revolution.
      On le masque, lui et sa section parente. */
body.home .elementor-widget-etheme_slider{ display:none !important; }
body.home .elementor-section:has(.elementor-widget-etheme_slider){ display:none !important; }

/* 2) Header : le fond sombre est sur les wrappers internes, pas sur <header>. */
header#header.site-header,
header#header .header-wrapper,
header#header .header-main-wrapper,
header#header .header-bottom-wrapper{
  background:#ffffff !important;
}
header#header .header-wrapper a{ color:#23201B !important; }
header#header .header-wrapper a:hover{ color:#8C6D3F !important; }

/* Badge panier : doré au lieu de magenta */
.et-cart-quantity{ background:#B08D57 !important; color:#ffffff !important; }

/* v1.0.15 : top bar restaurée au style d'origine (règles supprimées) */

/* ============================================================
   v1.0.4 — CORRECTIFS : fonds + derniers accents magenta
   ============================================================ */

/* Le fond noir de la page vient de .page-wrapper (pas du header) */
html,
.page-wrapper{ background:#FAF7F2 !important; }

/* Header : barre blanche explicite */
header#header.site-header{ background:#ffffff !important; }

/* Footer : anthracite explicite (le vrai footer est un div, pas <footer>) */
.et-footers-wrapper,
.et-footers-wrapper .footer{ background:#23201B !important; }

/* Soulignés animés (nav, labels) : doré au lieu de magenta */
.et-element-label::before{ background-color:#B08D57 !important; }
.et_b_header-account > a:hover{ color:#8C6D3F !important; }

/* Boutons de l'ancien slider (assurance, au cas où) */
.slide-button{ background-color:#B08D57 !important; border-color:#B08D57 !important; }

/* Mention "Développé par" (style inline magenta) → doré */
.et-footers-wrapper [style*="ad1457"]{ color:#B08D57 !important; }

/* Titres du footer : tout soulignement rose → doré */
.et-footers-wrapper .elementor-heading-title{ border-bottom-color:rgba(176,141,87,.45) !important; }
.et-footers-wrapper .elementor-heading-title::after,
.et-footers-wrapper .elementor-heading-title::before{ background-color:#B08D57 !important; border-color:#B08D57 !important; }
.et-footers-wrapper .elementor-divider-separator{ border-top-color:#B08D57 !important; }

/* ============================================================
   v1.0.5 — CORRECTIFS : titres Elementor + header + mobile
   ============================================================ */

/* Titres Elementor du contenu : anthracite (ils étaient blancs, prévus pour l'ancien thème sombre) */
.elementor-widget-heading .elementor-heading-title{ color:#23201B !important; }
/* Exception : les titres du footer sur fond anthracite restent clairs */
.et-footers-wrapper .elementor-widget-heading .elementor-heading-title{ color:#EDE6D6 !important; }

/* HEADER BLANC — toutes variantes (indépendant du tag et de la structure exacte) */
header#header.site-header,
#header.site-header,
header#header .header-wrapper,
#header .header-wrapper,
.header-wrapper,
header#header .header-main-wrapper,
#header .header-main-wrapper,
.header-main-wrapper,
header#header .header-bottom-wrapper,
#header .header-bottom-wrapper,
.header-bottom-wrapper{
  background:#ffffff !important;
  background-image:none !important;
}

/* MOBILE : barre de navigation du bas */
.et-mobile-panel a{ color:#8C6D3F !important; }

/* POPUP "Quelqu'un vient d'acheter" (Sales Booster) */
.sales-booster-popup-inner a{ color:#8C6D3F !important; }

/* ===== v1.0.7 — Header blanc, spécificité maximale ===== */
html body.home #header.site-header,
html body.home #header .header-wrapper,
html body.home #header .header-main-wrapper,
html body.home #header .header-bottom-wrapper,
html body.home #header .header-wrapper > div,
html body.home #header .header-main-wrapper > div,
html body.home #header .header-bottom-wrapper > div{
  background-color:#ffffff !important;
  background-image:none !important;
}

/* Sous-titre "DERNIER ARRIVAGE" */
.elementor-widget-text-editor{ color:#4A453C !important; }

/* Divider footer */
.et-footers-wrapper hr{ border-color:#E5DFD3 !important; }

/* Popup sales booster */
.sales-booster-popup a,
.sales-booster-popup-inner a{ color:#8C6D3F !important; }

/* ===== v1.0.8 — Derniers accents magenta -> doré ===== */

/* Titres widgets footer : soulignements dorés */
.et-footers-wrapper .widget-title::after,
.et-footers-wrapper .widget-title::before,
footer .widget-title::after,
footer .widget-title::before{
  background-color:#B08D57 !important;
  border-color:#B08D57 !important;
}
.et-footers-wrapper .widget-title,
footer .widget-title{
  border-color:#B08D57 !important;
}

/* Ligne de séparation au-dessus du copyright */
.et-footers-wrapper hr,
footer hr,
.et-footers-wrapper .elementor-widget-divider .elementor-divider-separator{
  border-color:#E5DFD3 !important;
  background-color:#E5DFD3 !important;
}

/* Popup "Quelqu'un vient d'acheter" : lien doré */
#sales-booster-popup .read-more-wrapper a,
#sales-booster-popup .read-more,
#sales-booster-popup a{
  color:#8C6D3F !important;
}

/* ===== v1.0.9 — Footer : derniers soulignements magenta ===== */

/* Titres footer (widgets Elementor heading) : soulignements dorés */
.et-footers-wrapper .elementor-widget-heading .elementor-heading-title::after,
.et-footers-wrapper .elementor-widget-heading .elementor-heading-title::before,
.et-footers-wrapper .elementor-heading-title::after,
.et-footers-wrapper .elementor-heading-title::before,
footer .elementor-heading-title::after,
footer .elementor-heading-title::before{
  background-color:#B08D57 !important;
  border-color:#B08D57 !important;
}
.et-footers-wrapper .elementor-widget-heading,
.et-footers-wrapper [class*="elementor-widget"]{
  border-color:#B08D57 !important;
}

/* Ligne au-dessus du copyright : neutre */
.et-footers-wrapper .elementor-section::before,
.et-footers-wrapper .elementor-container::before,
footer .elementor-section{
  border-color:#E5DFD3 !important;
}

/* ===== v1.0.10 — LISIBILITÉ PARFAITE + logo adapté au thème ===== */

/* --- LOGO : le PNG est blanc sur transparent -> invisible sur header blanc.
      Badge anthracite (couleur du thème) : le blanc ressort, le cercle
      magenta reste l'accent de marque. --- */
html body #header .et_b_header-logo,
html body.home #header .et_b_header-logo{
  background:#23201B !important;
  border-radius:14px !important;
  padding:10px 22px !important;
  display:inline-block !important;
  line-height:0 !important;
}
html body #header .et_b_header-logo img,
html body.home #header .et_b_header-logo img{
  max-height:48px !important;
  width:auto !important;
}



/* --- Hero : dorés approfondis pour une lisibilité parfaite --- */
.he-eyebrow{ color:#6B5230 !important; }
.he-title em{ color:#7A5C33 !important; }
.he-link{ color:#6B5230 !important; border-bottom-color:#6B5230 !important; }
.he-mono__tag i{ color:#7A5C33 !important; }
.he-points li{ color:#4A443A !important; }

/* --- Bandeau confiance : sous-titres assombris --- */
.he-trust__item span{ color:#4A443A !important; }

/* --- Cartes catégories : texte script blanc sur image -> ombre portée --- */
body.home .elementor-widget-call-to-action .elementor-cta__title,
body.home .elementor-widget-image-box .elementor-image-box-title,
body.home .elementor-widget-heading .elementor-heading-title{
  text-shadow:0 1px 10px rgba(35,32,27,.28);
}

/* --- Boutons des cartes catégories : fond anthracite, texte clair --- */
body.home .elementor-button,
body.home a.elementor-button,
body.home .btn,
body.home .etheme-btn,
body.home [class*="banner"] a[class*="btn"],
body.home [class*="banner"] .elementor-button{
  background-color:#23201B !important;
  border-color:#23201B !important;
  color:#F7F2E7 !important;
}
body.home .elementor-button:hover,
body.home a.elementor-button:hover,
body.home .btn:hover{
  background-color:#B08D57 !important;
  border-color:#B08D57 !important;
  color:#23201B !important;
}

/* --- Section marque : paragraphe éclairci --- */
.he-brand__text{ color:#DCD2BC !important; }

/* --- Footer : crédit "Développé par" en doré clair (lisible sur anthracite) --- */
.et-footers-wrapper [style*="ad1457"]{ color:#D4B98A !important; }

/* ===== v1.0.11 — POLISSAGE : boutons panier, blog, sticky, popup ===== */

/* 1) Boutons AJOUTER AU PANIER : blanc sur blanc -> anthracite + texte clair.
      Spécificité maximale : ils n'étaient pas corrigés par les règles précédentes. */
html body.woocommerce ul.products li.product a.button,
html body.woocommerce ul.products li.product button.button,
html body.woocommerce ul.products li.product .add_to_cart_button,
html body .woocommerce ul.products li.product a.button.add_to_cart_button{
  background-color:#23201B !important;
  background-image:none !important;
  color:#F7F2E7 !important;
  border-color:#23201B !important;
  border-radius:10px !important;
}
html body.woocommerce ul.products li.product a.button:hover,
html body.woocommerce ul.products li.product button.button:hover,
html body.woocommerce ul.products li.product .add_to_cart_button:hover{
  background-color:#B08D57 !important;
  color:#23201B !important;
  border-color:#B08D57 !important;
}

/* 2) Cartes blog : le texte était blanc sur ivoire (invisible).
      Cartes en blanc, titres anthracite, métas/excerpts sombres. */
body.home .elementor-post,
body.home .elementor-posts .elementor-post{
  background:#ffffff !important;
  border:1px solid #E9E2D2 !important;
  border-radius:14px !important;
  overflow:hidden;
}
body.home .elementor-post__title,
body.home .elementor-post__title a,
body.home .elementor-posts .elementor-post__title,
body.home .elementor-posts .elementor-post__title a{
  color:#23201B !important;
  text-shadow:none !important;
}
body.home .elementor-post__excerpt,
body.home .elementor-post__meta-data,
body.home .elementor-post__meta-data a,
body.home .elementor-post-date,
body.home .elementor-post__comments,
body.home .elementor-post__read-more{
  color:#4A443A !important;
  text-shadow:none !important;
}
/* Voile sombre permanent derrière les titres si image de fond */
body.home .elementor-post__thumbnail__link::after{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(35,32,27,.55), transparent 55%);
  pointer-events:none;
}

/* 3) Header sticky : logo compact, toujours entier et lisible */
html body #header.sticky-header .et_b_header-logo,
html body.home #header.sticky-header .et_b_header-logo{
  padding:6px 16px !important;
  border-radius:10px !important;
}
html body #header.sticky-header .et_b_header-logo img,
html body.home #header.sticky-header .et_b_header-logo img{
  max-height:34px !important;
  width:auto !important;
}
html body #header.sticky-header,
html body #header.sticky-header .header-wrapper,
html body #header.sticky-header .header-main-wrapper{
  background-color:#ffffff !important;
  background-image:none !important;
}

/* 4) Popup preuve sociale : ne chevauche plus le CTA du hero.
      Déplacé en bas à droite, compact. */
#sales-booster-popup,
.sales-booster-popup,
.sales-booster-popup-inner{
  left:auto !important;
  right:18px !important;
  bottom:18px !important;
  top:auto !important;
  max-width:320px !important;
  z-index:9998 !important;
}
@media (max-width:560px){
  #sales-booster-popup,
  .sales-booster-popup,
  .sales-booster-popup-inner{
    max-width:250px !important;
    right:10px !important;
    bottom:10px !important;
  }
}

/* 5) Titres produits : 2 lignes max, grille nette */
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
  min-height:2.7em !important;
  line-height:1.35 !important;
}

/* ===== v1.0.12 — CORRECTIFS RÉELS ===== */

/* 1) Boutons cartes produits : SANS ancêtre .woocommerce (l'accueil n'en a pas).
      Les cartes sont des li.product dans ul.products, point. */
html body ul.products li.product a.button,
html body ul.products li.product button.button,
html body ul.products li.product .add_to_cart_button,
html body li.product a.add_to_cart_button,
html body li.product a.button{
  background-color:#23201B !important;
  background-image:none !important;
  color:#F7F2E7 !important;
  border-color:#23201B !important;
  border-radius:10px !important;
  opacity:1 !important;
}
html body ul.products li.product a.button:hover,
html body ul.products li.product .add_to_cart_button:hover,
html body li.product a.add_to_cart_button:hover{
  background-color:#B08D57 !important;
  color:#23201B !important;
  border-color:#B08D57 !important;
}
/* "CHOIX DES OPTIONS" : même traitement */
html body ul.products li.product a.button.product_type_variable{
  background-color:#23201B !important;
  color:#F7F2E7 !important;
}

/* 2) Page blog /blog/ : titres et textes blancs sur ivoire -> sombres.
      L'accueil n'a pas de widget articles ; la page blog si. */
body.blog article .entry-title,
body.blog article .entry-title a,
body.blog article .post-title,
body.blog article .post-title a,
body.blog .blog-post .entry-title,
body.blog .blog-post .entry-title a,
body.archive article .entry-title,
body.archive article .entry-title a{
  color:#23201B !important;
  text-shadow:none !important;
}
body.blog article .entry-content,
body.blog article .post-excerpt,
body.blog article .entry-meta,
body.blog article .entry-meta a,
body.blog article .post-meta,
body.blog .read-more,
body.blog .more-link{
  color:#4A443A !important;
  text-shadow:none !important;
}
/* Sidebar du blog : titres invisibles -> anthracite */
body.blog .sidebar .widget-title,
body.blog .sidebar .widgettitle,
body.blog #secondary .widget-title,
body.archive .sidebar .widget-title{
  color:#23201B !important;
}
body.blog .sidebar,
body.blog #secondary{
  color:#4A443A !important;
}
body.blog .sidebar a,
body.blog #secondary a{
  color:#6B5230 !important;
}

/* 3) Logo dans le header sticky (injecté par JS, classe .he-sticky-logo) */
.he-sticky-logo{
  display:inline-flex !important;
  align-items:center;
  background:#23201B !important;
  border-radius:8px !important;
  padding:4px 12px !important;
  margin-right:14px !important;
  flex-shrink:0;
  text-decoration:none !important;
}
.he-sticky-logo img{
  max-height:28px !important;
  width:auto !important;
  display:block;
}

/* ===== v1.0.13 — VRAIS sélecteurs boutons XStore ===== */
/* Structure réelle : .etheme_products .content-product .product-details a.button
   (pas de ul.products / li.product sur l'accueil) */
html body .etheme_products .product-details a.button,
html body .etheme_products .content-product a.button,
html body .etheme_products a.add_to_cart_button,
html body .content-product .product-details a.button{
  background-color:#23201B !important;
  background-image:none !important;
  color:#F7F2E7 !important;
  border-color:#23201B !important;
  border-radius:10px !important;
  opacity:1 !important;
}
html body .etheme_products .product-details a.button:hover,
html body .etheme_products a.add_to_cart_button:hover,
html body .content-product .product-details a.button:hover{
  background-color:#B08D57 !important;
  color:#23201B !important;
  border-color:#B08D57 !important;
}

/* ===== v1.0.14 — Titres produits invisibles sur mobile ===== */
/* Sur mobile XStore affiche les cartes en clair mais garde les titres blancs.
   On prend le contrôle : fond blanc + titres/prix sombres sous 768px. */
@media (max-width: 768px){
  html body .etheme_products .content-product .product-details{
    background:#ffffff !important;
  }
  html body .etheme_products .product-title,
  html body .etheme_products .product-title a,
  html body .content-product .product-title,
  html body .content-product .product-title a{
    color:#23201B !important;
  }
  html body .etheme_products .product-details .price,
  html body .etheme_products .product-details .price .amount,
  html body .etheme_products .product-details .price ins,
  html body .etheme_products .product-details .price ins .amount{
    color:#23201B !important;
  }
  html body .etheme_products .product-details .price del,
  html body .etheme_products .product-details .price del .amount{
    color:#8A8378 !important;
  }
}

/* ===== v1.0.15 — AUDIT LISIBILITÉ COMPLET ===== */

/* 0) TOP BAR : retour au style d'origine (règles v1.0.3/v1.0.10 supprimées :
      .header-top-wrapper / .et_promo_text_carousel / .header-promo-text /
      [class*="et-tb-promo"] ne sont plus touchés) */

/* 1) HAMBURGER mobile : le SVG était blanc sur header blanc -> invisible */
header#header .et_b_header-mobile-menu .et_b-icon,
header#header .et_b_header-mobile-menu .et_b-icon svg,
header#header .et_b_header-mobile-menu .et_b-icon svg path,
header#header .et_b_header-mobile-menu .et-element-label{
  color:#23201B !important;
  fill:#23201B !important;
}

/* 2) Titres DANS les widgets texte Elementor (accueil + page boutique) :
      blancs sur ivoire -> anthracite. Les h2/h3 n'héritent pas de la
      couleur du widget, il faut les cibler directement. */
.elementor-widget-text-editor h1,
.elementor-widget-text-editor h2,
.elementor-widget-text-editor h3,
.elementor-widget-text-editor h4,
.elementor-widget-text-editor h5,
.elementor-widget-text-editor h6,
.elementor-widget-text-editor h1 strong,
.elementor-widget-text-editor h2 strong,
.elementor-widget-text-editor h3 strong{
  color:#23201B !important;
  text-shadow:none !important;
}

/* 3) Bandeau confiance d'origine (image-box) : titres blancs -> sombres,
      descriptions renforcées, icônes blanches assombries via filtre */
.elementor-widget-image-box .elementor-image-box-title{
  color:#23201B !important;
  text-shadow:none !important;
}
.elementor-widget-image-box .elementor-image-box-description{
  color:#4A443A !important;
  text-shadow:none !important;
}
.elementor-element-50b882a6 .elementor-image-box-img img{
  filter:brightness(0.38) !important;
}

/* 4) Section blog (toggle Elementor) : titres, contenu, bouton */
.elementor-toggle .elementor-toggle-title,
a.elementor-toggle-title,
.elementor-accordion .elementor-tab-title{
  color:#23201B !important;
  text-shadow:none !important;
}
.elementor-toggle .elementor-tab-content,
.elementor-toggle .elementor-toggle-content{
  color:#4A443A !important;
  text-shadow:none !important;
}
.elementor-toggle .elementor-toggle-icon,
.elementor-toggle .elementor-toggle-icon i,
.elementor-toggle .elementor-toggle-title .fa{
  color:#8C6D3F !important;
}
a.more-button .read-more,
.more-button .read-more{
  color:#23201B !important;
  border-color:#B08D57 !important;
  text-shadow:none !important;
}

/* 5) EXCEPTION : section marque #121212 (fond sombre d'origine) -> texte clair */
.elementor-element-6384e885 .elementor-widget-text-editor,
.elementor-element-6384e885 .elementor-widget-text-editor h2,
.elementor-element-6384e885 .elementor-widget-text-editor h3,
.elementor-element-6384e885 .elementor-widget-text-editor p,
.elementor-element-6384e885 .elementor-heading-title{
  color:#F7F2E7 !important;
  text-shadow:none !important;
}
.elementor-element-6384e885 .elementor-button,
.elementor-element-6384e885 a.elementor-button{
  background-color:#B08D57 !important;
  border-color:#B08D57 !important;
  color:#23201B !important;
}

/* 6) EXCEPTION footer : les titres des widgets texte restent clairs */
.et-footers-wrapper .elementor-widget-text-editor h1,
.et-footers-wrapper .elementor-widget-text-editor h2,
.et-footers-wrapper .elementor-widget-text-editor h3,
.et-footers-wrapper .elementor-widget-text-editor h4{
  color:#EDE6D6 !important;
}

/* ===== v1.0.16 — Panier drawer, login, notifications, header mobile ===== */

/* 1) HEADER MOBILE : .mobile-header-wrapper n'était pas couvert (reste noir
      sur les pages internes). Blanc comme le desktop, hors barre promo. */
.mobile-header-wrapper .header-main-wrapper,
.mobile-header-wrapper .header-main-wrapper > div{
  background:#ffffff !important;
  background-image:none !important;
}
.mobile-header-wrapper .header-main-wrapper a,
.mobile-header-wrapper .header-main-wrapper .et_b-icon,
.mobile-header-wrapper .header-main-wrapper .et_b-icon svg,
.mobile-header-wrapper .header-main-wrapper .et_b-icon svg path,
.mobile-header-wrapper .et_b_header-mobile-menu .et-element-label{
  color:#23201B !important;
  fill:#23201B !important;
}

/* 2) DRAWER PANIER (fond sombre) : titre, noms produits, boutons.
      Scopé au panier uniquement, pas au drawer du menu (fond clair). */
.et_b_header-cart .et-mini-content{
  background:#23201B !important;
}
.et_b_header-cart .et-mini-content h3,
.et_b_header-cart .et-mini-content .et-mini-content-head,
.et_b_header-cart .et-mini-content .et-close,
.et_b_header-cart .widget_shopping_cart .woocommerce-mini-cart-item a:not(.remove),
.et_b_header-cart .widget_shopping_cart .mini-cart-info a,
.et_b_header-cart .widget_shopping_cart .product-name,
.et_b_header-cart .widget_shopping_cart .product-name a,
.et_b_header-cart .woocommerce-mini-cart__empty-message{
  color:#F7F2E7 !important;
}
.et_b_header-cart .woocommerce-mini-cart__buttons .button,
.et_b_header-cart .mini-cart-buttons .button,
.et_b_header-cart .widget_shopping_cart .buttons .button{
  background-color:#B08D57 !important;
  border-color:#B08D57 !important;
  color:#23201B !important;
}

/* 3) FORMULAIRES COMPTE (login/register) : labels et titres blancs -> sombres */
.woocommerce-account h2,
.woocommerce-form-login label,
.woocommerce-form-register label,
.woocommerce-account .woocommerce-form label,
.woocommerce-lost-password h2{
  color:#23201B !important;
}
.woocommerce-form-login .required,
.woocommerce-form-register .required{
  color:#B08D57 !important;
}

/* 4) NOTIFICATIONS WooCommerce : texte blanc garanti sur fonds colorés */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
  color:#ffffff !important;
}
.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a,
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button{
  color:#ffffff !important;
}

/* 5) POPUP "produit ajouté au panier" : thème clair */
.popup-added-to-cart{
  background:#ffffff !important;
  color:#4A443A !important;
}
.popup-added-to-cart .product-title,
.popup-added-to-cart .product-title a,
.popup-added-to-cart h3,
.popup-added-to-cart .order-total,
.popup-added-to-cart .order-total th{
  color:#23201B !important;
}
.popup-added-to-cart .product-section-02 a.button,
.popup-added-to-cart a.button{
  background-color:#23201B !important;
  border-color:#23201B !important;
  color:#F7F2E7 !important;
}

/* ===== v1.0.17 — Drawer menu mobile en thème clair uniforme ===== */
.et_b_header-mobile-menu .et-mini-content{
  background:#FAF7F2 !important;
}
.et_b_header-mobile-menu .et-mini-content,
.et_b_header-mobile-menu .et-mini-content a,
.et_b_header-mobile-menu .et-mini-content .et_b-icon,
.et_b_header-mobile-menu .mobile-menu-content,
.et_b_header-mobile-menu .mobile-menu-content a,
.et_b_header-mobile-menu .mobile-menu-content .menu li a{
  color:#23201B !important;
  -webkit-text-fill-color:#23201B !important;
}
.et_b_header-mobile-menu .et-mini-content .et_b-icon svg,
.et_b_header-mobile-menu .et-mini-content .et_b-icon svg path{
  fill:#23201B !important;
}

/* ===== v1.0.18 — Logo noir : suppression du badge anthracite ===== */
/* Le logo à texte noir est lisible directement sur header blanc : plus de badge. */
html body #header .et_b_header-logo,
html body.home #header .et_b_header-logo,
html body #header.sticky-header .et_b_header-logo,
html body.home #header.sticky-header .et_b_header-logo{
  background:transparent !important;
  background-image:none !important;
  border-radius:0 !important;
  padding:0 !important;
  box-shadow:none !important;
  border:none !important;
}
html body #header .et_b_header-logo img,
html body.home #header .et_b_header-logo img{
  max-height:52px !important;
  width:auto !important;
}
/* Logo noir dans le header sticky injecté (classe .he-sticky-logo) */
.he-sticky-logo{
  background:transparent !important;
  border-radius:0 !important;
  padding:0 !important;
}
.he-sticky-logo img{
  max-height:32px !important;
  width:auto !important;
}
/* Logo noir dans le drawer du menu mobile (fond ivoire) */
.et_b_header-mobile-menu .et-mini-content .et_b_header-logo{
  background:transparent !important;
  padding:0 !important;
}

/* ===== v1.0.19 — Popup "Quelqu'un vient d'acheter" (Sales Booster) lisible ===== */
/* Le titre était tronqué ("Quelqu'un vient d'a…") par nowrap+ellipsis : on autorise
   le retour à la ligne pour que le nom du produit soit lisible en entier. */
#sales-booster-popup{
  z-index:9999 !important;
}
#sales-booster-popup .heading{
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  color:#23201B !important;
  line-height:1.35 !important;
}
#sales-booster-popup .heading a{
  color:#6B5230 !important;
}
#sales-booster-popup .sales-booster-popup-inner > div .info{
  white-space:normal !important;
  flex-wrap:wrap !important;
}
#sales-booster-popup .info,
#sales-booster-popup .price-wrapper{
  color:#4A443A !important;
}

/* ===== v1.0.23 — Texte blanc résiduel de l'ancien thème sombre -> lisible sur ivoire =====
   Zones : articles (single + archive auteur), widget articles Elementor de l'accueil,
   page produit (titre, résumé, onglets, partage). Haute spécificité + !important
   pour passer devant les réglages blancs hérités de l'ancien design sombre. */
/* --- Articles : contenu --- */
html body.single-post .content-article,
html body.single-post .content-article p,
html body.single-post .content-article li,
html body.single-post .entry-content,
html body.single-post .entry-content p,
html body.single-post .entry-content li,
html body.single-post .entry-content h1,
html body.single-post .entry-content h2,
html body.single-post .entry-content h3,
html body.single-post .entry-content h4{
  color:#23201B !important;
  text-shadow:none !important;
}
html body.single-post .entry-content a{
  color:#8C6D3F !important;
}
/* --- Archive auteur --- */
html body.author article .entry-content,
html body.author article .entry-content p,
html body.author .entry-title a{
  color:#23201B !important;
  text-shadow:none !important;
}
/* --- Widget articles Elementor (section blog de l'accueil) --- */
html body .elementor-posts .elementor-post__title,
html body .elementor-posts .elementor-post__title a,
html body .elementor-posts .elementor-post__excerpt,
html body .elementor-posts .elementor-post__excerpt p,
html body .elementor-posts .elementor-post__text{
  color:#23201B !important;
  text-shadow:none !important;
}
html body .elementor-posts .elementor-post__meta-data,
html body .elementor-posts .elementor-post__meta-data a{
  color:#6B5B45 !important;
}
/* --- Page produit : titre, résumé, onglets, partage --- */
html body.single-product h1.product_title,
html body.single-product .entry-summary,
html body.single-product .entry-summary p,
html body.single-product .entry-summary li,
html body.single-product .woocommerce-tabs .panel,
html body.single-product .woocommerce-tabs .panel p{
  color:#23201B !important;
  text-shadow:none !important;
}
html body.single-product .woocommerce-tabs ul.tabs li a{
  color:#4A443A !important;
}
html body.single-product .woocommerce-tabs ul.tabs li.active a{
  color:#B08D57 !important;
}
html body.single-product .share-buttons,
html body.single-product .share-buttons span,
html body.single-product .et-share-buttons,
html body.single-product .et-share-buttons a,
html body.single-product .share-buttons a i{
  color:#4A443A !important;
}

/* ===== v1.0.24 — Texte blanc résiduel : couverture complète (sélecteurs réels vérifiés) ===== */
/* A. Titres produits : grilles boutique, carrousels accueil, suggestions */
html body .product-details h2.product-title a,
html body .product-details .product-title a,
html body ul.products li.product h2.product-title a,
html body ul.products li.product .product-title a,
html body .content-product .product-title a,
html body .etheme_products .product-title a{
  color:#23201B !important;
  text-shadow:none !important;
}
/* B. Carrousel articles XStore de l'accueil (.et_blog_carousel) */
html body .et_blog_carousel .post-heading h2,
html body .et_blog_carousel .post-heading h2 a,
html body .et_blog_carousel .content-article,
html body .et_blog_carousel .content-article p{
  color:#23201B !important;
  text-shadow:none !important;
}
html body .et_blog_carousel .meta-post,
html body .et_blog_carousel .meta-post a,
html body .et_blog_carousel .meta-post time{
  color:#6B5B45 !important;
}
/* C. Sidebars : titres widgets, textes, liens (articles, auteur, boutique, produit) */
html body .sidebar .widget-title,
html body .sidebar .widgettitle,
html body #secondary .widget-title,
html body .sidebar .widget,
html body .sidebar .widget p,
html body #secondary .widget p{
  color:#23201B !important;
  text-shadow:none !important;
}
html body .sidebar .widget a,
html body #secondary .widget a{
  color:#8C6D3F !important;
}
html body .sidebar .widget .post-date,
html body .sidebar .widget .meta-post{
  color:#6B5B45 !important;
}
/* D. Commentaires + bloc auteur */
html body #comments h1, html body #comments h2, html body #comments h3,
html body #comments .comments-title,
html body .comment-respond .comment-reply-title,
html body .comment-respond,
html body #comments .comment-text,
html body #comments .comment-text p,
html body .author-info,
html body .author-info h1, html body .author-info h2, html body .author-info h3,
html body .author-info .author-title{
  color:#23201B !important;
  text-shadow:none !important;
}
html body .comment-respond label{
  color:#4A443A !important;
}
/* E. Onglets produit (structure réelle : .tabs.wc-tabs > div.et-woocommerce-tab > a) */
html body.single-product .woocommerce-tabs .et-woocommerce-tab a{
  color:#4A443A !important;
}
html body.single-product .woocommerce-tabs .et-woocommerce-tab.active a,
html body.single-product .woocommerce-tabs .et-woocommerce-tab[aria-selected="true"] a{
  color:#B08D57 !important;
}
/* F. Partage produit */
html body.single-product .single-product-socials .socials-title,
html body.single-product .single-product-socials a,
html body.single-product .single-product-socials a i{
  color:#4A443A !important;
}
/* G. Checkout : formulaire complet */
html body .woocommerce-checkout h3,
html body .woocommerce-checkout .form-row label,
html body .woocommerce-checkout ul#shipping_method label,
html body .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
html body .woocommerce-checkout #order_review,
html body .woocommerce-checkout .shop_table,
html body .woocommerce-checkout .payment_methods label,
html body .woocommerce-checkout .payment_box,
html body .woocommerce-checkout .payment_box p,
html body .woocommerce-checkout .woocommerce-terms-and-conditions-wrapper,
html body .woocommerce-checkout .woocommerce-terms-and-conditions-wrapper p,
html body .woocommerce-checkout .woocommerce-form-coupon-toggle,
html body .woocommerce-checkout .woocommerce-form-login-toggle{
  color:#23201B !important;
  text-shadow:none !important;
}

/* ===== v1.0.25 — Correctifs sélecteurs réels (constatés dans le HTML servi) ===== */
/* 1. Carrousel blog accueil : le wrapper réel est .elementor-widget-et_blog_carousel
   (pas .et_blog_carousel) ; filet générique sur les cartes .post-grid */
html body .elementor-widget-et_blog_carousel .post-heading h2,
html body .elementor-widget-et_blog_carousel .post-heading h2 a,
html body .elementor-widget-et_blog_carousel .content-article,
html body .elementor-widget-et_blog_carousel .content-article p,
html body .blog-post.post-grid .post-heading h2 a,
html body .blog-post.post-grid .content-article{
  color:#23201B !important;
  text-shadow:none !important;
}
html body .elementor-widget-et_blog_carousel .meta-post,
html body .elementor-widget-et_blog_carousel .meta-post a,
html body .elementor-widget-et_blog_carousel .meta-post time{
  color:#6B5B45 !important;
}
/* 2. Widget "Latest posts" / articles récents (XStore : .recent-posts-widget) */
html body .recent-posts-widget .media-heading a{
  color:#23201B !important;
  text-shadow:none !important;
}
html body .recent-posts-widget .post-date{
  color:#6B5B45 !important;
}
/* 3. Titre "About author" (h3.about-author-title, hors de .author-info) */
html body h3.about-author-title,
html body h3.about-author-title span{
  color:#23201B !important;
  text-shadow:none !important;
}
/* 4. Toggle coupon du checkout (placé hors du form.checkout) */
html body .woocommerce-form-coupon-toggle,
html body .woocommerce-form-coupon-toggle a{
  color:#4A443A !important;
}
/* 5. "Ship to a different address?" */
html body #ship-to-different-address label,
html body #ship-to-different-address span{
  color:#23201B !important;
}
/* 6. Filtre prix : label "Price:" */
html body .widget_price_filter .price_label{
  color:#4A443A !important;
}

/* ===== v1.0.26 — Toggle coupon/login : le texte héritait du blanc de .woocommerce-info
   (règle v1.0.16 "notifications"). Le fond du toggle est clair -> texte sombre.
   Spécificité (0,2,2) > (0,1,0) : passe devant avec !important. */
html body .woocommerce-form-coupon-toggle .woocommerce-info,
html body .woocommerce-form-login-toggle .woocommerce-info{
  color:#4A443A !important;
}
