/*
Theme Name: Adieucanicule Child
Description: Thème enfant Divi — adieucanicule.fr (maquette v1 du 10/07/2026)
Author: Tryde Studio
Template: Divi
Version: 1.0
*/

/* ============================================================
   MAQUETTE — adieucanicule.fr · v1 · 10/07/2026
   DA : U4 Moderne/Tech × U7 Minimaliste — « air froid »
   Typos : Sora (titres) / IBM Plex Sans (corps)
   Marqueur signature : l'onde de fraîcheur (3 lignes d'air)
   ============================================================ */
:root{
  --fond:#F7FAFC; --fond-alt:#EAF3F9;
  --encre:#0F212E; --texte:#3E5666; --discret:#7A8FA0;
  --accent:#0E7FC9; --accent-fonce:#0A639D; --accent-doux:#DCEEF9;
  --blanc:#FFFFFF; --filet:#DCE7EF;
  --succes:#1F8A5D; --succes-doux:#E2F3EB;
  --police-titres:"Sora",sans-serif; --police-texte:"IBM Plex Sans",sans-serif;
  --arrondi:12px; --arrondi-petit:8px; --conteneur:1160px;
  --ombre:0 6px 24px rgba(15,33,46,.07);
}

/* ---- Base ---- */
.ac-site, .ac-site *{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--police-texte);background:var(--fond);color:var(--texte);font-size:16.5px;line-height:1.6;-webkit-font-smoothing:antialiased}
.ac-site img, .ac-site svg{max-width:100%;display:block}
.ac-site a{color:var(--accent-fonce);text-decoration:none}
.ac-site .conteneur{max-width:var(--conteneur);margin:0 auto;padding:0 22px}
.ac-site h1, .ac-site h2, .ac-site h3{font-family:var(--police-titres);color:var(--encre);line-height:1.12;font-weight:700;letter-spacing:-.3px}
.ac-site h1{font-size:clamp(32px,4.6vw,54px)}
.ac-site h2{font-size:clamp(25px,3vw,36px);margin-bottom:12px}
.ac-site h3{font-size:19px;margin-bottom:8px;font-weight:600}
.ac-site .etiquette{display:inline-block;font-size:12.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--accent-fonce);background:var(--accent-doux);padding:5px 12px;border-radius:99px;margin-bottom:16px}
.ac-site .intro-section{max-width:600px;font-size:17.5px;margin-bottom:42px}
.ac-site section{padding:84px 0}
.ac-site section.compacte{padding:56px 0}
.ac-site section.fond-alt{background:var(--fond-alt)}
.ac-site .centre{text-align:center}
.ac-site .centre .intro-section{margin-left:auto;margin-right:auto}

/* ---- L'onde de fraîcheur (marqueur signature) ---- */
.ac-site .onde{width:64px;height:18px;margin:14px 0 0}
.ac-site .onde path{stroke:var(--accent);stroke-width:2.2;fill:none;stroke-linecap:round;opacity:.9}
.ac-site .onde path:nth-child(2){opacity:.55}
.ac-site .onde path:nth-child(3){opacity:.3}
.ac-site .onde.centre{margin-left:auto;margin-right:auto}

