/* ==========================================================
   SOMMAIRE — main.css (styles globaux, toutes pages)
   ==========================================================
    1. Reset & base
    2. Tokens (variables CSS)
    3. Utilitaires
    4. Topbar
    5. Header
    6. Header nav + dropdowns
    7. Cart panel (tiroir panier)
    8. Hero slider + hero strip
    9. Quick cats
   10. Sections home (catégories / promo / marques / usp / produits / blog / newsletter)
   11. Footer
   12. Mobile menu
   13. Page 404
   14. Woo main (breadcrumb boutique)
   15. Cart panel — badge compteur header
   16. Cart panel — produits suggérés
   17. Cart toast (notification ajout panier)
   18. Bouton spinner (loading add-to-cart)
   19. Search preview (recherche live)
   20. Single post (article)
   20bis. Entry-content — articles format cpw-* (Gutenberg natif)
   21. Articles de blog importés (.wpai-imported)
========================================================== */

/* [1] RESET & BASE */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
/* Empêche le scroll horizontal induit par les overlays fixed hors-écran
   (.cart-panel translaté en translateX(100%), .cart-toast en right:-100vw).
   `clip` et non `hidden` : ne crée pas de conteneur de défilement, donc
   position:sticky (récap panier) reste relative au viewport. */
html{overflow-x:clip}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{font-family:'Segoe UI',system-ui,-apple-system,sans-serif;font-size:15px;color:#374151;background:#fff;line-height:1.65}
a{text-decoration:none;color:inherit}
ul{list-style:none}
img{max-width:100%;display:block}
button{font-family:inherit}

/* [2] TOKENS */
:root{
  --y:#FFD435;
  --y-dark:#E6BC00;
  --y-pale:#FFFBEB;
  --y-soft:#FEF3C7;
  --navy:#0F1823;
  --navy-mid:#1C2B3A;
  --navy-lt:#2D3F52;
  --charcoal:#1F2937;
  --slate:#6B7280;
  --gray-bg:#F8FAFC;
  --gray-bg2:#F1F5F9;
  --border:#E5E7EB;
  --white:#FFFFFF;
  --max:1200px;
  --r:8px;
  --r-lg:14px;
  --shadow-sm:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.06);
  --shadow:0 4px 16px rgba(0,0,0,.1);
  --shadow-lg:0 12px 40px rgba(0,0,0,.15);
}

/* [3] UTILITAIRES — mobile-first */
.container{max-width:var(--max);margin:0 auto;padding:0 16px}
@media(min-width:481px){.container{padding:0 24px}}
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:var(--r);font-weight:700;font-size:13px;cursor:pointer;transition:all .2s;white-space:nowrap;border:none}
@media(min-width:601px){.btn{padding:12px 24px;font-size:14px}}
.btn-primary{background:var(--y);color:var(--navy)}
.btn-primary:hover{background:var(--y-dark);transform:translateY(-1px);box-shadow:0 4px 14px rgba(255,212,53,.4)}
.btn-outline{background:transparent;color:var(--white);border:2px solid rgba(255,255,255,.55)}
.btn-outline:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.8)}
.btn-dark{background:var(--navy);color:var(--white)}
.btn-dark:hover{background:var(--navy-mid);transform:translateY(-1px)}

.section-header{text-align:center;margin-bottom:48px}
.section-header h2{font-size:clamp(24px,3.2vw,36px);font-weight:800;color:var(--charcoal);margin-bottom:10px;letter-spacing:-.5px}
.section-header p{color:var(--slate);font-size:15.5px;max-width:560px;margin:0 auto}
.accent-bar{width:44px;height:4px;background:var(--y);border-radius:2px;margin:14px auto 0}
.badge-pill{display:inline-block;background:var(--y);color:var(--navy);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1.2px;padding:4px 12px;border-radius:99px}

.skip-link.screen-reader-text{position:absolute;left:-9999px;top:0;width:1px;height:1px;overflow:hidden}
.skip-link.screen-reader-text:focus{position:fixed;left:16px;top:16px;width:auto;height:auto;z-index:10000;background:var(--y);color:var(--navy);padding:12px 20px;border-radius:var(--r);font-weight:700;font-size:14px}

