/*
Theme Name:     L'Or des Plantes — Enfant Astra
Theme URI:      https://ordesplantes.fr
Description:    Thème enfant Astra pour L'Or des Plantes — Design artisanal & féminin
Author:         L'Or des Plantes
Author URI:     https://ordesplantes.fr
Template:       astra
Version:        1.0.0
Text Domain:    lodp-child
*/

/* ================================
   L'OR DES PLANTES — Design Tokens
   ================================ */

:root {
  --primary:#5A7A4A;--primary-dark:#3D5F30;--primary-soft:#8DB07A;--primary-deeper:#1F1815;
  --accent:#D4A853;--accent-light:#EAD7A8;
  --rose:#C89478;--rose-light:#E0C4B0;--rose-soft:#F2E4DA;
  --surface:#FBF8F2;--surface-elevated:#FFFCF7;--surface-soft:#F7F2EA;
  --border:#E2D9CE;--border-light:#EBE3D8;
  --text:#2C2420;--text-secondary:#5C4F45;--text-muted:#B0A090;
  --font-display:'Forum',Georgia,'Times New Roman',serif;
  --font-body:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-xl:28px;
  --content:1200px;--gutter:24px;
}

/* ▸ GLOBAL OVERRIDES */
body {
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.7;
  color:var(--text);
  background:var(--surface);
}

h1, h2, h3, h4, h5, h6 {
  font-family:var(--font-display);
}

/* ▸ PAGE D'ACCUEIL — LAYOUT */
.page-template-front-page .site-content,
.front-page .site-content {
  padding-top:0;
}
.page-template-front-page .ast-container,
.front-page .ast-container {
  max-width:100%;
  padding:0;
}

/* ▸ NAV (identique site statique) */
.lodp-nav {
  position:fixed;top:0;left:0;right:0;z-index:100;
}
.lodp-nav-bg {
  position:absolute;inset:0;
  background:rgba(251,248,242,.88);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border-light);
}
.lodp-nav-inner {
  position:relative;max-width:var(--content);
  margin:0 auto;padding:0 var(--gutter);
  display:flex;align-items:center;height:76px;
  justify-content:space-between;
}
.lodp-nav-logo {
  display:flex;align-items:center;gap:10px;text-decoration:none;z-index:2;
}
.lodp-nav-logo img {
  height:40px;width:auto;transition:transform .3s;
}
.lodp-nav-links {
  display:flex;align-items:center;gap:2px;height:100%;z-index:2;
}
.lodp-nav-links > a,
.lodp-nav-links > .has-drop {
  position:relative;height:100%;display:flex;align-items:center;
}
.lodp-nav-links > a > span,
.lodp-nav-links > .has-drop > span {
  padding:8px 20px;border-radius:var(--radius-sm);
  font-size:14px;font-weight:500;color:var(--text-secondary);
  text-decoration:none;cursor:pointer;transition:all .3s;letter-spacing:.01em;
}
.lodp-nav-links > a:hover > span,
.lodp-nav-links > .has-drop:hover > span {
  color:var(--text);background:rgba(90,122,74,.05);
}
.lodp-nav-links > a.active > span,
.lodp-nav-links > .has-drop.active > span {
  color:var(--primary);font-weight:600;background:rgba(90,122,74,.07);
}

/* Mega-menu */
.lodp-mega {
  position:absolute;top:100%;left:50%;
  transform:translateX(-50%) translateY(12px);
  width:680px;padding:24px;
  border-radius:var(--radius-lg);
  background:rgba(255,252,247,.96);
  backdrop-filter:blur(24px);
  border:1px solid var(--border-light);
  box-shadow:0 20px 60px rgba(44,36,32,.1);
  opacity:0;visibility:hidden;
  transition:all .35s cubic-bezier(.22,1,.36,1);
  pointer-events:none;
}
.has-drop:hover .lodp-mega {
  opacity:1;visibility:visible;
  transform:translateX(-50%) translateY(4px);
  pointer-events:auto;
}
.lodp-mega-grid {
  display:grid;grid-template-columns:repeat(5,1fr);gap:8px;
}

/* ▸ MEGA MENU — NOUVEAU DESIGN AVEC PHOTOS */
.lodp-mega-card {
  display:flex;flex-direction:column;align-items:center;
  text-align:center;text-decoration:none;padding:12px 8px;
  border-radius:var(--radius-md);transition:all .3s ease;
  background:var(--surface-soft);
}
.lodp-mega-card:hover {
  background:var(--primary);transform:translateY(-2px);
  box-shadow:0 6px 20px rgba(90,122,74,.25);
}
.lodp-mega-card:hover .lodp-mega-label strong,
.lodp-mega-card:hover .lodp-mega-label small {
  color:#fff;
}
.lodp-mega-img-wrap {
  width:64px;height:64px;border-radius:50%;overflow:hidden;
  border:3px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.08);
  margin-bottom:8px;flex-shrink:0;
}
.lodp-mega-img-wrap img {
  width:100%;height:100%;object-fit:cover;display:block;
}
.lodp-mega-label strong {
  display:block;font-size:13px;font-weight:600;color:var(--text);
  font-family:var(--font-display);letter-spacing:.02em;
}
.lodp-mega-label small {
  font-size:11px;color:var(--text-muted);
}
.lodp-mega-subs {
  margin-top:16px;padding-top:16px;border-top:1px solid var(--border-light);
  display:grid;grid-template-columns:repeat(5,1fr);gap:12px;
}
.lodp-mega-subcol h4 {
  font-family:var(--font-display);font-size:13px;
  color:var(--primary);margin:0 0 6px;font-weight:600;
}
.lodp-mega-subcol a {
  display:block;padding:3px 0;font-size:12.5px;
  color:var(--text-secondary);text-decoration:none;
  transition:all .2s;
}
.lodp-mega-subcol a:hover {
  color:var(--primary);padding-left:4px;
}
.lodp-mega-col h4 {
  padding:4px 12px;font-size:11px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;
  color:var(--primary);margin-bottom:4px;
}
.lodp-mega-col a {
  display:block;padding:8px 12px;border-radius:6px;
  font-size:14px;color:var(--text-secondary);
  text-decoration:none;transition:all .2s;
}
.lodp-mega-col a:hover {
  background:var(--rose-soft);color:var(--text);padding-left:16px;
}
.lodp-mega-col a .count {
  font-size:12px;color:var(--text-muted);margin-left:6px;
}
.lodp-mega-feat {
  margin-top:16px;padding:16px;
  border-radius:var(--radius-md);
  background:linear-gradient(135deg,var(--surface-soft),var(--rose-soft));
  display:flex;align-items:center;gap:16px;cursor:pointer;transition:all .3s;
}
.lodp-mega-feat:hover {
  background:linear-gradient(135deg,var(--rose-soft),var(--accent-light));
}
.lodp-nav-icons {
  display:flex;align-items:center;gap:6px;z-index:2;
}
.lodp-nav-icons a {
  width:36px;height:36px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:15px;color:var(--text-secondary);
  text-decoration:none;transition:all .3s;
}
.lodp-nav-icons a:hover {
  background:var(--rose-soft);color:var(--rose);transform:translateY(-1px);
}

