/*
Theme Name: AL'SPEED v2
Theme URI: https://alspeedcomputer.com
Description: Thème classique WooCommerce pour AL'SPEED COMPUTER SARL. Reprend fidèlement la maquette accueil validée (DEC-2026-017) : palette vert/rouge, typographie Syne/Inter, thème clair. Mobile-first, WCAG AA.
Author: Alain (CdP) — AL'SPEED
Version: 0.18.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: alspeed
Tags: woocommerce, e-commerce, classic
*/

/* ============================================================
   AL'SPEED v2 — Design system repris VERBATIM de la maquette
   validée docs/alspeed_homepage_final_1.html (DEC-2026-017).
   ============================================================ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  /* ── Palette AL'SPEED COMPUTER officielle ── */
  --navy:#FFFFFF;
  --surface:#F5F7F5;
  --surface2:#E8F0E8;
  --blue:#2E7D32;
  --blue-light:#43A047;
  --orange:#C62828;
  --orange-light:#E53935;
  --green:#2E7D32;
  --white:#FFFFFF;
  --text-body:#1F2937;
  --text-muted:#6B7280;
  --border:rgba(0,0,0,0.09);
  --r:10px;
  --r-lg:14px;
}
body{font-family:'Inter',sans-serif;background:#FFFFFF;color:#1F2937;overflow-x:hidden;line-height:1.6;font-size:15px}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto}
button{font-family:inherit}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}