/* [4] TOPBAR — mobile-first */
.topbar{background:var(--navy-mid);color:#94A3B8;font-size:12.5px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.topbar .container{display:flex;align-items:center;justify-content:center;gap:16px}
@media(min-width:861px){.topbar .container{justify-content:space-between}}
.topbar-zone{display:flex;align-items:center;gap:6px}
.topbar-zone:first-child,.topbar-zone:last-child{display:none}
@media(min-width:861px){.topbar-zone:first-child,.topbar-zone:last-child{display:flex}}
.topbar a{display:flex;align-items:center;gap:5px;color:#94A3B8;transition:color .2s}
.topbar a:hover{color:var(--y)}
.topbar-avis{display:flex;align-items:center;gap:6px}
.topbar-avis .stars{color:var(--y);letter-spacing:-1px}
.topbar-avis strong{color:var(--white)}

/* [5] HEADER — mobile-first */
.site-header{background:var(--navy);position:sticky;top:0;z-index:900;box-shadow:0 2px 20px rgba(0,0,0,.3)}
.header-main{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;height:auto;padding:10px 0 0}
@media(min-width:861px){.header-main{flex-wrap:nowrap;height:72px;padding:0}}
.logo{display:flex;align-items:center;order:1;flex:1}
@media(min-width:861px){.logo{order:0;flex:initial}}
.logo img,.logo svg,.logo .custom-logo{height:60px;width:auto;max-width:240px;display:block}
.logo .custom-logo-link{display:flex;align-items:center;line-height:0}
.logo-text{font-size:20px;font-weight:800;color:var(--y)}

.header-search{display:flex;border-radius:var(--r);overflow:hidden;border:2px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);transition:border-color .2s,background .2s;order:3;flex:1 1 100%;max-width:none;margin-bottom:10px}
@media(min-width:861px){.header-search{order:0;flex:1;max-width:540px;margin-bottom:0}}
.header-search:focus-within{border-color:var(--y);background:rgba(255,255,255,.09)}
.header-search input{flex:1;padding:10px 16px;font-size:16px;border:none;outline:none;background:transparent;color:var(--white)}
@media(min-width:601px){.header-search input{font-size:13.5px}}
.header-search input::placeholder{color:#64748B}
.header-search button{padding:9px 14px;background:var(--y);color:var(--navy);font-weight:700;font-size:0;border:none;cursor:pointer;display:flex;align-items:center;gap:6px;transition:background .2s}
@media(min-width:601px){.header-search button{font-size:13px;padding:10px 18px}}
.header-search button:hover{background:var(--y-dark)}

.header-actions{display:flex;align-items:center;gap:8px;order:2}
@media(min-width:861px){.header-actions{order:0}}
.h-btn-devis{display:none;align-items:center;gap:7px;padding:9px 15px;background:rgba(255,212,53,.1);color:var(--y);font-size:13px;font-weight:700;border-radius:var(--r);border:1px solid rgba(255,212,53,.35);transition:all .2s;cursor:pointer;white-space:nowrap}
.h-btn-account{display:none;align-items:center;gap:7px;padding:9px 14px;color:#CBD5E1;font-size:13px;font-weight:600;border-radius:var(--r);border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);transition:all .2s;cursor:pointer}
@media(min-width:861px){.h-btn-devis,.h-btn-account{display:flex}}
.h-btn-devis:hover{background:rgba(255,212,53,.22);border-color:var(--y)}
.h-btn-account:hover{color:var(--y);border-color:rgba(255,212,53,.4);background:rgba(255,212,53,.08)}
.h-btn-cart{display:flex;align-items:center;justify-content:center;gap:4px;padding:9px 14px;background:var(--y);color:var(--navy);border-radius:var(--r);font-size:0;font-weight:800;transition:all .2s;cursor:pointer;position:relative;min-width:44px;min-height:44px}
@media(min-width:861px){.h-btn-cart{gap:8px;padding:9px 18px;font-size:13px;min-width:0}}
.h-btn-cart:hover{background:var(--y-dark);transform:translateY(-1px)}
.cart-count{position:absolute;top:-6px;right:-6px;background:#EF4444;color:#fff;width:18px;height:18px;border-radius:50%;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;border:2px solid var(--navy)}
.hamburger{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer;padding:6px;background:none;border:none;width:44px;height:44px}
@media(min-width:861px){.hamburger{display:none}}
.hamburger span{width:24px;height:2px;background:#CBD5E1;border-radius:2px;transition:all .3s}

/* [6] HEADER NAV — mobile-first */
.header-nav{display:none;background:var(--navy-mid);border-top:1px solid rgba(255,255,255,.06)}
@media(min-width:861px){.header-nav{display:block}}
.main-nav{display:flex;align-items:stretch}
.main-nav>li{position:relative;display:flex}
.main-nav>li>a{display:flex;align-items:center;gap:6px;padding:11px 14px;font-size:14.5px;font-weight:600;color:#CBD5E1;transition:background .18s,color .18s;white-space:nowrap;height:100%}
.main-nav>li.home-item>a{padding:11px 14px;font-size:15px}
.main-nav>li>a:hover,.main-nav>li>a.active,.main-nav>li>a[aria-current="page"]{background:rgba(255,212,53,.12);color:var(--y)}
.main-nav>li>a .arrow{font-size:10px;opacity:.5;margin-left:1px}

.dropdown{display:none;position:absolute;top:100%;left:0;background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);min-width:210px;box-shadow:var(--shadow-lg);z-index:200;padding:8px}
.main-nav>li:hover .dropdown{display:block}
.dropdown li a{display:flex;align-items:center;gap:8px;padding:9px 12px;font-size:13.5px;color:var(--charcoal);border-radius:6px;transition:background .12s,color .12s}
.dropdown li a::before{content:'';width:4px;height:4px;background:var(--border);border-radius:50%;flex-shrink:0}
.dropdown li a:hover{background:var(--y-pale);color:var(--charcoal)}
.dropdown li a:hover::before{background:var(--y-dark)}

/* [7] CART PANEL */
.cart-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:1500;opacity:0;pointer-events:none;transition:opacity .3s}
.cart-overlay.open{opacity:1;pointer-events:all}
.cart-panel{position:fixed;top:0;right:0;width:430px;max-width:100vw;height:100vh;background:#fff;z-index:1600;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);box-shadow:-8px 0 40px rgba(0,0,0,.2);will-change:transform}
.cart-panel.open{transform:translateX(0)}
.cart-panel-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;padding-top:calc(16px + env(safe-area-inset-top, 0px));background:var(--navy);color:var(--white);flex-shrink:0;gap:10px}
.cart-panel-head h3,.cart-panel-head .cart-panel-title{font-size:15px;font-weight:800;display:flex;align-items:center;gap:9px;flex:1;min-width:0}
.cart-panel-close{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;flex-shrink:0}
.cart-panel-close:hover{background:rgba(255,255,255,.22)}
.cart-panel-body{flex:1;overflow-y:auto}
.cart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:56px 24px;text-align:center;color:var(--slate);gap:10px}
.cart-empty svg{opacity:.2;margin-bottom:6px}
.cart-empty strong{font-size:15px;color:var(--charcoal)}
.cart-empty p{font-size:13.5px}
.cart-empty a{color:var(--navy);font-weight:700;font-size:13px;text-decoration:underline}
.cart-items-list{padding:12px 14px;display:flex;flex-direction:column;gap:10px}
.cart-item{display:flex;align-items:flex-start;gap:11px;background:var(--gray-bg);border-radius:var(--r);padding:11px;position:relative;border:1px solid var(--border)}
.cart-item-img{width:62px;height:62px;object-fit:cover;border-radius:6px;flex-shrink:0;background:var(--border)}
.cart-item-info{flex:1;min-width:0}
.cart-item-name{font-size:12.5px;font-weight:600;color:var(--charcoal);line-height:1.35;margin-bottom:6px}
.cart-item-row{display:flex;align-items:center;justify-content:space-between}
.cart-item-qty{display:flex;align-items:center;border:1px solid var(--border);border-radius:6px;overflow:hidden}
.cart-item-qty button{width:27px;height:26px;background:#fff;border:none;cursor:pointer;font-size:15px;font-weight:700;color:var(--charcoal);display:flex;align-items:center;justify-content:center;transition:background .15s}
.cart-item-qty button:hover{background:var(--y-soft)}
.cart-item-qty span{width:28px;text-align:center;font-size:13px;font-weight:600;color:var(--charcoal);border-left:1px solid var(--border);border-right:1px solid var(--border);line-height:26px}
.cart-item-price{font-size:14px;font-weight:800;color:var(--navy)}
.cart-item-remove{position:absolute;top:7px;right:7px;background:none;border:none;cursor:pointer;color:#CBD5E1;font-size:14px;line-height:1;padding:2px 4px;transition:color .15s}
.cart-item-remove:hover{color:#EF4444}
/* Zone tactile invisible agrandie (icône visuelle inchangée) : la carte
   panier étant compacte, on ne peut pas agrandir le bouton lui-même sans
   casser la mise en page, mais on peut élargir sa zone de clic réelle. */
.cart-item-remove::before{content:'';position:absolute;inset:-9px}
.cart-panel .cart-subtotal{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.cart-panel .cart-subtotal span{color:var(--slate);font-size:13.5px;font-weight:500}
.cart-panel .cart-subtotal strong{color:var(--charcoal);font-size:17px;font-weight:800}
.cart-panel-foot{padding:14px 14px 16px;padding-bottom:calc(16px + env(safe-area-inset-bottom, 0px));background:#fff;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:9px;flex-shrink:0}
.cart-foot-row{display:flex;align-items:center;gap:9px}
.btn-cart-view{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:13px;background:transparent;border:2px solid var(--navy);border-radius:var(--r);font-size:13px;font-weight:700;color:var(--navy);cursor:pointer;transition:all .2s}
.btn-cart-view:hover{background:var(--navy);color:#fff}
.btn-cart-order{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:13px;background:var(--y);border:2px solid var(--y);border-radius:var(--r);font-size:13px;font-weight:800;color:var(--navy);cursor:pointer;transition:all .2s}
.btn-cart-order:hover{background:var(--y-dark);border-color:var(--y-dark);transform:translateY(-1px);box-shadow:0 4px 14px rgba(255,212,53,.4)}
.cart-foot-note{text-align:center;font-size:11px;color:var(--slate);display:flex;align-items:center;justify-content:center;gap:5px}

/* [8] HERO SLIDER — mobile-first */
.hero{position:relative;overflow:hidden;background:var(--navy);height:280px;touch-action:pan-y}
@media(min-width:601px){.hero{height:360px}}
@media(min-width:861px){.hero{height:480px}}
.slides-track{display:flex;height:100%;transition:transform .65s cubic-bezier(.4,0,.2,1);will-change:transform}
.slide{min-width:100%;height:100%;position:relative;flex-shrink:0}
.slide-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.slide-overlay{position:absolute;inset:0;background:linear-gradient(105deg,rgba(15,24,35,.78) 0%,rgba(15,24,35,.35) 55%,transparent 100%)}
.slide-inner{position:absolute;left:0;top:0;right:0;bottom:0;display:flex;align-items:center}
.slide-content{padding:0 72px;max-width:600px;color:var(--white)}
@media(min-width:481px){.slide-content{padding:0 88px}}
@media(min-width:861px){.slide-content{padding:0 104px}}
.slide-tag{display:inline-flex;align-items:center;gap:6px;background:var(--y);color:var(--navy);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;padding:5px 13px;border-radius:99px;margin-bottom:18px}
.slide-content h2{font-size:24px;font-weight:900;line-height:1.1;margin-bottom:14px;letter-spacing:-.5px;text-shadow:0 2px 12px rgba(0,0,0,.3)}
@media(min-width:601px){.slide-content h2{font-size:clamp(28px,4vw,52px)}}
.slide-content h2 em{font-style:normal;color:var(--y)}
.slide-content p{display:none;font-size:16px;opacity:.85;margin-bottom:28px;line-height:1.6;max-width:440px}
@media(min-width:601px){.slide-content p{display:block}}
.slide-ctas{display:flex;gap:12px;flex-wrap:wrap}
.slider-arrow{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.1);backdrop-filter:blur(6px);border:1.5px solid rgba(255,255,255,.25);color:var(--white);font-size:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:background .2s,border-color .2s;user-select:none}
.slider-arrow:hover{background:var(--y);border-color:var(--y);color:var(--navy)}
.slider-arrow.prev{left:20px}
.slider-arrow.next{right:20px}
.slider-dots{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:10}
.dot{width:8px;height:8px;border-radius:99px;background:rgba(255,255,255,.35);cursor:pointer;transition:all .3s;border:none}
.dot.active{background:var(--y);width:24px}

.hero-strip{background:var(--y);padding:14px 0}
.hero-strip .container{display:flex;justify-content:space-around;flex-wrap:wrap;gap:14px}
.hs-item{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:700;color:var(--navy)}
.hs-item svg{flex-shrink:0}

/* [9] QUICK CATS — mobile-first */
.quick-cats{background:var(--white);padding:16px 0;border-bottom:1px solid var(--border)}
@media(min-width:861px){.quick-cats{padding:28px 0}}
.quick-cats .container{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
@media(min-width:861px){.quick-cats .container{gap:10px}}
.qcat{display:flex;flex-direction:column;align-items:center;gap:12px;padding:22px 26px;min-width:132px;border-radius:var(--r-lg);border:1.5px solid var(--border);background:var(--white);transition:all .22s;cursor:pointer;text-align:center}
.qcat:hover{border-color:var(--y);background:var(--y-pale);transform:translateY(-4px);box-shadow:0 8px 24px rgba(255,212,53,.2)}
.qcat img{width:68px;height:68px;object-fit:contain}
.qcat span{font-size:12.5px;font-weight:700;color:var(--charcoal);text-transform:uppercase;letter-spacing:.6px}

/* [10] SECTIONS HOME — mobile-first */
section{padding:36px 0}
@media(min-width:481px){section{padding:48px 0}}
@media(min-width:601px){section{padding:56px 0}}
@media(min-width:861px){section{padding:72px 0}}

.sec-cats{background:var(--gray-bg)}
.cat-grid{display:grid;grid-template-columns:1fr;gap:22px}
@media(min-width:601px){.cat-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1101px){.cat-grid{grid-template-columns:repeat(3,1fr)}}
.cat-card{background:var(--white);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border);transition:box-shadow .22s,transform .22s;display:flex;flex-direction:column}
.cat-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px)}
.cat-card-img-wrap{position:relative;overflow:hidden}
.cat-card-img{width:100%;height:185px;object-fit:cover;transition:transform .4s}
.cat-card:hover .cat-card-img{transform:scale(1.04)}
.cat-card-flag{position:absolute;top:12px;left:12px}
.cat-card-body{padding:20px;flex:1;display:flex;flex-direction:column}
.cat-card-body h3{font-size:16px;font-weight:800;color:var(--charcoal);margin-bottom:7px}
.cat-card-body p{font-size:13.5px;color:var(--slate);line-height:1.55;flex:1}
.cat-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}
.cat-card-footer .link{font-size:13px;font-weight:700;color:var(--charcoal);display:flex;align-items:center;gap:5px;transition:gap .2s,color .2s}
.cat-card-footer .link:hover{color:var(--y-dark);gap:8px}
.cat-card-footer .count{font-size:12px;font-weight:600;color:var(--slate)}

.promo-banner{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-mid) 100%);padding:56px 0;overflow:hidden;position:relative}
.promo-banner::before{content:'';position:absolute;top:-80px;right:-80px;width:320px;height:320px;border-radius:50%;background:rgba(255,212,53,.06)}
.promo-banner::after{content:'';position:absolute;bottom:-60px;left:10%;width:200px;height:200px;border-radius:50%;background:rgba(255,212,53,.04)}
.promo-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;flex-direction:column}
@media(min-width:601px){.promo-inner{flex-direction:row}}
.promo-text h2{font-size:clamp(22px,3vw,36px);font-weight:900;color:var(--white);letter-spacing:-.5px;margin-bottom:10px}
.promo-text h2 span{color:var(--y)}
.promo-text p{color:#94A3B8;font-size:15px;max-width:460px}
.promo-ctas{display:flex;gap:12px;flex-wrap:wrap}

.sec-brands{background:var(--white)}
.brands-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.brand-chip{width:120px;height:100px;border:1.5px solid var(--border);border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;padding:14px;transition:border-color .2s,box-shadow .2s,transform .2s;background:var(--white)}
.brand-chip:hover{border-color:var(--y);box-shadow:0 4px 18px rgba(255,212,53,.2);transform:translateY(-3px)}
.brand-chip img{width:82px;height:64px;object-fit:contain;filter:grayscale(30%);transition:filter .2s}
.brand-chip:hover img{filter:grayscale(0%)}

.sec-usp{background:var(--gray-bg2)}
.usp-grid{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:601px){.usp-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1101px){.usp-grid{grid-template-columns:repeat(3,1fr)}}
.usp-card{background:var(--white);border-radius:var(--r-lg);padding:32px 28px;border:1px solid var(--border);position:relative;overflow:hidden;transition:box-shadow .22s,transform .22s}
.usp-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}
.usp-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--y)}
.usp-icon-wrap{width:52px;height:52px;background:var(--y-pale);border-radius:var(--r);display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:18px}
.usp-card h3{font-size:16px;font-weight:800;color:var(--charcoal);margin-bottom:8px}
.usp-card p{font-size:13.5px;color:var(--slate);line-height:1.6}