/* Hamburger */
.lodp-hamburger {
  display:none;flex-direction:column;justify-content:center;gap:5px;
  width:36px;height:36px;cursor:pointer;z-index:3;
  background:none;border:none;padding:6px;
}
.lodp-hamburger span {
  display:block;height:2px;border-radius:2px;
  background:var(--text-secondary);transition:all .3s;
}
.lodp-hamburger.active span:nth-child(1) {
  transform:rotate(45deg) translate(5px,5px);
}
.lodp-hamburger.active span:nth-child(2) {opacity:0;}
.lodp-hamburger.active span:nth-child(3) {
  transform:rotate(-45deg) translate(5px,-5px);
}

@media(max-width:900px){
  .lodp-hamburger{display:flex;}
  .lodp-nav-links {
    position:fixed;top:0;right:-100%;width:320px;height:100vh;
    flex-direction:column;background:rgba(255,252,247,.98);
    backdrop-filter:blur(24px);padding:100px 32px 32px;gap:4px;
    transition:right .4s cubic-bezier(.22,1,.36,1);
    overflow-y:auto;z-index:2;
  }
  .lodp-nav-links.open{right:0;}
  .lodp-nav-links>a,.lodp-nav-links>.has-drop{height:auto;}
  .lodp-nav-links>a>span,.lodp-nav-links>.has-drop>span{
    padding:12px 16px;font-size:16px;
  }
  .lodp-mega {
    position:static;transform:none;width:100%;padding:12px 16px;
    margin-top:4px;border-radius:var(--radius-md);
    opacity:1;visibility:visible;pointer-events:auto;display:none;
    box-shadow:none;border:1px solid var(--border-light);background:#fff;
  }
  .has-drop.open .lodp-mega{display:block;}
  .lodp-mega-grid{grid-template-columns:1fr;}
  .lodp-mega-feat{display:none;}
}