/* TOP BAR */
.topbar{background:#1B5E20;color:#fff;padding:7px 5%;font-size:12px;font-weight:500;display:flex;align-items:center;justify-content:space-between;gap:12px}
.topbar-items{display:flex;align-items:center;gap:20px}
.topbar-sep{opacity:.4}

/* NAV */
nav.mainnav{background:#FFFFFF;border-bottom:1px solid #E5E7EB;box-shadow:0 1px 4px rgba(0,0,0,0.06);position:sticky;top:0;z-index:200;padding:0 5%}
.nav-inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;gap:20px;height:62px}
.logo{font-family:'Syne',sans-serif;font-weight:800;font-size:19px;letter-spacing:-.3px;flex-shrink:0;color:#1F2937}
.logo span{color:var(--blue)}
.logo-img{height:38px;width:auto;display:block}
.nav-search{flex:1;max-width:460px;position:relative}
.nav-search input{width:100%;background:#F3F4F6;border:1px solid #D1D5DB;border-radius:var(--r);padding:9px 16px 9px 40px;font-size:13px;color:#1F2937;outline:none;transition:border-color .2s;font-family:'Inter',sans-serif}
.nav-search input::placeholder{color:#9CA3AF}
.nav-search input:focus{border-color:var(--blue)}
.nav-search-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:14px}
.nav-links{display:flex;align-items:center;gap:20px;font-size:13px;color:#4B5563;list-style:none}
.nav-links a:hover{color:var(--blue)}
.nav-links .current-menu-item>a{color:var(--blue);font-weight:600}
.nav-right{display:flex;align-items:center;gap:10px;margin-left:auto;flex-shrink:0}
.nav-phone{font-size:12.5px;color:var(--text-muted);white-space:nowrap}
.nav-phone strong{color:#1F2937}
.btn-cart{background:var(--blue);color:var(--white);font-size:13px;font-weight:500;padding:8px 16px;border-radius:var(--r);display:flex;align-items:center;gap:6px;white-space:nowrap;cursor:pointer}
.btn-cart:hover{background:var(--blue-light)}
.btn-wa-nav{background:rgba(0,200,83,.12);border:0.5px solid rgba(0,200,83,.25);color:var(--green);font-size:13px;font-weight:500;padding:8px 14px;border-radius:var(--r);display:flex;align-items:center;gap:6px;white-space:nowrap}
.nav-burger{display:none;background:none;border:0;font-size:22px;cursor:pointer;color:#1F2937}

/* CATNAV */
.catnav{background:#FFFFFF;border-bottom:1px solid #E5E7EB;padding:0 5%}
.catnav-inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;overflow-x:auto;list-style:none}
.catnav-item{padding:12px 16px;font-size:12.5px;font-weight:500;color:#4B5563;white-space:nowrap;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s;display:flex;align-items:center;gap:6px}
.catnav-item:hover{color:var(--blue)}
.catnav-item.active{color:var(--blue);border-bottom-color:var(--blue)}
.catnav-item a{display:flex;align-items:center;gap:6px}

/* HERO */
.hero-wrap{padding:28px 5% 36px;max-width:1280px;margin:0 auto}
.hero-grid{display:grid;grid-template-columns:2fr 1fr;gap:14px}
.hero-banner{background:linear-gradient(135deg,#E8F5E9 0%,#F9FBF9 60%,#FFFFFF 100%);border:1px solid #C8E6C9;border-radius:var(--r-lg);padding:48px 48px 44px;position:relative;overflow:hidden;min-height:340px;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:0 4px 24px rgba(46,125,50,.08)}
.hero-banner::before{content:'';position:absolute;top:-60px;right:-60px;width:320px;height:320px;background:radial-gradient(circle,rgba(46,125,50,.07) 0%,transparent 70%);pointer-events:none}
.hero-eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:600;color:#1B5E20;background:#E8F5E9;border:1px solid #A5D6A7;padding:5px 13px;border-radius:20px;margin-bottom:18px;width:fit-content}
.hero-dot{width:5px;height:5px;background:#2E7D32;border-radius:50%;animation:blink 1.8s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.15}}
.hero-banner h1{font-family:'Syne',sans-serif;font-size:42px;font-weight:800;line-height:1.1;letter-spacing:-1.5px;margin-bottom:12px;position:relative;color:#1B5E20}
.hero-banner h1 em{font-style:normal;color:#2E7D32}
.hero-banner p{font-size:14px;color:#374151;margin-bottom:28px;max-width:440px;line-height:1.7;position:relative}
.hero-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;position:relative}
.btn-shop-primary{background:#2E7D32;color:#FFFFFF;font-size:14px;font-weight:600;padding:13px 26px;border-radius:var(--r);display:inline-flex;align-items:center;gap:8px;transition:all .2s;box-shadow:0 2px 8px rgba(46,125,50,.25)}
.btn-shop-primary:hover{background:#1B5E20;color:#FFFFFF}
.btn-promo{background:#FFFFFF;color:#C62828;font-size:13px;font-weight:600;padding:13px 22px;border-radius:var(--r);transition:all .2s;border:1.5px solid #FFCDD2;box-shadow:0 2px 8px rgba(198,40,40,.1)}
.btn-promo:hover{background:#FFEBEE;color:#B71C1C}
.hero-side{display:flex;flex-direction:column;gap:12px}
.mini-banner{border-radius:var(--r-lg);border:1px solid #C8E6C9;padding:24px 22px;position:relative;overflow:hidden;flex:1;display:flex;flex-direction:column;justify-content:flex-end;min-height:160px;cursor:pointer;transition:all .25s;box-shadow:0 2px 10px rgba(46,125,50,.07)}
.mini-banner:hover{border-color:#81C784;box-shadow:0 6px 20px rgba(46,125,50,.12);transform:translateY(-2px)}
.mini-banner.b1{background:linear-gradient(140deg,#E8F5E9 0%,#F9FBF9 100%)}
.mini-banner.b2{background:linear-gradient(140deg,#FFF8F8 0%,#FFFFFF 100%);border-color:#FFCDD2}
.mini-banner.b2:hover{border-color:#EF9A9A;box-shadow:0 6px 20px rgba(198,40,40,.1);transform:translateY(-2px)}
.mini-banner.b2 h3{color:#C62828}
.mini-banner.b2 p{color:#9CA3AF}
.mini-icon{font-size:30px;margin-bottom:8px}
.mini-tag{display:inline-block;font-size:10.5px;font-weight:600;padding:3px 10px;border-radius:20px;margin-bottom:8px}
.mini-tag.blue{background:#E8F5E9;color:#2E7D32;border:1px solid #A5D6A7}
.mini-tag.orange{background:#FFF3F3;color:#C62828;border:1px solid #FFCDD2}
.mini-banner h3{font-family:'Syne',sans-serif;font-size:16px;font-weight:700;margin-bottom:3px;color:#1B5E20}
.mini-banner p{font-size:12px;color:#6B7280}

/* TRUST BAR */
.trustbar{border-top:1px solid #E5E7EB;border-bottom:1px solid #E5E7EB;background:#F0F7F0;padding:15px 5%}
.trustbar-inner{max-width:1280px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.trust-item{display:flex;align-items:center;gap:9px;font-size:12.5px}
.trust-icon{font-size:18px}
.trust-label{color:#6B7280}
.trust-label strong{color:#1F2937;display:block;font-size:13px}
.trust-sep{width:1px;height:30px;background:var(--border)}

/* SECTIONS */
.section{padding:40px 5%;background:#FFFFFF}
.s-inner{max-width:1280px;margin:0 auto}
.s-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.s-title{font-family:'Syne',sans-serif;font-size:22px;font-weight:800;letter-spacing:-.4px;display:flex;align-items:center;gap:10px;color:#1F2937}
.s-pill{font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px;background:#FEE2E2;color:#B91C1C;border:1px solid #FECACA}
.see-all{font-size:13px;color:#2E7D32;font-weight:500}
.see-all:hover{color:#43A047}

/* PRODUCTS */
.products-grid-5{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.products-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.pcard{background:#FFFFFF;border:1px solid #E5E7EB;border-radius:var(--r-lg);overflow:hidden;transition:all .22s;cursor:pointer;display:flex;flex-direction:column;box-shadow:0 1px 3px rgba(0,0,0,0.05)}
.pcard:hover{border-color:rgba(46,125,50,.4);transform:translateY(-2px);box-shadow:0 4px 12px rgba(46,125,50,.1)}
.pcard-img{background:#F3F4F6;height:148px;display:flex;align-items:center;justify-content:center;font-size:50px;position:relative;flex-shrink:0}
.pcard-img img{max-height:100%;max-width:86%;object-fit:contain}
.badge-off{position:absolute;top:10px;left:10px;background:var(--orange);color:var(--white);font-size:10.5px;font-weight:700;padding:3px 8px;border-radius:6px}
.badge-new{position:absolute;top:10px;left:10px;background:#2E7D32;color:#FFFFFF;font-size:10.5px;font-weight:700;padding:3px 8px;border-radius:6px}
.pcard-body{padding:12px 14px 14px;display:flex;flex-direction:column;flex:1}
.pcard-brand{font-size:10px;font-weight:600;color:#6B7280;text-transform:uppercase;letter-spacing:.07em;margin-bottom:3px}
.pcard-name{font-size:12.5px;font-weight:500;line-height:1.4;margin-bottom:8px;color:#1F2937;flex:1}
.pcard-price{display:flex;align-items:baseline;gap:7px}
.price-now{font-family:'Syne',sans-serif;font-size:16px;font-weight:800}
.price-old{font-size:11.5px;color:#9CA3AF;text-decoration:line-through}
.btn-add{margin-top:10px;width:100%;background:#F0F7F0;border:1px solid #C8E6C9;border-radius:8px;padding:8px;font-size:12px;font-weight:600;color:#2E7D32;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:5px;font-family:'Inter',sans-serif}
.btn-add:hover{background:#2E7D32;border-color:#2E7D32;color:#FFFFFF}

/* CAT GRID */
.cat-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:10px;margin-top:20px}
.cat-card{background:#FFFFFF;border:1px solid #E5E7EB;border-radius:var(--r-lg);padding:18px 8px;text-align:center;transition:all .2s;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,0.04)}
.cat-card:hover{border-color:#A5D6A7;background:#F0F7F0;transform:translateY(-2px)}
.cat-icon{font-size:28px;margin-bottom:7px;display:block}
.cat-name{font-size:11.5px;font-weight:500;color:#374151;line-height:1.3}
.cat-count{font-size:10.5px;color:#6B7280;margin-top:2px}

/* FEATURED + ASIDE */
.featured-bg{background:#F9FAFB;border-top:1px solid #E5E7EB;border-bottom:1px solid #E5E7EB}
.featured-layout{display:grid;grid-template-columns:240px 1fr;gap:16px}
.aside{background:#FFFFFF;border:1px solid #E5E7EB;border-radius:var(--r-lg);overflow:hidden;align-self:start;box-shadow:0 1px 3px rgba(0,0,0,0.05)}
.aside-head{padding:14px 16px;border-bottom:1px solid #E5E7EB;font-size:12.5px;font-weight:600;color:#6B7280;text-transform:uppercase;letter-spacing:.06em;background:#F9FAFB}
.aside-item{padding:11px 16px;font-size:13px;color:#4B5563;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #F3F4F6;cursor:pointer;transition:all .2s}
.aside-item:last-child{border-bottom:none}
.aside-item:hover,.aside-item.active{color:#2E7D32;background:#F0F7F0;padding-left:20px;font-weight:500}
.aside-count{font-size:10.5px;background:#E8F5E9;color:#2E7D32;padding:1px 8px;border-radius:20px;font-weight:500}

/* BRANDS */
.brands-wrap{background:#F9FAFB;border-top:1px solid #E5E7EB;border-bottom:1px solid #E5E7EB;padding:22px 5%}
.brands-inner{max-width:1280px;margin:0 auto}
.brands-lbl{font-size:11.5px;color:#6B7280;text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px;font-weight:600}
.brands-list{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.brand-pill{background:#FFFFFF;border:1px solid #D1D5DB;border-radius:8px;padding:7px 15px;font-size:13px;font-weight:600;color:#374151;transition:all .2s;cursor:pointer}
.brand-pill:hover{border-color:#2E7D32;color:#2E7D32;background:#F0F7F0}

/* SERVICES STRIP */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}
.svc-strip{background:#FFFFFF;border:1px solid #E5E7EB;border-radius:var(--r-lg);padding:22px 20px;display:flex;align-items:flex-start;gap:16px;transition:all .2s;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,0.04)}
.svc-strip:hover{border-color:#A5D6A7;box-shadow:0 4px 12px rgba(46,125,50,.08)}
.svc-strip.or:hover{border-color:#EF9A9A;box-shadow:0 4px 12px rgba(198,40,40,.08)}
.svc-ico{width:46px;height:46px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;background:#E8F5E9}
.svc-strip.or .svc-ico{background:rgba(255,92,26,.08)}
.svc-txt h4{font-size:14px;font-weight:600;margin-bottom:4px;color:#1F2937}
.svc-txt p{font-size:12.5px;color:#6B7280;line-height:1.6}
.svc-lnk{font-size:12px;color:#2E7D32;margin-top:7px;display:block;font-weight:500}
.svc-strip.or .svc-lnk{color:var(--orange)}

/* CTA DOUBLE */
.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:40px}
.cta-card{border-radius:var(--r-lg);padding:36px;position:relative;overflow:hidden}
.cta-card.bl{background:linear-gradient(135deg,#E8F5E9 0%,#F9FBF9 100%);border:1px solid #C8E6C9;box-shadow:0 4px 20px rgba(46,125,50,.08)}
.cta-card.or{background:linear-gradient(135deg,#FFF8F8 0%,#FFFFFF 100%);border:1px solid #FFCDD2;box-shadow:0 4px 20px rgba(198,40,40,.06)}
.cta-card h3{font-family:'Syne',sans-serif;font-size:23px;font-weight:800;margin-bottom:10px;letter-spacing:-.4px;color:#1F2937}
.cta-card p{font-size:13px;color:#6B7280;margin-bottom:22px;line-height:1.65;max-width:380px}
.btn-cta-bl{background:#2E7D32;color:#FFFFFF;font-size:13px;font-weight:600;padding:11px 22px;border-radius:var(--r);display:inline-flex;align-items:center;gap:7px;transition:all .2s;box-shadow:0 2px 8px rgba(46,125,50,.2)}
.btn-cta-bl:hover{background:#1B5E20}
.btn-cta-or{background:#C62828;color:#FFFFFF;font-size:13px;font-weight:600;padding:11px 22px;border-radius:var(--r);display:inline-flex;align-items:center;gap:7px;transition:all .2s;box-shadow:0 2px 8px rgba(198,40,40,.2)}

/* FOOTER */
.site-footer{background:#F9FAFB;border-top:1px solid #E5E7EB;padding:48px 5% 28px}
.footer-inner{max-width:1280px;margin:0 auto}
.footer-top{display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr;gap:36px;margin-bottom:36px}
.footer-logo{font-family:'Syne',sans-serif;font-weight:800;font-size:18px;margin-bottom:12px}
.footer-logo span{color:var(--blue)}
.footer-desc{font-size:13px;color:#6B7280;line-height:1.8;margin-bottom:16px}
.footer-contacts{display:flex;flex-direction:column;gap:7px;font-size:13px;color:var(--text-muted)}
.footer-contacts a{color:#6B7280;transition:color .2s}
.footer-contacts a:hover{color:#2E7D32}
.fcol h5{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#374151;margin-bottom:14px}
.fcol ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.fcol ul a{font-size:13px;color:#6B7280;transition:color .2s}
.fcol ul a:hover{color:#2E7D32}
.footer-bottom{border-top:1px solid #E5E7EB;padding-top:20px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#6B7280}
.socials{display:flex;gap:8px}
.soc-btn{width:32px;height:32px;border-radius:8px;border:1px solid #D1D5DB;display:flex;align-items:center;justify-content:center;font-size:12px;color:#6B7280;font-weight:700;transition:all .2s;text-decoration:none}
.soc-btn:hover{border-color:#2E7D32;color:#2E7D32;background:#F0F7F0}

/* WhatsApp float */
.wa-float{position:fixed;bottom:22px;right:22px;z-index:999;background:#25D366;color:#fff;border-radius:50%;width:52px;height:52px;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:0 4px 20px rgba(37,211,102,.4);transition:transform .2s;text-decoration:none}
.wa-float:hover{transform:scale(1.1)}

/* PANIER MINI */
.cart-count{background:#C62828;color:#fff;font-size:10px;font-weight:700;width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;margin-left:2px}
.cart-toast{position:fixed;bottom:88px;right:22px;background:#FFFFFF;border:1px solid #A5D6A7;border-radius:var(--r);padding:10px 16px;font-size:13px;color:#1F2937;z-index:998;opacity:0;transform:translateY(8px);transition:all .3s;pointer-events:none;box-shadow:0 4px 12px rgba(0,0,0,0.1)}
.cart-toast.show{opacity:1;transform:translateY(0)}

/* ── Glue thème : WooCommerce natif (autres pages) + tiroir mobile ── */
.woocommerce span.onsale{background:var(--orange);color:#fff;border-radius:6px}
.woocommerce a.button,.woocommerce button.button,.woocommerce .button.alt,.woocommerce #respond input#submit{background:var(--blue);color:#fff;border-radius:var(--r);font-weight:600}
.woocommerce a.button:hover,.woocommerce button.button:hover{background:#1B5E20}
.woocommerce ul.products li.product .price{color:#1F2937;font-family:'Syne',sans-serif}
.mobile-drawer{position:fixed;inset:0 0 0 auto;width:82%;max-width:340px;background:#fff;z-index:1000;transform:translateX(100%);transition:transform .25s;box-shadow:-4px 0 24px rgba(0,0,0,.15);padding:20px;overflow-y:auto}
.mobile-drawer.open{transform:translateX(0)}
.mobile-drawer ul{list-style:none;display:flex;flex-direction:column;gap:4px;margin-top:16px}
.mobile-drawer a{display:block;padding:12px 8px;border-bottom:1px solid var(--border);font-size:15px}
.drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:999;opacity:0;pointer-events:none;transition:opacity .25s}
.drawer-overlay.open{opacity:1;pointer-events:auto}
.drawer-close{background:none;border:0;font-size:24px;cursor:pointer;float:right}

/* ══════════════════════════════
   RESPONSIVE — 1024 / 768 / 480 (repris maquette)
   ══════════════════════════════ */
@media(max-width:1024px){
  .nav-links{display:none}
  .nav-phone{display:none}
  .nav-burger{display:block}
  .products-grid-5{grid-template-columns:repeat(3,1fr)}
  .products-grid-4{grid-template-columns:repeat(2,1fr)}
  .cat-grid{grid-template-columns:repeat(4,1fr)}
  .featured-layout{grid-template-columns:1fr}
  .aside{display:none}
  .svc-grid{grid-template-columns:1fr 1fr}
  .footer-top{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .topbar{display:none}
  .nav-inner{height:56px;gap:10px;padding:0 4%}
  .nav-search{flex:1;max-width:none}
  .btn-wa-nav{display:none}
  .hero-grid{grid-template-columns:1fr}
  .hero-side{display:none}
  .hero-banner{padding:28px 22px 26px;min-height:auto}
  .hero-banner h1{font-size:28px;letter-spacing:-1px}
  .hero-banner p{font-size:13px;margin-bottom:20px}
  .catnav-inner{gap:0}
  .catnav-item{padding:10px 12px;font-size:12px}
  .trustbar-inner{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 4%}
  .trust-sep{display:none}
  .trust-item{min-width:0}
  .section{padding:28px 4%}
  .s-inner{padding:0}
  .s-title{font-size:17px}
  .products-grid-5{grid-template-columns:repeat(2,1fr);gap:10px}
  .products-grid-4{grid-template-columns:repeat(2,1fr);gap:10px}
  .pcard-img{height:120px;font-size:38px}
  .pcard-body{padding:10px 12px 12px}
  .price-now{font-size:14px}
  .cat-grid{grid-template-columns:repeat(4,1fr);gap:8px}
  .cat-card{padding:14px 6px}
  .cat-icon{font-size:22px}
  .svc-grid{grid-template-columns:1fr}
  .cta-grid{grid-template-columns:1fr;gap:10px}
  .cta-card{padding:24px 20px}
  .cta-card h3{font-size:18px}
  .cta-card p{font-size:12.5px}
  .brands-wrap{padding:18px 4%}
  .footer-top{grid-template-columns:1fr;gap:24px}
  .footer-bottom{flex-direction:column;gap:12px;text-align:center}
  .footer-desc{max-width:100%}
}
@media(max-width:480px){
  .nav-inner{gap:8px;padding:0 3%}
  .hero-banner{padding:22px 16px 20px}
  .hero-banner h1{font-size:24px;letter-spacing:-.6px}
  .hero-eyebrow{font-size:10.5px;padding:4px 10px}
  .hero-actions{flex-direction:column;width:100%}
  .btn-shop-primary,.btn-promo{width:100%;justify-content:center;font-size:13px;padding:12px 16px}
  .trustbar-inner{grid-template-columns:1fr;padding:10px 3%}
  .products-grid-5,.products-grid-4{grid-template-columns:repeat(2,1fr);gap:8px}
  .pcard-img{height:100px;font-size:32px}
  .pcard-name{font-size:11.5px}
  .price-now{font-size:13px}
  .btn-add{font-size:11px;padding:7px}
  .cat-grid{grid-template-columns:repeat(3,1fr);gap:7px}
  .cat-icon{font-size:20px;margin-bottom:5px}
  .cat-name{font-size:10.5px}
  .cat-count{display:none}
  .section{padding:22px 3%}
  .s-header{flex-direction:column;align-items:flex-start;gap:6px}
  .btn-cta-bl,.btn-cta-or{width:100%;justify-content:center}
  .brand-pill{font-size:11.5px;padding:5px 11px}
  .svc-strip{padding:16px 14px;gap:12px}
  .svc-ico{width:38px;height:38px;font-size:18px}
  .site-footer{padding:32px 3% 20px}
  .footer-bottom{font-size:11px}
  .socials .soc-btn{width:30px;height:30px}
  .catnav-item{padding:9px 10px;font-size:11.5px}
}

/* ══════════════════════════════
   AJOUTS : contacts icônes · méga-menu · produits phares
   ══════════════════════════════ */

/* Contacts : icônes tél + WhatsApp puis le numéro (un seul bloc) */
.tb-contact{display:inline-flex;align-items:center;gap:8px;color:#fff}
.tb-ic-link{display:inline-flex;align-items:center;color:#fff}
.tb-ic-link:hover{opacity:.8}
.tb-num{color:#fff;font-weight:600}
.fc-contact{display:inline-flex;align-items:center;gap:8px}
.fc-contact .ic{color:#2E7D32;flex-shrink:0}

/* Logo : même taille / alignement sur TOUTES les pages */
.logo,.logo a{display:inline-flex;align-items:center}
.logo img,.logo .custom-logo,.custom-logo,.logo-img{height:38px!important;width:auto!important;max-width:180px;object-fit:contain;display:block}

/* Barre de confiance : tenir sur une seule ligne (desktop) */
@media(min-width:769px){
  .trustbar-inner{flex-wrap:nowrap;gap:12px}
  .trust-label,.trust-label strong{white-space:nowrap}
}

/* Barre de catégories : UNE ligne défilante ; menus en cascade en position fixe
   (positionnés en JS, donc jamais coupés par le défilement horizontal) */
.catnav-inner{overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap}
.catnav-caret{font-size:10px;color:#6B7280;margin-left:1px}
.catnav-item{position:relative}

/* Panneau vertical : un niveau = une colonne ; le survol d'une entrée
   ouvre le niveau suivant juste à côté, et ainsi de suite. */
.catnav-sub{position:fixed;z-index:600;display:none;list-style:none;background:#fff;border:1px solid #E5E7EB;box-shadow:0 12px 30px rgba(0,0,0,.14);border-radius:10px;padding:6px 0;min-width:238px;max-width:330px;max-height:calc(100vh - 90px);overflow-y:auto;overscroll-behavior:contain}
.catnav-sub-l1{border-top:2px solid var(--blue);border-radius:0 0 10px 10px}
.catnav-subitem{position:relative}
.catnav-subitem>a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 14px;font-size:12.5px;line-height:1.35;color:#4B5563;white-space:normal}
.catnav-subitem>a:hover,.catnav-subitem>a:focus-visible{background:#F0F7F0;color:var(--blue)}
.catnav-subitem.has-sub>a{font-weight:600;color:#1F2937}
.catnav-subitem.open>a{background:#F0F7F0;color:var(--blue)}
.sub-caret{flex:0 0 auto;font-size:16px;line-height:1;color:#9CA3AF}
.catnav-subitem:hover>a .sub-caret,.catnav-subitem.open>a .sub-caret{color:var(--blue)}

/* Produits phares : panneaux basculables */
.featured-panel{display:none}
.featured-panel.active{display:block}

/* Recherche en direct (suggestions) */
.nav-search,.head-search{position:relative}
.search-suggest{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid #E5E7EB;border-radius:var(--r);box-shadow:0 12px 30px rgba(0,0,0,.14);z-index:400;max-height:430px;overflow-y:auto;display:none}
.search-suggest.open{display:block}
.ss-item{display:flex;gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid #F3F4F6}
.ss-item:last-child{border-bottom:0}
.ss-item:hover{background:#F0F7F0}
.ss-img{width:40px;height:40px;flex:0 0 auto;background:#F3F4F6;border-radius:6px;display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:18px}
.ss-img img{max-width:100%;max-height:100%;object-fit:contain}
.ss-txt{display:flex;flex-direction:column;min-width:0}
.ss-name{font-size:13px;color:#1F2937;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ss-brand{font-size:10.5px;color:#6B7280;text-transform:uppercase;letter-spacing:.04em}
.ss-price{font-size:12.5px;color:#2E7D32;font-weight:700}
.ss-price .amount{font-family:'Syne',sans-serif}
.ss-price del{color:#9CA3AF;font-weight:400;margin-right:4px}
.ss-empty{padding:14px;font-size:13px;color:#6B7280;text-align:center}

/* Pagination résultats de recherche */
.search-pagination .nav-links{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}
.search-pagination .page-numbers{min-width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid #D1D5DB;border-radius:8px;font-size:13px;color:#374151;padding:0 8px}
.search-pagination .page-numbers.current{background:#2E7D32;color:#fff;border-color:#2E7D32}
.search-pagination a.page-numbers:hover{border-color:#2E7D32;color:#2E7D32}

@media(max-width:768px){
  .catnav-inner{overflow-x:auto}
  .catnav-sub{display:none!important}
}

/* ══════════════════════════════
   PAGE CATÉGORIE (PLP) — réf. maquette categorie-cameras
   ══════════════════════════════ */
.plp{max-width:1280px;margin:0 auto;padding:24px 5%}
.crumb{font-size:12.5px;color:var(--text-muted);margin-bottom:14px}
.crumb a:hover{color:var(--blue)}
.crumb b{color:#1F2937;font-weight:600}
.plp h1{font-family:'Syne',sans-serif;font-size:26px;font-weight:800;color:#1F2937;margin-bottom:6px}
.plp .intro{font-size:13.5px;color:#6B7280;max-width:760px;line-height:1.6;margin-bottom:16px}
.subcats{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.subcats a{background:#fff;border:1px solid #D1D5DB;border-radius:20px;padding:7px 14px;font-size:12.5px;color:#374151}
.subcats a:hover{border-color:#2E7D32;color:#2E7D32;background:#F0F7F0}
.plp-layout{display:grid;grid-template-columns:240px 1fr;gap:24px;align-items:start}
.filters{background:#fff;border:1px solid #E5E7EB;border-radius:var(--r-lg);padding:16px;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.fgroup{border-bottom:1px solid #F3F4F6;padding:12px 0}
.fgroup:first-child{padding-top:0}
.fgroup:last-child{border-bottom:0}
.fgroup h4{font-size:12.5px;font-weight:700;color:#1F2937;margin-bottom:10px;text-transform:uppercase;letter-spacing:.04em}
.fopt{display:flex;align-items:center;gap:8px;font-size:13px;color:#4B5563;padding:5px 0;cursor:pointer}
.fopt input{accent-color:#2E7D32;width:15px;height:15px}
.price-filter{display:flex;gap:6px;align-items:center}
.price-filter input{width:100%;border:1px solid #D1D5DB;border-radius:8px;padding:7px 8px;font-size:12.5px;font-family:'Inter',sans-serif}
.price-go{background:#2E7D32;color:#fff;border:0;border-radius:8px;padding:8px 12px;font-size:12.5px;font-weight:600;cursor:pointer}
.price-go:hover{background:#1B5E20}
.filter-reset{font-size:12.5px;color:var(--orange);font-weight:600}
.toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:10px}
.toolbar .woocommerce-result-count{font-size:13px;color:#6B7280;margin:0}
.toolbar .woocommerce-ordering{margin:0}
.toolbar select{border:1px solid #D1D5DB;border-radius:var(--r);padding:8px 12px;font-size:13px;font-family:'Inter',sans-serif;color:#1F2937;background:#fff}
.filter-toggle{display:none;background:#fff;border:1.5px solid #2E7D32;color:#2E7D32;border-radius:var(--r);padding:9px 14px;font-size:13px;font-weight:600;cursor:pointer}
.plp-empty{background:#fff;border:1px solid #E5E7EB;border-radius:var(--r-lg);padding:40px;text-align:center}
.plp-empty p{color:#6B7280;margin-bottom:16px}
.pagination-wrap{margin-top:28px}
.woocommerce-pagination ul{display:flex;gap:6px;justify-content:center;list-style:none;padding:0;margin:0}
.woocommerce-pagination ul li{margin:0}
.woocommerce-pagination a,.woocommerce-pagination span{min-width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid #D1D5DB;border-radius:8px;font-size:13px;color:#374151;padding:0 8px}
.woocommerce-pagination span.current{background:#2E7D32;color:#fff;border-color:#2E7D32}
.woocommerce-pagination a:hover{border-color:#2E7D32;color:#2E7D32}
@media(max-width:1024px){
  .plp-layout{grid-template-columns:1fr}
  .filters{display:none}
  .filters.open{display:block;margin-bottom:16px}
  .filter-toggle{display:inline-flex;align-items:center;gap:6px}
}
@media(max-width:768px){
  .toolbar{flex-wrap:wrap}
}

/* ══════════════════════════════
   FICHE PRODUIT (PDP) — réf. maquette fiche-produit
   ══════════════════════════════ */
.pdp{max-width:1280px;margin:0 auto;padding:24px 5%}
.pdp-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.gal-main{background:#F3F4F6;border:1px solid #E5E7EB;border-radius:var(--r-lg);height:360px;display:flex;align-items:center;justify-content:center;font-size:70px;overflow:hidden}
.gal-main img{max-width:100%;max-height:100%;object-fit:contain}
.gal-thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.gal-thumb{width:64px;height:64px;background:#F3F4F6;border:1px solid #E5E7EB;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:24px;cursor:pointer;overflow:hidden}
.gal-thumb img{max-width:100%;max-height:100%;object-fit:contain}
.gal-thumb.on{border-color:#2E7D32}
.pi-brand{font-size:12px;font-weight:600;color:#2E7D32;text-transform:uppercase;letter-spacing:.06em}
.pi h1{font-family:'Syne',sans-serif;font-size:28px;font-weight:800;color:#1F2937;margin:6px 0 12px;line-height:1.2}
.pi-price{display:flex;align-items:baseline;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.pi-price .now{font-family:'Syne',sans-serif;font-size:28px;font-weight:800;color:#1F2937}
.pi-price .now .amount{font-family:'Syne',sans-serif}
.pi-price .old{font-size:15px;color:#9CA3AF;text-decoration:line-through}
.pi-price .off{background:#C62828;color:#fff;font-size:12px;font-weight:700;padding:3px 8px;border-radius:6px}
.stock{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:#2E7D32;background:#E8F5E9;border:1px solid #A5D6A7;padding:5px 12px;border-radius:20px;margin-bottom:16px}
.stock.stock-out{color:#B45309;background:#FEF3C7;border-color:#FDE68A}
.qty{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.qty-lbl{font-size:13px;color:#6B7280}
.qty .box{display:inline-flex;border:1px solid #D1D5DB;border-radius:var(--r);overflow:hidden}
.qty button{width:38px;height:40px;border:0;background:#fff;font-size:18px;cursor:pointer;color:#6B7280}
.qty .q-input{width:48px;text-align:center;border:0;border-left:1px solid #D1D5DB;border-right:1px solid #D1D5DB;font-size:14px;font-family:'Inter',sans-serif;-moz-appearance:textfield}
.qty .q-input::-webkit-outer-spin-button,.qty .q-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.cta-col{display:flex;flex-direction:column;gap:10px;max-width:430px}
.b-cart{background:#2E7D32;color:#fff;border:0;font-size:15px;font-weight:600;padding:14px;border-radius:var(--r);cursor:pointer;text-align:center;text-decoration:none;display:block}
.b-cart:hover{background:#1B5E20;color:#fff}
.b-quote{background:#fff;color:#2E7D32;border:1.5px solid #2E7D32;font-size:15px;font-weight:600;padding:13px;border-radius:var(--r);cursor:pointer;text-align:center;text-decoration:none;display:block}
.b-quote:hover{background:#F0F7F0}
.b-wa{background:#25D366;color:#06341A;border:0;font-size:15px;font-weight:600;padding:13px;border-radius:var(--r);cursor:pointer;text-align:center;text-decoration:none;display:block}
.cta-col .quantity{margin-bottom:8px}
.cta-col .single_add_to_cart_button{background:#2E7D32;color:#fff;border:0;font-size:15px;font-weight:600;padding:14px;border-radius:var(--r);width:100%}
.cta-col .single_add_to_cart_button:hover{background:#1B5E20}
.mini-re{display:flex;flex-wrap:wrap;gap:14px;margin-top:16px;font-size:12px;color:#6B7280}
.mini-re span{display:flex;align-items:center;gap:5px}
.pdp-sec{max-width:1280px;margin:0 auto;padding:8px 5% 28px}
.pdp-sec h2{font-family:'Syne',sans-serif;font-size:20px;font-weight:800;margin-bottom:14px;color:#1F2937}
.spec{width:100%;border-collapse:collapse;font-size:13.5px;max-width:760px}
.spec td{padding:10px 12px;border-bottom:1px solid #E5E7EB}
.spec td:first-child{color:#6B7280;width:45%}
.desc{font-size:14px;color:#374151;line-height:1.8;max-width:760px}
.desc p{margin-bottom:12px}
.sticky-buy{display:none;position:fixed;left:0;right:0;bottom:0;z-index:120;background:#fff;border-top:1px solid #E5E7EB;box-shadow:0 -2px 12px rgba(0,0,0,.08);padding:10px 4%;align-items:center;gap:10px}
.sticky-buy .sp{flex:1;font-family:'Syne',sans-serif;font-weight:800;font-size:18px}
.sticky-buy .sp .old,.sticky-buy .sp .off{display:none}
.sticky-buy .b-cart,.sticky-buy .b-quote{padding:10px 16px;font-size:13px;width:auto}
@media(max-width:768px){
  .pdp-grid{grid-template-columns:1fr;gap:20px}
  .gal-main{height:280px;font-size:56px}
  .pi h1{font-size:23px}
  .cta-col{max-width:none}
  .sticky-buy{display:flex}
  body.single-product{padding-bottom:66px}
  .wa-float{bottom:78px}
}

/* ══════════════════════════════
   CHECKOUT (paiement à la livraison) — réf. maquette checkout-cod
   ══════════════════════════════ */
.ck{max-width:1100px;margin:0 auto;padding:24px 5%}
.ck h1{font-family:'Syne',sans-serif;font-size:26px;font-weight:800;color:#1F2937;margin-bottom:4px}
.ck .steps{font-size:12.5px;color:#6B7280;margin-bottom:20px}
.ck .steps b{color:#2E7D32}
.ck-grid{display:grid;grid-template-columns:1fr 360px;gap:24px;align-items:start}
.card{background:#fff;border:1px solid #E5E7EB;border-radius:var(--r-lg);padding:20px;margin-bottom:16px;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.card > h3{font-family:'Syne',sans-serif;font-size:16px;font-weight:800;color:#1F2937;margin-bottom:14px}
.guest-note{background:#F0F7F0;border:1px solid #C8E6C9;border-radius:var(--r);padding:10px 12px;font-size:12.5px;color:#2E7D32;margin-bottom:14px}
.reassure{font-size:12px;color:#6B7280;margin-top:12px;line-height:1.6}
/* Champs WooCommerce → aspect maquette */
.ck-form .woocommerce-billing-fields > h3,.ck-form .woocommerce-shipping-fields > h3{display:none}
.ck-form .form-row{margin-bottom:12px}
.ck-form .form-row label{display:block;font-size:12.5px;font-weight:500;color:#374151;margin-bottom:5px}
.ck-form .form-row input.input-text,.ck-form .form-row textarea,.ck-form .form-row select{border:1px solid #D1D5DB;border-radius:var(--r);padding:11px 12px;font-size:14px;font-family:'Inter',sans-serif;color:#1F2937;width:100%;background:#fff}
.ck-form .form-row input.input-text:focus,.ck-form .form-row textarea:focus,.ck-form .form-row select:focus{outline:0;border-color:#2E7D32}
.ck-form .select2-container--default .select2-selection--single{border:1px solid #D1D5DB;border-radius:var(--r);height:auto;padding:6px 4px}
/* Récapitulatif (table + total) */
.summary .shop_table{width:100%;border-collapse:collapse;font-size:13.5px}
.summary .shop_table th,.summary .shop_table td{padding:8px 0;border-bottom:1px solid #F3F4F6;text-align:left;color:#4B5563}
.summary .shop_table td.product-total,.summary .shop_table .amount{text-align:right;white-space:nowrap}
.summary .cart-subtotal td,.summary tr.shipping td,.summary .order-total td{text-align:right}
.summary .order-total th,.summary .order-total td{font-family:'Syne',sans-serif;font-weight:800;font-size:18px;color:#1F2937;border-top:1px solid #E5E7EB;padding-top:12px;border-bottom:0}
/* Moyens de paiement */
.ck-form #payment,.ck-form .woocommerce-checkout-payment{background:transparent!important;border-radius:0}
.ck-form .wc_payment_methods{list-style:none;margin:14px 0 0;padding:0}
.ck-form .wc_payment_methods li{border:1.5px solid #E5E7EB;background:#fff;border-radius:var(--r);padding:12px 14px;margin-bottom:10px}
.ck-form .wc_payment_methods li input[type=radio]{accent-color:#2E7D32;margin-right:6px}
.ck-form .wc_payment_methods li label{display:inline;font-size:13.5px;font-weight:600;color:#1F2937}
.ck-form .payment_box{font-size:12.5px;color:#6B7280;background:#F9FAFB;border-radius:8px;padding:10px;margin-top:8px}
.ck-form .payment_box::before{display:none}
.ck-form #place_order{width:100%;background:#2E7D32;color:#fff;border:0;font-size:15px;font-weight:600;padding:15px;border-radius:var(--r);cursor:pointer;margin-top:10px;float:none}
.ck-form #place_order:hover{background:#1B5E20}
.ck-form .woocommerce-terms-and-conditions-wrapper{font-size:12px;color:#6B7280;margin-top:12px}
.ck-form .woocommerce-terms-and-conditions-wrapper input{accent-color:#2E7D32}
/* Coupon / login éventuels au-dessus du formulaire */
.woocommerce-checkout .woocommerce-form-coupon-toggle,.woocommerce-checkout .checkout_coupon,.woocommerce-checkout .woocommerce-form-login{max-width:1100px;margin:0 auto 12px;padding:0 5%}
@media(max-width:900px){.ck-grid{grid-template-columns:1fr}}

/* ══════════════════════════════
   PAGES STANDARD + PANIER
   ══════════════════════════════ */
.page-wrap{max-width:1280px;margin:0 auto;padding:28px 5%}
.page-title{font-family:'Syne',sans-serif;font-size:28px;font-weight:800;color:#1F2937;margin-bottom:18px}
.page-content{font-size:15px;color:#374151;line-height:1.8}
/* Typographie du texte "libre" — priorité 0 (:where) pour ne JAMAIS écraser les composants (cartes, titres de section, etc.) */
:where(.page-content) h2{font-family:'Syne',sans-serif;font-size:20px;font-weight:800;color:#1F2937;margin:20px 0 10px}
:where(.page-content) h3{font-family:'Syne',sans-serif;font-weight:800;color:#1F2937;margin:16px 0 8px}
:where(.page-content) p{margin-bottom:12px}
:where(.page-content) a{color:#2E7D32}
:where(.page-content) ul,:where(.page-content) ol{margin:0 0 12px 20px}
.page-content p:empty{display:none}
.page-content > br{display:none}
/* Tableaux & listes des pages d'info (frais de livraison, etc.) */
.page-content table{width:100%;border-collapse:collapse;font-size:14px;margin:0 0 18px;max-width:820px}
.page-content table th,.page-content table td{border:1px solid #E5E7EB;padding:10px 12px;text-align:left;vertical-align:top}
.page-content table th{background:#F0F7F0;color:#1F2937;font-weight:700;font-family:'Inter',sans-serif}
.page-content table tr:nth-child(even) td{background:#FAFBFA}
:where(.page-content) li{margin-bottom:4px}
.page-content .qa{border-bottom:1px solid #F3F4F6;padding-bottom:4px;margin-bottom:12px}
.page-content .qa:last-child{border-bottom:0}
.page-content .qa .qa-q{margin-top:0}

/* Prix toujours sur une seule ligne (quelle que soit la longueur) */
/* Chaque prix reste intègre (pas de coupure au milieu du nombre)… */
.price-now,.price-old,.pi-price .now,.pi-price .old,.ss-price,.woocommerce-Price-amount,.amount,.sticky-buy .sp{white-space:nowrap}
/* …et si l'ancien prix ne tient pas à côté du nouveau, il passe dessous (jamais coupé). */
.pcard-price,.pi-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 8px;min-width:0}
.pcard-price .price-old,.pi-price .old{flex-shrink:0}

/* Page Contact */
.contact-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:24px;align-items:start;margin-bottom:26px}
.contact-info,.contact-form{background:#fff;border:1px solid #E5E7EB;border-radius:var(--r-lg);padding:24px;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.contact-info h3,.contact-form h3{font-family:'Syne',sans-serif;font-size:17px;font-weight:800;color:#1F2937;margin-bottom:14px}
.contact-list{list-style:none;display:flex;flex-direction:column;gap:10px;font-size:14px;color:#374151;margin:0 0 18px}
.contact-list a{color:#374151}
.contact-list a:hover{color:#2E7D32}
.contact-cta{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.contact-info .b-wa{color:#06341A;background:#25D366;font-weight:600;font-size:14px;text-decoration:none}
@media(max-width:768px){.contact-layout{grid-template-columns:1fr}}

/* Repli page-builder (ancienne page Contact : Woodmart + WPBakery) */
.page-content .wd-title{font-family:'Syne',sans-serif;font-weight:800;color:#1F2937;font-size:18px;margin:0 0 12px}
.page-content .wd-list{list-style:none;margin:0 0 16px;display:flex;flex-direction:column;gap:10px;font-size:14px;color:#374151}
.page-content .wd-list a{color:#374151}
.page-content .wd-list a:hover{color:#2E7D32}
.page-content .wd-social{display:flex;gap:8px;margin-top:6px}
.page-content iframe{max-width:100%;border:0;border-radius:10px}
.page-content .wpb_gmaps_widget iframe,.page-content .vc_gmaps iframe{width:100%;height:360px}
/* Colonnes WPBakery lisibles même sans le CSS du builder */
.page-content .vc_row{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px}
.page-content .vc_row .wpb_column,.page-content .vc_row > .vc_column_container{flex:1 1 260px;min-width:260px}
.page-content .vc_col-lg-9{flex:2 1 400px}
.page-content .vc_col-lg-3{flex:1 1 240px}
.page-content .wpb_wrapper > *{max-width:100%}
/* Repli WPBakery (vc_*) : lignes, colonnes, accordéon FAQ, espaceurs */
.page-content .vc-row{display:flex;flex-wrap:wrap;gap:20px;margin:0 0 8px;align-items:flex-start}
.page-content .vc-col{flex:1 1 280px;min-width:260px}
.page-content .vc-space{height:20px}
.page-content .vc-accordion{display:flex;flex-direction:column;gap:10px;margin:6px 0 18px}
.page-content .vc-acc-item{border:1px solid #E5E7EB;border-radius:var(--r);background:#fff;overflow:hidden}
.page-content .vc-acc-item summary{list-style:none;cursor:pointer;padding:14px 18px;font-family:'Syne',sans-serif;font-weight:700;font-size:15px;color:#1F2937;display:flex;align-items:center;justify-content:space-between;gap:12px}
.page-content .vc-acc-item summary::-webkit-details-marker{display:none}
.page-content .vc-acc-item summary::after{content:'+';color:#2E7D32;font-weight:700;font-size:20px;line-height:1}
.page-content .vc-acc-item[open] summary::after{content:'–'}
.page-content .vc-acc-item[open] summary{border-bottom:1px solid #F3F4F6}
.page-content .vc-acc-item summary:hover{color:#2E7D32}
.page-content .vc-acc-body{padding:12px 18px 16px}
.page-content .vc-acc-body p:last-child,.page-content .vc-acc-body ul:last-child{margin-bottom:0}
/* Grille d'articles blog (cartes façon maquette) */
.page-content .blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:8px 0 26px}
.page-content .blog-card{background:#fff;border:1px solid #E5E7EB;border-radius:var(--r-lg);padding:24px 22px;display:flex;flex-direction:column;box-shadow:0 1px 3px rgba(0,0,0,.05);transition:transform .2s,box-shadow .2s,border-color .2s}
.page-content .blog-card:hover{border-color:#A5D6A7;box-shadow:0 8px 22px rgba(46,125,50,.1);transform:translateY(-3px)}
.page-content .blog-card .bc-ic{font-size:30px;line-height:1;margin-bottom:12px}
.page-content .blog-card .bc-t{font-family:'Syne',sans-serif;font-weight:700;font-size:17px;color:#1F2937;margin:0 0 8px;line-height:1.3}
.page-content .blog-card .bc-d{font-size:14px;color:#6B7280;margin:0 0 16px;line-height:1.6;flex:1}
.page-content .blog-card .bc-more{color:#2E7D32;font-weight:600;font-size:14px;align-self:flex-start}
.page-content .blog-card .bc-more:hover{color:#1B5E20}
@media(max-width:900px){.page-content .blog-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.page-content .blog-grid{grid-template-columns:1fr}}
/* Champs Contact Form 7 */
.page-content .wpcf7 input.wpcf7-form-control:not([type=submit]),.page-content .wpcf7 textarea,.page-content .wpcf7 select{width:100%;border:1px solid #D1D5DB;border-radius:var(--r);padding:11px 14px;font-size:14px;font-family:'Inter',sans-serif;margin-bottom:10px;background:#fff}
.page-content .wpcf7 input:focus,.page-content .wpcf7 textarea:focus{outline:0;border-color:#2E7D32}
.page-content .wpcf7 input.wpcf7-submit{background:#2E7D32;color:#fff;border:0;border-radius:var(--r);padding:13px 26px;font-weight:600;font-size:14px;cursor:pointer;width:auto}
.page-content .wpcf7 input.wpcf7-submit:hover{background:#1B5E20}

/* Panier WooCommerce → aspect thème */
.woocommerce-cart-form{background:#fff;border:1px solid #E5E7EB;border-radius:var(--r-lg);padding:8px 16px;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.woocommerce-cart-form table.shop_table{border:0;width:100%;border-collapse:collapse;margin:0}
.woocommerce-cart-form .shop_table th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#6B7280;text-align:left;padding:12px 8px;border-bottom:1px solid #E5E7EB}
.woocommerce-cart-form .cart_item td{padding:14px 8px;border-bottom:1px solid #F3F4F6;vertical-align:middle;font-size:13.5px}
.woocommerce-cart-form .product-thumbnail img{width:56px;height:56px;object-fit:contain;border:1px solid #E5E7EB;border-radius:8px}
.woocommerce-cart-form .product-name a{color:#1F2937;font-weight:500}
.woocommerce-cart-form .product-name a:hover{color:#2E7D32}
.woocommerce-cart-form .product-remove a{color:#C62828;font-weight:700;text-decoration:none}
.woocommerce-cart-form .quantity input.qty{width:58px;border:1px solid #D1D5DB;border-radius:8px;padding:8px;text-align:center;font-family:'Inter',sans-serif}
.woocommerce-cart-form .actions{padding:14px 8px}
.woocommerce-cart-form .actions .button,.woocommerce-cart-form .coupon .button{background:#2E7D32;color:#fff;border:0;border-radius:var(--r);padding:10px 16px;font-weight:600;font-size:13px}
.woocommerce-cart-form .actions .button:hover,.woocommerce-cart-form .coupon .button:hover{background:#1B5E20}
.woocommerce-cart-form .coupon input{border:1px solid #D1D5DB;border-radius:var(--r);padding:9px 12px;font-family:'Inter',sans-serif;margin-right:6px}
.cart-collaterals{margin-top:20px;overflow:hidden}
.cart_totals{background:#fff;border:1px solid #E5E7EB;border-radius:var(--r-lg);padding:20px;box-shadow:0 1px 3px rgba(0,0,0,.05);max-width:380px;margin-left:auto;width:100%!important;float:none!important}
.cart_totals h2{font-family:'Syne',sans-serif;font-size:16px;font-weight:800;color:#1F2937;margin-bottom:12px}
.cart_totals table{width:100%;border-collapse:collapse;font-size:13.5px}
.cart_totals th,.cart_totals td{padding:8px 0;text-align:left;color:#4B5563}
.cart_totals td{text-align:right}
.cart_totals .order-total th,.cart_totals .order-total td{font-family:'Syne',sans-serif;font-weight:800;font-size:18px;color:#1F2937;border-top:1px solid #E5E7EB;padding-top:12px}
.wc-proceed-to-checkout{margin-top:14px}
.wc-proceed-to-checkout .checkout-button{display:block;width:100%;background:#2E7D32!important;color:#fff!important;border:0;border-radius:var(--r);padding:14px;font-size:15px;font-weight:600;text-align:center}
.wc-proceed-to-checkout .checkout-button:hover{background:#1B5E20!important}
/* Panier vide */
.cart-empty,.wc-empty-cart-message{font-size:15px;color:#6B7280;background:#fff;border:1px solid #E5E7EB;border-radius:var(--r-lg);padding:28px;text-align:center}
.woocommerce-cart .return-to-shop{text-align:center;margin-top:16px}
.woocommerce-cart .return-to-shop .button{display:inline-block;background:#2E7D32;color:#fff;border-radius:var(--r);padding:12px 22px;font-weight:600}
@media(max-width:768px){
  .cart_totals{max-width:none}
  .woocommerce-cart-form .cart_item td{padding:10px 6px}
}

/* ══════════════════════════════
   SHORTCODES DE CONTENU (pages Services / Devis)
   ══════════════════════════════ */
.page-content .crumb{margin-bottom:14px}
.page-content .svc-hero,.page-content .svc-grid,.page-content .steps,.page-content .trust4,.page-content .cta-grid,.page-content .sec-head,.page-content .devis-layout{margin-bottom:26px}

/* Champs de formulaire génériques */
.field{margin-bottom:14px}
.field label{display:block;font-size:13px;font-weight:600;color:#374151;margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;border:1px solid #D1D5DB;border-radius:var(--r);padding:11px 14px;font-size:14px;font-family:'Inter',sans-serif;color:#1F2937;background:#fff}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:#2E7D32}
.field .hint{font-size:12px;color:#6B7280;margin-top:4px;display:block}

/* Boutons génériques (formulaire devis du plugin) */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--r);font-weight:600;font-size:14px;padding:13px 26px;cursor:pointer;border:0;font-family:'Inter',sans-serif;text-decoration:none}
.btn-primary{background:#2E7D32;color:#fff;box-shadow:0 2px 8px rgba(46,125,50,.25)}
.btn-primary:hover{background:#1B5E20;color:#fff}

/* Page & formulaire Demande de devis */
.devis-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:start}
.alspeed-devis-form{background:#fff;border:1px solid #E5E7EB;border-radius:var(--r-lg);padding:24px;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.alspeed-devis-form .btn-primary{width:100%;margin-top:4px}
.devis-aside{background:#F0F7F0;border:1px solid #C8E6C9;border-radius:var(--r-lg);padding:22px}
.devis-aside h3{font-family:'Syne',sans-serif;font-size:17px;color:#1B5E20;margin-bottom:10px}
.devis-aside ul{list-style:none;display:flex;flex-direction:column;gap:10px;font-size:13.5px;color:#374151}
.devis-aside li{display:flex;gap:8px;align-items:flex-start}
@media(max-width:900px){.devis-layout{grid-template-columns:1fr}}

/* Hero de page Service */
.svc-hero{background:linear-gradient(135deg,#E8F5E9 0%,#F9FBF9 60%,#FFFFFF 100%);border:1px solid #C8E6C9;border-radius:var(--r-lg);padding:44px;box-shadow:0 4px 24px rgba(46,125,50,.08)}
.svc-hero .eb{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:600;color:#1B5E20;background:#E8F5E9;border:1px solid #A5D6A7;padding:5px 13px;border-radius:20px;margin-bottom:16px}
.svc-hero h1{font-family:'Syne',sans-serif;font-size:32px;font-weight:800;letter-spacing:-1px;color:#1B5E20;margin-bottom:10px;line-height:1.14}
.svc-hero p{font-size:14.5px;color:#374151;max-width:640px;line-height:1.7;margin-bottom:20px}
.svc-hero .acts{display:flex;gap:10px;flex-wrap:wrap}

/* Étapes */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;counter-reset:st}
.step{background:#fff;border:1px solid #E5E7EB;border-radius:var(--r-lg);padding:18px;counter-increment:st}
.step .n{width:30px;height:30px;border-radius:50%;background:#2E7D32;color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-family:'Syne',sans-serif;margin-bottom:10px}
.step .n::before{content:counter(st)}
.step h4{font-size:14px;color:#1F2937;margin-bottom:4px}
.step p{font-size:12.5px;color:#6B7280;line-height:1.5}
@media(max-width:900px){.steps{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.steps{grid-template-columns:1fr}}

/* Footer façon lomultimedia (rubriques classées) */
.fcol ul a{display:inline-flex;align-items:center;gap:7px}
.follow-h5{margin-top:18px}
.footer-bottom .legal-links{display:flex;gap:18px;flex-wrap:wrap;align-items:center}
.footer-bottom .legal-links a{font-size:12px;color:#6B7280}
.footer-bottom .legal-links a:hover{color:#2E7D32}

/* ══════════════════════════════
   HEADER MOBILE (DEC-2026-0xx)
   Ligne 1 : logo + compte + panier + burger menu
   Ligne 2 : recherche pleine largeur + burger catégories
   La barre .catnav est remplacée par le tiroir #cat-drawer sous 768 px.
   ══════════════════════════════ */

/* Panier : emoji sur desktop (maquette validée), icône vectorielle sur mobile (icône seule) */
.cart-ic-svg{display:none;align-items:center}

/* Conteneur de la recherche : sur desktop il occupe la place de l'ancien .nav-search */
.nav-searchrow{flex:1;min-width:0;max-width:460px;display:flex;align-items:center;gap:8px}
.nav-searchrow .nav-search{flex:1;min-width:0;max-width:none}

/* Icône compte : mobile uniquement (le desktop garde la nav textuelle) */
.btn-account{display:none;width:38px;height:38px;flex:0 0 38px;border:1px solid #D1D5DB;border-radius:50%;background:var(--white);color:#1F2937;align-items:center;justify-content:center;transition:border-color .2s,color .2s}
.btn-account:hover,.btn-account:focus-visible{border-color:var(--blue);color:var(--blue)}

/* Burger catégories : mobile uniquement, à droite de la recherche */
.cat-burger{display:none;width:44px;height:42px;flex:0 0 44px;background:#F3F4F6;border:1px solid #D1D5DB;border-radius:var(--r);color:#1F2937;font-size:20px;line-height:1;cursor:pointer;align-items:center;justify-content:center}
.cat-burger[aria-expanded="true"]{background:var(--blue);border-color:var(--blue);color:var(--white)}

/* Tiroir catégories : glisse depuis la gauche (le menu principal vient de la droite) */
.cat-drawer{position:fixed;inset:0 auto 0 0;width:86%;max-width:340px;background:var(--white);z-index:1000;transform:translateX(-100%);transition:transform .25s;box-shadow:4px 0 24px rgba(0,0,0,.15);padding:16px 18px 28px;overflow-y:auto;-webkit-overflow-scrolling:touch}
.cat-drawer.open{transform:translateX(0)}
.cat-drawer-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid var(--border)}
.cat-drawer-title{font-family:'Syne',sans-serif;font-size:15px;font-weight:800;color:#1F2937}
.cat-drawer .drawer-close{float:none;font-size:20px;line-height:1;color:#6B7280}
.cat-drawer-list{list-style:none;display:flex;flex-direction:column}
.cd-item{border-bottom:1px solid #F3F4F6}
.cd-row{display:flex;align-items:center;gap:4px}
.cd-link{flex:1;min-width:0;display:flex;align-items:center;gap:9px;padding:13px 2px;font-size:14px;color:#1F2937}
.cd-link:hover{color:var(--blue)}
.cd-toggle{flex:0 0 40px;height:40px;background:none;border:0;color:#6B7280;font-size:13px;cursor:pointer;transition:transform .2s}
.cd-toggle[aria-expanded="true"]{transform:rotate(180deg);color:var(--blue)}
.cd-sub{list-style:none;display:none;padding:0 0 4px 14px;border-left:1px solid #F3F4F6;margin-left:4px}
.cd-item.open>.cd-sub{display:block}
.cd-sub .cd-item{border-bottom:0}
.cd-sub .cd-link{padding:9px 2px;font-size:13px;color:#4B5563}
.cd-sub .cd-link:hover{color:var(--blue)}
.cd-sub .cd-toggle{flex:0 0 34px;height:34px}
.cd-all{display:block;margin-top:16px;text-align:center;background:var(--blue);color:var(--white);font-size:13px;font-weight:600;padding:11px 14px;border-radius:var(--r)}
.cd-all:hover{background:var(--blue-light)}

@media(max-width:768px){
  /* Ligne 1 : logo + actions — Ligne 2 : recherche + catégories */
  .nav-inner{flex-wrap:wrap;height:auto;gap:10px;padding:9px 4%}
  .logo{order:1}
  .nav-right{order:2;margin-left:auto;gap:8px}
  .nav-searchrow{order:3;flex:0 0 100%;width:100%;max-width:none}

  .btn-account{display:inline-flex}
  .cat-burger{display:inline-flex}
  .catnav{display:none}

  /* Actions d'en-tête : trois pastilles de même gabarit, régulièrement espacées */
  .nav-right{gap:14px}
  .btn-account,.btn-cart,.nav-burger{width:40px;height:40px;flex:0 0 40px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%}
  .nav-burger{border:1px solid #D1D5DB;background:var(--white);color:#1F2937;font-size:19px;line-height:1}
  .nav-burger[aria-expanded="true"]{border-color:var(--blue);color:var(--blue)}

  /* Recherche : pleine largeur, champ plus haut (16px = pas de zoom auto iOS) */
  .nav-search input{padding:12px 14px 12px 42px;font-size:16px}
  .nav-search-icon{left:15px;font-size:15px}

  /* Panier : icône seule + badge */
  .btn-cart{position:relative;gap:0;font-size:17px}
  .btn-cart .cart-lbl,.btn-cart .cart-ic{display:none}
  .btn-cart .cart-ic-svg{display:inline-flex}
  .btn-cart .cart-count{position:absolute;top:-3px;right:-3px;width:18px;height:18px;margin-left:0;border:1.5px solid var(--white);font-size:10px}
}
@media(max-width:480px){
  .nav-inner{gap:8px;padding:9px 3%}
  .nav-right{gap:11px}
  .btn-account,.btn-cart,.nav-burger{width:38px;height:38px;flex:0 0 38px}
  .cat-burger{width:42px;flex:0 0 42px}
}