.sec-products{background:var(--white)}
.products-grid,.wc-products-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
@media(min-width:861px){.products-grid,.wc-products-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1101px){.products-grid,.wc-products-grid{grid-template-columns:repeat(4,1fr)}}
.prod-card{border-radius:var(--r-lg);overflow:hidden;border:1.5px solid var(--border);background:var(--white);transition:box-shadow .22s,transform .22s,border-color .22s;display:flex;flex-direction:column;position:relative}
.prod-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px);border-color:rgba(255,212,53,.4)}
.prod-img-wrap{position:relative;overflow:hidden;background:var(--gray-bg);display:block}
.prod-card .prod-img{display:block;height:200px;aspect-ratio:auto;object-fit:cover;transition:transform .4s;width:100%}
.prod-card:hover .prod-img{transform:scale(1.04)}
.badges{position:absolute;top:10px;left:10px;z-index:2;display:flex;flex-wrap:wrap;gap:5px}
.prod-badge,.badges .badge-pill{display:inline-block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1px;padding:3px 9px;border-radius:99px}
.prod-badge,.badges .badge-yellow{background:var(--y);color:var(--navy)}
.prod-badge.new,.badges .badge-green{background:#10B981;color:#fff}
.prod-badge.promo,.badges .badge-red{background:#EF4444;color:#fff}
.badges .badge-blue{background:#3B82F6;color:#fff}
.prod-body{padding:16px;flex:1;display:flex;flex-direction:column}
.prod-brand{font-size:11px;color:var(--slate);text-transform:uppercase;font-weight:600;letter-spacing:.8px;margin-bottom:5px}
.prod-name{font-size:14px;font-weight:700;color:var(--charcoal);line-height:1.35;margin-bottom:10px;flex:1;display:block}
.prod-name:hover{color:var(--navy)}
.prod-rating{display:flex;align-items:center;gap:5px;margin-bottom:12px}
.prod-rating .stars{color:var(--y);font-size:12px;letter-spacing:-1px}
.prod-rating span{font-size:12px;color:var(--slate)}
.prod-footer{display:flex;align-items:stretch;justify-content:space-between;gap:8px;padding-top:12px;border-top:1px solid var(--border);flex-direction:column}
@media(min-width:601px){.prod-footer{flex-direction:row;align-items:center}}
.prod-price{font-size:11px;font-weight:400;color:var(--slate);line-height:1.2}
.prod-price .woocommerce-Price-amount{font-size:15px;font-weight:900;color:var(--charcoal);display:block}
@media(min-width:601px){.prod-price .woocommerce-Price-amount{font-size:20px}}
.prod-price small{font-size:12px;font-weight:400;color:var(--slate)}
.prod-price del{display:block;margin-bottom:2px}
.prod-price del .woocommerce-Price-amount{font-size:12px;font-weight:400;color:var(--slate);display:inline}
.prod-price.has-promo ins{text-decoration:none}
.prod-price.has-promo ins .woocommerce-Price-amount{color:#EF4444}
.btn-add{display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 14px;background:var(--y);color:var(--navy);border:none;border-radius:var(--r);font-size:12.5px;font-weight:800;cursor:pointer;transition:background .2s;text-decoration:none;white-space:nowrap;flex-shrink:0;width:100%;min-height:44px}
@media(min-width:601px){.btn-add{width:auto}}
.btn-add:hover{background:var(--y-dark)}
.btn-add.loading{opacity:.6;pointer-events:none}

.sec-blog{background:var(--gray-bg)}
.blog-grid{display:grid;grid-template-columns:1fr;gap:22px}
@media(min-width:601px){.blog-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1101px){.blog-grid{grid-template-columns:repeat(4,1fr)}}
.blog-card{border-radius:var(--r-lg);overflow:hidden;background:var(--white);border:1px solid var(--border);transition:box-shadow .22s,transform .22s;display:flex;flex-direction:column}
.blog-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}
.blog-img{width:100%;height:168px;object-fit:cover;transition:transform .4s;display:block}
.blog-img-ph{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-mid) 100%)}
.blog-img-ph svg{color:var(--y);opacity:.5}
.blog-card:hover .blog-img{transform:scale(1.04)}
.blog-body{padding:18px;flex:1;display:flex;flex-direction:column}
.blog-tag{display:inline-block;background:var(--y-soft);color:#92400E;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:1px;padding:3px 9px;border-radius:99px;margin-bottom:10px;width:fit-content}
.blog-title{font-size:14px;font-weight:700;color:var(--charcoal);line-height:1.4;margin-bottom:10px;flex:1}
.blog-meta{font-size:12px;color:var(--slate);margin-bottom:12px}
.blog-link{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:700;color:var(--charcoal);transition:gap .2s,color .2s}
.blog-link:hover{color:var(--y-dark);gap:8px}

/* PAGINATION BLOG — the_posts_pagination() (index.php, archive.php) */
nav.pagination{margin-top:48px;text-align:center}
nav.pagination .nav-links{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center}
nav.pagination .page-numbers{display:flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;border-radius:var(--r);border:1.5px solid var(--border);font-size:13px;font-weight:600;color:var(--charcoal);transition:all .2s}
nav.pagination .page-numbers:hover{border-color:var(--y);background:var(--y-pale)}
nav.pagination .page-numbers.current{background:var(--y);color:var(--navy);border-color:var(--y)}
nav.pagination .page-numbers.dots{border-color:transparent;background:none}
nav.pagination .page-numbers.prev,nav.pagination .page-numbers.next{font-weight:700;padding:0 14px}

.sec-newsletter{background:var(--navy);padding:56px 0}
.newsletter-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;flex-direction:column}
@media(min-width:601px){.newsletter-inner{flex-direction:row}}
.newsletter-text h2{font-size:clamp(20px,2.8vw,30px);font-weight:900;color:var(--white);margin-bottom:8px}
.newsletter-text h2 span{color:var(--y)}
.newsletter-text p{color:#94A3B8;font-size:14.5px}
.newsletter-form{display:flex;gap:0;border-radius:var(--r);overflow:hidden;border:2px solid rgba(255,212,53,.4);min-width:unset;width:100%;flex:1;max-width:460px}
@media(min-width:601px){.newsletter-form{min-width:360px;width:auto}}
.newsletter-form input{flex:1;padding:13px 18px;background:rgba(255,255,255,.08);border:none;outline:none;color:var(--white);font-size:16px}
.newsletter-form input::placeholder{color:#64748B}
.newsletter-form button{padding:13px 22px;background:var(--y);color:var(--navy);font-weight:800;font-size:13.5px;border:none;cursor:pointer;transition:background .2s;white-space:nowrap}
.newsletter-form button:hover{background:var(--y-dark)}

/* [11] FOOTER — mobile-first */
.site-footer{background:var(--navy-mid);color:#94A3B8;padding:60px 0 40px}
.footer-grid{display:grid;grid-template-columns:1fr;gap:32px;margin-bottom:44px}
@media(min-width:601px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(min-width:861px){.footer-grid{grid-template-columns:1.8fr 1fr 1fr 1fr;gap:48px}}
.footer-col .footer-title{font-size:12px;font-weight:700;color:var(--white);text-transform:uppercase;letter-spacing:1.2px;margin-bottom:18px;display:flex;align-items:center;gap:8px}
.footer-col .footer-title::after{content:'';flex:1;height:1px;background:rgba(255,255,255,.08)}
.footer-logo img,.footer-logo svg,.footer-logo .custom-logo{height:42px;width:auto;max-width:180px;display:block;margin-bottom:16px}
.footer-logo .custom-logo-link{display:inline-flex;align-items:center;line-height:0}
.footer-desc{font-size:13.5px;line-height:1.7;margin-bottom:18px}
.footer-contact-list{display:flex;flex-direction:column;gap:8px}
.footer-contact-list a{display:flex;align-items:flex-start;gap:9px;font-size:13px;color:#94A3B8;transition:color .2s}
.footer-contact-list a:hover{color:var(--y)}
.footer-contact-list .ic{font-size:15px;flex-shrink:0;margin-top:1px}
.footer-col ul{margin:0;padding:0}
.footer-col ul li{margin-bottom:9px}
.footer-col ul li a{font-size:13.5px;color:#94A3B8;transition:color .2s,padding-left .2s;display:flex;align-items:center;gap:6px}
.footer-col ul li a::before{content:'›';color:var(--y);font-weight:700}
.footer-col ul li a:hover{color:var(--white);padding-left:4px}
.footer-divider{border:none;border-top:1px solid rgba(255,255,255,.07);margin-bottom:24px}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.footer-copy{font-size:12.5px;color:#4B5563}
.footer-copy a{color:var(--y)}
.footer-pay img{width:100%;height:26px;object-fit:contain;opacity:.55;transition:opacity .2s}
.footer-pay img:hover{opacity:.85}
/* --- Footer piloté par widgets (Apparence › Widgets) : normalise le rendu des
   blocs (titre, liste, navigation, page list, paragraphe) sur le design des
   colonnes, quel que soit le bloc utilisé. --- */
.footer-col .footer-widget + .footer-widget{margin-top:28px}
.footer-col h2,.footer-col h3,.footer-col .wp-block-heading{
  font-size:12px;font-weight:700;color:var(--white);text-transform:uppercase;letter-spacing:1.2px;
  margin-bottom:18px;display:flex;align-items:center;gap:8px;
}
.footer-col h2::after,.footer-col h3::after,.footer-col .wp-block-heading::after{content:'';flex:1;height:1px;background:rgba(255,255,255,.08)}
.footer-col .wp-block-navigation__container,
.footer-col ul.wp-block-list,
.footer-col .wp-block-page-list{display:flex;flex-direction:column;gap:9px;margin:0;padding:0;list-style:none}
.footer-col .wp-block-navigation a,
.footer-col .wp-block-page-list a{
  font-size:13.5px;color:#94A3B8;transition:color .2s,padding-left .2s;display:flex;align-items:center;gap:6px;
}
.footer-col .wp-block-navigation a::before,
.footer-col .wp-block-page-list a::before{content:'›';color:var(--y);font-weight:700}
.footer-col .wp-block-navigation a:hover,
.footer-col .wp-block-page-list a:hover{color:var(--white);padding-left:4px;background:none}
.footer-col p{font-size:13.5px;line-height:1.7;color:#94A3B8;margin-bottom:14px}
.footer-col p:last-child{margin-bottom:0}
.footer-col p a{color:var(--y)}

/* [12] MOBILE MENU */
.mobile-menu{display:none;position:fixed;inset:0;background:var(--navy);z-index:2000;overflow-y:auto;padding:0;flex-direction:column}
.mobile-menu.open{display:flex}
.mm-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;padding-top:calc(18px + env(safe-area-inset-top, 0px));border-bottom:1px solid rgba(255,255,255,.08)}
.mm-header img,.mm-header svg{height:38px}
.mm-close{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);border-radius:50%;color:var(--white);font-size:20px;cursor:pointer;border:none}
.mm-nav{padding:16px 0}
.mm-nav a,.mm-nav li a{display:flex;align-items:center;gap:12px;padding:14px 22px;font-size:15px;font-weight:600;color:#CBD5E1;border-bottom:1px solid rgba(255,255,255,.05)}
.mm-nav a:hover,.mm-nav li a:hover{color:var(--y);background:rgba(255,212,53,.05)}
.mm-nav li{list-style:none}

.mm-nav .mm-item-wrap{display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.05);transition:background .14s}
.mm-nav .mm-item-wrap:hover{background:rgba(255,212,53,.05)}
.mm-nav .mm-item-wrap a{flex:1;border-bottom:none;padding:14px 22px}
.mm-nav .mm-item-wrap:hover a{color:var(--y);background:none}
.mm-toggle{width:48px;flex-shrink:0;align-self:stretch;background:none;border:none;color:#CBD5E1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .2s}
.mm-toggle:hover{color:var(--y)}
.mm-toggle svg{transition:transform .25s}
.mm-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.mm-nav .mm-sub{display:none;list-style:none;margin:0;padding:0;background:rgba(0,0,0,.2)}
.mm-nav .mm-sub.open{display:block}
.mm-nav .mm-sub li a{padding:11px 22px 11px 44px;font-size:13.5px;font-weight:500;color:#94A3B8;border-bottom:1px solid rgba(255,255,255,.04)}
.mm-nav .mm-sub li a:hover{color:var(--y);background:rgba(255,212,53,.05)}

.mm-contact{padding:20px 22px 28px;padding-bottom:calc(28px + env(safe-area-inset-bottom, 0px));border-top:1px solid rgba(255,255,255,.08)}
.mm-contact-title{font-size:10px;font-weight:700;letter-spacing:.9px;text-transform:uppercase;color:#475569;margin:0 0 10px}
.mm-contact a{display:flex;align-items:center;gap:12px;padding:9px 0;font-size:13px;font-weight:500;color:#94A3B8;text-decoration:none;border-bottom:none}
.mm-contact a:hover{color:var(--y)}
.mm-contact svg{flex-shrink:0;color:var(--y)}

/* [13] PAGE 404 */
.error-404-wrap{padding:72px 0 100px;text-align:center}
.error-404-inner{max-width:680px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:20px}
.error-code{font-size:clamp(80px,14vw,170px);font-weight:900;color:var(--y);line-height:1;letter-spacing:-6px;text-shadow:0 6px 24px rgba(255,212,53,.25)}
.error-title{font-size:clamp(22px,3vw,34px);font-weight:900;color:var(--charcoal);letter-spacing:-.5px;margin-top:12px}
.error-desc{font-size:15px;color:var(--slate);max-width:400px;line-height:1.6}
.error-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:8px}
.error-actions .btn-secondary{background:var(--navy);color:#fff}
.error-actions .btn-secondary:hover{background:var(--navy-mid);transform:translateY(-1px)}
.error-search{width:100%;max-width:640px}
.error-search .search-form{display:flex;border:2px solid var(--border);border-radius:var(--r-lg);overflow:hidden;transition:border-color .2s,box-shadow .2s;background:#fff;box-shadow:0 10px 32px rgba(15,24,35,.1)}
.error-search .search-form:focus-within{border-color:var(--y);box-shadow:0 10px 32px rgba(255,212,53,.22)}
.error-search input[type=search],.error-search .search-field{flex:1;padding:22px 26px;border:none;outline:none;font-size:19px;color:var(--charcoal);background:transparent;min-width:0}
.error-search button,.error-search .search-submit{padding:22px 34px;background:var(--y);color:var(--navy);border:none;font-weight:800;font-size:16px;cursor:pointer;transition:background .2s;white-space:nowrap}
.error-search button:hover,.error-search .search-submit:hover{background:var(--y-dark)}
@media(max-width:600px){
  .error-search input[type=search],.error-search .search-field{padding:17px 18px;font-size:16px}
  .error-search button,.error-search .search-submit{padding:17px 20px;font-size:14px}
}

/* [14] WOO MAIN */
.woo-main{padding:48px 0}
.woocommerce-breadcrumb{font-size:13px;color:var(--slate);margin-bottom:0}
.bc-sep{margin:0 6px;opacity:.4}
.wc-products-grid{width:100%}

/* [15] CART PANEL — badge compteur header */
.cart-panel-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:99px;background:var(--y);color:var(--navy);font-size:11px;font-weight:900;margin-left:4px}

/* [16] CART PANEL — produits suggérés */
.cart-suggested{padding:14px 14px 18px;border-top:1px solid var(--border);background:var(--gray-bg)}
.cart-suggested-title{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:var(--slate);margin-bottom:10px;display:flex;align-items:center;gap:7px}
.cart-suggested-list{display:flex;flex-direction:column;gap:8px}
.cart-sug-item{display:flex;align-items:center;gap:10px;background:#fff;border-radius:9px;padding:9px 10px;border:1px solid var(--border);transition:border-color .18s}
.cart-sug-item:hover{border-color:var(--y-dark)}
.cart-sug-img{width:44px;height:44px;object-fit:cover;border-radius:6px;flex-shrink:0;background:var(--border)}
.cart-sug-info{flex:1;min-width:0}
.cart-sug-name{font-size:12px;font-weight:600;color:var(--charcoal);line-height:1.3;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cart-sug-price{font-size:13px;font-weight:800;color:var(--navy)}
.cart-sug-add{display:flex;align-items:center;justify-content:center;width:30px;height:30px;background:var(--navy);color:#fff;border:none;border-radius:7px;font-size:0;cursor:pointer;flex-shrink:0;transition:background .18s}
.cart-sug-add svg{width:15px;height:15px}
.cart-sug-add:hover{background:var(--y);color:var(--navy)}
.cart-sug-add.loading{background:var(--border);pointer-events:none}

/* [17] CART TOAST — notification ajout panier, mobile-first */
.cart-toast{position:fixed;top:auto;bottom:calc(16px + var(--sticky-atc-offset, 0px));right:-100vw;width:calc(100vw - 24px);max-width:calc(100vw - 24px);background:#fff;border-radius:14px;box-shadow:0 8px 48px rgba(15,24,35,.18);z-index:2100;transition:right .38s cubic-bezier(.4,0,.2,1),bottom .3s;border:1px solid var(--border);overflow:hidden}
@media(min-width:481px){.cart-toast{top:88px;bottom:auto;right:-420px;width:350px}}
.cart-toast.show{right:12px;left:12px;width:auto}
@media(min-width:481px){.cart-toast.show{right:16px;left:auto;width:350px}}
.ct-header{display:flex;align-items:center;gap:8px;padding:12px 16px 10px;font-size:13px;font-weight:700;color:var(--charcoal);border-bottom:1px solid var(--border);background:var(--gray-bg)}
.ct-product{display:flex;align-items:flex-start;gap:12px;padding:14px 16px 12px}
.ct-img{width:60px;height:60px;object-fit:cover;border-radius:9px;border:1px solid var(--border);flex-shrink:0;background:var(--gray-bg2)}
.ct-details{flex:1;min-width:0}
.ct-name{font-size:13px;font-weight:700;color:var(--charcoal);line-height:1.35;margin-bottom:5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ct-price{font-size:16px;font-weight:900;color:var(--navy);margin-bottom:3px}
.ct-qty{font-size:11.5px;color:var(--slate)}
.ct-actions{display:flex;gap:9px;padding:0 16px 14px}
.ct-btn-view{flex:1;padding:10px;background:transparent;border:1.5px solid var(--navy);border-radius:8px;font-size:12.5px;font-weight:700;color:var(--navy);cursor:pointer;transition:all .18s;text-align:center;line-height:1}
.ct-btn-view:hover{background:var(--navy);color:#fff}
.ct-btn-checkout{flex:1;padding:10px;background:var(--y);border-radius:8px;font-size:12.5px;font-weight:800;color:var(--navy);cursor:pointer;transition:background .18s;text-align:center;display:flex;align-items:center;justify-content:center;line-height:1}
.ct-btn-checkout:hover{background:var(--y-dark)}
.ct-dismiss{position:absolute;top:9px;right:11px;background:none;border:none;cursor:pointer;color:var(--slate);padding:4px;line-height:1;transition:color .15s;display:flex;align-items:center;justify-content:center}
.ct-dismiss:hover{color:var(--charcoal)}
.ct-bar{height:3px;background:var(--border)}
.ct-bar-inner{height:100%;background:var(--y);width:100%}

/* [17b] DEVIS TOAST — notification ajout au devis / confirmation envoi */
.cq-toast-rich{position:fixed;bottom:24px;right:24px;z-index:2100;width:320px;max-width:calc(100vw - 32px);background:var(--navy);border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.22);transform:translateY(20px);opacity:0;transition:transform .28s cubic-bezier(.16,1,.3,1),opacity .28s ease;pointer-events:none;overflow:hidden}
.cq-toast-rich.is-visible{transform:translateY(0);opacity:1;pointer-events:auto}
.cq-toast-rich--success{background:#14532D}
.cq-toast-rich--error{background:#7F1D1D}
.cqtr-dismiss{position:absolute;top:10px;right:10px;width:22px;height:22px;background:rgba(255,255,255,.12);border:none;border-radius:50%;color:rgba(255,255,255,.8);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background .15s}
.cqtr-dismiss:hover{background:rgba(255,255,255,.22)}
.cqtr-header{display:flex;align-items:center;gap:7px;padding:14px 40px 0 16px;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:rgba(255,255,255,.6)}
.cqtr-hicon{flex-shrink:0;color:var(--y)}
.cq-toast-rich--success .cqtr-hicon{color:#4ADE80}
.cq-toast-rich--error .cqtr-hicon{color:#FCA5A5}
.cqtr-body{padding:7px 16px 10px;font-size:13.5px;font-weight:500;color:rgba(255,255,255,.9);line-height:1.45}
.cqtr-actions{padding:0 16px 12px;display:flex;gap:8px}
.cqtr-btn{display:inline-flex;align-items:center;padding:7px 14px;background:var(--y);color:var(--navy);border-radius:6px;font-size:12.5px;font-weight:700;text-decoration:none;transition:background .15s}
.cqtr-btn:hover{background:var(--y-dark);color:var(--navy)}
.cqtr-bar{height:3px;background:rgba(255,255,255,.1);overflow:hidden}
.cqtr-bar-fill{height:100%;background:var(--y);width:100%}
.cq-toast-rich--success .cqtr-bar-fill{background:#4ADE80}
.cq-toast-rich--error .cqtr-bar-fill{background:#F87171}

/* [18] BTN SPINNER — loading state add-to-cart */
@keyframes spin{to{transform:rotate(360deg)}}
.btn-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;vertical-align:middle}
.add-to-cart-btn.loading{pointer-events:none;opacity:.75}

/* [19] SEARCH PREVIEW — dropdown live */
.search-preview{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:0 8px 32px rgba(0,0,0,.14);display:none;flex-direction:column;max-height:400px;overflow-y:auto;position:fixed;z-index:950}
.search-preview.open{display:flex}
.sp-item{display:flex;align-items:center;gap:12px;padding:10px 14px;text-decoration:none;color:var(--charcoal);border-bottom:1px solid var(--border);transition:background .14s}
.sp-item:last-child{border-bottom:none}
.sp-item:hover,.sp-item:focus{background:var(--gray-bg);outline:none}
.sp-item:focus-visible{outline:2px solid var(--navy);outline-offset:-2px}
.sp-item img{width:44px;height:44px;object-fit:cover;border-radius:var(--r);border:1px solid var(--border);flex-shrink:0;background:var(--gray-bg)}
.sp-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.sp-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sp-price{font-size:12px;color:var(--slate)}
.sp-empty{margin:0;padding:16px;text-align:center;font-size:13px;color:var(--slate)}
.sp-all{display:block;padding:12px 14px;text-align:center;font-size:13px;font-weight:700;color:var(--navy);text-decoration:none;border-top:1px solid var(--border);background:var(--gray-bg);position:sticky;bottom:0}
.sp-all:hover{background:var(--y-pale);color:var(--navy)}

.search-loader{width:0;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:width .15s}
.search-loader.active{width:30px}
.search-loader::after{content:'';width:13px;height:13px;border:2px solid rgba(255,255,255,.18);border-top-color:rgba(255,255,255,.72);border-radius:50%;animation:srch-spin .65s linear infinite}
@keyframes srch-spin{to{transform:rotate(360deg)}}

/* [19b] SKELETON — placeholders CSS-only pendant les requêtes AJAX (recherche, panier) */
@keyframes comptoir-pulse{0%,100%{opacity:.55}50%{opacity:1}}
.sp-skeleton{pointer-events:none}
.sp-skel-img,.sp-skel-line{background:var(--gray-bg);border-radius:var(--r);animation:comptoir-pulse 1.1s ease-in-out infinite}
.sp-skel-img{width:44px;height:44px;flex-shrink:0}
.sp-skel-line{height:10px;display:block}
.sp-skel-line-name{width:70%;margin-bottom:6px}
.sp-skel-line-price{width:35%}

#cartItemsList.is-loading{position:relative;min-height:60px;pointer-events:none}
#cartItemsList.is-loading>*{opacity:.35}
#cartItemsList.is-loading::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.65) 50%,rgba(255,255,255,0) 100%);background-size:200% 100%;animation:comptoir-shimmer 1.1s ease-in-out infinite}
@keyframes comptoir-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* [20] SINGLE POST — mobile-first */
.single-wrap{padding:16px 16px 32px}
@media(min-width:601px){.single-wrap{padding:24px 20px 40px}}
@media(min-width:861px){.single-wrap{padding:32px 24px 56px}}
.single-article{max-width:100%}
.single-header{margin-bottom:28px}
.single-title{font-size:clamp(22px,3vw,36px);font-weight:900;color:var(--charcoal);margin:14px 0 10px;letter-spacing:-.3px;line-height:1.2}
@media(min-width:601px){.single-title{letter-spacing:-.5px}}
.single-meta{font-size:13px;color:var(--slate)}
.single-thumb{margin-bottom:28px;border-radius:var(--r-lg);overflow:hidden}
/* Ratio calé sur comptoir-hero-sm (768×320) puis comptoir-hero (1440×480,
   min-width:768px, même seuil que le <picture> dans single.php et que le
   bandeau catégorie dans archive-product.php) : zéro saut de mise en page
   quelle que soit la source réellement chargée par le navigateur. */
.single-thumb img{width:100%;height:auto;aspect-ratio:2;object-fit:cover;display:block}
.entry-content{font-size:15px;line-height:1.75;color:var(--charcoal)}

/* [20bis] ENTRY-CONTENT — articles au format cpw-* (Gutenberg), mobile-first */
.entry-content p.cpw-para{font-size:14.5px;line-height:1.78;color:var(--slate);margin:0 0 14px}
.entry-content p.cpw-para:first-child{font-size:15px;color:var(--navy-mid)}
.entry-content p.cpw-para strong{color:var(--charcoal)}

.entry-content h2.cpw-heading{font-size:19px;font-weight:800;color:var(--navy);margin:34px 0 16px;padding-bottom:10px;border-bottom:3px solid var(--y);letter-spacing:-.02em;line-height:1.3}
@media(min-width:768px){.entry-content h2.cpw-heading{font-size:22px;margin-top:44px}}
.entry-content h3.cpw-heading{font-size:16px;font-weight:700;color:var(--navy-mid);margin:26px 0 12px;letter-spacing:-.01em}

/* Liens de prose. On garde la spécificité basse (.entry-content a) et on
   neutralise les liens-boutons au cas par cas plus bas (.btn-add ci-dessous,
   blocs produit dans leur section dédiée). Un :not() global gonflait la
   spécificité et surclassait les styles produit (titre souligné, texte de
   bouton invisible au hover). */
.entry-content a{color:var(--navy);text-decoration:underline;text-underline-offset:2px;text-decoration-color:rgba(255,212,53,.55);font-weight:600}
.entry-content a:hover{color:var(--y-dark);text-decoration-color:var(--y)}
/* Bouton produit maison (.prod-card via shortcode [products]) rendu dans du
   contenu : texte marine + pas de soulignement, sinon au hover le texte passerait
   en --y-dark comme le fond du bouton. */
.entry-content a.btn-add{color:var(--navy);font-weight:800;text-decoration:none}
.entry-content a.btn-add:hover{color:var(--navy)}
/* CTA du système de devis ([comptoir_devis] rendu dans .entry-content) : sans
   ça, le texte du bouton passe en marine sur fond marine (invisible) et la barre
   d'ajout est soulignée en jaune. Placé ici pour être toujours chargé avec la
   règle .entry-content a ci-dessus (indépendant de quote.css). */
.entry-content a.cq-empty-cta,.entry-content a.cq-empty-cta:hover{color:#fff;text-decoration:none}
.entry-content a.cq-add-bar,.entry-content a.cq-add-bar:hover{color:inherit;text-decoration:none}

.entry-content sup.cite{font-size:10px;line-height:0;vertical-align:super;margin-left:1px}
.entry-content sup.cite a{display:inline-block;background:var(--y-soft);color:var(--navy-mid);padding:1px 4px;border-radius:3px;font-weight:700;text-decoration:none;font-size:10px;transition:background .15s}
.entry-content sup.cite a:hover{background:var(--y);color:var(--navy)}

.entry-content ul.cpw-list{list-style:none;margin:0 0 18px;padding:0}
.entry-content ul.cpw-list li{position:relative;padding:6px 0 6px 24px;font-size:14.5px;line-height:1.72;color:var(--slate)}
.entry-content ul.cpw-list li::before{content:'';position:absolute;left:0;top:14px;width:7px;height:7px;background:var(--y);border-radius:50%}
.entry-content ul.cpw-list li strong{color:var(--charcoal)}

/* Table des matières */
.entry-content details.toc{background:var(--gray-bg);border:1px solid var(--border);border-radius:var(--r-lg);padding:14px 16px;margin:28px 0}
@media(min-width:768px){.entry-content details.toc{padding:16px 22px}}
.entry-content details.toc>summary{font-weight:700;color:var(--navy);cursor:pointer;font-size:14px;user-select:none;list-style:none;display:flex;align-items:center;gap:10px;outline:none}
.entry-content details.toc>summary::-webkit-details-marker{display:none}
.entry-content details.toc>summary::before{content:'☰';font-size:15px;color:var(--y-dark);line-height:1}
.entry-content details.toc[open]>summary::before{content:'✕';font-size:12px}
.entry-content details.toc nav{margin-top:14px}
.entry-content details.toc nav ol{margin:0;padding:0;counter-reset:toc;list-style:none}
.entry-content details.toc nav ol li{counter-increment:toc;position:relative;padding:5px 0 5px 26px;font-size:13.5px;color:var(--slate)}
.entry-content details.toc nav ol li::before{content:counter(toc)'.';position:absolute;left:0;top:6px;font-size:11.5px;font-weight:700;color:var(--y-dark);line-height:1}
.entry-content details.toc nav a{color:var(--navy-mid);text-decoration:none;font-size:13.5px;font-weight:500}
.entry-content details.toc nav a:hover{color:var(--y-dark);text-decoration:underline}

/* Tableau comparatif : masqué sous 768px au profit du <details> "Comparer critère par critère" */
.entry-content .wp-block-table{margin:22px 0;overflow-x:auto}
.entry-content table{display:none;width:100%;border-collapse:collapse;font-size:13.5px}
.entry-content .wp-block-table + details{display:block;border:1px solid var(--border);border-radius:var(--r);overflow:hidden;margin:22px 0}
@media(min-width:768px){
  .entry-content table{display:table}
  .entry-content .wp-block-table + details{display:none}
}
.entry-content table caption{font-size:12px;font-weight:500;color:var(--slate);text-align:left;padding:0 0 8px;caption-side:top;opacity:.7}
.entry-content table thead th{background:var(--navy);color:var(--white);font-size:12px;font-weight:700;padding:12px 14px;text-align:left;letter-spacing:.05em;text-transform:uppercase}
.entry-content table thead th:first-child{border-radius:var(--r) 0 0 0}
.entry-content table thead th:last-child{border-radius:0 var(--r) 0 0}
.entry-content table tbody tr:nth-child(even){background:var(--gray-bg)}
.entry-content table tbody tr:hover{background:var(--gray-bg2)}
.entry-content table th[scope="row"]{font-weight:600;color:var(--navy-mid);background:var(--gray-bg);font-size:12.5px;padding:12px 14px;vertical-align:top;line-height:1.5}
.entry-content table tbody tr:nth-child(even) th[scope="row"]{background:var(--gray-bg2)}
.entry-content table td{padding:12px 14px;color:var(--slate);border-bottom:1px solid var(--border);line-height:1.62;vertical-align:top}
.entry-content table td strong{color:var(--navy-mid)}

/* Fallback mobile "Comparer critère par critère" */
.entry-content .wp-block-table + details>summary{font-size:13.5px;font-weight:600;color:var(--navy);padding:12px 16px;cursor:pointer;background:var(--gray-bg);list-style:none;display:flex;align-items:center;gap:10px;user-select:none;outline:none}
.entry-content .wp-block-table + details>summary::-webkit-details-marker{display:none}
.entry-content .wp-block-table + details>summary::before{content:'⇄';color:var(--y-dark);font-size:13px}
.entry-content .wp-block-table + details>div,
.entry-content .wp-block-table + details h3{padding:0 16px;margin:16px 16px 0}
.entry-content .wp-block-table + details h3{font-size:12.5px;font-weight:700;color:var(--navy);text-transform:uppercase;letter-spacing:.05em;margin-top:16px}
.entry-content .wp-block-table + details ul{list-style:none;margin:8px 16px 16px;padding:0}
.entry-content .wp-block-table + details ul li{font-size:13px;line-height:1.6;color:var(--slate);padding:3px 0}
.entry-content .wp-block-table + details ul li strong{color:var(--navy-mid)}

/* FAQ + Sources : <details> génériques du corps d'article */
.entry-content > details:not(.toc){border:1px solid var(--border);border-radius:var(--r);overflow:hidden;margin:8px 0 14px}
.entry-content > details:not(.toc)>summary{font-size:14px;font-weight:600;color:var(--navy);padding:13px 16px;cursor:pointer;background:var(--gray-bg);display:flex;align-items:center;justify-content:space-between;gap:12px;user-select:none;list-style:none;outline:none;transition:background .15s}
.entry-content > details:not(.toc)>summary::-webkit-details-marker{display:none}
.entry-content > details:not(.toc)>summary::after{content:'+';font-size:19px;font-weight:700;color:var(--y-dark);flex-shrink:0;line-height:1}
.entry-content > details:not(.toc)[open]>summary{background:var(--y-soft);border-bottom:1px solid rgba(255,212,53,.45)}
.entry-content > details:not(.toc)[open]>summary::after{content:'−'}
.entry-content > details:not(.toc)>p{padding:14px 16px;margin:0;font-size:13.5px;line-height:1.7;color:var(--slate)}
.entry-content > details:not(.toc)>p:last-child{padding-top:0}

/* Sources */
.entry-content details#sources{margin-top:44px;padding-top:0;border-top:2px solid var(--border);border-radius:var(--r)}
.entry-content details#sources>summary{font-size:14px;font-weight:600;color:var(--navy);padding:13px 16px;cursor:pointer;background:var(--gray-bg);list-style:none;display:flex;align-items:center;justify-content:space-between;user-select:none;outline:none}
.entry-content details#sources>summary::-webkit-details-marker{display:none}
.entry-content details#sources>summary::after{content:'▼';font-size:10px;color:var(--y-dark);transition:transform .2s}
.entry-content details#sources[open]>summary::after{transform:rotate(180deg)}
.entry-content details#sources ol{list-style:none;margin:0;padding:12px 16px;counter-reset:src}
.entry-content details#sources ol li{counter-increment:src;position:relative;padding:7px 0 7px 36px;font-size:12.5px;line-height:1.55;color:var(--slate);border-bottom:1px solid var(--border)}
.entry-content details#sources ol li:last-child{border-bottom:none}
.entry-content details#sources ol li::before{content:'['counter(src)']';position:absolute;left:0;top:8px;font-size:11px;font-weight:700;color:var(--navy-mid);line-height:1}
.entry-content details#sources a{color:var(--navy-mid);word-break:break-all;font-size:12.5px;text-decoration:underline;text-underline-offset:1px;font-weight:500}
.entry-content details#sources a:hover{color:var(--y-dark)}

/* [20ter] PAGE CONTACT — contenu Gutenberg + Contact Form 7 rendus via page.php
   dans .entry-content (la page n'utilise pas template-contact.php, donc woocommerce.css
   n'est pas chargé : tout le style vit ici). Mobile-first. */

/* Colonnes Gutenberg cpw : empilées sur mobile, 2 colonnes dès 861px */
.entry-content .wp-block-columns.cpw-row{display:flex;flex-wrap:wrap;gap:28px;margin:28px 0}
.entry-content .wp-block-column.cpw-col{min-width:0;flex:1 1 100%}
@media(min-width:861px){
  .entry-content .wp-block-column.cpw-col-50{flex:1 1 calc(50% - 14px)}
}

/* Titre h1 de section (le h2.cpw-heading est déjà couvert plus haut) */
.entry-content h1.cpw-heading{font-size:22px;font-weight:800;color:var(--navy);margin:0 0 16px;padding-bottom:10px;border-bottom:3px solid var(--y);letter-spacing:-.02em;line-height:1.3}
@media(min-width:768px){.entry-content h1.cpw-heading{font-size:26px;margin-top:0}}

/* Lien téléphone mis en avant sous forme de bouton */
.entry-content a[href^="tel:"]{display:inline-flex;align-items:center;gap:9px;background:var(--y);color:var(--navy);font-weight:900;font-size:19px;text-decoration:none;padding:12px 24px;border-radius:var(--r);margin:6px 0 10px;letter-spacing:.4px;transition:background .2s,transform .2s,box-shadow .2s}
.entry-content a[href^="tel:"]:hover{background:var(--y-dark);color:var(--navy);transform:translateY(-1px);box-shadow:0 6px 20px rgba(255,212,53,.4)}
.entry-content a[href^="tel:"]::before{content:'';width:18px;height:18px;flex-shrink:0;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E") center/contain no-repeat}

/* Grille produits éventuelle dans une colonne : 2 colonnes max pour rester lisible */
.entry-content .cpw-col .products-grid{grid-template-columns:repeat(2,1fr);gap:14px}

/* Formulaire Contact Form 7 (repris de .contact-form-body, adapté à .entry-content) */
.entry-content .wpcf7{background:var(--gray-bg);border:1px solid var(--border);border-radius:var(--r-lg);padding:22px;margin-top:12px}
.entry-content .wpcf7-form p{margin:0 0 16px}
.entry-content .wpcf7-form label{display:block;font-size:12.5px;font-weight:700;color:var(--charcoal)}
.entry-content .wpcf7-form-control-wrap{display:block;margin-top:6px}
.entry-content .wpcf7 input[type=text],
.entry-content .wpcf7 input[type=email],
.entry-content .wpcf7 input[type=tel],
.entry-content .wpcf7 textarea,
.entry-content .wpcf7 select{width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:7px;font-size:14.5px;color:var(--charcoal);background:var(--white);font-family:inherit;transition:border-color .2s,box-shadow .2s}
.entry-content .wpcf7 input:focus,
.entry-content .wpcf7 textarea:focus,
.entry-content .wpcf7 select:focus{outline:none;border-color:var(--y-dark);box-shadow:0 0 0 3px rgba(255,212,53,.18)}
.entry-content .wpcf7 textarea{resize:vertical;min-height:130px}
.entry-content .wpcf7-acceptance label{display:flex;align-items:flex-start;gap:9px;font-size:12.5px;font-weight:500;color:var(--slate);cursor:pointer}
.entry-content .wpcf7-acceptance input{width:16px;height:16px;margin-top:2px;accent-color:var(--navy);flex-shrink:0;cursor:pointer}
.entry-content .wpcf7-submit{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 28px;background:var(--y);color:var(--navy);border:none;border-radius:var(--r);font-size:14.5px;font-weight:900;cursor:pointer;transition:all .2s;letter-spacing:.2px;text-decoration:none}
.entry-content .wpcf7-submit:hover{background:var(--y-dark);transform:translateY(-1px);box-shadow:0 6px 20px rgba(255,212,53,.4)}
.entry-content .wpcf7-spinner{margin-left:10px}
.entry-content .wpcf7-not-valid-tip{font-size:11.5px;color:#EF4444;margin-top:4px}
.entry-content .wpcf7-response-output{margin-top:16px;padding:12px 16px;border:1px solid var(--border);border-radius:var(--r);font-size:13.5px;font-weight:600}
.entry-content .wpcf7 form.sent .wpcf7-response-output{border-color:#10B981;color:#065F46;background:#ECFDF5}
.entry-content .wpcf7 form.failed .wpcf7-response-output,
.entry-content .wpcf7 form.invalid .wpcf7-response-output{border-color:#EF4444;color:#991B1B;background:#FEF2F2}

/* [21] ARTICLES DE BLOG IMPORTÉS (.wpai-imported) — mobile-first */
.wpai-imported{width:100%;line-height:1.72}
.wpai-imported section{padding:0}

.wpai-imported p.meta{font-size:12.5px;color:var(--slate);margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.wpai-imported p.meta time{font-style:normal}

.wpai-imported p.lead{font-size:14px;line-height:1.78;color:var(--charcoal);font-weight:500;background:var(--y-pale);border-left:4px solid var(--y);padding:13px 15px;border-radius:0 var(--r) var(--r) 0;margin-bottom:24px}
@media(min-width:768px){.wpai-imported p.lead{font-size:15px;padding:16px 20px}}

.wpai-imported aside{background:var(--y-soft);border-left:4px solid var(--y);border-radius:0 var(--r) var(--r) 0;padding:13px 18px;margin:20px 0;font-size:13.5px;line-height:1.68;color:var(--navy)}
.wpai-imported aside p{margin:0;color:var(--navy);font-size:13.5px}

.wpai-imported h2{font-size:15px;font-weight:800;color:var(--navy);margin:28px 0 15px;padding-bottom:9px;border-bottom:3px solid var(--y);letter-spacing:-.01em;line-height:1.3}
@media(min-width:768px){.wpai-imported h2{font-size:17px;margin-top:38px}}
.wpai-imported header h2,.wpai-imported header + section h2{margin-top:20px}

.wpai-imported h3{font-size:12.5px;font-weight:700;color:var(--navy);margin:22px 0 9px;text-transform:uppercase;letter-spacing:.07em}
@media(min-width:768px){.wpai-imported h3{font-size:13px}}

.wpai-imported p{font-size:15.5px;line-height:1.78;color:var(--slate);margin:0 0 13px}

.wpai-imported a{color:var(--navy);text-decoration:underline;text-underline-offset:2px;text-decoration-color:rgba(255,212,53,.55)}
.wpai-imported a:hover{color:var(--y-dark);text-decoration-color:var(--y)}

.wpai-imported sup.cite{font-size:10px;line-height:0;vertical-align:super;margin-left:1px}
.wpai-imported sup.cite a{display:inline-block;background:var(--y-soft);color:var(--navy-mid);padding:1px 4px;border-radius:3px;font-weight:700;text-decoration:none;font-size:10px;transition:background .15s}
.wpai-imported sup.cite a:hover{background:var(--y);color:var(--navy)}

.wpai-imported ul,.wpai-imported ol{margin:0 0 16px;padding:0}
.wpai-imported ul li,.wpai-imported ol li{position:relative;padding:5px 0 5px 22px;font-size:15.5px;line-height:1.72;color:var(--slate)}
.wpai-imported ul li::before{content:'';position:absolute;left:0;top:13px;width:7px;height:7px;background:var(--y);border-radius:50%;flex-shrink:0}
.wpai-imported ol{counter-reset:item}
.wpai-imported ol li{counter-increment:item}
.wpai-imported ol li::before{content:counter(item)'.';position:absolute;left:0;top:5px;font-size:11.5px;font-weight:700;color:var(--navy-mid);line-height:1}

.wpai-imported #arbre-de-decision li>strong:first-child{color:var(--navy)}

.wpai-imported header>p>a[href^="#"]:only-child{font-size:12px;opacity:.55}

.wpai-imported details.toc{background:var(--gray-bg);border:1px solid var(--border);border-radius:var(--r-lg);padding:12px 15px;margin:26px 0}
@media(min-width:768px){.wpai-imported details.toc{padding:14px 20px}}
.wpai-imported details.toc>summary{font-weight:700;color:var(--navy);cursor:pointer;font-size:14px;user-select:none;list-style:none;display:flex;align-items:center;gap:10px;outline:none}
.wpai-imported details.toc>summary::-webkit-details-marker{display:none}
.wpai-imported details.toc>summary::before{content:'☰';font-size:15px;color:var(--y);line-height:1}
.wpai-imported details.toc[open]>summary::before{content:'✕';font-size:12px}
.wpai-imported details.toc nav{margin-top:14px}
.wpai-imported details.toc nav ol{margin:0;padding:0;counter-reset:toc;list-style:none}
.wpai-imported details.toc nav ol li{counter-increment:toc;position:relative;padding:4px 0 4px 26px;font-size:13px;color:var(--slate)}
.wpai-imported details.toc nav ol li::before{content:counter(toc)'.';position:absolute;left:0;top:5px;font-size:11.5px;font-weight:700;color:var(--y-dark);line-height:1}
.wpai-imported details.toc nav a{color:var(--navy-mid);text-decoration:none;font-size:13px}
.wpai-imported details.toc nav a:hover{color:var(--y-dark);text-decoration:underline}

/* Tableau comparatif : masqué sous 768px au profit du <dl> de repli (lisible en colonne unique) */
.wpai-imported table{display:none;width:100%;border-collapse:collapse;font-size:13.5px;margin:20px 0}
.wpai-imported section>table+details{display:block}
@media(min-width:768px){
  .wpai-imported table{display:table}
  .wpai-imported section>table+details{display:none}
}
.wpai-imported table caption{font-size:11.5px;font-weight:500;color:var(--slate);text-align:left;padding:0 0 8px;caption-side:top;opacity:.7}
.wpai-imported table thead th{background:var(--navy);color:var(--white);font-size:12px;font-weight:700;padding:11px 14px;text-align:left;letter-spacing:.05em;text-transform:uppercase}
.wpai-imported table thead th:first-child{width:32%;border-radius:var(--r) 0 0 0}
.wpai-imported table thead th:last-child{border-radius:0 var(--r) 0 0}
.wpai-imported table tbody tr:nth-child(even){background:var(--gray-bg)}
.wpai-imported table tbody tr:hover{background:var(--gray-bg2)}
.wpai-imported table th[scope="row"]{font-weight:600;color:var(--navy-mid);background:var(--gray-bg);font-size:12.5px;padding:12px 14px;vertical-align:top;line-height:1.5}
.wpai-imported table tbody tr:nth-child(even) th[scope="row"]{background:var(--gray-bg2)}
.wpai-imported table td{padding:12px 14px;color:var(--slate);border-bottom:1px solid var(--border);line-height:1.62;vertical-align:top}
.wpai-imported table small{display:block;font-size:11px;color:var(--slate);opacity:.7;margin-top:3px}

.wpai-imported dl{margin:0;padding:0}
.wpai-imported dl dt{font-weight:700;color:var(--navy);font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;margin-top:16px;padding-bottom:6px;border-bottom:2px solid var(--y)}
.wpai-imported dl dd{font-size:13.5px;color:var(--slate);padding:8px 0 8px 12px;margin:4px 0;border-left:3px solid var(--y-soft);line-height:1.62}

.wpai-imported #questions-frequentes details{border:1px solid var(--border);border-radius:var(--r);overflow:hidden;margin:6px 0}
.wpai-imported #questions-frequentes details>summary{font-size:13.5px;font-weight:600;color:var(--navy);padding:12px 16px;cursor:pointer;background:var(--gray-bg);display:flex;align-items:center;justify-content:space-between;user-select:none;list-style:none;outline:none;transition:background .15s}
.wpai-imported #questions-frequentes details>summary::-webkit-details-marker{display:none}
.wpai-imported #questions-frequentes details>summary::after{content:'+';font-size:18px;font-weight:700;color:var(--y-dark);flex-shrink:0;margin-left:10px;line-height:1}
.wpai-imported #questions-frequentes details[open]>summary{background:var(--y-soft);border-bottom:1px solid rgba(255,212,53,.45)}
.wpai-imported #questions-frequentes details[open]>summary::after{content:'−'}
.wpai-imported #questions-frequentes details>div{padding:14px 16px}
.wpai-imported #questions-frequentes details>div p{margin:0;font-size:13.5px;line-height:1.72}

.wpai-imported #sources-section{margin-top:40px;padding-top:22px;border-top:2px solid var(--border)}
.wpai-imported #sources-section details{border:1px solid var(--border);border-radius:var(--r);overflow:hidden}
.wpai-imported #sources-section details>summary{font-size:13.5px;font-weight:600;color:var(--navy);padding:11px 16px;cursor:pointer;background:var(--gray-bg);list-style:none;display:flex;align-items:center;justify-content:space-between;user-select:none;outline:none}
.wpai-imported #sources-section details>summary::-webkit-details-marker{display:none}
.wpai-imported #sources-section details>summary::after{content:'▼';font-size:10px;color:var(--y-dark);transition:transform .2s}
.wpai-imported #sources-section details[open]>summary::after{transform:rotate(180deg)}
.wpai-imported #sources-section ol{list-style:none;margin:0;padding:12px 16px;counter-reset:src}
.wpai-imported #sources-section ol li{counter-increment:src;position:relative;padding:7px 0 7px 36px;font-size:12.5px;line-height:1.55;color:var(--slate);border-bottom:1px solid var(--border)}
.wpai-imported #sources-section ol li:last-child{border-bottom:none}
.wpai-imported #sources-section ol li::before{content:'['counter(src)']';position:absolute;left:0;top:8px;font-size:11px;font-weight:700;color:var(--navy-mid);line-height:1}
.wpai-imported #sources-section a{color:var(--navy-mid);word-break:break-all;font-size:12.5px;text-decoration:underline;text-underline-offset:1px}
.wpai-imported #sources-section a:hover{color:var(--y-dark)}

/* Bouton "Configurateur" (menu principal) — accent rouge, compact */
.main-nav .nav-configurateur > a{display:inline-flex;align-items:center;gap:6px;border:1.5px solid #DC2626;color:#DC2626;border-radius:99px;padding:4px 11px;font-weight:700;font-size:13px;line-height:1;transition:background .15s,color .15s}
.main-nav .nav-configurateur > a:hover,.main-nav .nav-configurateur > a[aria-current="page"]{background:#DC2626;color:#fff}
.main-nav .nav-configurateur .nav-config-q{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:99px;border:1.5px solid currentColor;font-size:10px;font-weight:800;flex:0 0 auto}

/* ============================================================
   BLOC WOOCOMMERCE « Product Collection / Produits par catégorie »
   Pages d'archives migrées sous Gutenberg : la grille n'utilise plus
   content-product.php (.prod-card) mais le markup natif du bloc
   (ul.wc-block-product-template > li.wc-block-product). On reproduit
   ici l'aspect des cartes maison. Placé dans main.css car ces pages
   sont de type "page" (woocommerce.css n'y est pas chargé). Sélecteurs
   volontairement spécifiques pour battre wc-blocks-style + .entry-content a.
   ============================================================ */
/* Grille — mêmes breakpoints que .products-grid (2 / 3 / 4 colonnes) */
ul.wc-block-product-template.wc-block-product-template__responsive{
  list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin:0 0 32px;padding:0;
}
@media(min-width:861px){ul.wc-block-product-template.wc-block-product-template__responsive{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1101px){ul.wc-block-product-template.wc-block-product-template__responsive{grid-template-columns:repeat(4,1fr)}}
@media(min-width:1200px){ul.wc-block-product-template.wc-block-product-template__responsive{grid-template-columns:repeat(5,1fr)}}

/* Carte — réplique de .prod-card */
.wc-block-product-template li.wc-block-product{
  display:flex;flex-direction:column;background:var(--white);border:1.5px solid var(--border);
  border-radius:var(--r-lg);overflow:hidden;padding:0;margin:0;position:relative;
  transition:box-shadow .22s,transform .22s,border-color .22s;
}
.wc-block-product-template li.wc-block-product::before{display:none}
.wc-block-product-template li.wc-block-product:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px);border-color:rgba(255,212,53,.4)}

/* Image — .prod-img (200px, cover, zoom hover) */
.wc-block-product-template .wc-block-components-product-image{margin:0}
.wc-block-product-template .wc-block-components-product-image a{display:block;overflow:hidden;background:var(--gray-bg)}
.wc-block-product-template .wc-block-components-product-image img{width:100%;height:200px;object-fit:cover;transition:transform .4s}
.wc-block-product-template li.wc-block-product:hover .wc-block-components-product-image img{transform:scale(1.04)}

/* Titre — .prod-name (gauche, grandit pour pousser le pied de carte en bas) */
.wc-block-product-template .wp-block-post-title{
  flex:1;font-size:14px!important;font-weight:700;line-height:1.35;
  margin:16px 16px 10px!important;padding:0;text-align:left!important;
}
.wc-block-product-template .wp-block-post-title a{color:var(--charcoal);text-decoration:none}
.wc-block-product-template .wp-block-post-title a:hover{color:var(--navy)}

/* Prix — .prod-price, séparé par un filet haut comme .prod-footer */
.wc-block-product-template .wp-block-woocommerce-product-price{
  margin:0 16px;padding-top:12px;border-top:1px solid var(--border);
  text-align:left!important;font-size:11px;color:var(--slate);
}
.wc-block-product-template .wc-block-components-product-price{justify-content:flex-start;margin:0}
.wc-block-product-template .wp-block-woocommerce-product-price .woocommerce-Price-amount{font-size:15px;font-weight:900;color:var(--charcoal)}
@media(min-width:601px){.wc-block-product-template .wp-block-woocommerce-product-price .woocommerce-Price-amount{font-size:20px}}

/* Bouton "Voir le produit" — réplique de .btn-add */
.wc-block-product-template .wp-block-woocommerce-product-button{margin:12px 16px 16px;padding:0}
.wc-block-product-template .wp-block-woocommerce-product-button .wp-block-button__link{
  display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:44px;padding:9px 14px;
  background:var(--y);color:var(--navy);border:none;border-radius:var(--r);font-size:12.5px;font-weight:800;
  text-decoration:none;box-shadow:none;white-space:nowrap;transition:background .2s;
}
.wc-block-product-template .wp-block-woocommerce-product-button .wp-block-button__link:hover,
.wc-block-product-template .wp-block-woocommerce-product-button .wp-block-button__link:focus{background:var(--y-dark);color:var(--navy)}

/* Pagination du bloc (wp-block-query-pagination) */
.wp-block-query-pagination{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;margin:16px 0 40px}
.wp-block-query-pagination .wp-block-query-pagination-numbers{display:flex;gap:6px;flex-wrap:wrap}
.wp-block-query-pagination .page-numbers{
  display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 10px;
  border:1px solid var(--border);border-radius:var(--r);background:var(--white);color:var(--charcoal);
  font-weight:700;font-size:14px;text-decoration:none;transition:border-color .15s,background .15s,color .15s;
}
.wp-block-query-pagination .page-numbers:hover{border-color:var(--y);background:var(--y-pale)}
.wp-block-query-pagination .page-numbers.current{background:var(--navy);border-color:var(--navy);color:#fff}
.wp-block-query-pagination .page-numbers.dots{border:none;background:none;min-width:auto}
.wp-block-query-pagination-next,.wp-block-query-pagination-previous{
  display:inline-flex;align-items:center;height:40px;padding:0 16px;border:1px solid var(--border);
  border-radius:var(--r);background:var(--white);color:var(--charcoal);font-weight:700;font-size:14px;
  text-decoration:none;transition:border-color .15s,background .15s,color .15s;
}
.wp-block-query-pagination-next:hover,.wp-block-query-pagination-previous:hover{border-color:var(--y);background:var(--y-pale)}