/* ▸ HERO */
.lodp-hero {
  position:relative;min-height:100vh;
  display:flex;align-items:center;
  overflow:hidden;padding:120px 0 60px;
}
.lodp-hero-bg {
  position:absolute;inset:0;
  background:linear-gradient(135deg,var(--surface)0%,var(--surface-soft)40%,var(--rose-soft)100%);
}
.lodp-hero-orb {
  position:absolute;top:-30%;right:-10%;
  width:600px;height:600px;border-radius:50%;
  background:radial-gradient(circle,rgba(200,148,120,.08),transparent 60%);
  pointer-events:none;
}
.lodp-hero-orb2 {
  position:absolute;bottom:-20%;left:-5%;
  width:400px;height:400px;border-radius:50%;
  background:radial-gradient(circle,rgba(90,122,74,.05),transparent 60%);
  pointer-events:none;
}
.lodp-hero-inner {
  position:relative;z-index:1;
  max-width:var(--content);margin:0 auto;padding:0 var(--gutter);
  display:grid;grid-template-columns:1.1fr 0.9fr;gap:60px;align-items:center;
}
.lodp-hero-badge {
  display:inline-flex;align-items:center;gap:8px;
  padding:7px 18px;border-radius:50px;
  background:rgba(90,122,74,.06);
  border:1px solid rgba(90,122,74,.1);
  font-size:12px;font-weight:500;color:var(--primary);
  margin-bottom:24px;letter-spacing:.02em;
}
.lodp-hero h1 {
  font-family:var(--font-display);
  font-size:clamp(38px,5vw,66px);line-height:1.08;
  color:var(--text);margin-bottom:16px;letter-spacing:-.01em;
}
.lodp-hero h1 .gold {
  background:linear-gradient(135deg,#D4A853 0%,#B8892E 50%,#D4A853 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;background-size:200%;
  animation:glimmer 4s ease-in-out infinite;
}
@keyframes glimmer {
  0%,100%{background-position:0% 50%;}
  50%{background-position:100% 50%;}
}
.lodp-hero p {
  font-size:17px;color:var(--text-secondary);
  line-height:1.8;max-width:480px;margin-bottom:36px;
}

/* ▸ BUTTONS */
.lodp-btn {
  display:inline-flex;align-items:center;gap:10px;
  padding:16px 32px;border-radius:var(--radius-sm);
  font-family:var(--font-body);font-size:16px;font-weight:600;
  text-decoration:none;cursor:pointer;border:none;
  transition:all .4s cubic-bezier(.22,1,.36,1);
}
.lodp-btn-primary {
  background:var(--primary);color:#fff;
  box-shadow:0 4px 20px rgba(90,122,74,.25);
}
.lodp-btn-primary:hover {
  background:var(--primary-dark);
  transform:translateY(-3px);
  box-shadow:0 10px 32px rgba(90,122,74,.35);
}
.lodp-btn-ghost {
  background:transparent;color:var(--text-secondary);
  border:1.5px solid var(--border);
}
.lodp-btn-ghost:hover {
  color:var(--primary);border-color:var(--primary);transform:translateY(-3px);
}
.lodp-btn-rose {
  background:var(--rose);color:#fff;
  box-shadow:0 4px 20px rgba(200,148,120,.3);
}
.lodp-btn-rose:hover {
  background:var(--rose-light);color:var(--text);
  transform:translateY(-3px);
  box-shadow:0 10px 32px rgba(200,148,120,.4);
}

/* ▸ HERO CARD */
.lodp-hero-card-wrap {display:flex;justify-content:center;}
.lodp-hero-card {
  width:360px;border-radius:var(--radius-xl);
  background:rgba(255,252,247,.7);
  backdrop-filter:blur(20px);
  border:1px solid var(--border-light);
  box-shadow:0 30px 80px rgba(44,36,32,.06);
  padding:36px;text-align:center;position:relative;
}
.lodp-hero-card .seal {
  width:48px;height:48px;margin:0 auto 12px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--accent),var(--accent-light));
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-size:16px;
  color:var(--primary-deeper);
  box-shadow:0 6px 20px rgba(212,168,83,.25);
}
.lodp-hero-card .since {
  font-size:10px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--text-muted);
}
.lodp-hero-card .year {
  font-family:var(--font-display);font-size:64px;line-height:1;
  background:linear-gradient(180deg,var(--primary),var(--primary-soft));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;margin:4px 0;
}
.lodp-hero-card img {
  height:42px;margin:4px auto 12px;
}
.lodp-hero-card .tags {
  display:flex;justify-content:center;gap:6px;flex-wrap:wrap;
}
.lodp-hero-card .tags span {
  padding:4px 14px;border-radius:20px;
  background:rgba(90,122,74,.04);
  font-size:11px;color:var(--text-secondary);
  border:1px solid var(--border-light);transition:all .3s;
}
.lodp-hero-card .tags span:hover {
  background:var(--primary);color:#fff;
}

/* ▸ SCROLL INDICATOR */
.lodp-scroll {
  position:absolute;bottom:36px;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:6px;
  color:var(--text-muted);font-size:10px;
  letter-spacing:.12em;text-transform:uppercase;z-index:2;
}
.lodp-scroll .mouse {
  width:18px;height:28px;border-radius:14px;
  border:1.5px solid var(--border);position:relative;
}
.lodp-scroll .mouse::after {
  content:'';position:absolute;top:5px;left:50%;
  transform:translateX(-50%);
  width:2px;height:7px;border-radius:2px;
  background:var(--rose);
  animation:scrl 2s ease-in-out infinite;
}
@keyframes scrl {
  0%,100%{opacity:1;transform:translateX(-50%) translateY(0);}
  50%{opacity:.3;transform:translateX(-50%) translateY(5px);}
}

/* ▸ SECTIONS COMMUNES */
.lodp-section {padding:90px 0;}
.lodp-section-alt {background:var(--surface-elevated);}
.lodp-container {max-width:var(--content);margin:0 auto;padding:0 var(--gutter);}
.lodp-sh {text-align:center;max-width:580px;margin:0 auto 48px;}
.lodp-st {
  display:inline-flex;align-items:center;gap:10px;
  font-size:11px;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--primary);margin-bottom:14px;
}
.lodp-st::before,.lodp-st::after {
  content:'';width:28px;height:1px;background:var(--rose-light);
}
.lodp-sh h2 {
  font-family:var(--font-display);
  font-size:clamp(28px,3.5vw,40px);line-height:1.15;margin-bottom:12px;
}
.lodp-sh p {font-size:16px;color:var(--text-secondary);}

/* Catégories grid */
.lodp-cat-grid {
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
}
.lodp-cat-card {
  position:relative;border-radius:var(--radius-lg);overflow:hidden;
  aspect-ratio:4/3;display:flex;align-items:flex-end;
  text-decoration:none;border:1px solid var(--border-light);
  transition:all .5s cubic-bezier(.22,1,.36,1);
}
.lodp-cat-card:hover {
  transform:translateY(-6px);
  box-shadow:0 20px 50px rgba(44,36,32,.1);
}
.lodp-cat-card img {
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;transition:transform .7s cubic-bezier(.22,1,.36,1);
}
.lodp-cat-card:hover img {transform:scale(1.06);}
.lodp-cat-card::after {
  content:'';position:absolute;inset:0;
  background:linear-gradient(0deg,rgba(31,24,21,.6)0%,transparent 50%);
}
.lodp-cat-card-content {
  position:relative;z-index:1;width:100%;padding:24px;
}
.lodp-cat-card-content h3 {
  font-family:var(--font-display);font-size:22px;
  color:#fff;margin-bottom:2px;
}
.lodp-cat-card-content p {
  font-size:13px;color:rgba(255,255,255,.6);
}