/* ---- Boutons ---- */
.ac-site .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:15px;border-radius:var(--arrondi-petit);padding:13px 24px;border:1px solid transparent;transition:background .15s,color .15s,transform .15s,box-shadow .15s;cursor:pointer;font-family:var(--police-texte)}
.ac-site .btn:hover{transform:translateY(-1px)}
.ac-site .btn-plein{background:var(--accent);color:#fff}
.ac-site .btn-plein:hover{background:var(--accent-fonce);box-shadow:0 6px 16px rgba(14,127,201,.25)}
.ac-site .btn-ligne{border-color:var(--encre);color:var(--encre);background:transparent}
.ac-site .btn-ligne:hover{background:var(--encre);color:#fff}
.ac-site .btn-doux{background:var(--accent-doux);color:var(--accent-fonce)}
.ac-site .btn-doux:hover{background:#CBE4F5}

/* ============ S01-C HEADER double bandeau ============ */
.ac-site .pre-header{background:var(--encre);color:#CFE3F2;font-size:13px;padding:7px 0}
.ac-site .pre-header .conteneur{display:flex;justify-content:center;gap:28px;flex-wrap:wrap}
.ac-site .pre-header span{display:flex;align-items:center;gap:7px}
.ac-site .pre-header .puce{width:5px;height:5px;border-radius:99px;background:var(--accent);flex:none}
.ac-site .header{background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--filet);position:sticky;top:0;z-index:50}
.ac-site .header .conteneur{display:flex;align-items:center;justify-content:space-between;height:70px;gap:18px}
.ac-site .logo{display:flex;align-items:center;gap:10px;font-family:var(--police-titres);font-size:20px;color:var(--encre);font-weight:700;letter-spacing:-.4px}
.ac-site .logo .helice{flex:none}
.ac-site .logo em{font-style:normal;color:var(--accent)}
.ac-site .nav{display:flex;align-items:center;gap:26px}
.ac-site .nav a{color:var(--encre);font-weight:500;font-size:14.5px}
.ac-site .nav a:hover, .ac-site .nav a.actif{color:var(--accent-fonce)}
.ac-site .nav .panier{display:inline-flex;align-items:center;gap:8px;background:var(--accent-doux);color:var(--accent-fonce);font-weight:600;padding:9px 16px;border-radius:99px;font-size:14px}
.ac-site .nav .panier:hover{background:#CBE4F5}
.ac-site .burger{display:none;background:none;border:none;cursor:pointer;padding:8px}
.ac-site .burger span{display:block;width:22px;height:2px;background:var(--encre);margin:5px 0;border-radius:2px}

/* ============ S10-E HERO produit ============ */
.ac-site .hero{background:linear-gradient(180deg,var(--accent-doux) 0%,var(--fond) 78%);padding:72px 0 40px;overflow:hidden}
.ac-site .hero .conteneur{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}
.ac-site .hero h1 em{font-style:normal;color:var(--accent)}
.ac-site .hero .sous{font-size:18.5px;max-width:480px;margin:18px 0 30px}
.ac-site .hero .boutons{display:flex;gap:14px;flex-wrap:wrap}
.ac-site .hero .note{font-size:13px;color:var(--discret);margin-top:16px}
.ac-site .hero .visuel{position:relative;display:flex;justify-content:center}
.ac-site .hero .visuel .produit-svg{width:min(340px,80%);filter:drop-shadow(0 18px 30px rgba(15,33,46,.14))}
.ac-site .hero .visuel .onde-fond{position:absolute;inset:auto 0 8% 0;margin:auto;width:120%;left:-10%;opacity:.5;z-index:-1}
.ac-site .badge-flottant{position:absolute;background:var(--blanc);border:1px solid var(--filet);border-radius:99px;box-shadow:var(--ombre);font-size:13px;font-weight:600;color:var(--encre);padding:9px 15px;display:flex;align-items:center;gap:8px}
.ac-site .badge-flottant .pastille{width:8px;height:8px;border-radius:99px;background:var(--succes);flex:none}
.ac-site .badge-flottant.b1{top:8%;right:2%}
.ac-site .badge-flottant.b2{bottom:12%;left:0}

/* ============ S43 bandeau marchand ============ */
.ac-site .marchand{background:var(--blanc);border-top:1px solid var(--filet);border-bottom:1px solid var(--filet);padding:22px 0}
.ac-site .marchand .conteneur{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.ac-site .marchand .item{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--encre);font-weight:500}
.ac-site .marchand .item svg{flex:none;width:26px;height:26px;stroke:var(--accent);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ac-site .marchand .item small{display:block;font-weight:400;color:var(--discret);font-size:12px}

/* ============ S40-B grille produits ============ */
.ac-site .grille-produits{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ac-site .carte-produit{background:var(--blanc);border:1px solid var(--filet);border-radius:var(--arrondi);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}
.ac-site .carte-produit:hover{box-shadow:var(--ombre);transform:translateY(-3px)}
.ac-site .carte-produit .visuel{background:var(--fond-alt);padding:26px;display:flex;justify-content:center;position:relative;height:250px;align-items:center}
.ac-site .carte-produit .visuel svg{max-height:195px;width:auto;max-width:70%}
.ac-site .badge-stock{position:absolute;top:14px;left:14px;background:var(--succes-doux);color:var(--succes);font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:5px 11px;border-radius:99px;display:flex;align-items:center;gap:6px}
.ac-site .badge-stock::before{content:"";width:6px;height:6px;border-radius:99px;background:var(--succes)}
.ac-site .carte-produit .corps{padding:20px 22px 24px;display:flex;flex-direction:column;flex:1}
.ac-site .carte-produit h3{font-size:17.5px}
.ac-site .carte-produit .points{list-style:none;margin:8px 0 14px;flex:1}
.ac-site .carte-produit .points li{font-size:13.5px;color:var(--texte);padding:3px 0 3px 20px;position:relative}
.ac-site .carte-produit .points li::before{content:"";position:absolute;left:2px;top:10px;width:9px;height:5px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg)}
.ac-site .carte-produit .ligne-prix{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ac-site .carte-produit .prix{font-family:var(--police-titres);font-weight:700;font-size:22px;color:var(--encre)}
.ac-site .carte-produit .prix small{font-size:12px;color:var(--discret);font-family:var(--police-texte);font-weight:400;display:block}
.ac-site .note-maquette{font-size:12.5px;color:var(--discret);margin-top:18px}

/* ============ S12-A aide au choix ============ */
.ac-site .choix{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.ac-site .carte-choix{background:var(--blanc);border:1px solid var(--filet);border-radius:var(--arrondi);padding:30px 28px}
.ac-site .carte-choix .picto{width:46px;height:46px;border-radius:12px;background:var(--accent-doux);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.ac-site .carte-choix .picto svg{width:26px;height:26px;stroke:var(--accent-fonce);fill:none;stroke-width:1.8;stroke-linecap:round}
.ac-site .carte-choix p{font-size:15px;margin:8px 0 16px}
.ac-site .carte-choix .criteres{list-style:none;border-top:1px solid var(--filet)}
.ac-site .carte-choix .criteres li{display:flex;justify-content:space-between;gap-:12px;font-size:14px;padding:9px 0;border-bottom:1px solid var(--filet)}
.ac-site .carte-choix .criteres li b{color:var(--encre);font-weight:600}
.ac-site .carte-choix .criteres li span{color:var(--discret)}

/* ============ S15-B avis ============ */
.ac-site .grille-avis{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ac-site .carte-avis{background:var(--blanc);border:1px solid var(--filet);border-radius:var(--arrondi);padding:24px}
.ac-site .etoiles{color:#F0A500;font-size:15px;letter-spacing:2px;margin-bottom:10px}
.ac-site .carte-avis p{font-size:14.5px;margin-bottom:14px}
.ac-site .carte-avis .auteur{font-size:13px;color:var(--discret)}
.ac-site .carte-avis .auteur b{color:var(--encre);font-weight:600;display:block;font-size:13.5px}

/* ============ S20 FAQ ============ */
.ac-site .faq{max-width:740px;margin:0 auto}
.ac-site .faq.deux-colonnes{max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:0 36px;align-items:start}
.ac-site .faq details{background:var(--blanc);border:1px solid var(--filet);border-radius:var(--arrondi-petit);margin-bottom:10px;padding:0 20px}
.ac-site .faq summary{cursor:pointer;font-weight:600;color:var(--encre);font-size:15.5px;padding:16px 0;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px}
.ac-site .faq summary::-webkit-details-marker{display:none}
.ac-site .faq summary::after{content:"+";font-family:var(--police-titres);font-size:20px;color:var(--accent);flex:none}
.ac-site .faq details[open] summary::after{content:"−"}
.ac-site .faq details p{padding:0 0 16px;font-size:14.5px}
.ac-site .encadre-contact{background:var(--accent-doux);border-radius:var(--arrondi);padding:26px;text-align:center;margin-top:26px}
.ac-site .encadre-contact p{margin:6px 0 16px;font-size:15px}

/* ============ S21-A CTA bandeau ============ */
.ac-site .cta-bandeau{background:linear-gradient(120deg,var(--accent) 0%,#0A9BD8 100%);color:#fff;text-align:center;padding:64px 0}
.ac-site .cta-bandeau h2{color:#fff;max-width:640px;margin:0 auto 10px}
.ac-site .cta-bandeau p{color:#DCEEF9;margin-bottom:26px;font-size:16.5px}
.ac-site .cta-bandeau .btn{background:#fff;color:var(--accent-fonce)}
.ac-site .cta-bandeau .btn:hover{background:var(--accent-doux)}
.ac-site .cta-bandeau .onde path{stroke:#fff}

/* ============ Hero de page intérieure ============ */
.ac-site .hero-page{padding:56px 0 40px;background:linear-gradient(180deg,var(--accent-doux) 0%,var(--fond) 90%)}
.ac-site .hero-page h1{font-size:clamp(28px,3.6vw,42px);max-width:680px}
.ac-site .hero-page .sous{font-size:17px;max-width:560px;margin-top:12px}

/* ============ S41-A fiche produit ============ */
.ac-site .ariane{font-size:13px;color:var(--discret);padding:18px 0 0}
.ac-site .ariane a{color:var(--discret)}
.ac-site .ariane a:hover{color:var(--accent-fonce)}
.ac-site .fiche{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:start;padding:32px 0 0}
.ac-site .galerie .principale{background:var(--fond-alt);border-radius:var(--arrondi);padding:44px;display:flex;justify-content:center;align-items:center;min-height:380px;position:relative}
.ac-site .galerie .principale svg{width:min(280px,70%)}
.ac-site .galerie .vignettes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}
.ac-site .galerie .vignettes div{background:var(--fond-alt);border:1px solid var(--filet);border-radius:var(--arrondi-petit);padding:14px;display:flex;justify-content:center;cursor:pointer;min-height:84px;align-items:center}
.ac-site .galerie .vignettes div:hover{border-color:var(--accent)}
.ac-site .galerie .vignettes svg{width:52px}
.ac-site .infos-produit .etoiles-ligne{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--discret);margin:10px 0 14px}
.ac-site .infos-produit .prix{font-family:var(--police-titres);font-weight:700;font-size:34px;color:var(--encre)}
.ac-site .infos-produit .prix small{font-size:13px;color:var(--discret);font-family:var(--police-texte);font-weight:400;margin-left:8px}
.ac-site .infos-produit .accroche{font-size:16px;margin:14px 0 18px}
.ac-site .points-cles{list-style:none;margin-bottom:22px}
.ac-site .points-cles li{font-size:14.5px;padding:6px 0 6px 24px;position:relative;color:var(--texte)}
.ac-site .points-cles li::before{content:"";position:absolute;left:2px;top:13px;width:10px;height:6px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg)}
.ac-site .achat{display:flex;gap:12px;align-items:stretch;margin-bottom:14px}
.ac-site .quantite{display:flex;align-items:center;border:1px solid var(--filet);border-radius:var(--arrondi-petit);background:var(--blanc)}
.ac-site .quantite button{background:none;border:none;font-size:18px;color:var(--encre);width:38px;cursor:pointer;padding:10px 0}
.ac-site .quantite span{min-width:28px;text-align:center;font-weight:600;color:var(--encre)}
.ac-site .achat .btn-plein{flex:1;font-size:16px}
.ac-site .dispo{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--succes);font-weight:600;margin-bottom:18px}
.ac-site .dispo::before{content:"";width:8px;height:8px;border-radius:99px;background:var(--succes)}
.ac-site .reassurance-fiche{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:var(--fond-alt);border-radius:var(--arrondi-petit);padding:14px}
.ac-site .reassurance-fiche div{font-size:12.5px;color:var(--encre);text-align:center;font-weight:500}
.ac-site .reassurance-fiche svg{width:22px;height:22px;stroke:var(--accent-fonce);fill:none;stroke-width:1.8;margin:0 auto 6px;stroke-linecap:round}
.ac-site .accordeons-fiche{margin-top:26px}
.ac-site .accordeons-fiche details{border-top:1px solid var(--filet);padding:0}
.ac-site .accordeons-fiche summary{cursor:pointer;font-weight:600;color:var(--encre);font-size:15px;padding:15px 0;list-style:none;display:flex;justify-content:space-between}
.ac-site .accordeons-fiche summary::after{content:"+";color:var(--accent)}
.ac-site .accordeons-fiche details[open] summary::after{content:"−"}
.ac-site .accordeons-fiche details p, .ac-site .accordeons-fiche details ul{padding:0 0 16px;font-size:14.5px}
.ac-site .accordeons-fiche details ul{margin-left:18px}

/* ============ S22-B contact ============ */
.ac-site .formulaire{max-width:620px;margin:0 auto}
.ac-site .champ{margin-bottom:16px}
.ac-site .champ label{display:block;font-weight:600;color:var(--encre);font-size:14px;margin-bottom:6px}
.ac-site .champ input, .ac-site .champ select, .ac-site .champ textarea{width:100%;padding:13px 14px;background:var(--blanc);border:1px solid var(--filet);border-radius:var(--arrondi-petit);font-family:inherit;font-size:15px;color:var(--encre)}
.ac-site .champ input:focus, .ac-site .champ select:focus, .ac-site .champ textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-doux)}
.ac-site .champ textarea{min-height:130px;resize:vertical}
.ac-site .infos-contact{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:820px;margin:36px auto 0}
.ac-site .infos-contact .item{background:var(--blanc);border:1px solid var(--filet);border-radius:var(--arrondi-petit);padding:20px;text-align:center}
.ac-site .infos-contact .item b{display:block;color:var(--encre);font-size:14px;margin-bottom:4px}
.ac-site .infos-contact .item span, .ac-site .infos-contact .item a{font-size:14px}

/* ============ Placeholders produits ============ */
.ac-site .ph-libelle{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--discret);text-align:center;margin-top:10px}

/* ============ S02-A FOOTER ============ */
.ac-site .footer{background:var(--encre);color:#B9CBD8;padding:60px 0 0;margin-top:0}
.ac-site .footer .colonnes{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:36px;padding-bottom:38px}
.ac-site .footer .logo{color:#fff;font-size:19px;margin-bottom:12px}
.ac-site .footer .logo em{color:#6FC0EE}
.ac-site .footer .logo .helice circle{stroke:#6FC0EE}
.ac-site .footer .logo .helice path{fill:#6FC0EE}
.ac-site .footer p{font-size:14px;max-width:300px}
.ac-site .footer h4{color:#fff;font-size:12.5px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px;font-family:var(--police-texte);font-weight:600}
.ac-site .footer a{color:#B9CBD8;display:block;margin-bottom:8px;font-size:14px}
.ac-site .footer a:hover{color:#6FC0EE}
.ac-site .footer .legal{border-top:1px solid #24455C;padding:16px 0;font-size:12.5px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#7A93A5}
.ac-site .footer .legal a{display:inline;margin:0 0 0 14px;font-size:12.5px}


/* ============ RESPONSIVE ============ */
@media(max-width:1080px){
  .ac-site .grille-produits, .ac-site .grille-avis{grid-template-columns:repeat(2,1fr)}
  .ac-site .marchand .conteneur{grid-template-columns:repeat(2,1fr);gap:14px}
}
@media(max-width:768px){
  body{font-size:15.5px}
  .ac-site section{padding:56px 0}
  .ac-site .pre-header .conteneur{gap:14px;font-size:12px}
  .ac-site .pre-header span:nth-child(3){display:none}
  .ac-site .nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--blanc);flex-direction:column;align-items:flex-start;padding:20px 22px;gap:16px;border-bottom:1px solid var(--filet);box-shadow:var(--ombre)}
  .ac-site .nav.ouvert{display:flex}
  .ac-site .burger{display:block}
  .ac-site .hero .conteneur{grid-template-columns:1fr;gap:30px}
  .ac-site .hero .visuel{order:-1}
  .ac-site .hero .visuel .produit-svg{width:min(240px,70%)}
  .ac-site .badge-flottant.b1{top:0;right:0}
  .ac-site .badge-flottant.b2{bottom:4%;left:0}
  .ac-site .grille-produits, .ac-site .grille-avis, .ac-site .choix{grid-template-columns:1fr}
  .ac-site .faq.deux-colonnes{grid-template-columns:1fr}
  .ac-site .fiche{grid-template-columns:1fr;gap:28px}
  .ac-site .infos-contact{grid-template-columns:1fr}
  .ac-site .achat{flex-wrap:wrap}
  .ac-site .footer .colonnes{grid-template-columns:1fr;gap:26px}
}

/* ============ PRINT (export client) ============ */
@media print{
  .ac-site .burger{display:none !important}
  .ac-site .header{position:static}
  .ac-site, .ac-site *{-webkit-print-color-adjust:exact !important;print-color-adjust:exact !important}
  .ac-site section, .ac-site .marchand, .ac-site .cta-bandeau, .ac-site .footer, .ac-site .hero{break-inside:avoid}
}

/* ============================================================
   INTÉGRATION DIVI & WOOCOMMERCE — raccords
   ============================================================ */
html, body { margin:0; padding:0; }
.ac-plein, .ac-plein .et_pb_fullwidth_code { padding:0 !important; margin:0 !important; }
#left-area, #main-content .container { width:100%; max-width:none; padding:0; }
#page-container, #et-main-area, #main-content { background:var(--fond); }
.ac-site { font-family:var(--police-texte); color:var(--texte); font-size:16.5px; line-height:1.6; -webkit-font-smoothing:antialiased; }
@media (max-width:768px){ .ac-site { font-size:15.5px; } }
body.admin-bar .ac-site .header { top:32px; }
.et-l--header .et_pb_section, .et-l--footer .et_pb_section { padding:0; }
.ac-section-divi { background:var(--fond); padding:24px 0 64px !important; }
.ac-rangee { width:100% !important; max-width:1160px !important; padding:0 22px !important; }

/* ---- Module Shop Divi habillé comme les cartes de la maquette ---- */
.ac-shop .et_pb_shop ul.products { display:grid !important; grid-template-columns:repeat(3,1fr); gap:22px; width:100% !important; margin:0 !important; }
.ac-shop .et_pb_shop ul.products li.product { width:100% !important; margin:0 !important; background:#fff; border:1px solid var(--filet); border-radius:var(--arrondi); overflow:hidden; padding:0 0 22px !important; position:relative; transition:box-shadow .2s, transform .2s; }
.ac-shop .et_pb_shop ul.products li.product:hover { box-shadow:var(--ombre); transform:translateY(-3px); }
.ac-shop li.product .et_shop_image, .ac-shop li.product img { background:var(--fond-alt); width:100% !important; height:250px !important; object-fit:contain; padding:26px; margin:0 !important; }
.ac-shop li.product .et_shop_image { padding:0; }
.ac-shop li.product .et_shop_image img { height:250px !important; }
.ac-shop li.product::before { content:"En stock"; position:absolute; top:14px; left:14px; z-index:2; background:var(--succes-doux); color:var(--succes); font-size:11.5px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; padding:5px 11px; border-radius:99px; }
.ac-shop li.product h2, .ac-shop li.product .woocommerce-loop-product__title { font-family:var(--police-titres) !important; font-size:17.5px !important; color:var(--encre) !important; padding:16px 22px 0 !important; margin:0 !important; }
.ac-shop li.product .price { display:block; font-family:var(--police-titres); font-weight:700; font-size:22px; color:var(--encre) !important; padding:8px 22px 12px; }
.ac-shop li.product .price del { opacity:.45; font-size:16px; }
.ac-shop li.product .button { display:inline-block; background:var(--accent) !important; color:#fff !important; font-weight:600; font-size:14.5px; border-radius:var(--arrondi-petit); padding:11px 20px !important; margin:0 22px !important; border:none; }
.ac-shop li.product .button:hover { background:var(--accent-fonce) !important; }
.ac-shop li.product .star-rating { margin:4px 22px !important; color:#F0A500; }
.ac-shop span.onsale { background:var(--accent) !important; left:auto !important; right:14px; top:14px !important; }
@media (max-width:1080px){ .ac-shop .et_pb_shop ul.products { grid-template-columns:repeat(2,1fr); } }
@media (max-width:768px){ .ac-shop .et_pb_shop ul.products { grid-template-columns:1fr; } }

/* ---- Formulaire Divi (page contact) ---- */
.ac-contact { padding:24px 0 8px !important; }
.ac-form { max-width:640px; margin:0 auto !important; }
.ac-form .et_pb_contact_field { margin-bottom:16px !important; padding:0 !important; width:100% !important; }
.ac-form input.input, .ac-form textarea.input, .ac-form select {
  width:100%; padding:13px 14px !important; background:#fff !important;
  border:1px solid var(--filet) !important; border-radius:var(--arrondi-petit) !important;
  font-family:var(--police-texte) !important; font-size:15px !important; color:var(--encre) !important; }
.ac-form input.input:focus, .ac-form textarea.input:focus, .ac-form select:focus {
  outline:none !important; border-color:var(--accent) !important; box-shadow:0 0 0 3px var(--accent-doux) !important; }
.ac-form textarea.input { min-height:130px; }
.ac-form .input::placeholder { color:#7A8FA0; opacity:1; }
.ac-form .et_pb_contact_submit { width:100%; background:var(--accent) !important; color:#fff !important;
  font-weight:600 !important; font-size:15px !important; border-radius:var(--arrondi-petit) !important;
  padding:13px 24px !important; border:none !important; font-family:var(--police-texte) !important; }
.ac-form .et_pb_contact_submit:hover { background:var(--accent-fonce) !important; }
.ac-form .et_contact_bottom_container { float:none; display:flex; flex-direction:column; gap:10px; margin-top:4px; }
.ac-form input.et_pb_contact_captcha { background:#fff !important; border:1px solid var(--filet) !important; border-radius:var(--arrondi-petit) !important; padding:8px 10px !important; width:80px; }

/* ---- Fiche produit Woo (modèle Theme Builder) ---- */
.single-product #main-content { font-family:var(--police-texte); }
.single-product .et_pb_wc_breadcrumb, .single-product .woocommerce-breadcrumb { font-size:13px; color:#7A8FA0; }
.single-product h1.product_title { font-family:var(--police-titres) !important; color:var(--encre) !important; letter-spacing:-.3px; }
.single-product .price { font-family:var(--police-titres) !important; font-weight:700; font-size:32px !important; color:var(--encre) !important; }
.single-product .woocommerce-product-details__short-description { font-size:16px; color:var(--texte); }
.single-product .stock.in-stock { color:var(--succes) !important; font-weight:600; }
.single-product .stock.out-of-stock { color:#C0392B !important; font-weight:600; }
.single-product form.cart { display:flex; gap:12px; align-items:stretch; flex-wrap:wrap; }
.single-product .quantity .qty { border:1px solid var(--filet); border-radius:var(--arrondi-petit); padding:11px 8px; width:74px; font-size:15px; color:var(--encre); background:#fff; }
.single-product .single_add_to_cart_button { flex:1; background:var(--accent) !important; color:#fff !important; font-weight:600 !important; font-size:16px !important; border-radius:var(--arrondi-petit) !important; padding:13px 24px !important; border:none !important; }
.single-product .single_add_to_cart_button:hover { background:var(--accent-fonce) !important; }
.single-product .woocommerce-tabs ul.tabs li a { font-family:var(--police-texte); font-weight:600; color:var(--encre); }
.single-product .woocommerce-tabs ul.tabs li.active a { color:var(--accent-fonce); }
.single-product .woocommerce-product-gallery__wrapper, .single-product .et_pb_wc_images { background:var(--fond-alt); border-radius:var(--arrondi); }
.single-product .related.products h2, .single-product .et_pb_wc_related_products h2 { font-family:var(--police-titres); color:var(--encre); }

/* ---- Panier & commande ---- */
.woocommerce-cart .button, .woocommerce-checkout .button, .woocommerce a.checkout-button,
.woocommerce button.button.alt { background:var(--accent) !important; color:#fff !important; border-radius:var(--arrondi-petit) !important; font-weight:600 !important; border:none !important; }
.woocommerce a.checkout-button:hover, .woocommerce button.button.alt:hover { background:var(--accent-fonce) !important; }
.woocommerce table.shop_table { border:1px solid var(--filet) !important; border-radius:var(--arrondi); }
.woocommerce table.shop_table th { color:var(--encre); }
.woocommerce .woocommerce-message, .woocommerce .woocommerce-info { border-top-color:var(--accent) !important; background:var(--accent-doux); color:var(--encre); }
