/*
Theme Name: Cidrerie de la Chesnaie
Theme URI: https://cidrerielachesnaie.com
Description: Thème enfant Astra pour la Cidrerie de la Chesnaie. Design et intégration Startweb, code sur mesure (sans Elementor).
Author: Startweb
Author URI: https://startweb.fr
Template: astra
Version: 1.0.0
Text Domain: chesnaie
*/

/* Le CSS des maquettes est repris tel quel ci-dessous (rendu identique). Les seules additions sont en fin de fichier, section "WordPress et WooCommerce". */


  :root{
    --cream:      #FAF6EC;
    --cream-2:    #F2EBDA;
    --ink:        #1C1C19;
    --green:      #2E7D42;   /* vert du logo, couleur maitresse */
    --green-deep: #1E5330;   /* contraste sur creme, aplats fonces */
    --green-pale: #E9F1E5;   /* bande douce */
    --tile:       #15271B;   /* tuiles produits, vert bouteille */
    --muted:      #6C6C61;
    --bleu:       #2B4A8B;    /* rappel tricolore, micro accent */
    --rouge:      #C0392B;
    --line:       rgba(28,28,25,.12);
    --line-2:     rgba(28,28,25,.06);

    --display: "Bricolage Grotesque", system-ui, sans-serif;
    --body: "Hanken Grotesk", system-ui, sans-serif;
    --script: "Caveat", cursive;
    --maxw: 1240px;
    --gut: clamp(1.25rem, 4vw, 4.5rem);
  }
  *{ box-sizing:border-box; margin:0; padding:0; }
  html{ scroll-behavior:smooth; }
  @media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }
  body{ background:var(--cream); color:var(--ink); font-family:var(--body); line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
  img{ display:block; max-width:100%; }
  a{ color:inherit; text-decoration:none; }
  .wrap{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gut); }

  /* Intro pomme */
  .intro{ position:fixed; inset:0; z-index:1000; background:var(--cream); display:grid; place-items:center; animation:introOut .55s ease 1.35s forwards; }
  .apple-wrap{ width:160px; height:174px; position:relative; animation:appleIn .5s cubic-bezier(.2,.8,.3,1) both; }
  .apple-half{ position:absolute; inset:0; width:100%; height:100%; transform-origin:center; }
  .apple-half.left{ animation:splitL 1.7s cubic-bezier(.7,0,.3,1) both; }
  .apple-half.right{ animation:splitR 1.7s cubic-bezier(.7,0,.3,1) both; }
  @keyframes appleIn{ from{ transform:scale(.55); opacity:0; } to{ transform:scale(1); opacity:1; } }
  @keyframes splitL{ 0%,32%{ transform:translateX(0) rotate(0); } 100%{ transform:translateX(-58%) rotate(-13deg); opacity:0; } }
  @keyframes splitR{ 0%,32%{ transform:translateX(0) rotate(0); } 100%{ transform:translateX(58%) rotate(13deg); opacity:0; } }
  @keyframes introOut{ to{ opacity:0; visibility:hidden; } }
  @media (prefers-reduced-motion: reduce){ .intro{ display:none; } }

  .eyebrow{ font-size:.72rem; letter-spacing:.26em; text-transform:uppercase; font-weight:700; color:var(--green); }
  .script{ font-family:var(--script); color:var(--green); font-weight:700; }
  h1,h2,h3{ font-family:var(--display); font-weight:600; line-height:1.05; letter-spacing:-.015em; }

  .btn{ display:inline-flex; align-items:center; gap:.55em; font-family:var(--body); font-weight:600; font-size:.9rem; padding:.9em 1.7em; border-radius:999px; border:1.5px solid transparent; cursor:pointer; transition:background .25s, color .25s, border-color .25s, transform .25s; }
  .btn-green{ background:var(--green); color:#fff; }
  .btn-green:hover{ background:var(--green-deep); transform:translateY(-2px); }
  .btn-line{ background:transparent; color:var(--green-deep); border-color:var(--green); }
  .btn-line:hover{ background:var(--green); color:#fff; transform:translateY(-2px); }
  .btn-light{ background:transparent; color:#fff; border-color:rgba(255,255,255,.55); }
  .btn-light:hover{ background:#fff; color:var(--green-deep); transform:translateY(-2px); }
  :focus-visible{ outline:2px solid var(--green); outline-offset:3px; }

  /* Header */
  .header{ position:fixed; inset:0 0 auto 0; z-index:100; display:flex; align-items:center; justify-content:space-between; padding:1.1rem var(--gut); transition:padding .3s, background .3s, box-shadow .3s; }
  .header.scrolled{ padding:.6rem var(--gut); background:rgba(250,246,236,.92); backdrop-filter:blur(12px); box-shadow:0 1px 0 var(--line); }
  .brand-logo{ height:84px; width:auto; transition:height .3s; }
  .header.scrolled .brand-logo{ height:66px; }
  .brand-color{ display:none; }
  .header.scrolled .brand-white{ display:none; }
  .header.scrolled .brand-color{ display:block; }
  .nav{ display:flex; align-items:center; gap:2.1rem; }
  .nav a{ font-size:.88rem; font-weight:500; position:relative; padding:.2rem 0; color:#fff; }
  .header.scrolled .nav a{ color:var(--ink); }
  .nav a::after{ content:""; position:absolute; left:0; bottom:-2px; height:2px; width:0; background:var(--green); transition:width .25s; }
  .nav a:hover::after{ width:100%; }
  .h-actions{ display:flex; align-items:center; gap:1.2rem; }
  .cart{ color:#fff; }
  .header.scrolled .cart{ color:var(--ink); }
  .cart svg{ width:20px; height:20px; }
  .btn-boutique{ background:#fff; color:var(--green-deep); border-color:#fff; }
  .btn-boutique:hover{ background:var(--cream); transform:translateY(-2px); }
  .header.scrolled .btn-boutique{ background:var(--green); color:#fff; border-color:var(--green); }
  .header.scrolled .btn-boutique:hover{ background:var(--green-deep); }
  .burger{ display:none; background:none; border:none; cursor:pointer; padding:.4rem; }
  .burger span{ display:block; width:24px; height:2px; background:#fff; margin:5px 0; border-radius:2px; }
  .header.scrolled .burger span{ background:var(--ink); }

  /* Hero */
  .hero{ position:relative; min-height:100svh; display:flex; align-items:center; overflow:hidden; }
  .hero-bg{ position:absolute; inset:0; z-index:0; }
  .hero-bg img{ width:100%; height:100%; object-fit:cover; object-position:72% center; }
  .hero-bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(95deg, rgba(10,32,18,.9) 0%, rgba(10,32,18,.62) 38%, rgba(10,32,18,.14) 66%, rgba(10,32,18,.4) 100%), linear-gradient(0deg, rgba(10,32,18,.5), transparent 40%); }
  .hero .wrap{ position:relative; z-index:2; width:100%; padding-top:7rem; padding-bottom:3rem; }
  .hero-copy{ max-width:40rem; }
  .hero-tag{ font-family:var(--script); font-size:clamp(1.7rem,3vw,2.3rem); color:#BFE0BE; margin-bottom:.3rem; }
  .hero h1{ font-size:clamp(2.9rem,7vw,5.8rem); margin-bottom:1.6rem; color:#fff; }
  .hero h1 .g{ color:#BFE0BE; }
  .hero p{ font-size:clamp(1.02rem,1.5vw,1.18rem); color:rgba(250,246,236,.87); max-width:44ch; margin-bottom:2.4rem; }
  .hero-cta{ display:flex; gap:.9rem; flex-wrap:wrap; }
  .hero-since{ display:flex; align-items:center; gap:.7rem; margin-top:2.4rem; font-size:.74rem; letter-spacing:.18em; text-transform:uppercase; color:rgba(250,246,236,.8); }
  .tricolore{ display:inline-flex; width:34px; height:11px; border-radius:2px; overflow:hidden; }
  .tricolore i{ flex:1; } .tricolore .b{ background:var(--bleu);} .tricolore .w{ background:#fff;} .tricolore .r{ background:var(--rouge);}

  /* Marquee */
  .marquee{ background:var(--green); color:#fff; overflow:hidden; }
  .marquee-track{ display:flex; width:max-content; animation:scroll 32s linear infinite; }
  .marquee:hover .marquee-track{ animation-play-state:paused; }
  .marquee-item{ display:flex; align-items:center; padding-block:.95rem; }
  .marquee-item span{ font-size:.76rem; letter-spacing:.2em; text-transform:uppercase; font-weight:500; white-space:nowrap; padding-inline:1.7rem; }
  .marquee-item .mdot{ display:block; width:5px; height:5px; border-radius:50%; background:#BFE0BE; flex:none; }
  @keyframes scroll{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
  @media (prefers-reduced-motion: reduce){ .marquee-track{ animation:none; flex-wrap:wrap; justify-content:center; } .marquee-item:nth-child(2){ display:none; } }

  /* Sections */
  .section{ padding-block:clamp(4.5rem,9vw,8rem); }
  .head{ display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; margin-bottom:3.2rem; flex-wrap:wrap; }
  .head h2{ font-size:clamp(2.2rem,5vw,3.5rem); margin-top:.6rem; max-width:16ch; }
  .head p{ color:var(--muted); max-width:34ch; }

  /* Produits */
  .grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.4rem; }
  .card{ display:block; background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden; transition:border-color .3s, transform .3s, box-shadow .3s; }
  .card:hover{ transform:translateY(-6px); border-color:var(--green); box-shadow:0 22px 40px -26px rgba(20,40,25,.4); }
  .card-img{ aspect-ratio:4/5; background:var(--tile); overflow:hidden; }
  .card-img img{ width:100%; height:100%; object-fit:cover; transition:transform .6s; }
  .card:hover .card-img img{ transform:scale(1.05); }
  .card-body{ padding:1.3rem 1.35rem 1.5rem; }
  .card .kicker{ font-size:.64rem; letter-spacing:.22em; text-transform:uppercase; color:var(--green); font-weight:700; }
  .card h3{ font-size:1.45rem; margin:.5rem 0 .45rem; }
  .card .price{ font-size:.84rem; color:var(--muted); }
  .card .price b{ color:var(--ink); font-weight:700; }

  /* Calvados feature */
  .feature{ background:var(--green-pale); }
  .feature .wrap{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,6vw,5rem); align-items:center; }
  .feature-txt .eyebrow{ display:block; margin-bottom:1.2rem; }
  .feature-txt h2{ font-size:clamp(2.2rem,4.5vw,3.4rem); margin-bottom:1.3rem; }
  .feature-txt p{ color:var(--muted); margin-bottom:1.6rem; max-width:44ch; }
  .ages{ display:flex; gap:.6rem; flex-wrap:wrap; margin-bottom:2rem; }
  .age{ font-weight:600; font-size:.9rem; padding:.5em 1.1em; border:1.5px solid var(--green); border-radius:999px; color:var(--green-deep); cursor:pointer; transition:.2s; }
  .age.on{ background:var(--green); color:#fff; }
  .feature-img{ border-radius:16px; overflow:hidden; box-shadow:0 34px 64px -32px rgba(20,40,25,.55); }
  .feature-img img{ width:100%; height:auto; display:block; }
  .feature-price{ margin-bottom:1.7rem; }
  .feature-price b{ font-size:1.35rem; font-weight:700; color:var(--green-deep); }
  .feature-price span{ color:var(--muted); font-size:.86rem; }
  .alco-note{ font-size:.72rem; color:var(--muted); margin:0 0 1.4rem; max-width:44ch; }

  /* Bio */
  .bio .wrap{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,6vw,5rem); align-items:center; }
  .bio-txt .leaf{ color:var(--green); font-size:1.6rem; margin-bottom:1rem; display:inline-block; transform-origin:50% 50%; animation:spin 9s linear infinite; }
  .bio-txt h2{ font-size:clamp(2rem,4.5vw,3.2rem); margin-bottom:1.3rem; }
  .bio-txt h2 .g{ color:var(--green); }
  .bio-txt p{ color:var(--muted); max-width:46ch; font-size:1.03rem; }
  .labels{ margin-top:1.9rem; }
  .cert-pill{ display:inline-flex; align-items:center; gap:.7em; border:1px solid var(--green); border-radius:999px; padding:.6em 1.1em; }
  .cert-dot{ width:7px; height:7px; border-radius:50%; background:var(--green); flex:none; }
  .cert-text{ font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; font-weight:700; color:var(--green-deep); white-space:nowrap; display:inline-block; transition:opacity .35s ease, transform .35s ease; }
  .cert-text.out{ opacity:0; transform:translateY(-6px); }
  @keyframes spin{ to{ transform:rotate(360deg); } }
  @media (prefers-reduced-motion: reduce){ .bio-txt .leaf{ animation:none; } .cert-text{ transition:none; } }
  .bio-img{ border-radius:14px; overflow:hidden; box-shadow:0 24px 46px -28px rgba(20,40,25,.5); order:-1; }
  .bio-img img{ width:100%; height:auto; display:block; }

  /* Livraison */
  .ship{ background:var(--cream-2); }
  .ship .wrap{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,6vw,5rem); align-items:center; }
  .ship-img{ border-radius:14px; overflow:hidden; aspect-ratio:4/5; box-shadow:0 24px 46px -28px rgba(20,40,25,.5); }
  .ship-img img{ width:100%; height:100%; object-fit:cover; display:block; }
  .ship-txt{ order:-1; }
  .ship-txt .eyebrow{ display:block; margin-bottom:1rem; }
  .ship-txt h2{ font-size:clamp(2rem,4.5vw,3.2rem); margin-bottom:1.3rem; }
  .ship-txt h2 .g{ color:var(--green); }
  .ship-txt p{ color:var(--muted); max-width:46ch; margin-bottom:1.6rem; }
  .ship-points{ list-style:none; display:grid; gap:.75rem; margin-bottom:1.9rem; }
  .ship-points li{ display:flex; align-items:center; gap:.7em; font-size:.96rem; }
  .ship-points svg{ width:18px; height:18px; color:var(--green); flex:none; }

  /* Panier decouverte */
  .panier{ background:var(--green-deep); color:var(--cream); }
  .panier .wrap{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,6vw,5rem); align-items:center; }
  .panier .eyebrow{ color:#BFE0BE; }
  .panier h2{ font-size:clamp(2rem,4.5vw,3.2rem); margin:.6rem 0 1.2rem; color:#fff; }
  .panier p{ color:rgba(250,246,236,.82); max-width:46ch; margin-bottom:1.6rem; }
  .panier-img{ border-radius:14px; overflow:hidden; box-shadow:0 34px 66px -30px rgba(0,0,0,.65); }
  .panier-img img{ width:100%; height:auto; display:block; }
  .panier-price{ display:flex; align-items:baseline; gap:.6rem; margin-bottom:1.9rem; }
  .panier-price b{ font-family:var(--display); font-size:1.9rem; color:#fff; }
  .panier-price span{ color:rgba(250,246,236,.7); font-size:.9rem; }
  .panier .alco-note{ color:rgba(250,246,236,.6); margin-top:1.2rem; }
  .btn-cream{ background:var(--cream); color:var(--green-deep); }
  .btn-cream:hover{ background:#fff; transform:translateY(-2px); }

  /* Quote */
  .quote{ position:relative; background:var(--green-deep); color:var(--cream); text-align:center; overflow:hidden; }
  .quote-bg{ position:absolute; inset:0; z-index:0; }
  .quote-bg img{ width:100%; height:100%; object-fit:cover; object-position:center; }
  .quote-bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(9,28,17,.72) 0%, rgba(9,28,17,.58) 50%, rgba(9,28,17,.74) 100%); }
  .quote .wrap{ position:relative; z-index:2; }
  .quote .wrap{ max-width:60rem; }
  .quote .mark{ font-family:var(--display); font-size:3rem; color:rgba(250,246,236,.4); line-height:1; margin-bottom:1rem; }
  .quote blockquote{ font-family:var(--display); font-weight:500; font-size:clamp(1.6rem,3.6vw,2.5rem); line-height:1.3; text-shadow:0 2px 20px rgba(0,0,0,.45); }
  .quote cite{ display:block; margin-top:1.6rem; font-family:var(--script); font-style:normal; font-size:1.5rem; color:#BFE0BE; }

  /* Visite */
  .visit .wrap{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,6vw,4rem); align-items:center; }
  .visit h2{ font-size:clamp(2rem,4.5vw,3.2rem); margin-bottom:1.5rem; }
  .vrow{ display:flex; gap:1.2rem; padding:1rem 0; border-top:1px solid var(--line-2); min-width:0; }
  .vrow:first-of-type{ border-top:none; }
  .vrow .k{ font-size:.66rem; letter-spacing:.18em; text-transform:uppercase; color:var(--green); min-width:96px; flex:none; padding-top:.25rem; font-weight:700; }
  .vrow .v{ font-size:.98rem; min-width:0; overflow-wrap:anywhere; } .vrow .v span{ color:var(--muted); }
  .visit-aside{ font-family:var(--display); font-size:clamp(1.6rem,3.6vw,2.4rem); line-height:1.25; }
  .visit-aside .g{ color:var(--green); }

  /* Footer */
  .footer{ background:var(--green-deep); color:var(--cream); padding-block:4rem 2rem; }
  .footer-word{ font-family:var(--display); font-weight:700; font-size:1.6rem; color:#fff; }
  .footer-word .s{ display:block; font-family:var(--script); font-weight:600; font-size:1.4rem; color:#BFE0BE; margin-top:.1rem; }
  .fgrid{ display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:2.5rem; }
  .fbrand p{ color:rgba(250,246,236,.7); font-size:.9rem; max-width:34ch; margin-top:1rem; }
  .fcol h4{ font-size:.68rem; letter-spacing:.2em; text-transform:uppercase; color:#BFE0BE; margin-bottom:1.1rem; font-weight:700; }
  .fcol a{ display:block; color:rgba(250,246,236,.7); font-size:.9rem; margin-bottom:.6rem; transition:color .2s; }
  .fcol a:hover{ color:#fff; }
  .legal{ margin-top:3rem; padding-top:1.6rem; border-top:1px solid rgba(250,246,236,.15); display:flex; flex-direction:column; gap:1.2rem; }
  .legal-links{ display:flex; flex-wrap:wrap; gap:.6rem 1.4rem; }
  .legal-links a{ font-size:.8rem; color:rgba(250,246,236,.72); transition:color .2s; }
  .legal-links a:hover{ color:#fff; }
  .legal-bottom{ display:flex; flex-wrap:wrap; gap:1rem; justify-content:space-between; align-items:center; }
  .legal .warn{ font-size:.8rem; color:var(--cream); } .legal .warn b{ color:#BFE0BE; }
  .legal .credit{ font-size:.78rem; color:rgba(250,246,236,.6);} .legal .credit a{ color:#fff; }

  /* Cookies */
  .cookie{ position:fixed; left:clamp(1rem,3vw,2rem); bottom:clamp(1rem,3vw,2rem); z-index:300; width:min(420px, calc(100vw - 2rem)); background:var(--cream); border:1px solid var(--line); border-radius:16px; box-shadow:0 22px 54px -20px rgba(20,40,25,.45); padding:1.4rem 1.5rem; transition:opacity .4s, transform .4s, visibility .4s; }
  .cookie.hide{ opacity:0; transform:translateY(18px); visibility:hidden; pointer-events:none; }
  .cookie h4{ font-family:var(--display); font-size:1.15rem; margin-bottom:.5rem; display:flex; align-items:center; justify-content:space-between; gap:.6rem; }
  .cookie h4 svg{ width:26px; height:26px; color:var(--green); flex:none; }
  .cookie p{ font-size:.82rem; color:var(--muted); margin-bottom:1.1rem; line-height:1.55; }
  .cookie p a{ color:var(--green-deep); text-decoration:underline; }
  .cookie-btns{ display:flex; flex-wrap:wrap; gap:.6rem; align-items:center; }
  .cookie .btn{ font-size:.82rem; padding:.7em 1.2em; }
  .cookie-link{ background:none; border:none; cursor:pointer; font-family:var(--body); font-size:.8rem; color:var(--green-deep); text-decoration:underline; padding:.4em; }
  .cookie-modal{ position:fixed; inset:0; z-index:310; display:grid; place-items:center; padding:1rem; background:rgba(20,30,22,.5); transition:opacity .3s, visibility .3s; }
  .cookie-modal.hide{ opacity:0; visibility:hidden; pointer-events:none; }
  .cookie-panel{ width:min(500px,100%); max-height:90vh; overflow:auto; background:var(--cream); border-radius:18px; padding:1.8rem; }
  .cookie-panel h3{ font-family:var(--display); font-size:1.5rem; margin-bottom:.5rem; }
  .cookie-panel .lead{ font-size:.86rem; color:var(--muted); margin-bottom:1.2rem; }
  .ck-row{ display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; padding:1rem 0; border-top:1px solid var(--line); }
  .ck-row h5{ font-size:.95rem; margin-bottom:.2rem; }
  .ck-row p{ font-size:.78rem; color:var(--muted); line-height:1.5; }
  .switch{ position:relative; width:44px; height:24px; flex:none; }
  .switch input{ opacity:0; width:0; height:0; }
  .slider{ position:absolute; inset:0; background:#cfc9ba; border-radius:999px; transition:.25s; cursor:pointer; }
  .slider::before{ content:""; position:absolute; width:18px; height:18px; left:3px; top:3px; background:#fff; border-radius:50%; transition:.25s; }
  .switch input:checked + .slider{ background:var(--green); }
  .switch input:checked + .slider::before{ transform:translateX(20px); }
  .switch input:disabled + .slider{ opacity:.55; cursor:not-allowed; }
  .cookie-panel-btns{ display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.6rem; }

  /* Reveal */
  .rv{ opacity:0; transform:translateY(24px); transition:opacity .8s, transform .8s; }
  .rv.in{ opacity:1; transform:none; }
  @media (prefers-reduced-motion: reduce){ .rv{ opacity:1; transform:none; transition:none; } }

  @media (max-width:1000px){
    .grid{ grid-template-columns:repeat(2,1fr); }
    .fgrid{ grid-template-columns:1fr 1fr; gap:2rem; }
  }
  @media (max-width:760px){
    .feature .wrap, .bio .wrap, .visit .wrap, .ship .wrap, .panier .wrap{ grid-template-columns:1fr; }
    .feature-img{ order:-1; }
    .bio-img{ order:0; }
  }
  @media (max-width:680px){
    .nav, .cart{ display:none; }
    .burger{ display:block; }
    .brand-logo{ height:60px; }
    .header.scrolled .brand-logo{ height:54px; }
    .h-actions{ gap:.7rem; }
    .btn-boutique{ padding:.65em 1.15em; font-size:.8rem; }
    .nav.open{ display:flex; position:absolute; top:calc(100% + .4rem); right:var(--gut); left:auto; flex-direction:column; gap:0; min-width:190px; background:var(--cream); border:1px solid var(--line); border-radius:12px; box-shadow:0 12px 30px -10px rgba(20,40,25,.28); padding:.4rem 0; overflow:hidden; }
    .nav.open a{ padding:.7rem 1.3rem; color:var(--ink); }
    .nav.open a::after{ display:none; }
    .grid{ grid-template-columns:1fr; gap:1.1rem; }
    .head{ flex-direction:column; align-items:flex-start; }
    .visit-aside{ font-size:1.45rem; }
    .fgrid{ grid-template-columns:1fr; gap:1.8rem; }
  }

  /* Avis clients (mur defilant) */
  .avis{ background:var(--cream-2); }
  .avis-head{ text-align:center; max-width:640px; margin:0 auto 3rem; }
  .avis-head h2{ font-size:clamp(2rem,4.5vw,3.4rem); margin:.7rem 0 1rem; }
  .avis-head p{ color:var(--muted); }
  .avis-wall{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; height:clamp(560px,80vh,800px); overflow:hidden; -webkit-mask:linear-gradient(180deg,transparent,#000 8%,#000 92%,transparent); mask:linear-gradient(180deg,transparent,#000 8%,#000 92%,transparent); }
  .avis-col{ overflow:hidden; }
  .avis-colinner{ display:flex; flex-direction:column; gap:1.4rem; will-change:transform; }
  .avis-colinner.up1{ animation:colUp 48s linear infinite; }
  .avis-colinner.down1{ animation:colDown 56s linear infinite; }
  .avis-colinner.up2{ animation:colUp 52s linear infinite; }
  @keyframes colUp{ from{ transform:translateY(0); } to{ transform:translateY(-50%); } }
  @keyframes colDown{ from{ transform:translateY(-50%); } to{ transform:translateY(0); } }
  .acard{ background:#fff; border:1px solid var(--line); border-radius:16px; padding:1.5rem 1.6rem; display:flex; flex-direction:column; gap:.9rem; box-shadow:0 16px 34px -26px rgba(20,40,25,.35); }
  .acard-top{ display:flex; align-items:center; justify-content:space-between; }
  .stars{ display:flex; gap:2px; color:#E8B23A; }
  .stars svg{ width:16px; height:16px; }
  .ggl{ font-size:.72rem; font-weight:700; letter-spacing:.04em; color:var(--muted); }
  .acard > p{ font-size:.9rem; color:var(--ink); line-height:1.55; margin:0; }
  .who{ display:flex; align-items:center; gap:.7rem; }
  .avatar{ width:38px; height:38px; border-radius:50%; background:var(--green); color:#fff; display:grid; place-items:center; font-weight:700; font-size:.95rem; flex:none; font-family:var(--display); }
  .who-meta b{ font-size:.9rem; display:block; }
  .who-meta span{ font-size:.76rem; color:var(--muted); }
  .avis-cta{ text-align:center; margin-top:2.4rem; }
  @media (prefers-reduced-motion: reduce){ .avis-colinner{ animation:none; } .avis-wall{ height:auto; } .avis-colinner .acard:nth-child(n+4){ display:none; } }
  @media (max-width:1000px){ .avis-wall{ grid-template-columns:repeat(2,1fr); } .avis-col:nth-child(3){ display:none; } }
  @media (max-width:680px){ .avis-wall{ grid-template-columns:1fr; height:clamp(500px,74vh,640px); } .avis-col:nth-child(2){ display:none; } }

  /* Reseaux sociaux */
  .social{ position:relative; background:var(--green-deep); color:#fff; overflow:hidden; }
  .social-bg{ position:absolute; inset:0; z-index:0; }
  .social-bg img{ width:100%; height:100%; object-fit:cover; object-position:78% center; }
  .social-bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(9,28,17,.94) 0%, rgba(9,28,17,.78) 34%, rgba(9,28,17,.30) 62%, rgba(9,28,17,.08) 100%); }
  .social .wrap{ position:relative; z-index:2; }
  .social-txt{ text-shadow:0 1px 14px rgba(0,0,0,.3); }
  .social-inner{ max-width:560px; }
  .social-txt .eyebrow{ color:#CDEBD0; }
  .social-txt h2{ font-size:clamp(2rem,4.5vw,3.4rem); color:#fff; margin:.6rem 0 1rem; }
  .social-txt p{ color:rgba(255,255,255,.9); max-width:48ch; }
  .social-txt p b{ color:#fff; }
  .social-actions{ display:flex; gap:1rem; flex-wrap:wrap; justify-content:flex-start; margin-top:2rem; }
  .social-btn{ display:inline-flex; align-items:center; gap:.6em; background:#fff; color:var(--green-deep); padding:.9em 1.5em; border-radius:999px; font-weight:600; font-size:.95rem; transition:transform .25s, box-shadow .25s; }
  .social-btn:hover{ transform:translateY(-3px); box-shadow:0 14px 26px -12px rgba(0,0,0,.4); }
  .social-btn svg{ width:22px; height:22px; }
  .fsocial{ display:flex; gap:.7rem; margin-top:1.3rem; }
  .fsocial a{ width:40px; height:40px; border-radius:50%; border:1px solid rgba(250,246,236,.25); display:grid; place-items:center; color:var(--cream); transition:background .2s, border-color .2s, transform .2s; }
  .fsocial a:hover{ background:var(--green); border-color:var(--green); transform:translateY(-2px); }
  .fsocial svg{ width:18px; height:18px; }
  @media (max-width:760px){ .social-inner{ max-width:none; } .social-bg img{ object-position:center; } .social-bg::after{ background:linear-gradient(180deg, rgba(9,28,17,.72), rgba(9,28,17,.9)); } }

  /* Labels & recompenses */
  .labels-sec{ background:var(--cream); }
  .labels-head{ text-align:center; max-width:620px; margin:0 auto 3rem; }
  .labels-head h2{ font-size:clamp(2rem,4.5vw,3.4rem); margin:.7rem 0 1rem; }
  .labels-head p{ color:var(--muted); }
  .labels-row{ display:flex; flex-wrap:wrap; justify-content:center; gap:1.2rem; }
  .label-item{ flex:0 1 190px; height:130px; background:#fff; border:1px solid var(--line); border-radius:14px; display:grid; place-items:center; padding:1.3rem 1.6rem; box-shadow:0 12px 28px -22px rgba(20,40,25,.4); transition:transform .3s, box-shadow .3s; }
  .label-item:hover{ transform:translateY(-4px); box-shadow:0 18px 34px -22px rgba(20,40,25,.45); }
  .label-item img{ max-height:84px; max-width:150px; width:auto; object-fit:contain; }
  @media (max-width:680px){ .label-item{ flex:0 1 42%; height:112px; padding:1rem; } .label-item img{ max-height:64px; max-width:118px; } }

  /* Fiche produit */

  .pdp-top{ padding-top:7rem; }
  .crumb{ font-size:.8rem; color:var(--muted); margin-bottom:2rem; }
  .crumb a:hover{ color:var(--green); } .crumb span{ color:var(--ink); }
  .pdp-grid{ display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(2rem,5vw,4rem); align-items:start; }
  .pdp-gallery{ max-width:420px; width:100%; }
  .pdp-info{ padding-top:.5rem; }
  .pdp-main{ background:var(--tile); border-radius:16px; overflow:hidden; aspect-ratio:4/5; }
  .pdp-main img{ width:100%; height:100%; object-fit:cover; }
  .pdp-thumbs{ display:flex; gap:.8rem; margin-top:.9rem; }
  .pdp-thumb{ width:74px; height:88px; border-radius:10px; overflow:hidden; border:2px solid transparent; background:var(--tile); cursor:pointer; padding:0; transition:border-color .2s; }
  .pdp-thumb img{ width:100%; height:100%; object-fit:cover; }
  .pdp-thumb.is-active{ border-color:var(--green); }
  .pdp-info h1{ font-size:clamp(2.4rem,5vw,3.4rem); margin:.5rem 0 .6rem; }
  .pdp-rating{ display:flex; align-items:center; gap:.7rem; margin-bottom:1.4rem; }
  .pdp-rating .stars{ color:#E8B23A; display:flex; gap:2px; } .pdp-rating .stars svg{ width:16px; height:16px; }
  .pdp-rating span{ font-size:.84rem; color:var(--muted); }
  .pdp-price{ margin-bottom:1.4rem; } .pdp-price b{ font-family:var(--display); font-size:2rem; color:var(--green-deep); } .pdp-price span{ color:var(--muted); font-size:.9rem; }
  .pdp-lead{ color:var(--muted); margin-bottom:1.8rem; max-width:52ch; }
  .pdp-opt{ margin-bottom:1.6rem; }
  .pdp-opt > label{ display:block; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--green); font-weight:700; margin-bottom:.7rem; }
  .pdp-buy{ display:flex; gap:1rem; align-items:center; flex-wrap:wrap; margin-bottom:1.8rem; }
  .qty{ display:inline-flex; align-items:center; border:1.5px solid var(--line); border-radius:999px; overflow:hidden; }
  .qty button{ width:42px; height:46px; border:none; background:none; font-size:1.2rem; cursor:pointer; color:var(--ink); } .qty button:hover{ background:var(--cream-2); }
  .qty input{ width:40px; text-align:center; border:none; font-size:1rem; font-weight:600; background:none; }
  .pdp-add{ flex:1; justify-content:center; min-width:200px; }
  .pdp-reassure{ list-style:none; display:grid; gap:.6rem; margin-bottom:1.5rem; }
  .pdp-reassure li{ display:flex; align-items:center; gap:.6em; font-size:.9rem; } .pdp-reassure svg{ width:17px; height:17px; color:var(--green); flex:none; }
  .pdp-desc-grid{ display:grid; grid-template-columns:1.5fr 1fr; gap:clamp(2rem,5vw,4rem); align-items:start; }
  .pdp-desc-txt h2{ font-size:clamp(1.8rem,4vw,2.8rem); margin-bottom:1.2rem; } .pdp-desc-txt p{ color:var(--muted); margin-bottom:1.1rem; max-width:60ch; }
  .pdp-specs{ background:var(--cream-2); border-radius:16px; padding:1.8rem; } .pdp-specs h3{ font-family:var(--display); font-size:1.3rem; margin-bottom:1rem; }
  .pdp-specs dl{ margin:0; } .pdp-specs dl > div{ display:flex; justify-content:space-between; gap:1rem; padding:.7rem 0; border-top:1px solid var(--line); } .pdp-specs dl > div:first-child{ border-top:none; }
  .pdp-specs dt{ color:var(--muted); font-size:.9rem; } .pdp-specs dd{ margin:0; font-weight:600; font-size:.9rem; }
  .serve{ background:var(--green-pale); } .serve-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; margin-top:2rem; }
  .serve-card{ background:#fff; border:1px solid var(--line); border-radius:14px; padding:1.6rem; } .serve-card h3{ font-family:var(--display); font-size:1.3rem; margin-bottom:.5rem; } .serve-card p{ color:var(--muted); font-size:.9rem; }
  .avis-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; margin-top:1rem; }
  @media (max-width:900px){ .pdp-grid, .pdp-desc-grid{ grid-template-columns:1fr; } .pdp-gallery{ max-width:none; } .serve-grid, .avis-grid{ grid-template-columns:1fr; } }



  /* Boutique */
  .shop-head{ display:grid; grid-template-columns:1.2fr 1fr; gap:clamp(1.5rem,4vw,4rem); align-items:end; margin-bottom:2.6rem; }
  .shop-head h1{ font-size:clamp(2.4rem,5.5vw,4rem); margin-top:.6rem; }
  .shop-head p{ color:var(--muted); max-width:44ch; font-size:1.02rem; }
  .shop-bar{ display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin-bottom:1.8rem; padding-bottom:1.4rem; border-bottom:1px solid var(--line); }
  .shop-bar .ages{ margin-bottom:0; }
  .shop-count{ font-size:.8rem; color:var(--muted); }
  .shop-grid .card.is-hidden{ display:none; }
  .shop-reassure .serve-card h3{ display:flex; align-items:center; gap:.5em; }
  .shop-reassure .serve-card h3 svg{ width:18px; height:18px; color:var(--green); flex:none; }
  @media (max-width:760px){ .shop-head{ grid-template-columns:1fr; } }

  /* Notre histoire */
  .hero-story{ min-height:78svh; }
  .hero-story .hero-bg img{ object-position:center 60%; }
  .hero-story h1{ font-size:clamp(2.6rem,6vw,4.8rem); }
  .story-intro .wrap{ display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(2rem,6vw,5rem); align-items:center; }
  .story-txt h2{ font-size:clamp(2rem,4.5vw,3.2rem); margin:.8rem 0 1.3rem; }
  .story-txt h2 .g{ color:var(--green); }
  .story-txt p{ color:var(--muted); max-width:52ch; margin-bottom:1.1rem; font-size:1.03rem; }
  .story-img{ border-radius:16px; overflow:hidden; aspect-ratio:4/5; box-shadow:0 34px 64px -32px rgba(20,40,25,.55); }
  .story-img img{ width:100%; height:100%; object-fit:cover; }
  .timeline-sec{ background:var(--cream-2); }
  .timeline{ list-style:none; position:relative; max-width:900px; margin-inline:auto; padding-left:0; }
  .timeline::before{ content:""; position:absolute; left:calc(50% - 1px); top:0; bottom:0; width:2px; background:var(--green); opacity:.35; }
  .tl-item{ position:relative; display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,6vw,4rem); align-items:center; padding-block:1.4rem; }
  .tl-item::after{ content:""; position:absolute; left:50%; top:50%; width:14px; height:14px; border-radius:50%; background:var(--green); border:3px solid var(--cream-2); transform:translate(-50%,-50%); box-shadow:0 0 0 2px var(--green); }
  .tl-year{ font-family:var(--display); font-weight:700; font-size:clamp(2.2rem,5vw,3.6rem); color:var(--green); line-height:1; text-align:right; }
  .tl-item:nth-child(even) .tl-year{ order:2; text-align:left; }
  .tl-card{ background:#fff; border:1px solid var(--line); border-radius:14px; padding:1.5rem 1.6rem; box-shadow:0 16px 34px -26px rgba(20,40,25,.35); }
  .tl-card h3{ font-family:var(--display); font-size:1.25rem; margin-bottom:.5rem; }
  .tl-card p{ color:var(--muted); font-size:.92rem; }
  .story-bio{ background:var(--green-pale); }
  .story-cta{ display:flex; gap:.9rem; flex-wrap:wrap; margin-top:1.8rem; }
  .story-label-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; }
  .story-stat{ background:#fff; border:1px solid var(--line); border-radius:14px; padding:1.6rem 1.4rem; text-align:center; box-shadow:0 12px 28px -22px rgba(20,40,25,.4); }
  .story-stat b{ display:block; font-family:var(--display); font-size:clamp(1.8rem,3.5vw,2.6rem); color:var(--green-deep); line-height:1; margin-bottom:.4rem; }
  .story-stat span{ font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); font-weight:600; }
  @media (max-width:760px){
    .story-intro .wrap{ grid-template-columns:1fr; }
    .story-img{ order:-1; aspect-ratio:4/3; }
    .timeline::before{ left:9px; }
    .tl-item{ grid-template-columns:1fr; gap:.6rem; padding-left:2.2rem; }
    .tl-item::after{ left:10px; top:1.9rem; }
    .tl-year, .tl-item:nth-child(even) .tl-year{ order:0; text-align:left; font-size:2rem; }
  }

  /* Notre magasin */
  .store-grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(2rem,6vw,5rem); align-items:center; margin-top:1rem; }
  .store-img{ border-radius:16px; overflow:hidden; aspect-ratio:4/5; box-shadow:0 34px 64px -32px rgba(20,40,25,.55); }
  .store-img img{ width:100%; height:100%; object-fit:cover; object-position:70% 40%; }
  .store-txt h2{ font-size:clamp(2rem,4.5vw,3.2rem); margin-bottom:1.3rem; }
  .store-txt h2 .g{ color:var(--green); }
  .store-txt p{ color:var(--muted); max-width:52ch; margin-bottom:1.1rem; font-size:1.03rem; }
  .store-points{ margin-top:1.6rem; margin-bottom:0; }
  .store-visit{ background:var(--cream-2); }
  .store-visit .vrow .v a:hover{ color:var(--green); }
  .store-cta{ display:flex; gap:.9rem; flex-wrap:wrap; margin-top:1.8rem; }
  .store-map{ border-radius:16px; overflow:hidden; aspect-ratio:1/1; box-shadow:0 24px 46px -28px rgba(20,40,25,.5); background:var(--green-pale); }
  .store-map iframe{ width:100%; height:100%; border:0; display:block; }
  .store-banner{ position:relative; border-radius:18px; overflow:hidden; min-height:420px; display:flex; align-items:flex-end; box-shadow:0 34px 64px -32px rgba(20,40,25,.55); }
  .store-banner img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 70%; }
  .store-banner::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(9,28,17,0) 30%, rgba(9,28,17,.82) 100%); }
  .store-banner-txt{ position:relative; z-index:2; padding:clamp(1.6rem,4vw,3rem); color:#fff; max-width:52ch; }
  .store-banner-txt .eyebrow{ color:#CDEBD0; }
  .store-banner-txt h2{ font-size:clamp(1.8rem,4vw,2.8rem); margin:.6rem 0 .8rem; }
  .store-banner-txt p{ color:rgba(255,255,255,.88); }
  @media (max-width:760px){
    .shop-head, .store-grid{ grid-template-columns:1fr; }
    .store-img{ aspect-ratio:4/3; }
    .store-map{ aspect-ratio:4/3; }
    .store-banner{ min-height:340px; }
  }

  /* Contact */
  .contact-grid{ display:grid; grid-template-columns:1.25fr .75fr; gap:clamp(2rem,5vw,4rem); align-items:start; margin-top:.5rem; }
  .contact-form{ background:#fff; border:1px solid var(--line); border-radius:18px; padding:clamp(1.4rem,3vw,2.2rem); box-shadow:0 16px 34px -26px rgba(20,40,25,.35); }
  .f-row{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
  .f-field{ display:flex; flex-direction:column; gap:.45rem; margin-bottom:1.1rem; }
  .f-field label{ font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--green); font-weight:700; }
  .f-field label span{ text-transform:none; letter-spacing:0; color:var(--muted); font-weight:500; }
  .f-field input, .f-field select, .f-field textarea{ font-family:var(--body); font-size:.98rem; color:var(--ink); background:var(--cream); border:1.5px solid var(--line); border-radius:12px; padding:.8em 1em; transition:border-color .2s, background .2s; }
  .f-field textarea{ resize:vertical; min-height:150px; }
  .f-field input:focus, .f-field select:focus, .f-field textarea:focus{ outline:none; border-color:var(--green); background:#fff; }
  .f-check{ display:flex; gap:.7em; align-items:flex-start; font-size:.84rem; color:var(--muted); margin:.4rem 0 1.4rem; cursor:pointer; }
  .f-check input{ margin-top:.3em; accent-color:var(--green); width:16px; height:16px; flex:none; }
  .f-check a{ color:var(--green-deep); text-decoration:underline; }
  .f-actions{ display:flex; align-items:center; gap:1.2rem; flex-wrap:wrap; }
  .f-actions .btn{ font-family:var(--body); }
  .f-note{ font-size:.82rem; color:var(--muted); }
  .contact-aside{ display:grid; gap:1.4rem; }
  .contact-card{ background:var(--cream-2); border-radius:18px; padding:1.8rem; }
  .contact-card .eyebrow{ display:block; margin-bottom:.6rem; }
  .contact-card .vrow{ padding:.85rem 0; }
  .contact-card .vrow .v a:hover{ color:var(--green); }
  .contact-social{ background:var(--green-deep); color:var(--cream); border-radius:18px; padding:1.8rem; }
  .contact-social .eyebrow{ color:#BFE0BE; }
  .contact-social p{ color:rgba(250,246,236,.82); font-size:.92rem; margin:.7rem 0 0; }
  .contact-social p b{ color:#fff; }
  .contact-fsocial{ margin-top:1.1rem; }
  .contact-map{ aspect-ratio:21/9; }
  @media (max-width:900px){ .contact-grid{ grid-template-columns:1fr; } }
  @media (max-width:600px){ .f-row{ grid-template-columns:1fr; } .contact-map{ aspect-ratio:4/3; } }


  /* ===================== WordPress et WooCommerce ===================== */
  /* Neutralise les réglages Astra qui pourraient interférer */
  body{ margin:0; }
  .admin-bar .header{ top:32px; }
  @media (max-width:782px){ .admin-bar .header{ top:46px; } }
  .screen-reader-text{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
  .nav a.current{ color:var(--green); }
  .header .nav a.current::after{ width:100%; }
  .cart{ position:relative; }
  .cart-count{ position:absolute; top:-8px; right:-10px; min-width:18px; height:18px; padding:0 5px; border-radius:999px; background:var(--green); color:#fff; font-size:.66rem; font-weight:700; display:grid; place-items:center; }

  /* Bouton et quantité WooCommerce sur la fiche produit */
  .pdp-buy form.cart{ display:contents; }
  .pdp-buy .variations{ display:none; }              /* les selects natifs sont remplacés par les pastilles */
  .pdp-buy .single_variation_wrap .woocommerce-variation{ display:none; }
  .pdp-buy .cart, .pdp-buy .single_variation_wrap{ color:var(--ink); width:100%; }
  .pdp-buy .woocommerce-variation-add-to-cart, .pdp-buy .cart{ display:flex; gap:1rem; align-items:center; flex-wrap:wrap; width:100%; }
  .pdp-buy .quantity{ display:inline-flex; align-items:center; border:1.5px solid var(--line); border-radius:999px; overflow:hidden; }
  .pdp-buy .quantity .qty{ width:40px; text-align:center; border:none; font-size:1rem; font-weight:600; background:none; -moz-appearance:textfield; font-family:var(--body); }
  .pdp-buy .quantity .qty::-webkit-outer-spin-button, .pdp-buy .quantity .qty::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
  .pdp-buy .qty-btn{ width:42px; height:46px; border:none; background:none; font-size:1.2rem; cursor:pointer; color:var(--ink); font-family:var(--body); }
  .pdp-buy .qty-btn:hover{ background:var(--cream-2); }
  .pdp-buy .single_add_to_cart_button{ flex:1; justify-content:center; min-width:200px; display:inline-flex; align-items:center; gap:.55em; font-family:var(--body); font-weight:600; font-size:.9rem; padding:.9em 1.7em; border-radius:999px; border:1.5px solid transparent; cursor:pointer; background:var(--green); color:#fff; transition:background .25s, transform .25s; }
  .pdp-buy .single_add_to_cart_button:hover{ background:var(--green-deep); transform:translateY(-2px); }
  .pdp-buy .single_add_to_cart_button.disabled{ opacity:.5; cursor:not-allowed; transform:none; }
  .pdp-buy .reset_variations{ display:none !important; }
  .woocommerce-variation-availability{ display:none; }
  .pdp-stock-out{ color:var(--rouge); font-size:.86rem; margin-bottom:1rem; }

  /* Pages génériques (mentions, CGV, panier, commande, compte) */
  .page-generic{ padding-top:7rem; }
  .page-generic .wrap{ max-width:860px; }
  .page-generic h1{ font-size:clamp(2.2rem,5vw,3.4rem); margin:.6rem 0 2rem; }
  .page-generic .entry-content h2{ font-size:1.6rem; margin:2rem 0 .8rem; }
  .page-generic .entry-content h3{ font-size:1.2rem; margin:1.4rem 0 .6rem; }
  .page-generic .entry-content p, .page-generic .entry-content li{ color:var(--muted); margin-bottom:.9rem; }
  .page-generic .entry-content ul, .page-generic .entry-content ol{ padding-left:1.3rem; margin-bottom:1rem; }
  .page-generic .entry-content a{ color:var(--green-deep); text-decoration:underline; }
  .page-wide .wrap{ max-width:var(--maxw); }
  .woocommerce .button, .woocommerce button.button, .woocommerce a.button, .woocommerce input.button, .woocommerce #respond input#submit, .woocommerce .button.alt, .woocommerce button.button.alt, .woocommerce a.button.alt, .wc-block-components-button{ font-family:var(--body) !important; font-weight:600 !important; font-size:.9rem !important; padding:.9em 1.7em !important; border-radius:999px !important; background:var(--green) !important; color:#fff !important; border:1.5px solid transparent !important; line-height:1.2 !important; }
  .woocommerce .button:hover, .woocommerce button.button:hover, .woocommerce a.button:hover, .woocommerce input.button:hover, .woocommerce .button.alt:hover, .wc-block-components-button:hover{ background:var(--green-deep) !important; color:#fff !important; }
  .woocommerce table.shop_table{ border:1px solid var(--line); border-radius:14px; border-collapse:separate; overflow:hidden; }
  .woocommerce table.shop_table th, .woocommerce table.shop_table td{ border-color:var(--line); }
  .woocommerce table.shop_table img{ border-radius:8px; }
  .woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .woocommerce .select2-container .select2-selection--single{ font-family:var(--body); background:var(--cream); border:1.5px solid var(--line); border-radius:12px; padding:.75em 1em; height:auto; }
  .woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus{ border-color:var(--green); outline:none; background:#fff; }
  .woocommerce-message, .woocommerce-info, .woocommerce-error{ border-top-color:var(--green); background:var(--green-pale); border-radius:12px; font-family:var(--body); }
  .woocommerce-message::before, .woocommerce-info::before{ color:var(--green); }
  .woocommerce-error{ background:#FBEBE9; border-top-color:var(--rouge); }
  .woocommerce-error::before{ color:var(--rouge); }
  .woocommerce .woocommerce-breadcrumb{ display:none; }
  .woocommerce-store-notice{ background:var(--green-deep); font-family:var(--body); }
  .price del{ color:var(--muted); opacity:.7; font-weight:400; }
  .price ins{ text-decoration:none; }

  /* Formulaire de contact : états */
  .f-error{ background:#FBEBE9; color:var(--rouge); border-radius:12px; padding:.9rem 1.1rem; font-size:.88rem; margin-bottom:1.2rem; }
  .f-success{ text-align:center; padding:2rem 1rem; }
  .f-success h2{ font-size:1.8rem; margin:.6rem 0 .8rem; }
  .f-success p{ color:var(--muted); }
  .f-hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

  /* ===================== Neutralisation des styles d'éléments d'Astra ===================== */
  /* Astra applique ses propres couleurs et marges aux blockquote, titres et listes ; on rétablit le rendu des maquettes. */
  .quote blockquote{ color:var(--cream); font-style:normal; border:0; padding:0; margin:0 auto; background:none; }
  .quote blockquote::before, .quote blockquote::after{ content:none; }
  .quote blockquote p{ color:inherit; margin:0; }
  .quote cite{ color:#BFE0BE; font-style:normal; }
  .quote .mark{ color:rgba(250,246,236,.4); }
  .hero-story h1, .store-banner-txt h2, .social-txt h2, .panier h2, .hero h1{ color:#fff; }
  .store-banner-txt .eyebrow{ color:#CDEBD0; }
  .chesnaie h1, .chesnaie h2, .chesnaie h3, .chesnaie h4{ margin-top:0; }
  .chesnaie ul, .chesnaie ol{ margin:0; }
  .chesnaie .pdp-reassure, .chesnaie .ship-points, .chesnaie .store-points, .chesnaie .marquee-item{ list-style:none; padding-left:0; }
  .chesnaie .timeline{ list-style:none; padding-left:0; }
  .chesnaie .header a, .chesnaie .footer a, .chesnaie .card, .chesnaie .btn{ text-decoration:none; }