/* Timeline */
.lodp-tl-wrap {position:relative;padding:20px 0;}
.lodp-tl-wrap::before {
  content:'';position:absolute;top:50px;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--border),var(--primary-soft),var(--rose),var(--accent),var(--border));
}
.lodp-tl-scroll {
  display:flex;gap:24px;overflow-x:auto;
  padding:20px 0 40px;scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
}
.lodp-tl-card {
  flex:0 0 280px;scroll-snap-align:start;
  position:relative;padding-top:40px;
}
.lodp-tl-card::before {
  content:'';position:absolute;top:0;left:50%;
  transform:translateX(-50%);
  width:16px;height:16px;border-radius:50%;
  background:var(--surface-elevated);
  border:3px solid var(--primary);z-index:2;transition:all .3s;
}
.lodp-tl-card:hover::before {
  background:var(--primary);
  box-shadow:0 0 0 6px rgba(90,122,74,.15);
}
.lodp-tl-inner {
  background:var(--surface-elevated);border-radius:var(--radius-lg);
  padding:24px;border:1px solid var(--border-light);
  min-height:180px;transition:all .4s;
}
.lodp-tl-card:hover .lodp-tl-inner {
  transform:translateY(-4px);
  box-shadow:0 12px 36px rgba(44,36,32,.08);
  border-color:var(--primary-soft);
}
.lodp-tl-year {
  font-family:var(--font-display);font-size:28px;
  background:linear-gradient(135deg,var(--primary),var(--primary-soft));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;margin-bottom:6px;
}
.lodp-tl-label {
  font-size:10px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--text-muted);margin-bottom:10px;
}
.lodp-tl-text {font-size:14px;color:var(--text-secondary);line-height:1.7;}
.lodp-tl-text .hl {
  font-family:var(--font-display);font-size:17px;color:var(--text);
  display:block;margin-bottom:6px;
}

/* Valeurs */
.lodp-val-grid {
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
}
.lodp-val-card {
  padding:36px 28px;border-radius:var(--radius-lg);
  background:var(--surface);border:1px solid var(--border-light);
  text-align:center;transition:all .4s;
}
.lodp-val-card:hover {
  background:var(--surface-elevated);
  border-color:var(--rose-light);
  transform:translateY(-4px);
  box-shadow:0 12px 36px rgba(44,36,32,.04);
}
.lodp-val-ico {
  width:52px;height:52px;margin:0 auto 14px;
  border-radius:50%;background:var(--rose-soft);
  display:flex;align-items:center;justify-content:center;
  font-size:18px;color:var(--rose);
  transition:all .4s;font-family:var(--font-display);
}
.lodp-val-card:hover .lodp-val-ico {
  background:var(--rose);color:#fff;
  transform:scale(1.1) rotate(-5deg);
}
.lodp-val-card h3 {
  font-family:var(--font-display);font-size:20px;margin-bottom:8px;
}
.lodp-val-card p {
  font-size:14px;color:var(--text-secondary);line-height:1.6;
}

/* Newsletter */
.lodp-nl {
  position:relative;border-radius:var(--radius-xl);overflow:hidden;
  padding:64px;text-align:center;background:var(--primary-deeper);
}
.lodp-nl h2 {
  font-family:var(--font-display);font-size:32px;
  color:var(--surface-elevated);margin-bottom:6px;
}
.lodp-nl p {color:var(--primary-soft);font-size:16px;margin-bottom:28px;}
.lodp-nl-form {
  display:flex;gap:12px;max-width:420px;margin:0 auto;
}
.lodp-nl-form input {
  flex:1;padding:14px 20px;border-radius:var(--radius-sm);
  border:1.5px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.05);color:#fff;
  font-family:var(--font-body);font-size:16px;
  outline:none;transition:all .3s;
}
.lodp-nl-form input::placeholder {color:rgba(255,255,255,.3);}
.lodp-nl-form input:focus {
  border-color:var(--rose);
  background:rgba(255,255,255,.08);
  box-shadow:0 0 0 4px rgba(200,148,120,.08);
}

/* ▸ FOOTER */
.lodp-footer {background:var(--primary-deeper);padding:72px 0 32px;}
.lodp-footer-grid {
  max-width:var(--content);margin:0 auto;padding:0 var(--gutter);
  display:grid;grid-template-columns:2fr 1fr 1fr 1fr;
  gap:48px;margin-bottom:40px;
}
.lodp-footer-brand img {
  height:40px;margin-bottom:14px;filter:brightness(0) invert(1);
}
.lodp-footer-brand p {
  font-size:14px;color:rgba(255,255,255,.35);line-height:1.7;
}
.lodp-footer h4 {
  font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--accent);margin-bottom:16px;font-weight:600;
  font-family:var(--font-body);
}
.lodp-footer a {
  display:block;color:rgba(255,255,255,.3);
  font-size:14px;text-decoration:none;padding:4px 0;transition:all .3s;
}
.lodp-footer a:hover {color:#fff;transform:translateX(4px);}
.lodp-footer-bottom {
  max-width:var(--content);margin:0 auto;padding:20px var(--gutter) 0;
  display:flex;justify-content:space-between;
  border-top:1px solid rgba(255,255,255,.04);
  font-size:13px;color:rgba(255,255,255,.18);
}

/* ▸ REVEAL ON SCROLL */
.lodp-r {
  opacity:0;transform:translateY(30px);
  transition:all .8s cubic-bezier(.22,1,.36,1);
}
.lodp-r.v {opacity:1;transform:translateY(0);}

/* ▸ COOKIE BANNER */
.lodp-cookie-banner {
  position:fixed;bottom:0;left:0;right:0;z-index:9999;
  background:rgba(31,24,21,.95);backdrop-filter:blur(12px);
  padding:20px 24px;display:none;justify-content:center;
}
.lodp-cookie-banner.show {display:flex;}
.lodp-cookie-inner {
  max-width:1200px;width:100%;
  display:flex;align-items:center;
  justify-content:space-between;gap:24px;flex-wrap:wrap;
}
.lodp-cookie-text {
  font-size:13px;color:rgba(255,255,255,.7);line-height:1.6;flex:1;
}
.lodp-cookie-text a {color:#D4A853;text-decoration:underline;}
.lodp-cookie-btns {display:flex;gap:10px;flex-shrink:0;}
.lodp-cookie-btn {
  padding:10px 24px;border-radius:8px;
  font-size:13px;font-weight:600;border:none;cursor:pointer;transition:all .3s;
}
.lodp-cookie-btn.accept {background:#D4A853;color:#2C2420;}
.lodp-cookie-btn.accept:hover {opacity:.9;}
.lodp-cookie-btn.refuse {
  background:transparent;color:rgba(255,255,255,.5);
  border:1px solid rgba(255,255,255,.1);
}
.lodp-cookie-btn.refuse:hover {color:#fff;border-color:rgba(255,255,255,.3);}

/* ▸ RESPONSIVE */
@media(max-width:768px){
  .lodp-nav-links{display:none;}
  .lodp-hero-inner{grid-template-columns:1fr;gap:32px;}
  .lodp-hero-card{width:100%;}
  .lodp-cat-grid,.lodp-val-grid{grid-template-columns:1fr;}
  .lodp-footer-grid{grid-template-columns:1fr 1fr;gap:24px;}
  .lodp-nl{padding:40px 24px;}
  .lodp-nl-form{flex-direction:column;}
  .lodp-footer-bottom{flex-direction:column;text-align:center;gap:8px;}
}

/* ▸ WOOCOMMERCE OVERRIDES */
.woocommerce .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce #respond input#submit {
  font-family:var(--font-body) !important;
  border-radius:var(--radius-sm) !important;
  font-weight:600 !important;
  transition:all .3s ease !important;
}
.woocommerce a.button.alt,
.woocommerce button.button.alt {
  background:var(--primary) !important;
  color:#fff !important;
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
  background:var(--primary-dark) !important;
  opacity:1 !important;
}
.woocommerce div.product .product_title {
  font-family:var(--font-display);
  color:var(--text);
}
.woocommerce span.onsale {
  background:var(--rose) !important;
  border-radius:50px !important;
  min-height:3em;
  min-width:3em;
  line-height:3em;
  font-size:12px;
  font-weight:600;
}
.woocommerce ul.products li.product .price {
  color:var(--primary) !important;
  font-weight:600;
}
.woocommerce ul.products li.product h3 {
  font-family:var(--font-display);
  font-size:18px;
  color:var(--text);
}
.woocommerce ul.products li.product .button {
  background:var(--surface-elevated) !important;
  color:var(--primary) !important;
  border:1px solid var(--border) !important;
}
.woocommerce ul.products li.product .button:hover {
  background:var(--primary) !important;
  color:#fff !important;
  border-color:var(--primary) !important;
}
.woocommerce .widget_price_filter .ui-slider .ui-slider-range,
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
  background:var(--primary) !important;
}
.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content {
  background:var(--border-light) !important;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  color:var(--text-secondary) !important;
}
.woocommerce nav.woocommerce-pagination ul li span.current {
  background:var(--primary) !important;
  color:#fff !important;
}
.woocommerce ul.product_list_widget li .star-rating {
  color:var(--accent) !important;
}
.woocommerce .star-rating {
  color:var(--accent) !important;
}
.woocommerce-cart .cart_totals h2,
.woocommerce-checkout h3 {
  font-family:var(--font-display);
}
.woocommerce-info,
.woocommerce-message {
  border-top-color:var(--primary) !important;
}
.woocommerce-info::before,
.woocommerce-message::before {
  color:var(--primary) !important;
}

/* ▸ PAGES GLOBALES — styles pour Elementor & contenus Astra */
.lodp-global {
  background:var(--surface);
  color:var(--text);
  font-family:var(--font-body);
}
/* Titres des pages Elementor */
.lodp-global h1, .lodp-global h2, .lodp-global h3,
.lodp-global .elementor-heading-title,
.lodp-global .elementor-widget-heading h1,
.lodp-global .elementor-widget-heading h2,
.lodp-global .elementor-widget-heading h3 {
  font-family:var(--font-display) !important;
  color:var(--text);
}
.lodp-global .elementor-widget-container p,
.lodp-global .elementor-text-editor {
  color:var(--text-secondary);
  line-height:1.8;
}
/* Conteneurs Elementor */
.lodp-global .elementor-section {
  background:var(--surface) !important;
}
.lodp-global .elementor-section.elementor-section-stretched {
  background:var(--surface-elevated) !important;
}
/* Liens */
.lodp-global a {
  color:var(--primary);
}
.lodp-global a:hover {
  color:var(--primary-dark);
}
/* Boutons Elementor */
.lodp-global .elementor-button {
  font-family:var(--font-body) !important;
  border-radius:var(--radius-sm) !important;
}
.lodp-global .elementor-button.elementor-size-md {
  border-radius:var(--radius-sm) !important;
}
/* Breadcrumb */
.lodp-global .woocommerce-breadcrumb,
.lodp-global .elementor-widget-woocommerce-breadcrumb {
  color:var(--text-muted);
  font-size:13px;
}
/* Masquer le titre de page en double sur les pages avec Elementor */
.lodp-global .page-header,
.lodp-global .entry-header {
  display:none;
}
/* Masquer le titre de l'article Elementor */
.lodp-global .elementor-page-title {
  display:none;
}
/* Sidebar / Widgets */
.lodp-global .widget-title {
  font-family:var(--font-display);
  color:var(--text);
}
.lodp-global .widget a {
  color:var(--text-secondary);
}
/* WooCommerce sur pages internes */
.lodp-global .woocommerce .woocommerce-ordering select {
  border-radius:var(--radius-sm);
  border-color:var(--border);
}
.lodp-global table.shop_table {
  border-color:var(--border-light);
}
.lodp-global table.shop_table th {
  font-family:var(--font-display);
  color:var(--text);
}
/* Cacher le header/footer Astra d'origine sur nos pages */
.lodp-global .ast-primary-header-bar,
.lodp-global .site-header,
.lodp-global .ast-header-break-point .main-header-bar-wrap,
.lodp-global .site-footer {
  display:none !important;
}

/* ▸ PAGES INTERNES — ajustements */
.lodp-global .site-content,
.lodp-global #primary,
.lodp-global .content-area {
  margin:0 !important;
  padding:0 !important;
  background:var(--surface);
}
.lodp-global .ast-container {
  max-width:var(--content) !important;
  padding:0 var(--gutter) !important;
}
/* Titre page en haut */
.lodp-global .woocommerce-products-header__title,
.lodp-global .page-title {
  font-family:var(--font-display);
  font-size:32px;
  color:var(--text);
  text-align:center;
  padding:40px 0 20px;
}
/* Filtres WooCommerce */
.lodp-global .woocommerce-result-count,
.lodp-global .woocommerce-ordering {
  color:var(--text-secondary);
  font-size:14px;
}
.lodp-global .woocommerce-ordering select {
  padding:8px 32px 8px 12px;
  background:var(--surface-elevated);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  font-family:var(--font-body);
  color:var(--text);
  cursor:pointer;
}
/* Produit dans la grille */
.lodp-global ul.products {
  gap:24px !important;
}
.lodp-global ul.products li.product {
  background:var(--surface-elevated);
  border:1px solid var(--border-light);
  border-radius:var(--radius-md);
  padding:16px;
  transition:all .3s;
}
.lodp-global ul.products li.product:hover {
  transform:translateY(-4px);
  box-shadow:0 12px 36px rgba(44,36,32,.06);
  border-color:var(--rose-light);
}
/* Images produits (placeholder si pas d'image) */
.lodp-global ul.products li.product .woocommerce-loop-product__link img {
  border-radius:var(--radius-sm);
  background:var(--surface-soft);
}
/* Pagination */
.lodp-global .woocommerce-pagination {
  margin-top:40px;
}
/* Single product page */
.lodp-global .product .summary {
  padding-top:40px;
}
.lodp-global .product_meta {
  color:var(--text-muted);
  font-size:13px;
}
.lodp-global .product_meta a {
  color:var(--primary);
}

/* ▸ CATÉGORIES WOOCOMMERCE — filtres & listes */
/* Barre de catégories horizontale en haut de la boutique */
.lodp-global .woocommerce .widget_product_categories,
.lodp-global .woocommerce .widget_layered_nav {
  background:var(--surface-elevated);
  border:1px solid var(--border-light);
  border-radius:var(--radius-md);
  padding:16px 20px;
  margin-bottom:24px;
}
.lodp-global .woocommerce .widget_product_categories ul,
.lodp-global .wc-block-product-categories-list {
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.lodp-global .wc-block-product-categories-list-item {
  margin:0 !important;
}
.lodp-global .wc-block-product-categories-list-item > a,
.lodp-global .wc-block-product-categories-list-item__name {
  display:inline-block;
  padding:6px 16px;
  border-radius:var(--radius-sm);
  background:var(--surface);
  border:1px solid var(--border-light);
  font-size:13px;
  font-weight:500;
  color:var(--text-secondary);
  text-decoration:none;
  transition:all .2s;
  cursor:pointer;
}
.lodp-global .wc-block-product-categories-list-item > a:hover,
.lodp-global .wc-block-product-categories-list-item__name:hover {
  background:var(--primary);
  color:#fff;
  border-color:var(--primary);
}
/* Sous-catégories en retrait */
.lodp-global .wc-block-product-categories-list--depth-1 {
  padding-left:16px;
}
.lodp-global .wc-block-product-categories-list--depth-2 {
  padding-left:16px;
}
/* Cacher les sous-catégories profondes par défaut */
.lodp-global .wc-block-product-categories-list--depth-2 .wc-block-product-categories-list--depth-3,
.lodp-global .wc-block-product-categories-list--depth-2 .wc-block-product-categories-list--depth-4 {
  display:none;
}

/* ▸ BADGES CATÉGORIES dans la grille produits */
.lodp-global ul.products li.product .posted_in,
.lodp-global ul.products li.product .wc-block-grid__product-category,
.lodp-global .woocommerce-loop-product__category {
  display:inline-block;
  padding:3px 10px;
  border-radius:20px;
  background:var(--rose-soft);
  color:var(--rose);
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:8px;
  text-decoration:none;
}

/* ▸ CACHER LA SIDEBAR — full-width partout */
.lodp-global .widget-area.secondary,
.lodp-global #secondary {
  display:none !important;
}
.lodp-global .content-area,
.lodp-global #primary {
  width:100% !important;
  max-width:100% !important;
}

/* ▸ CARTES PRODUITS — style visuel */
.lodp-global ul.products li.product {
  background:var(--surface-elevated);
  border:1px solid var(--border-light);
  border-radius:var(--radius-md);
  padding:20px 20px 24px;
  transition:all .3s ease;
  box-shadow:0 2px 8px rgba(44,36,32,.03);
}
.lodp-global ul.products li.product:hover {
  transform:translateY(-6px);
  box-shadow:0 16px 40px rgba(44,36,32,.08);
  border-color:var(--rose-light);
}
/* Cacher le placeholder d'image par défaut */
.lodp-global ul.products li.product a img[src*="placeholder"],
.lodp-global ul.products li.product .wp-post-image[src*="placeholder"] {
  opacity:0.3;
}
/* Masquer le texte 'Texte indicatif' sur les images */
.lodp-global ul.products li.product .woocommerce-loop-product__link img[alt="Texte indicatif"] {
  opacity:0.2;
}
/* Prix */
.lodp-global ul.products li.product .price {
  color:var(--primary) !important;
  font-weight:600;
  font-size:18px;
  margin-top:8px;
}
.lodp-global ul.products li.product .price del {
  color:var(--text-muted);
  font-size:14px;
}
.lodp-global ul.products li.product .price ins {
  text-decoration:none;
}
/* Titre du produit */
.lodp-global ul.products li.product h2,
.lodp-global ul.products li.product .woocommerce-loop-product__title {
  font-family:var(--font-display);
  font-size:17px !important;
  color:var(--text);
  padding-bottom:4px !important;
}
/* Bouton Ajouter au panier */
.lodp-global ul.products li.product .button {
  background:var(--surface-elevated) !important;
  color:var(--primary) !important;
  border:1px solid var(--border) !important;
  border-radius:var(--radius-sm) !important;
  font-size:12px !important;
  font-weight:600 !important;
  padding:10px 20px !important;
  margin-top:12px !important;
  transition:all .3s !important;
}
.lodp-global ul.products li.product .button:hover {
  background:var(--primary) !important;
  color:#fff !important;
  border-color:var(--primary) !important;
}


/* === SNIPPET38 === */

/* ========================================================
   L'OR DES PLANTES — Racines & Pierres
   ======================================================== */

/* --- VARIABLES --- */
:root {
    --odp-sauge: #52796f;
    --odp-sauge-light: #e8f0e7;
    --odp-sauge-dark: #3d5a50;
    --odp-terre: #cc5803;
    --odp-beige: #f7f3ee;
    --odp-blanc: #fcfaf7;
    --odp-text: #2d2a24;
    --odp-gris: #7c7a76;
}


/* --- CACHER ÉLÉMENTS EN-TÊTE --- */
/* Poème du mois */
#lien-poeme-du-mois,
a#lien-poeme-du-mois,
a[href="#"]:has(strong:has(em)),
a[href="#"] em strong { display: none !important; }
/* On recrute */
.widget_block a[href=""]:first-child { display: none !important; }
.widget_block:has(a[href=""]:only-child) { display: none !important; }
/* custom_css menu */
li a[href*="custom_css"] { display: none !important; }
/* Classic menu editor fallback */
.menu-item a[href*="custom_css"] { display: none !important; }
/* Navigation menu text fallback */
#ast-desktop-header a:has(> "custom_css") { display: none !important; }
/* --- SITE CONTENT ONLY (jamais admin bar) --- */
.ast-container,
.woocommerce,
.site-content,
.site-main,
.astra-shop-container,
.ast-woocommerce-container {
    background: var(--odp-blanc);
}
.site-header {
    background: var(--odp-blanc);
    box-shadow: 0 1px 3px rgba(0,0,0,.04);
}

/* --- POLICES (scope aux contenus, pas #wpadminbar) --- */
.woocommerce-loop-product__title,
.product_title,
.page-title,
.site-title,
.ast-site-title-wrap h1,
.ast-site-title-wrap h2,
.ast-site-title-wrap h3,
.ast-site-title-wrap h4,
.ast-site-title-wrap h5,
.ast-site-title-wrap h6 {
    font-family: 'Playfair Display', Georgia, serif;
    font-weight: 400;
    letter-spacing: -.01em;
}
.ast-woo-product-category,
.price,
.button,
.add_to_cart_button,
.ast-shop-product-out-of-stock,
.woocommerce ul.products li.product *,
.woocommerce div.product * {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* --- COULEURS BOUTONS --- */
.button, .add_to_cart_button, button[type="submit"],
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    background: var(--odp-sauge);
    color: white;
    border: none;
    border-radius: 0;
    font-size: .8rem;
    letter-spacing: .05em;
    text-transform: uppercase;
    transition: all .3s;
}
.button:hover, .add_to_cart_button:hover,
.woocommerce a.button:hover {
    background: var(--odp-sauge-dark);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(82,121,111,.2);
}
.woocommerce ul.products li.product .button {
    margin-top: .8rem;
}

/* Liens boutique */
.woocommerce a,
.woocommerce-LoopProduct-link,
.product_cat a {
    color: var(--odp-text);
    transition: color .3s;
}
.woocommerce a:hover {
    color: var(--odp-sauge);
}

/* --- MENU PRINCIPAL --- */
.main-navigation,
.ast-primary-menu-bar {
    font-family: 'Inter', sans-serif;
    font-size: .85rem;
    letter-spacing: .02em;
}

/* --- SUPPRESSION SIDEBAR --- */
.ast-left-sidebar #secondary {
    display: none !important;
}
.ast-left-sidebar #primary {
    max-width: 100% !important;
    width: 100% !important;
    flex: 1 !important;
    border: none !important;
}

/* --- BARRE CATÉGORIES HORIZONTALE --- */
.odp-cat-bar {
    position: sticky !important;
    top: 0 !important;
    z-index: 98 !important;
    background: #fff !important;
    border-bottom: 1px solid #f0ede8 !important;
    box-shadow: 0 1px 3px rgba(0,0,0,.03) !important;
}
.odp-cat-bar-inner {
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 0 1rem !important;
}
.odp-cat-menu {
    display: flex !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    flex-wrap: nowrap !important;
    scrollbar-width: none !important;
}
.odp-cat-menu::-webkit-scrollbar { display: none !important; }

.odp-cat-item {
    position: relative !important;
    flex-shrink: 0 !important;
}
.odp-cat-item a {
    display: block !important;
    padding: .75rem 1rem !important;
    font-family: 'Inter', sans-serif !important;
    font-size: .78rem !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
    color: var(--odp-text) !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: color .2s ease !important;
    border-bottom: 2px solid transparent !important;
}
.odp-cat-item a:hover {
    color: var(--odp-sauge) !important;
    border-bottom-color: var(--odp-sauge) !important;
}
.odp-cat-item.current-cat a,
.odp-cat-item.current-cat-parent a {
    color: var(--odp-sauge) !important;
    border-bottom-color: var(--odp-sauge) !important;
}

/* --- DROPDOWN SOUS-CATÉGORIES --- */
.odp-cat-submenu {
    display: none !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    background: #fff !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.1) !important;
    min-width: 210px !important;
    z-index: 99 !important;
    list-style: none !important;
    padding: .5rem 0 !important;
    margin: 0 !important;
    border: 1px solid #f0ede8 !important;
}
.odp-cat-item.has-children:hover .odp-cat-submenu {
    display: block !important;
}
.odp-cat-submenu li a {
    padding: .5rem 1.2rem !important;
    font-size: .78rem !important;
    text-transform: none !important;
    letter-spacing: .02em !important;
    border-bottom: none !important;
}
.odp-cat-submenu li a:hover {
    background: var(--odp-beige) !important;
}

/* --- GRILLE PRODUITS --- */
.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 1.5rem !important;
}
.woocommerce ul.products li.product {
    background: white !important;
    border: 1px solid #f0ede8 !important;
    padding: 1rem !important;
    transition: all .3s !important;
}
.woocommerce ul.products li.product:hover {
    border-color: var(--odp-sauge) !important;
    box-shadow: 0 8px 24px rgba(82,121,111,.1) !important;
}
.woocommerce ul.products li.product img {
    width: 100% !important;
    height: 200px !important;
    object-fit: cover !important;
    margin-bottom: .8rem !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: .95rem !important;
    color: var(--odp-text) !important;
    line-height: 1.3 !important;
    margin-bottom: .3rem !important;
}
.woocommerce ul.products li.product .price {
    color: var(--odp-sauge) !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
}
.ast-woo-product-category {
    font-size: .75rem !important;
    color: var(--odp-gris) !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
    margin-bottom: .2rem !important;
}

/* --- BADGE RUPTURE --- */
.ast-shop-product-out-of-stock {
    background: var(--odp-terre) !important;
    color: white !important;
    padding: .3rem .6rem !important;
    font-size: .65rem !important;
    text-transform: uppercase !important;
    letter-spacing: .05em !important;
    position: absolute !important;
    top: 10px !important;
    left: 10px !important;
    z-index: 10 !important;
}

/* --- PAGINATION --- */
.woocommerce-pagination {
    text-align: center !important;
    margin: 3rem 0 !important;
}
.woocommerce-pagination .page-numbers {
    padding: .5rem .9rem !important;
    background: var(--odp-beige) !important;
    color: var(--odp-text) !important;
    font-size: .8rem !important;
    margin: 0 .2rem !important;
    transition: all .3s !important;
}
.woocommerce-pagination .page-numbers.current,
.woocommerce-pagination .page-numbers:hover {
    background: var(--odp-sauge) !important;
    color: white !important;
}

/* --- BOUTON GESTION CATÉGORIES --- */
.odp-cat-manage {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    padding: .75rem .8rem !important;
    font-family: 'Inter', sans-serif !important;
    font-size: .75rem !important;
    color: var(--odp-gris) !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    letter-spacing: .05em !important;
    border-left: 1px solid #f0ede8 !important;
    transition: color .2s !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
}
.odp-cat-manage:hover {
    color: var(--odp-terre) !important;
}
@media (max-width: 768px) {
    .odp-cat-manage span { display: none !important; }
}
/* --- RESPONSIVE --- */
@media (max-width: 768px) {
    .woocommerce ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    .odp-cat-menu {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }
    .odp-cat-item a {
        padding: .6rem .7rem !important;
        font-size: .72rem !important;
    }
}

/* Séparation fine entre items */
.odp-cat-item + .odp-cat-item a {
    border-left: 1px solid #f0ede8 !important;
}

/* --- BARRE RECHERCHE DANS NAV CATEGORIES --- */
.odp-cat-bar-inner {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
}
.odp-cat-menu {
    flex: 1 !important;
}
.odp-cat-search {
    flex-shrink: 0 !important;
    margin-left: auto !important;
    padding: 0 !important;
}
.odp-cat-search form {
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
}
.odp-cat-search input[type="search"] {
    border: 1px solid #e0ddd7 !important;
    border-left: none !important;
    border-right: none !important;
    border-top: none !important;
    background: transparent !important;
    padding: .75rem .5rem !important;
    font-family: 'Inter', sans-serif !important;
    font-size: .78rem !important;
    color: var(--odp-text) !important;
    width: 140px !important;
    outline: none !important;
    transition: width .3s !important;
}
.odp-cat-search input[type="search"]:focus {
    width: 200px !important;
    border-bottom-color: var(--odp-sauge) !important;
}
.odp-cat-search input[type="search"]::placeholder {
    color: #bbb !important;
}
@media (max-width: 768px) {
    .odp-cat-bar-inner {
        flex-wrap: wrap !important;
    }
    .odp-cat-search {
        width: 100% !important;
        margin-left: 0 !important;
        border-top: 1px solid #f0ede8 !important;
    }
    .odp-cat-search input[type="search"] {
        width: 100% !important;
        padding: .6rem .7rem !important;
    }
}
/* ▸ BADGE BIO — forcé 32px sur l'image produit (haut droite) */
.astra-shop-thumbnail-wrap .woocommerce-LoopProduct-link > div[style*="position:absolute"] img {
  max-width: none !important;
  width: auto !important;
  height: 32px !important;
  object-fit: contain !important;
}
