/*
 Theme Name:   Aqualumis Child
 Theme URI:    https://aqualumis.fr
 Description:  Thème enfant Aqualumis basé sur Woostify
 Author:       Aqualumis
 Template:     woostify
 Version:      4.6.0
 License:      GNU General Public License v2 or later
 Text Domain:  aqualumi-child
*/
:root{
  /* Fonds — blanc propre avec légères teintes bleues */
  --bg-base:#FFFFFF;--bg-card:#F0F8FF;--bg-card2:#E8F4FF;--bg-glass:rgba(255,255,255,.92);

  /* Palette — turquoise vif + bleu structurant + vert nature */
  --aqua:#00B4D8;       /* turquoise principal */
  --aqua-l:#0096C7;     /* turquoise foncé (hover) */
  --blue:#1565C0;       /* bleu structure */
  --blue-l:#1976D2;     /* bleu moyen */
  --mint:#2E7D32;       /* vert nature / neige / froid */
  --mint-l:#43A047;
  --rose:#E53935;
  --rose-l:#EF5350;
  --white:#FFFFFF;

  /* Texte — lisible sur fond blanc */
  --text-1:#0D1B2A;
  --text-2:#2D5A7B;
  --text-3:#7A9BB5;

  /* Lueurs légères */
  --glow-aqua:rgba(0,180,216,.15);
  --glow-blue:rgba(21,101,192,.12);
  --glow-mint:rgba(46,125,50,.12);

  /* Bordures — légères et bleues */
  --border:rgba(0,180,216,.15);
  --border-h:rgba(0,180,216,.45);

  --font-h:'Outfit',sans-serif;--font-b:'DM Sans',sans-serif;
  --r-sm:10px;--r-md:18px;--r-lg:26px;--r-xl:34px;--r-pill:100px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:110%!important}
body{font-family:var(--font-b);background:var(--bg-base);color:var(--text-1);overflow-x:hidden;-webkit-font-smoothing:antialiased;padding-top:116px;font-size:1rem!important}
body.woocommerce,body.woocommerce-page{background:var(--bg-base)!important}
a{color:var(--aqua);text-decoration:none;transition:color .2s}
a:hover{color:var(--aqua-l)}
img{max-width:100%;display:block}

/* TYPO */
h1,h2,h3,h4{font-family:var(--font-h);line-height:1.12;letter-spacing:-.03em;color:var(--text-1)}
h1{font-size:clamp(2.9rem,6.5vw,5rem);font-weight:800}
h2{font-size:clamp(2.1rem,4vw,3.2rem);font-weight:700}
h3{font-size:1.2rem;font-weight:600}
p{color:var(--text-2);line-height:1.8}

/* LAYOUT */
.aq-wrap{max-width:min(1400px,94vw);margin:0 auto;padding:0 clamp(16px,3vw,56px)}
.aq-section{padding:clamp(80px,10vw,140px) 0}
.aq-section-head{text-align:center;margin-bottom:72px}
.aq-section-head h2{margin-bottom:18px}
.aq-section-head p{max-width:560px;margin:0 auto;font-size:1.1rem}

/* EYEBROW */
.aq-eyebrow{display:inline-block;font-family:var(--font-h);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--aqua);border:1px solid rgba(0,194,212,.22);background:rgba(0,194,212,.06);padding:6px 18px;border-radius:var(--r-pill);margin-bottom:20px}

/* GRADIENT TEXT */
.grad{color:var(--aqua);-webkit-text-fill-color:var(--aqua)}

/* BOUTONS */
.aq-btn,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:15px 36px;border-radius:var(--r-pill);font-family:var(--font-h);font-size:.95rem;font-weight:600;letter-spacing:.01em;cursor:pointer;border:none;outline:none;transition:all .28s cubic-bezier(.2,0,0,1);text-transform:none;white-space:nowrap}
.aq-btn-primary,.woocommerce button.button.alt{background:linear-gradient(130deg,var(--aqua) 0%,var(--blue) 100%);color:#fff!important;box-shadow:0 6px 24px var(--glow-aqua)}
.aq-btn-primary:hover,.woocommerce button.button.alt:hover{transform:translateY(-2px);box-shadow:0 12px 32px var(--glow-blue);background:linear-gradient(130deg,var(--blue) 0%,var(--aqua) 100%);color:#fff!important}
.aq-btn-ghost{background:#fff;border:1.5px solid var(--aqua);color:var(--blue)!important}
.aq-btn-ghost:hover{background:var(--aqua);border-color:var(--aqua);color:#fff!important;transform:translateY(-1px)}
.aq-btn-lg{padding:18px 48px;font-size:1.05rem}
.aq-btn-sm{padding:11px 26px;font-size:.85rem}
.woocommerce a.button,.woocommerce input.button{background:rgba(255,255,255,.05)!important;border:1px solid var(--border-h)!important;color:var(--text-1)!important;border-radius:var(--r-pill)!important}
.woocommerce a.button:hover{background:rgba(0,194,212,.10)!important;color:var(--aqua-l)!important}

/* NAVBAR */
#site-header,.site-header{position:fixed!important;top:40px;left:0;right:0;z-index:9990;height:76px;background:rgba(255,255,255,.97)!important;backdrop-filter:blur(20px) saturate(130%);border-bottom:1px solid var(--border)!important;box-shadow:0 1px 24px rgba(21,101,192,.10)!important}
.site-header .col-full,.header-main,.woostify-header-main,.site-header .container{max-width:100%!important;padding:0!important;margin:0!important}
.aq-nav-inner{display:flex;align-items:center;justify-content:space-between;height:76px;max-width:min(1500px,96vw);margin:0 auto;padding:0 clamp(16px,3vw,56px);gap:32px}
.aq-nav-logo{font-family:var(--font-h);font-size:1.35rem;font-weight:800;color:var(--blue);text-decoration:none;white-space:nowrap;letter-spacing:-.02em}
.aq-nav-links{display:flex;align-items:center;gap:4px;list-style:none}
.aq-nav-links a{font-family:var(--font-h);font-size:.83rem;font-weight:600;letter-spacing:.02em;color:var(--text-1);text-decoration:none;padding:8px 16px;border-radius:var(--r-pill);transition:all .2s}
.aq-nav-links a:hover,.aq-nav-links a.aq-active{color:var(--aqua);background:rgba(0,180,216,.08)}
.aq-nav-cart{display:flex;align-items:center;gap:9px;padding:10px 22px;border-radius:var(--r-pill);background:var(--aqua);border:none;color:#fff!important;font-family:var(--font-h);font-size:.87rem;font-weight:600;cursor:pointer;transition:all .2s;position:relative;white-space:nowrap}
.aq-nav-cart:hover{background:var(--blue);color:#fff!important}
.aq-cart-bubble{position:absolute;top:-5px;right:-5px;width:18px;height:18px;background:linear-gradient(135deg,var(--blue),var(--aqua));border-radius:50%;font-size:.6rem;font-weight:800;display:flex;align-items:center;justify-content:center;color:#fff;border:2px solid var(--bg-base)}
.aq-nav-burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;background:none;border:none}
.aq-nav-burger span{display:block;width:22px;height:2px;background:var(--text-1);border-radius:2px;transition:all .25s}

/* HERO */
#aq-hero{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;padding:80px 0 60px}
.aq-hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.aq-orb{position:absolute;border-radius:50%;filter:blur(100px);pointer-events:none}
.aq-orb-1{width:700px;height:700px;background:radial-gradient(circle,rgba(0,180,216,.12) 0%,transparent 70%);top:-250px;right:-100px;animation:aq-float 14s ease-in-out infinite alternate}
.aq-orb-2{width:550px;height:550px;background:radial-gradient(circle,rgba(46,125,50,.10) 0%,transparent 70%);bottom:-200px;left:-100px;animation:aq-float 17s ease-in-out infinite alternate-reverse}
.aq-orb-3{width:350px;height:350px;background:radial-gradient(circle,rgba(21,101,192,.07) 0%,transparent 70%);top:38%;left:38%;animation:aq-float 10s ease-in-out infinite}
@keyframes aq-float{from{transform:translate(0,0) scale(1)}to{transform:translate(24px,-32px) scale(1.09)}}
.aq-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;position:relative;z-index:1}
.aq-hero-eyebrow{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}
.aq-hero-h1{margin-bottom:26px}
.aq-hero-desc{font-size:1.15rem;line-height:1.82;margin-bottom:44px;font-weight:300}
.aq-hero-ctas{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:52px}
.aq-trust-row{display:flex;flex-wrap:wrap;gap:26px}
.aq-trust-item{display:flex;align-items:center;gap:9px;font-size:.84rem;color:var(--text-2)}
.aq-trust-line{width:18px;height:1px;background:linear-gradient(90deg,var(--aqua),transparent);flex-shrink:0}

/* HERO CARD */
.aq-hero-card{background:var(--bg-glass);border:1px solid var(--border-h);border-radius:var(--r-xl);overflow:hidden;box-shadow:0 0 0 1px rgba(0,180,216,.08),0 24px 64px rgba(0,100,180,.12);position:relative}
.aq-hero-card::before{content:'';position:absolute;top:0;left:20%;right:20%;height:1px;background:linear-gradient(90deg,transparent,var(--aqua),transparent)}
.aq-hero-img-wrap{position:relative;overflow:hidden;height:460px;background:#0a0d14;border-radius:var(--r-xl)}
.aq-hero-img-wrap img{width:100%;height:100%;object-fit:cover;object-position:center 20%;padding:0}
.aq-hero-img-gradient{position:absolute;bottom:0;left:0;right:0;height:110px;background:linear-gradient(to bottom,transparent,var(--bg-glass))}
.aq-hero-card-body{padding:26px 32px 32px}
.aq-hero-card-name{font-family:var(--font-h);font-size:1.1rem;font-weight:700;margin-bottom:4px}
.aq-hero-card-sub{font-size:.8rem;color:var(--text-3);margin-bottom:10px}
.aq-hero-card-price{font-family:var(--font-h);font-size:2.2rem;font-weight:800;color:var(--blue);margin-bottom:18px}
.aq-hero-versions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}
.aq-version-tag{font-family:var(--font-h);font-size:.72rem;font-weight:600;padding:5px 14px;border-radius:var(--r-pill);border:1px solid var(--border-h);color:var(--aqua-l);background:rgba(0,194,212,.06)}

/* FEATURES */
#aq-features{background:var(--bg-card)}
.aq-feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.aq-feat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);padding:36px 32px;position:relative;overflow:hidden;transition:all .3s cubic-bezier(.2,0,0,1)}
.aq-feat-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--aqua),transparent);transform:scaleX(0);transition:transform .4s}
.aq-feat-card:hover{border-color:var(--border-h);transform:translateY(-6px);box-shadow:0 28px 64px rgba(0,0,0,.45),0 0 0 1px var(--border-h)}
.aq-feat-card:hover::before{transform:scaleX(1)}
.aq-feat-num{font-family:var(--font-h);font-size:.68rem;font-weight:700;letter-spacing:.1em;color:var(--text-3);text-transform:uppercase;margin-bottom:20px}
.aq-feat-card h3{font-size:1.05rem;font-weight:700;margin-bottom:12px}
.aq-feat-card p{font-size:.9rem;line-height:1.72}

/* PRODUITS */
#aq-produits{background:var(--bg-card)}
.aq-prod-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;max-width:1100px;margin:0 auto}
.aq-prod-card{background:var(--bg-base);border:1.5px solid var(--border);border-radius:var(--r-xl);overflow:hidden;transition:all .32s cubic-bezier(.2,0,0,1);position:relative;display:flex;flex-direction:column}
.aq-prod-card:hover{border-color:var(--border-h);transform:translateY(-5px);box-shadow:0 28px 72px rgba(0,0,0,.5)}
.aq-prod-card.is-featured{border-color:rgba(0,194,212,.35);box-shadow:0 0 60px rgba(0,194,212,.10)}
.aq-prod-img{position:relative;overflow:hidden;height:340px;background:#EBF5FB;flex-shrink:0;border-radius:var(--r-xl) var(--r-xl) 0 0}
.aq-prod-img img{width:100%;height:100%;object-fit:cover;object-position:center 15%;transition:transform .6s cubic-bezier(.2,0,0,1)}
.aq-prod-card:hover .aq-prod-img img{transform:scale(1.04)}
.aq-prod-img-overlay{position:absolute;bottom:0;left:0;right:0;height:140px;background:linear-gradient(to bottom,transparent,var(--bg-base))}
.aq-prod-badge{position:absolute;bottom:16px;left:16px;font-family:var(--font-h);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 14px;border-radius:var(--r-pill);backdrop-filter:blur(12px)}
.aq-prod-badge-inline{display:inline-block;font-family:var(--font-h);font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 12px;border-radius:var(--r-pill)}
.badge-classic{background:rgba(26,111,212,.7);border:1px solid rgba(75,154,250,.3);color:#fff}
.badge-premium{background:rgba(0,194,212,.7);border:1px solid rgba(51,216,232,.3);color:#fff}
.badge-pop{background:rgba(255,185,0,.75);border:1px solid rgba(255,210,80,.3);color:#fff}
.aq-prod-body{padding:32px;flex:1;display:flex;flex-direction:column}
.aq-prod-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:6px}
.aq-prod-name{font-family:var(--font-h);font-size:1.25rem;font-weight:800;letter-spacing:-.02em;flex:1;min-width:0;word-break:keep-all;overflow-wrap:normal;hyphens:none;white-space:normal}
.aq-prod-price{font-family:var(--font-h);font-size:1.6rem;font-weight:800;white-space:nowrap;line-height:1;flex-shrink:0}
.price-blue {
  color: var(--aqua-l) !important; /* fallback sans webkit */
}
/* Le ins (prix promo) reçoit le gradient */
.price-blue ins,
.price-blue ins .woocommerce-Price-amount,
.aq-prod-price ins,
.aq-prod-price ins .woocommerce-Price-amount {
  color: var(--aqua) !important;
  -webkit-text-fill-color: var(--aqua) !important;
  background: none;
  text-decoration: none !important;
}
/* Del sur les cartes produit */
.price-blue del,
.price-blue del *,
.aq-prod-price del,
.aq-prod-price del * {
  -webkit-text-fill-color: #6B8FAA !important;
  color: #6B8FAA !important;
  background: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  font-size: .62em !important;
  font-weight: 400 !important;
  text-decoration: line-through !important;
  text-decoration-color: #6B8FAA !important;
  text-decoration-thickness: 1.5px !important;
  display: inline-block !important;
  margin-right: 6px !important;
  vertical-align: middle !important;
}
/* Pour les prix sans promo : appliquer le gradient directement */
.price-blue:not(:has(ins)) {
  color: var(--aqua) !important;
  -webkit-text-fill-color: var(--aqua) !important;
}
.aq-prod-tagline{font-size:.92rem;color:var(--text-2);line-height:1.65;margin-bottom:24px;margin-top:6px}

/* SÉLECTEUR COULEUR */
.aq-color-label{font-family:var(--font-h);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin-bottom:10px}
.aq-color-swatches{display:flex;gap:10px;margin-bottom:8px;flex-wrap:wrap}
.aq-swatch{width:28px;height:28px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:all .2s;position:relative;flex-shrink:0}
.aq-swatch:hover{transform:scale(1.2)}
.aq-swatch.selected{border-color:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.14)}
.aq-swatch-blue{background:#2196F3}
.aq-swatch-green{background:#4CAF50}
.aq-swatch-red{background:#F44336}
.aq-swatch-white{background:#DDE8F8;border:2px solid rgba(255,255,255,.3)}
.aq-swatch-purple{background:#9C27B0}
.aq-swatch-selected-text{font-size:.8rem;color:var(--text-2);margin-bottom:22px;font-style:italic}

/* INDICATEUR TEMPÉRATURE */
.aq-temp-bands{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}
.aq-temp-band{display:flex;align-items:center;gap:14px;padding:11px 16px;border-radius:var(--r-md);border:1px solid;font-size:.85rem}
.aq-temp-band.cold{background:rgba(33,150,243,.06);border-color:rgba(33,150,243,.18)}
.aq-temp-band.warm{background:rgba(76,175,80,.06);border-color:rgba(76,175,80,.18)}
.aq-temp-band.hot{background:rgba(244,67,54,.06);border-color:rgba(244,67,54,.18)}
.aq-temp-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.dot-cold{background:#2196F3;box-shadow:0 0 8px rgba(33,150,243,.6)}
.dot-warm{background:#4CAF50;box-shadow:0 0 8px rgba(76,175,80,.6)}
.dot-hot{background:#F44336;box-shadow:0 0 8px rgba(244,67,54,.6)}
.aq-temp-range{font-family:var(--font-h);font-weight:700;font-size:.8rem;width:90px;flex-shrink:0}
.aq-temp-band.cold .aq-temp-range{color:#64B5F6}
.aq-temp-band.warm .aq-temp-range{color:#81C784}
.aq-temp-band.hot .aq-temp-range{color:#EF9A9A}
.aq-temp-desc{color:var(--text-2);line-height:1.4;font-size:.84rem}

/* PERKS */
.aq-prod-sep{height:1px;background:var(--border);margin:20px 0}
.aq-prod-perks{list-style:none;padding:0;margin:0 0 26px;display:flex;flex-direction:column;gap:9px}
.aq-prod-perks li{display:flex;align-items:flex-start;gap:12px;font-size:.9rem;color:var(--text-2);line-height:1.55}
.aq-perk-tick{width:16px;height:16px;flex-shrink:0;margin-top:1px;color:#66BB6A}

/* FICHE EXPANDABLE */
.aq-details-toggle{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-h);font-size:.8rem;font-weight:600;color:var(--aqua);cursor:pointer;background:none;border:none;padding:0;transition:color .2s;margin-bottom:20px}
.aq-details-toggle:hover{color:var(--aqua-l)}
.aq-toggle-icon{width:18px;height:18px;background:rgba(0,180,216,.10);border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;transition:transform .3s;flex-shrink:0}
.aq-prod-card.details-open .aq-toggle-icon{transform:rotate(45deg)}
.aq-prod-details{overflow:hidden;max-height:0;opacity:0;transition:max-height .5s cubic-bezier(.2,0,0,1),opacity .3s}
.aq-prod-card.details-open .aq-prod-details{max-height:700px;opacity:1}
.aq-prod-details-inner{padding-top:18px;border-top:1px solid var(--border)}
.aq-spec-table{width:100%;border-collapse:collapse;font-size:.86rem}
.aq-spec-table tr{border-bottom:1px solid var(--border)}
.aq-spec-table tr:last-child{border:none}
.aq-spec-table td{padding:10px 4px}
.aq-spec-table td:first-child{color:var(--text-3);width:50%;font-weight:500}
.aq-spec-table td:last-child{color:var(--text-1);font-weight:600}

/* CTA PRODUIT */
.aq-prod-cta{margin-top:auto;padding-top:10px;display:flex;flex-direction:column;gap:10px}
.aq-prod-cta .aq-btn{width:100%;font-size:1rem}
.aq-microtrust{display:flex;gap:18px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}
.aq-microtrust-item{font-size:.75rem;color:var(--text-3);display:flex;align-items:center;gap:6px;letter-spacing:.01em}

/* PROMO */
.aq-promo-box{background:var(--bg-base);border:1px solid var(--border);border-radius:var(--r-lg);padding:30px 36px;max-width:1100px;margin:36px auto 0}
.aq-promo-inner{display:flex;align-items:center;gap:40px;flex-wrap:wrap}
.aq-promo-left{flex:1;min-width:200px}
.aq-promo-label{font-family:var(--font-h);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);margin-bottom:4px}
.aq-promo-code-display{font-family:var(--font-h);font-size:1.5rem;font-weight:800;color:var(--aqua-l);letter-spacing:.05em}
.aq-promo-desc{font-size:.86rem;color:var(--text-2);margin-top:3px}
.aq-promo-input-row{display:flex;gap:10px;flex:1;min-width:280px}
.aq-promo-input{flex:1;background:#fff;border:1.5px solid var(--border-h);border-radius:var(--r-pill);padding:13px 22px;color:var(--text-1);font-family:var(--font-b);font-size:.9rem;outline:none;transition:border-color .2s}
.aq-promo-input::placeholder{color:var(--text-3)}
.aq-promo-input:focus{border-color:var(--aqua)}
.aq-promo-apply{background:var(--aqua);border:none;border-radius:var(--r-pill);padding:13px 26px;color:#fff;font-family:var(--font-h);font-size:.88rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}
.aq-promo-apply:hover{background:var(--blue);color:#fff}
.aq-promo-feedback{margin-top:10px;font-size:.82rem;font-family:var(--font-h);display:none}
.aq-promo-feedback.ok{color:#66BB6A;display:block}
.aq-promo-feedback.err{color:#EF5350;display:block}

/* HOW */
#aq-how{background:var(--bg-base)}
.aq-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;position:relative;margin-bottom:72px}
.aq-steps::before{content:'';position:absolute;top:33px;left:100px;right:100px;height:1px;background:var(--border);z-index:0}
.aq-step{text-align:center;padding:28px 22px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);position:relative;z-index:1;transition:all .25s}
.aq-step:hover{border-color:var(--border-h);transform:translateY(-4px);box-shadow:0 18px 48px rgba(0,0,0,.35)}
.aq-step-num{width:54px;height:54px;background:var(--blue);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-family:var(--font-h);font-weight:800;font-size:1.1rem;color:#fff;box-shadow:0 6px 20px var(--glow-blue)}
.aq-step h3{font-size:.95rem;margin-bottom:10px}
.aq-step p{font-size:.84rem}
.aq-tech-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-xl);padding:60px;display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.aq-tech-card h3{font-size:1.6rem!important;margin-bottom:20px!important}
.aq-tech-text{font-size:.95rem;color:var(--text-2);line-height:1.8;margin-bottom:20px}
.aq-temp-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px}
.aq-temp-card{padding:22px;border-radius:var(--r-md);border:1px solid;text-align:center}
.aq-temp-card.cold{background:rgba(33,150,243,.05);border-color:rgba(33,150,243,.18)}
.aq-temp-card.hot{background:rgba(244,67,54,.05);border-color:rgba(244,67,54,.18)}
.aq-temp-card h4{font-size:.95rem;margin-bottom:6px}
.aq-temp-card.cold h4{color:#64B5F6}
.aq-temp-card.hot h4{color:#EF9A9A}
.aq-temp-card p{font-size:.8rem;margin:0}
.aq-bars{display:flex;flex-direction:column;gap:18px}
.aq-bars-label{font-family:var(--font-h);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-3);margin-bottom:6px}
.aq-bar-row{display:flex;align-items:center;gap:16px}
.aq-bar-name{font-size:.8rem;font-weight:600;color:var(--text-2);width:120px;text-align:right;flex-shrink:0}
.aq-bar-track{flex:1;height:8px;background:rgba(0,100,180,.08);border-radius:var(--r-pill);overflow:hidden}
.aq-bar-fill{height:100%;border-radius:var(--r-pill);transition:width 1.5s cubic-bezier(.2,0,0,1)}
.bar-gray{background:rgba(0,100,180,.12)}
.bar-brand{background:var(--aqua)}
.bar-green{background:linear-gradient(90deg,#43A047,#81C784)}
.aq-bar-val{font-family:var(--font-h);font-size:.75rem;font-weight:700;width:38px;flex-shrink:0;color:var(--text-2)}
.aq-bar-cta{margin-top:22px;padding:16px 20px;background:rgba(102,187,106,.05);border:1px solid rgba(102,187,106,.14);border-radius:var(--r-md);text-align:center}
.aq-bar-cta span{font-family:var(--font-h);font-size:.9rem;font-weight:700;color:#81C784}

/* SECURITE */
#aq-securite{background:var(--bg-card)}
.aq-sec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.aq-sec-card{text-align:center;padding:40px 30px;background:rgba(102,187,106,.03);border:1px solid rgba(102,187,106,.07);border-radius:var(--r-lg);transition:all .3s}
.aq-sec-card:hover{border-color:rgba(102,187,106,.20);transform:translateY(-4px);box-shadow:0 0 50px rgba(102,187,106,.06),0 20px 56px rgba(0,0,0,.4)}
.aq-sec-icon-wrap{width:52px;height:52px;background:rgba(102,187,106,.08);border:1px solid rgba(102,187,106,.12);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;margin:0 auto 18px}
.aq-sec-card h3{font-size:1rem;color:#81C784;margin-bottom:10px}
.aq-sec-card p{font-size:.88rem;line-height:1.7}

/* AVIS */
#aq-avis{background:var(--bg-base)}
.aq-avis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.aq-avis-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);padding:32px;transition:border-color .25s,transform .25s,box-shadow .25s}
.aq-avis-card:hover{border-color:var(--border-h);transform:translateY(-3px);box-shadow:0 18px 52px rgba(0,0,0,.35)}
.aq-avis-stars{font-size:.9rem;color:#FFD54F;letter-spacing:.08em;margin-bottom:14px}
.aq-avis-text{font-size:.92rem;font-style:italic;color:var(--text-2);line-height:1.72;margin-bottom:20px}
.aq-avis-author{display:flex;align-items:center;gap:12px}
.aq-avatar{width:38px;height:38px;background:var(--aqua);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-h);font-size:.72rem;font-weight:700;color:#fff;flex-shrink:0}
.aq-avis-name{font-weight:600;font-size:.86rem}
.aq-avis-date{font-size:.73rem;color:var(--text-3)}
.aq-score-bar{display:flex;align-items:center;gap:40px;justify-content:center;margin-top:56px;padding:40px 48px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-xl);flex-wrap:wrap}
.aq-score-num{font-family:var(--font-h);font-size:4rem;font-weight:800;background:linear-gradient(135deg,#FFD54F,#FFA726);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}
.aq-score-stars{color:#FFD54F;font-size:1.2rem;letter-spacing:.06em;margin-bottom:6px}
.aq-score-label{font-family:var(--font-h);font-size:1.05rem;font-weight:700;margin-bottom:4px}
.aq-score-count{font-size:.83rem;color:var(--text-3)}
.aq-score-sep{width:1px;height:60px;background:var(--border)}
.aq-score-stats{display:flex;gap:44px;flex-wrap:wrap}
.aq-stat-num{font-family:var(--font-h);font-size:1.7rem;font-weight:800;color:#FFD54F;line-height:1;margin-bottom:4px}
.aq-stat-label{font-size:.77rem;color:var(--text-3)}

/* FAQ */
#aq-faq{background:var(--bg-card)}
.aq-faq-wrap{max-width:780px;margin:0 auto}
.aq-faq-item{border-bottom:1px solid var(--border)}
.aq-faq-item:first-child{border-top:1px solid var(--border)}
.aq-faq-q{width:100%;background:none;border:none;padding:24px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;text-align:left;font-family:var(--font-h);font-size:1rem;font-weight:600;color:var(--text-1);transition:color .2s}
.aq-faq-q:hover{color:var(--aqua-l)}
.aq-faq-icon{width:28px;height:28px;background:rgba(0,180,216,.08);border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;color:var(--aqua);flex-shrink:0;transition:all .3s}
.aq-faq-item.open .aq-faq-icon{transform:rotate(45deg);background:var(--aqua);color:#fff}
.aq-faq-a{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.2,0,0,1)}
.aq-faq-item.open .aq-faq-a{max-height:320px}
.aq-faq-a p{padding:0 0 24px;font-size:.93rem;color:var(--text-2);line-height:1.8;margin:0}

/* CTA FINAL */
.aq-cta-final{background:var(--bg-card);border-top:1px solid var(--border);padding:clamp(80px,10vw,130px) 0;text-align:center}
.aq-cta-final h2{margin-bottom:20px}
.aq-cta-final p{max-width:500px;margin:0 auto 44px;font-size:1.05rem}
.aq-cta-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

/* FOOTER */
.site-footer{background:var(--bg-card)!important;border-top:1px solid var(--border)!important;padding:72px 0 40px!important}
.aq-footer-grid{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:56px;margin-bottom:56px;padding-bottom:48px;border-bottom:1px solid var(--border)}
.aq-footer-logo{font-family:var(--font-h);font-weight:800;font-size:1.35rem;color:var(--blue);margin-bottom:14px;display:block;letter-spacing:-.02em}
.aq-footer-desc{font-size:.88rem;color:var(--text-3);line-height:1.75;margin-bottom:24px}
.aq-footer-col-title{font-family:var(--font-h);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-3);margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--border)}
.aq-footer-links{list-style:none;padding:0;margin:0}
.aq-footer-links li{margin-bottom:12px}
.aq-footer-links a{font-size:.88rem;color:var(--text-2);transition:color .2s}
.aq-footer-links a:hover{color:var(--aqua-l)}
.aq-footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;font-size:.8rem;color:var(--text-3)}
.aq-certif{font-family:var(--font-h);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 14px;border-radius:var(--r-pill);border:1px solid var(--border);color:var(--text-3)}
.aq-footer-certs{display:flex;gap:10px;flex-wrap:wrap}

/* PANIER FLYOUT */
.aq-cart-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(4px);z-index:9998;opacity:0;pointer-events:none;transition:opacity .3s}
.aq-cart-overlay.open{opacity:1;pointer-events:all}
.aq-cart-panel{position:fixed;top:0;right:0;bottom:0;width:420px;background:#fff;border-left:1px solid var(--border);z-index:9999;transform:translateX(100%);transition:transform .38s cubic-bezier(.2,0,0,1);display:flex;flex-direction:column;box-shadow:-8px 0 40px rgba(0,100,180,.12)}
.aq-cart-panel.open{transform:translateX(0)}
.aq-cart-head{display:flex;align-items:center;justify-content:space-between;padding:24px 28px;border-bottom:1px solid var(--border)}
.aq-cart-head h3{font-family:var(--font-h);font-size:1.05rem;font-weight:700}
.aq-cart-close{width:32px;height:32px;background:var(--bg-card);border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-2);font-size:1rem;transition:all .2s}
.aq-cart-close:hover{background:var(--border);color:var(--text-1)}
.aq-cart-body{flex:1;overflow-y:auto;padding:24px 28px}
.aq-cart-item{display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--border)}
.aq-cart-item-thumb{width:52px;height:52px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.aq-cart-item-thumb img{width:100%;height:100%;object-fit:cover}
.aq-cart-item-info{flex:1}
.aq-cart-item-name{font-family:var(--font-h);font-size:.9rem;font-weight:600;margin-bottom:3px}
.aq-cart-item-qty{font-size:.76rem;color:var(--text-3)}
.aq-cart-item-price{font-family:var(--font-h);font-weight:700;color:var(--aqua-l)}
.aq-cart-del{width:26px;height:26px;background:rgba(239,83,80,.08);border:none;border-radius:50%;color:var(--text-3);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.9rem;transition:all .2s}
.aq-cart-del:hover{background:rgba(239,83,80,.2);color:#EF5350}
.aq-cart-empty{text-align:center;padding:64px 20px;color:var(--text-3)}
.aq-cart-foot{padding:24px 28px;border-top:1px solid var(--border)}
.aq-cart-subtotal{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;font-size:.9rem;color:var(--text-2)}
.aq-cart-subtotal strong{font-family:var(--font-h);font-weight:700;color:var(--aqua-l);font-size:1.1rem}
.aq-cart-checkout{display:flex;width:100%;align-items:center;justify-content:center;gap:9px;padding:15px;border-radius:var(--r-pill);background:linear-gradient(130deg,var(--aqua) 0%,var(--blue) 100%);color:#fff!important;font-family:var(--font-h);font-size:.95rem;font-weight:700;text-decoration:none;transition:all .25s;border:none;cursor:pointer;margin-bottom:10px;box-shadow:0 6px 20px var(--glow-aqua)}
.aq-cart-checkout:hover{transform:translateY(-2px);box-shadow:0 14px 44px var(--glow-aqua);color:#fff!important}
.aq-cart-view{display:flex;width:100%;align-items:center;justify-content:center;padding:12px;border-radius:var(--r-pill);border:1px solid var(--border);background:transparent;color:var(--text-2)!important;font-family:var(--font-h);font-size:.88rem;font-weight:600;text-decoration:none;transition:all .2s}
.aq-cart-view:hover{border-color:var(--border-h);color:var(--aqua-l)!important}

/* TOAST */
.aq-toast{position:fixed;bottom:32px;right:32px;z-index:99999;display:flex;align-items:center;gap:14px;padding:16px 26px;background:var(--bg-card);border:1px solid var(--border-h);border-radius:var(--r-lg);font-family:var(--font-h);font-size:.9rem;font-weight:600;color:var(--text-1);box-shadow:0 14px 48px rgba(0,0,0,.6);transform:translateY(90px) scale(.96);opacity:0;transition:all .38s cubic-bezier(.2,0,0,1);pointer-events:none}
.aq-toast.show{transform:translateY(0) scale(1);opacity:1}
.aq-toast-dot{width:8px;height:8px;background:#66BB6A;border-radius:50%;box-shadow:0 0 10px rgba(102,187,106,.6);flex-shrink:0}

/* ANIMATIONS */
.aq-fade{opacity:0;transform:translateY(32px);transition:opacity .7s cubic-bezier(.2,0,0,1),transform .7s cubic-bezier(.2,0,0,1)}
.aq-fade.aq-visible{opacity:1;transform:none}
.aq-fade:nth-child(2){transition-delay:.08s}
.aq-fade:nth-child(3){transition-delay:.16s}
.aq-fade:nth-child(4){transition-delay:.24s}
.aq-fade:nth-child(5){transition-delay:.32s}
.aq-fade:nth-child(6){transition-delay:.40s}

/* WOOCOMMERCE */
.woocommerce ul.products,.woocommerce-page ul.products{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))!important;gap:28px;list-style:none;padding:0!important;margin:0!important}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{background:var(--bg-card)!important;border:1px solid var(--border)!important;border-radius:var(--r-xl)!important;padding:0!important;float:none!important;width:auto!important;margin:0!important;overflow:hidden;transition:all .3s}
.woocommerce ul.products li.product:hover{border-color:var(--border-h)!important;transform:translateY(-4px);box-shadow:0 24px 64px rgba(0,0,0,.45)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--font-h)!important;color:var(--text-1)!important;font-size:1.1rem!important;font-weight:700!important;padding:20px 24px 4px!important}
.woocommerce ul.products li.product .price{color:var(--aqua-l)!important;font-family:var(--font-h)!important;font-size:1.5rem!important;font-weight:800!important;padding:0 24px!important}
.woocommerce ul.products li.product .button{margin:16px 24px 24px!important;width:calc(100% - 48px)!important}
.woocommerce div.product{background:var(--bg-base);padding:60px 0}
.woocommerce div.product .product_title{font-family:var(--font-h)!important;color:var(--text-1)!important;font-size:clamp(1.9rem,3vw,2.8rem)!important;font-weight:800!important}
.woocommerce div.product p.price{color:var(--aqua-l)!important;font-family:var(--font-h)!important;font-size:2.4rem!important;font-weight:800!important}
.woocommerce div.product .woocommerce-tabs ul.tabs{border-color:var(--border)!important;background:transparent!important;padding:0!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:var(--bg-card)!important;border-color:var(--border)!important;border-radius:var(--r-md) var(--r-md) 0 0!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-family:var(--font-h)!important;color:var(--text-2)!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--aqua-l)!important}
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel{background:var(--bg-card)!important;border:1px solid var(--border)!important;border-radius:0 var(--r-xl) var(--r-xl) var(--r-xl)!important;color:var(--text-2)!important}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea{background:#fff!important;border:1px solid var(--border)!important;color:var(--text-1)!important;border-radius:var(--r-md)!important;padding:14px 20px!important}
.woocommerce form .form-row input.input-text:focus{border-color:var(--aqua)!important;box-shadow:0 0 0 3px rgba(0,194,212,.14)!important;outline:none}
.woocommerce-message{background:rgba(0,194,212,.07)!important;border-top-color:var(--aqua)!important;color:var(--text-1)!important}
.woocommerce-error{background:rgba(239,83,80,.07)!important;border-top-color:#EF5350!important;color:var(--text-1)!important}

/* RESPONSIVE */
@media(max-width:1100px){.aq-feat-grid{grid-template-columns:1fr 1fr}.aq-sec-grid{grid-template-columns:1fr 1fr}.aq-avis-grid{grid-template-columns:1fr 1fr}.aq-footer-grid{grid-template-columns:1fr 1fr;gap:40px}.aq-tech-card{grid-template-columns:1fr;gap:48px;padding:48px}.aq-steps{grid-template-columns:1fr 1fr}.aq-steps::before{display:none}}
@media(max-width:860px){.aq-wrap{padding:0 24px}body{padding-top:68px}.aq-nav-inner{padding:0 24px}.aq-nav-links{display:none}.aq-nav-links.aq-menu-open{display:flex;flex-direction:column;position:fixed;top:76px;left:0;right:0;background:rgba(255,255,255,.99);backdrop-filter:blur(20px);padding:24px;gap:6px;border-bottom:1px solid var(--border);z-index:9989}.aq-nav-burger{display:flex}.aq-hero-grid{grid-template-columns:1fr;gap:52px}.aq-hero-card{order:-1}.aq-prod-grid{grid-template-columns:1fr;max-width:520px;margin:0 auto}.aq-feat-grid{grid-template-columns:1fr}.aq-sec-grid{grid-template-columns:1fr}.aq-avis-grid{grid-template-columns:1fr}.aq-footer-grid{grid-template-columns:1fr;gap:28px}.aq-cart-panel{width:100%}.aq-score-bar{flex-direction:column;gap:20px;text-align:center;padding:32px}.aq-score-sep{display:none}.aq-temp-grid{grid-template-columns:1fr 1fr}.aq-promo-inner{flex-direction:column;gap:20px}}
@media(max-width:560px){.aq-steps{grid-template-columns:1fr}.aq-hero-ctas{flex-direction:column}.aq-cta-btns{flex-direction:column;align-items:center}.aq-score-stats{gap:24px}.aq-promo-input-row{flex-direction:column}}

/* ═══════════════════════════════════════════════════
   SECTION SÉCURITÉ ENFANTS
═══════════════════════════════════════════════════ */
#aq-kids {
  background: var(--bg-card2);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.aq-kids-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; }
.aq-kids-visual { position: relative; }
.aq-kids-img { border-radius: var(--r-xl); overflow: hidden; height: 420px; }
.aq-kids-img img { width: 100%; height: 100%; object-fit: cover; }
.aq-kids-badge-float {
  position: absolute; bottom: -20px; right: -16px;
  background: var(--bg-card);
  border: 1px solid var(--border-h);
  border-radius: var(--r-lg);
  padding: 18px 22px;
  box-shadow: 0 16px 48px rgba(0,0,0,.5);
  min-width: 200px;
}
.aq-kids-badge-num  { font-family: var(--font-h); font-size: 2rem; font-weight: 800; color: var(--blue); line-height: 1; margin-bottom: 4px; }
.aq-kids-badge-text { font-size: .8rem; color: var(--text-2); }
.aq-kids-text h2   { margin-bottom: 20px; }
.aq-kids-text p    { font-size: 1rem; margin-bottom: 32px; }
.aq-kids-benefits  { display: flex; flex-direction: column; gap: 16px; margin-bottom: 36px; }
.aq-kids-benefit   { display: flex; align-items: flex-start; gap: 14px; padding: 18px 20px; background: #fff; border: 1px solid var(--border); border-radius: var(--r-md); box-shadow:0 2px 8px rgba(0,100,180,.06); }
.aq-kids-benefit-icon { width: 40px; height: 40px; border-radius: var(--r-md); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.ki-red   { background: rgba(244,67,54,.10);  border: 1px solid rgba(244,67,54,.2); }
.ki-blue  { background: rgba(33,150,243,.10); border: 1px solid rgba(33,150,243,.2); }
.ki-green { background: rgba(102,187,106,.10);border: 1px solid rgba(102,187,106,.2);}
.aq-kids-benefit-title { font-family: var(--font-h); font-size: .95rem; font-weight: 700; margin-bottom: 4px; }
.aq-kids-benefit-desc  { font-size: .85rem; color: var(--text-2); line-height: 1.6; }

/* ═══════════════════════════════════════════════════
   3 PRODUITS — grille spéciale
═══════════════════════════════════════════════════ */
.aq-prod-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; max-width: 1200px; margin: 0 auto; align-items: stretch; }

/* ═══════════════════════════════════════════════════
   FICHE PRODUIT INDIVIDUELLE (single-product)
═══════════════════════════════════════════════════ */
.aq-single-wrap { background: var(--bg-base); min-height: 80vh; }

.aq-breadcrumb { display: flex; align-items: center; gap: 8px; margin-bottom: 40px; font-size: .82rem; }
.aq-breadcrumb a { color: var(--text-3); transition: color .2s; }
.aq-breadcrumb a:hover { color: var(--aqua-l); }
.aq-bc-sep { color: var(--text-3); }
.aq-breadcrumb span:last-child { color: var(--text-2); }

.aq-single-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: start; }

/* Galerie */
.aq-single-img-main {
  border-radius: var(--r-xl);
  overflow: visible;
  background: transparent;
  height: auto;
  border: none;
  position: relative;
  display: flex; align-items: center; justify-content: center;
  filter: drop-shadow(0 8px 32px rgba(0,200,230,0.13)) drop-shadow(0 2px 8px rgba(0,0,0,0.10));
}
.aq-single-main-img { width: 100%; height: auto; max-height: 480px; object-fit: contain; object-position: center center; transition: opacity .25s; padding: 0; border-radius: var(--r-xl); display: block; }
.aq-single-thumbs { display: flex; gap: 10px; margin-top: 14px; flex-wrap: wrap; }
.aq-thumb { width: 80px; height: 80px; border-radius: var(--r-md); cursor: pointer; border: 2px solid var(--border); transition: border-color .2s, box-shadow .2s, transform .15s; background: var(--bg-card); display: flex; align-items: center; justify-content: center; padding: 4px; }
.aq-thumb:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,200,230,0.18); }
.aq-thumb.active, .aq-thumb:hover { border-color: var(--aqua); box-shadow: 0 0 0 3px var(--glow-aqua); }
.aq-thumb img { width: 100%; height: 100%; object-fit: contain; border-radius: calc(var(--r-md) - 2px); }
.aq-single-certs { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 16px; }
.aq-certif-tag { font-family: var(--font-h); font-size: .66rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; padding: 4px 12px; border-radius: var(--r-pill); border: 1px solid var(--border); color: var(--text-3); }

/* Info produit */
.aq-single-title { font-size: clamp(1.9rem, 3vw, 2.8rem) !important; font-weight: 800 !important; margin-bottom: 14px; }
.aq-single-tagline { font-size: 1.02rem; color: var(--text-2); line-height: 1.75; margin-bottom: 28px; }
.aq-single-price-wrap { display: flex; align-items: baseline; gap: 12px; margin-bottom: 24px; }
.aq-single-price {
  font-family: var(--font-h) !important;
  font-size: 2.6rem !important;
  font-weight: 800 !important;
  /* PAS de webkit-text-fill sur le conteneur — héritage cassé sur del */
  color: var(--aqua-l) !important;
  line-height: 1.2;
}
/* Le prix promo (ins) reçoit le gradient */
.aq-single-price ins,
.aq-single-price ins .woocommerce-Price-amount {
  color: var(--aqua) !important;
  -webkit-text-fill-color: var(--aqua) !important;
  background: none;
  text-decoration: none !important;
  font-weight: 800 !important;
}
/* Le prix barré (del) : couleur explicite — pas d'héritage webkit */
.aq-single-price del,
.aq-single-price del *,
.aq-single-price del .woocommerce-Price-amount {
  -webkit-text-fill-color: #6B8FAA !important;
  color: #6B8FAA !important;
  background: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  font-size: .58em !important;
  font-weight: 400 !important;
  text-decoration: line-through !important;
  text-decoration-color: #6B8FAA !important;
  text-decoration-thickness: 1.5px !important;
  display: inline-block !important;
  margin-right: 8px !important;
  vertical-align: middle !important;
}
.aq-single-price-note { font-size: .8rem; color: var(--text-3); }
.aq-single-sep { height: 1px; background: var(--border); margin: 24px 0; }

/* Formulaire WC dans single */
.aq-single-form .quantity { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.aq-single-form .qty {
  width: 72px; height: 48px; text-align: center;
  background: rgba(255,255,255,.05) !important;
  border: 1px solid var(--border-h) !important;
  border-radius: var(--r-md) !important;
  color: var(--text-1) !important;
  font-family: var(--font-h) !important;
  font-size: 1rem !important; font-weight: 700;
  outline: none;
}
.aq-single-form .qty:focus { border-color: var(--aqua) !important; }
.aq-single-form .single_add_to_cart_button {
  flex: 1;
  background: linear-gradient(130deg,var(--aqua) 0%,var(--blue) 100%) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--r-pill) !important;
  padding: 15px 36px !important;
  font-family: var(--font-h) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  cursor: pointer;
  box-shadow: 0 8px 32px var(--glow-aqua);
  transition: all .28s;
  text-transform: none !important;
}
.aq-single-form .single_add_to_cart_button:hover { transform: translateY(-2px); box-shadow: 0 14px 44px var(--glow-aqua); }

/* Garanties */
.aq-single-guarantees { display: flex; flex-direction: column; gap: 12px; }
.aq-guarantee-item { display: flex; align-items: center; gap: 14px; padding: 13px 16px; background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--r-md); }
.aq-guarantee-item svg { color: var(--aqua); flex-shrink: 0; }
.aq-guarantee-title { font-family: var(--font-h); font-size: .88rem; font-weight: 600; margin-bottom: 1px; }
.aq-guarantee-sub   { font-size: .76rem; color: var(--text-3); }

/* Description longue */
.aq-single-desc p.aq-single-desc-title { font-family: var(--font-h); font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--text-3); margin-bottom: 12px; }
.aq-single-desc p, .aq-single-desc li { font-size: .93rem; color: var(--text-2); line-height: 1.8; }

/* Onglets single */
.aq-single-tabs { display: flex; flex-direction: column; }
.aq-single-tab-item { border-bottom: 1px solid var(--border); }
.aq-single-tab-item:first-child { border-top: 1px solid var(--border); }
.aq-single-tab-q { width: 100%; background: none; border: none; padding: 20px 0; display: flex; align-items: center; justify-content: space-between; gap: 16px; cursor: pointer; text-align: left; font-family: var(--font-h); font-size: .95rem; font-weight: 600; color: var(--text-1); transition: color .2s; }
.aq-single-tab-q:hover { color: var(--aqua-l); }
.aq-single-tab-body { overflow: hidden; max-height: 600px; transition: max-height .4s cubic-bezier(.2,0,0,1); padding-bottom: 16px; }
.aq-install-steps { padding-left: 20px; display: flex; flex-direction: column; gap: 10px; margin-top: 12px; }
.aq-install-steps li { font-size: .9rem; color: var(--text-2); line-height: 1.6; }

/* Produits associés */
.aq-related-section { margin-top: 80px; padding-top: 56px; border-top: 1px solid var(--border); overflow: visible; }
.aq-related-title { font-size: 1.4rem; font-weight: 700; margin-bottom: 32px; }
.aq-related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; overflow: visible; padding-bottom: 8px; }
.aq-related-card { background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--r-lg); overflow: hidden; transition: all .3s; }
.aq-related-card:hover { border-color: var(--border-h); transform: translateY(-3px); box-shadow: 0 18px 52px rgba(0,0,0,.4); }
.aq-related-img-link { display: block; overflow: hidden; height: 200px; background: #EBF5FF; }
.aq-related-img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.aq-related-card:hover .aq-related-img { transform: scale(1.04); }
.aq-related-body { padding: 20px; }
.aq-related-name a { font-family: var(--font-h); font-size: .95rem; font-weight: 700; color: var(--text-1); display: block; margin-bottom: 8px; }
.aq-related-name a:hover { color: var(--aqua-l); }
.aq-related-price { font-family: var(--font-h); font-size: 1.2rem; font-weight: 800; color: var(--aqua-l) !important; }

/* Responsive single */
@media (max-width: 900px) {
  .aq-single-grid { grid-template-columns: 1fr; gap: 40px; }
  .aq-single-img-main { height: auto; }
  .aq-related-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .aq-kids-grid { grid-template-columns: 1fr; gap: 40px; }
  .aq-prod-grid-3 { grid-template-columns: 1fr; max-width: 480px; margin: 0 auto; }
  .aq-related-grid { grid-template-columns: 1fr; }
}
@media (max-width: 1024px) {
  .aq-kids-grid { grid-template-columns: 1fr; gap: 48px; }
  .aq-prod-grid-3 { grid-template-columns: 1fr 1fr; }
}

/* ═══════════════════════════════════════════════════
   CORRECTIONS v5
═══════════════════════════════════════════════════ */

/* Bouton quantité — chiffre lisible sur fond sombre */
.aq-single-form .quantity,
.woocommerce .quantity {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  background: rgba(255,255,255,.05) !important;
  border: 1px solid var(--border-h) !important;
  border-radius: var(--r-pill) !important;
  overflow: hidden;
  width: fit-content;
}
.woocommerce .quantity input.qty,
.aq-single-form .qty {
  width: 56px !important;
  height: 48px !important;
  text-align: center !important;
  background: transparent !important;
  border: none !important;
  border-left: 1px solid var(--border) !important;
  border-right: 1px solid var(--border) !important;
  color: var(--text-1) !important;
  font-family: var(--font-h) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  outline: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  -moz-appearance: textfield !important;
}
.woocommerce .quantity input.qty::-webkit-inner-spin-button,
.woocommerce .quantity input.qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }

/* Boutons +/- custom */
.aq-qty-btn {
  width: 44px; height: 48px;
  background: transparent;
  border: none;
  color: var(--text-2);
  font-size: 1.2rem;
  font-weight: 300;
  cursor: pointer;
  transition: all .2s;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-h);
  flex-shrink: 0;
}
.aq-qty-btn:hover { background: rgba(0,180,216,.12); color: var(--aqua); }

/* Prix barré (sale price) — visible et contrasté */
.woocommerce .price del,
.woocommerce div.product p.price del,
.woocommerce-Price-amount.amount del,
del .woocommerce-Price-amount {
  color: var(--text-3) !important;
  text-decoration: line-through !important;
  font-size: .85em !important;
  opacity: 1 !important;
  margin-right: 6px;
}
/* Ligne de barrage plus visible */
del {
  text-decoration-color: var(--text-3) !important;
  text-decoration-thickness: 1.5px !important;
}
/* Prix promo mis en valeur */
.woocommerce .price ins,
.woocommerce div.product p.price ins {
  text-decoration: none !important;
  font-weight: 800 !important;
}
/* Badge promo sur la carte produit */
.aq-prod-card .onsale,
.woocommerce span.onsale {
  background: linear-gradient(120deg, #E53935, #FF5252) !important;
  color: #fff !important;
  font-family: var(--font-h) !important;
  font-size: .68rem !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  padding: 4px 12px !important;
  border-radius: var(--r-pill) !important;
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  left: auto !important;
  min-height: auto !important;
  line-height: 1.4 !important;
  box-shadow: 0 4px 16px rgba(229,57,53,.4) !important;
  z-index: 2;
}

/* ═══════════════════════════════════════════════════
   CORRECTIONS v5
═══════════════════════════════════════════════════ */

/* ── Prix barré WooCommerce ── */
/* Le del est invisible sur fond sombre — on le rend lisible */
.woocommerce del,
.woocommerce del bdi,
.woocommerce del .woocommerce-Price-amount,
.woocommerce span.price del,
.woocommerce-Price-amount del,
del.price,
ins ~ del,
.aq-single-price del,
.aq-prod-price del {
  color: var(--text-3) !important;
  text-decoration: line-through !important;
  text-decoration-color: var(--text-3) !important;
  font-size: .85em !important;
  font-weight: 400 !important;
  display: inline-block !important;
  margin-right: 6px !important;
}
/* Le prix promo (ins) reste en gradient */
.woocommerce ins,
.woocommerce ins .woocommerce-Price-amount,
.woocommerce span.price ins {
  background: none !important;
  text-decoration: none !important;
}

/* ── Boutons quantité Woostify ── */
/* Woostify ajoute des boutons +/- autour du champ qty */
.woocommerce .quantity,
.woocommerce-page .quantity {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: none !important;
  border: none !important;
}
/* Le champ numérique */
.woocommerce .quantity input.qty,
.woocommerce-page .quantity input.qty,
input[type="number"].qty {
  background: #fff !important;
  border: 1px solid var(--border-h) !important;
  color: var(--text-1) !important;
  border-radius: var(--r-md) !important;
  font-family: var(--font-h) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  text-align: center !important;
  width: 64px !important;
  height: 48px !important;
  padding: 0 8px !important;
  -moz-appearance: textfield !important;
}
.woocommerce .quantity input.qty::-webkit-outer-spin-button,
.woocommerce .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.woocommerce .quantity input.qty:focus {
  border-color: var(--aqua) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(0, 194, 212, 0.14) !important;
}

/* Boutons +/- Woostify */
.woocommerce .qty_btn,
.woocommerce button.qty_btn,
.woocommerce .quantity .plus,
.woocommerce .quantity .minus,
.woostify-quantity-btn,
.woocommerce input.button.qty_btn {
  width: 40px !important;
  height: 48px !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid var(--border-h) !important;
  border-radius: var(--r-md) !important;
  color: var(--text-1) !important;
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all .2s !important;
  line-height: 1 !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
  box-shadow: none !important;
}
.woocommerce .qty_btn:hover,
.woocommerce .quantity .plus:hover,
.woocommerce .quantity .minus:hover {
  background: rgba(0, 194, 212, 0.14) !important;
  border-color: var(--aqua) !important;
  color: var(--aqua-l) !important;
  transform: none !important;
}
/* Surcharge agressive Woostify qui met un fond blanc */
.woostify-single-product .quantity input[type="number"],
.woostify-product-summary .quantity input,
#add-to-cart-or-login .quantity input {
  background-color: rgba(6, 13, 26, 0.9) !important;
  color: #EEF4FF !important;
  border-color: rgba(0, 194, 212, 0.28) !important;
}

/* ── Swatch sélectionné : outline plus visible ── */
.aq-swatch.selected {
  border: 2.5px solid #fff !important;
  box-shadow: 0 0 0 3px rgba(255,255,255,.18), 0 0 12px rgba(0,194,212,.35) !important;
  transform: scale(1.15) !important;
}

/* ═══════════════════════════════════════════════════
   CORRECTIONS v6 — palette + del + single layout
═══════════════════════════════════════════════════ */

/* ── Accent mint dans les éléments existants ── */
.aq-temp-band.cold { border-color: rgba(34,211,238,.22) !important; }
.aq-bar-fill.bar-brand { background: linear-gradient(90deg, var(--blue), var(--aqua)) !important; }
.aq-score-stars, .aq-avis-stars { color: #FCD34D !important; }

/* ── Prix barré — fix ULTRA agressif ── */
/* Problème : Woostify hérite de color:inherit sur del → même couleur que fond */
/* Solution : cibler avec la plus haute spécificité possible */
html body .woocommerce del,
html body .woocommerce del *,
html body .woocommerce del bdi,
html body .woocommerce del span,
html body .woocommerce del .woocommerce-Price-amount,
html body .woocommerce-page del,
html body .woocommerce span.price del,
html body .woocommerce p.price del,
html body .woocommerce div.product span.price del,
html body .woocommerce div.product p.price del,
html body .aq-prod-price del,
html body .aq-single-price del,
html body .aq-related-price del,
html body .price del {
  color: #7FA8C8 !important;             /* bleu-gris clair — très lisible sur fond sombre */
  -webkit-text-fill-color: #7FA8C8 !important; /* surcharge le gradient webkit sur le parent */
  background: none !important;           /* annule tout gradient parent */
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  text-decoration: line-through !important;
  text-decoration-color: #7FA8C8 !important;
  text-decoration-thickness: 1.5px !important;
  font-size: .85em !important;
  font-weight: 400 !important;
  display: inline-block !important;
  margin-right: 8px !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* ── Espace vide fiche produit — quand pas d'image WC ── */
/* Si la galerie est vide, le grid collapse en colonne unique */
.aq-single-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: start;
}
/* Quand aucun thumbnail : la galerie prend moins de place */
.aq-single-gallery:empty + .aq-single-info,
.aq-single-gallery .aq-single-img-main:empty {
  display: none;
}
/* Grille mono-colonne si la galerie est vide */
.aq-single-grid:has(.aq-single-thumbs:empty) {
  grid-template-columns: minmax(0, 560px) 1fr;
}
/* Fallback universel : la galerie affiche toujours quelque chose */
.aq-single-img-main {
  min-height: 0;
  background: transparent;
}
.aq-single-img-main:empty {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .85rem;
  color: var(--text-3);
}
.aq-single-img-main:empty::after {
  content: 'Image non disponible';
}

/* ── Variantes de couleur Woostify ── */
/* Les swatches de couleur sur la fiche individuelle */
.aq-swatch-v2 {
  width: 32px; height: 32px; border-radius: 50%;
  cursor: pointer; border: 2px solid transparent;
  transition: all .22s; display: inline-block; flex-shrink: 0;
}
.aq-swatch-v2:hover { transform: scale(1.18); }
.aq-swatch-v2.active {
  border-color: #fff;
  box-shadow: 0 0 0 3px rgba(255,255,255,.18), 0 0 12px rgba(34,211,238,.4);
  transform: scale(1.15);
}

/* ── Accentuation menthe sur les badges sécurité ── */
.aq-sec-card h3 { color: var(--mint-l) !important; }
.aq-sec-icon-wrap { background: rgba(52,211,153,.08) !important; border-color: rgba(52,211,153,.14) !important; }
.aq-sec-card { background: rgba(52,211,153,.03) !important; border-color: rgba(52,211,153,.07) !important; }
.aq-sec-card:hover { border-color: rgba(52,211,153,.22) !important; }

/* ── Rose pour le badge de la section kids ── */
#aq-kids { background: linear-gradient(135deg, rgba(59,130,246,.05) 0%, rgba(52,211,153,.04) 100%); border-color: rgba(52,211,153,.1); }
.aq-kids-badge-float { border-color: rgba(34,211,238,.22) !important; }
.ki-red   { background: rgba(251,113,133,.10) !important; border-color: rgba(251,113,133,.22) !important; }

/* ── Section How — image d'installation dans les steps ── */
.aq-install-img-wrap {
  margin-top: 40px;
  border-radius: var(--r-xl);
  overflow: hidden;
  height: 360px;
  border: 1px solid var(--border);
  position: relative;
}
.aq-install-img-wrap img {
  width: 100%; height: 100%; object-fit: cover; object-position: center;
}
.aq-install-img-caption {
  position: absolute; bottom: 0; left: 0; right: 0;
  background: linear-gradient(to top, rgba(6,14,28,.9) 0%, transparent 100%);
  padding: 28px 28px 22px;
  font-family: var(--font-h);
  font-size: .85rem;
  color: var(--text-2);
}

/* ── Responsive corrections ── */
@media (max-width: 860px) {
  .aq-single-grid { grid-template-columns: 1fr !important; }
  .aq-install-img-wrap { height: 260px; }
}

/* ── Single product sans image → pleine largeur ── */
.aq-single-noimg {
  grid-template-columns: 1fr !important;
}
.aq-single-noimg .aq-single-gallery {
  max-width: 560px;
  margin: 0 auto 40px;
}
/* Quand galerie fallback (pas d'img WC) : colonne galerie plus étroite */
.aq-single-grid:not(.aq-single-noimg) .aq-gallery-fallback {
  /* on garde le 50/50 mais l'img fallback est centrée */
}
.aq-gallery-fallback .aq-single-img-main {
  border: none;
}

/* ═══════════════════════════════════════════════════
   PAGES LÉGALES
═══════════════════════════════════════════════════ */
.aq-legal-wrap {
  background: var(--bg-base);
  min-height: 80vh;
  padding: 48px 0 100px;
}
.aq-legal-header {
  margin-bottom: 52px;
  padding-bottom: 32px;
  border-bottom: 1px solid var(--border);
}
.aq-legal-header h1 {
  font-size: clamp(2rem, 4vw, 3rem);
  margin-bottom: 10px;
}
.aq-legal-date {
  font-size: .84rem;
  color: var(--text-3);
  margin: 0 !important;
}
.aq-legal-body {
  max-width: 820px;
}
.aq-legal-section {
  margin-bottom: 48px;
  padding-bottom: 40px;
  border-bottom: 1px solid var(--border);
}
.aq-legal-section:last-child {
  border-bottom: none;
}
.aq-legal-section h2 {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--aqua-l);
  margin-bottom: 16px;
}
.aq-legal-section p {
  font-size: .95rem;
  color: var(--text-2);
  line-height: 1.85;
  margin-bottom: 14px;
}
.aq-legal-section p:last-child { margin-bottom: 0; }
.aq-legal-section ul, .aq-legal-section ol {
  padding-left: 22px;
  margin-bottom: 14px;
}
.aq-legal-section li {
  font-size: .95rem;
  color: var(--text-2);
  line-height: 1.75;
  margin-bottom: 6px;
}
.aq-legal-section a { color: var(--aqua); }
.aq-legal-section a:hover { color: var(--aqua-l); }
.aq-legal-section strong { color: var(--text-1); }

/* Tableau RGPD */
.aq-legal-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .88rem;
  margin-top: 16px;
}
.aq-legal-table th {
  font-family: var(--font-h);
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--text-3);
  padding: 12px 14px;
  background: rgba(255,255,255,.03);
  border: 1px solid var(--border);
  text-align: left;
}
.aq-legal-table td {
  padding: 12px 14px;
  color: var(--text-2);
  border: 1px solid var(--border);
  vertical-align: top;
  line-height: 1.55;
}
.aq-legal-table tr:hover td {
  background: rgba(255,255,255,.02);
}

/* ── Nouvelle section : avant/après ── */
/* ── Flèches galerie produit ── */
.aq-gallery-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 42px; height: 42px;
  background: rgba(10,13,20,.72);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(0,194,212,.30);
  border-radius: 50%;
  color: #fff;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: all .22s;
  z-index: 10;
  box-shadow: 0 4px 18px rgba(0,0,0,.40);
}
.aq-gallery-arrow:hover {
  background: rgba(0,194,212,.25);
  border-color: rgba(0,194,212,.70);
  box-shadow: 0 0 18px rgba(0,194,212,.25);
  transform: translateY(-50%) scale(1.08);
}
.aq-gallery-arrow-prev { left: 12px; }
.aq-gallery-arrow-next { right: 12px; }

.aq-before-after {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px;
  border-radius: var(--r-xl);
  overflow: hidden;
  margin-top: 24px;
  border: 1px solid var(--border);
}
.aq-ba-side {
  position: relative;
  height: 340px;
  overflow: hidden;
}
.aq-ba-side img { width: 100%; height: 100%; object-fit: cover; }
.aq-ba-label {
  position: absolute;
  top: 16px; left: 16px;
  font-family: var(--font-h);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 5px 14px;
  border-radius: var(--r-pill);
  backdrop-filter: blur(8px);
  color: #fff;
}
.aq-ba-avant { background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.2); }
.aq-ba-apres { background: linear-gradient(120deg, var(--blue), var(--aqua)); }

/* ═══════════════════════════════════════════════════
   FIX FINAL PRIX BARRÉ — surcharge absolue
   Le bug : webkit-text-fill-color:transparent hérite
   du parent gradient → del invisible sur fond sombre
═══════════════════════════════════════════════════ */
html body del,
html body del *,
html body del span,
html body del bdi,
html body .woocommerce del,
html body .woocommerce del *,
html body .woocommerce del bdi,
html body .woocommerce del span,
html body .woocommerce del .woocommerce-Price-amount,
html body .woocommerce del .woocommerce-Price-currencySymbol,
html body .woocommerce p.price del,
html body .woocommerce span.price del,
html body .woocommerce div.product p.price del,
html body .woocommerce div.product span.price del,
html body .aq-single-price del,
html body .aq-single-price del *,
html body .aq-prod-price del,
html body .aq-prod-price del *,
html body .price-blue del,
html body .price-blue del * {
  /* Casse l'héritage webkit du parent gradient */
  -webkit-text-fill-color: #8BACC8 !important;
  color: #8BACC8 !important;
  /* Annule tout gradient sur l'élément lui-même */
  background: transparent !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  /* Style barré visible */
  text-decoration: line-through !important;
  text-decoration-color: #6B8FAA !important;
  text-decoration-thickness: 1.5px !important;
  font-size: .85em !important;
  font-weight: 400 !important;
  display: inline-block !important;
  vertical-align: middle !important;
  margin-right: 8px !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Le ins (prix après promo) : gradient maintenu */
html body .woocommerce ins,
html body .woocommerce ins *,
html body .woocommerce ins .woocommerce-Price-amount,
html body .aq-single-price ins,
html body .aq-prod-price ins,
html body .price-blue ins {
  text-decoration: none !important;
  font-weight: 800 !important;
  background: linear-gradient(120deg, var(--blue-l), var(--aqua-l)) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}

/* ── Single product : description sous les infos, pleine largeur ── */
.woocommerce div.product .woocommerce-product-details__short-description {
  margin-top: 0 !important;
  margin-bottom: 24px !important;
}
/* Enlever le gap vide à gauche si galerie Woostify se glisse quand même */
.woocommerce div.product .woocommerce-product-gallery {
  display: none !important;
  width: 0 !important;
  float: none !important;
}
.woocommerce div.product .summary {
  float: none !important;
  width: 100% !important;
}
/* Notre grid custom prend 100% */
.aq-single-wrap .aq-single-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 64px !important;
  align-items: start !important;
}
@media (max-width: 860px) {
  .aq-single-wrap .aq-single-grid {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
}

/* ═══════════════════════════════════════════════════
   FICHE PRODUIT v2 — Layout propre
═══════════════════════════════════════════════════ */

/* Zone haute : galerie + infos côte à côte */
.aq-single-top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
  margin-bottom: 72px;
}

/* Zone basse : pleine largeur centrée */
.aq-single-bottom {
  max-width: 900px;
  margin: 0 auto;
}

/* Description pleine largeur */
.aq-single-desc-full {
  margin-bottom: 8px;
}
.aq-single-desc-heading {
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--text-1);
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--border);
}
.aq-single-desc-content p,
.aq-single-desc-content li {
  font-size: 1rem;
  color: var(--text-2);
  line-height: 1.85;
  margin-bottom: 14px;
}
.aq-single-desc-content strong { color: var(--text-1); }
.aq-single-desc-content ul,
.aq-single-desc-content ol {
  padding-left: 22px;
}

/* Accordéons pleine largeur */
.aq-single-tabs-full {
  border-top: 1px solid var(--border);
}

/* Grille specs 2 colonnes */
.aq-spec-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px;
  margin: 16px 0 8px;
}
.aq-spec-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  background: rgba(255,255,255,.02);
  border: 1px solid var(--border);
  border-radius: var(--r-sm);
}
.aq-spec-key {
  font-size: .88rem;
  color: var(--text-3);
  font-weight: 500;
}
.aq-spec-val {
  font-size: .88rem;
  color: var(--text-1);
  font-weight: 600;
  text-align: right;
}

/* Écraser les anciennes règles single-grid */
.aq-single-wrap .aq-single-grid {
  display: none !important; /* on n'utilise plus single-grid */
}

/* Responsive */
@media (max-width: 860px) {
  .aq-single-top {
    grid-template-columns: 1fr;
    gap: 36px;
    margin-bottom: 48px;
  }
  .aq-single-bottom {
    max-width: 100%;
  }
  .aq-spec-grid {
    grid-template-columns: 1fr;
  }
}

/* ═══════════════════════════════════════════════════
   CHECKOUT — formulaire amélioré
═══════════════════════════════════════════════════ */
.woocommerce-checkout,
.woocommerce-cart { background: var(--bg-base) !important; }

/* Labels */
.woocommerce form .form-row label,
.woocommerce-checkout .form-row label {
  font-family: var(--font-h) !important;
  font-size: .75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .07em !important;
  color: var(--text-3) !important;
  margin-bottom: 6px !important;
  display: block !important;
}

/* Champs texte */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea,
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout select,
.woocommerce-checkout textarea {
  background: #fff !important;
  border: 1.5px solid var(--border) !important;
  border-radius: var(--r-md) !important;
  color: var(--text-1) !important;
  font-family: var(--font-b) !important;
  font-size: .95rem !important;
  padding: 13px 18px !important;
  transition: border-color .2s, box-shadow .2s !important;
  width: 100% !important;
  -webkit-text-fill-color: var(--text-1) !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce-checkout input:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
  border-color: var(--aqua) !important;
  box-shadow: 0 0 0 3px rgba(56,189,248,.12) !important;
  outline: none !important;
  background: rgba(255,255,255,.08) !important;
}

/* Placeholder moins flashy */
.woocommerce-checkout input::placeholder,
.woocommerce form input.input-text::placeholder {
  color: var(--text-3) !important;
  opacity: 1 !important;
}

/* Select option */
.woocommerce-checkout select option {
  background: var(--bg-card2) !important;
  color: var(--text-1) !important;
}

/* Sections checkout */
.woocommerce-billing-fields,
.woocommerce-shipping-fields,
.woocommerce-additional-fields {
  background: var(--bg-card) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r-xl) !important;
  padding: 32px !important;
  margin-bottom: 24px !important;
}

/* Titres de section checkout */
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3,
.woocommerce-checkout h3 {
  font-family: var(--font-h) !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: var(--text-1) !important;
  margin-bottom: 24px !important;
  padding-bottom: 16px !important;
  border-bottom: 1px solid var(--border) !important;
}

/* Récapitulatif commande */
#order_review_heading {
  font-family: var(--font-h) !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: var(--text-1) !important;
}
.woocommerce-checkout-review-order-table {
  background: var(--bg-card) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r-xl) !important;
  overflow: hidden !important;
}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
  border-color: var(--border) !important;
  color: var(--text-2) !important;
  padding: 14px 18px !important;
}
.woocommerce-checkout-review-order-table .order-total td,
.woocommerce-checkout-review-order-table .order-total th {
  color: var(--aqua-l) !important;
  font-family: var(--font-h) !important;
  font-size: 1.1rem !important;
  font-weight: 800 !important;
}

/* Checkbox CGV */
.woocommerce-terms-and-conditions-wrapper label {
  font-size: .88rem !important;
  color: var(--text-2) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}


/* ══ BOUTON COMMANDER — Classic + Blocks checkout ══════════ */
/* Sélecteurs classiques */
#place_order,
/* WooCommerce Blocks */
.wc-block-checkout__submit-button,
.wp-block-woocommerce-checkout-order-summary-block button[type="submit"],
.wc-block-components-checkout-place-order-button,
button.wc-block-checkout__submit-button {
  width: 100% !important;
  background: linear-gradient(130deg, var(--aqua) 0%, var(--blue) 100%) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--r-pill) !important;
  padding: 18px 36px !important;
  font-family: var(--font-h) !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  box-shadow: 0 8px 32px var(--glow-aqua) !important;
  transition: background .45s ease, box-shadow .45s ease, transform .25s ease !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
#place_order:hover,
.wc-block-checkout__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 14px 44px var(--glow-aqua) !important;
}
/* Vert quand formulaire valide */
#place_order.aq-btn-ready,
.wc-block-checkout__submit-button.aq-btn-ready,
.wc-block-components-checkout-place-order-button.aq-btn-ready {
  background: linear-gradient(130deg, #2E7D32 0%, #43A047 100%) !important;
  box-shadow: 0 8px 32px rgba(46,125,50,.35) !important;
}


/* Champ coupon */
.woocommerce-checkout .coupon input,
.checkout_coupon input {
  background: rgba(255,255,255,.06) !important;
  border: 1px solid var(--border-h) !important;
  border-radius: var(--r-pill) !important;
  color: var(--text-1) !important;
}

/* ── Fix panier flyout — s'assurer que position:fixed n'est JAMAIS écrasé ── */
.aq-cart-overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 9998 !important;
}
.aq-cart-panel {
  position: fixed !important;
  top: 0 !important; right: 0 !important; bottom: 0 !important;
  left: auto !important;
  width: 420px !important;
  transform: translateX(100%) !important;
  z-index: 9999 !important;
}
.aq-cart-panel.open {
  transform: translateX(0) !important;
}
.aq-toast {
  position: fixed !important;
  bottom: 32px !important; right: 32px !important;
  top: auto !important; left: auto !important;
  z-index: 99999 !important;
}
@media (max-width: 860px) {
  .aq-cart-panel { width: 100% !important; }
}

/* ═══════════════════════════════════════════════════
   CORRECTIONS FINALES v16
═══════════════════════════════════════════════════ */

/* ── 1. ZOOM GLOBAL PC — site plus grand ── */
html { font-size: 17px; }
@media (min-width: 1280px) { html { font-size: 18px; } }
@media (min-width: 1600px) { html { font-size: 19px; } }

/* ── 2. BADGE PROMO WOOCOMMERCE — beaucoup plus visible ── */
.woocommerce span.onsale,
.aq-prod-card .onsale,
.woocommerce ul.products li.product .onsale {
  font-family: var(--font-h) !important;
  font-size: .82rem !important;
  font-weight: 800 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
  padding: 6px 18px !important;
  border-radius: var(--r-pill) !important;
  background: linear-gradient(120deg, #EF4444, #F97316) !important;
  color: #fff !important;
  border: none !important;
  box-shadow: 0 4px 16px rgba(239,68,68,.40), 0 0 12px rgba(249,115,22,.30) !important;
  position: absolute !important;
  top: 14px !important; right: 14px !important;
  left: auto !important; min-height: auto !important;
  line-height: 1.4 !important;
  z-index: 3 !important;
  animation: badge-pulse 3s ease-in-out infinite alternate !important;
}
@keyframes badge-pulse {
  0%   { box-shadow: 0 4px 16px rgba(239,68,68,.35), 0 0 10px rgba(249,115,22,.25); }
  100% { box-shadow: 0 6px 24px rgba(239,68,68,.60), 0 0 22px rgba(249,115,22,.45); }
}

/* ── 3. AVANT/APRÈS SLIDER — composant ── */
.aq-ba-slider {
  position: relative;
  border-radius: var(--r-xl);
  overflow: hidden;
  height: 420px;
  border: 1px solid var(--border-h);
  user-select: none;
  background: var(--bg-card2);
  cursor: col-resize;
}
.aq-ba-before,
.aq-ba-after {
  position: absolute;
  inset: 0;
  background: var(--bg-card2);
  display: flex;
  align-items: center;
  justify-content: center;
}
.aq-ba-after {
  clip-path: inset(0 50% 0 0);
}
.aq-ba-before img,
.aq-ba-after img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  display: block;
}
/* Placeholder vide */
.aq-ba-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  color: var(--text-3);
  font-family: var(--font-h);
  font-size: .85rem;
}
.aq-ba-placeholder svg { opacity: .3; }
.aq-ba-handle {
  position: absolute;
  top: 0; bottom: 0;
  left: 50%;
  width: 3px;
  background: var(--aqua-l);
  box-shadow: 0 0 14px rgba(34,211,238,.70), 0 0 32px rgba(34,211,238,.40);
  z-index: 10;
  cursor: col-resize;
}
.aq-ba-handle::before,
.aq-ba-handle::after {
  content: '';
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 36px; height: 36px;
  background: var(--aqua);
  border-radius: 50%;
  box-shadow: 0 0 16px rgba(34,211,238,.70);
}
.aq-ba-handle::before { top: calc(50% - 18px); }
.aq-ba-handle::after  {
  top: calc(50% - 18px);
  background: transparent;
  border: 2px solid rgba(255,255,255,.80);
  width: 42px; height: 42px;
  left: calc(50% - 3px);
}
.aq-ba-label {
  position: absolute;
  top: 16px;
  font-family: var(--font-h);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 5px 14px;
  border-radius: var(--r-pill);
  backdrop-filter: blur(8px);
  color: #fff;
  z-index: 5;
  pointer-events: none;
}
.aq-ba-label.before { left: 16px;  background: rgba(0,0,0,.45); border: 1px solid rgba(255,255,255,.15); }
.aq-ba-label.after  { right: 16px; background: rgba(34,211,238,.35); border: 1px solid rgba(34,211,238,.40); }
.aq-ba-hint {
  position: absolute;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  font-size: .75rem;
  color: rgba(255,255,255,.55);
  font-family: var(--font-h);
  white-space: nowrap;
  pointer-events: none;
  z-index: 5;
}

/* ════════════════════════════════════════════════
   CORRECTIONS FINALES v16
════════════════════════════════════════════════ */

/* ── 1. Zoom site PC — base plus grande ── */
html { font-size: 17px; }
@media (min-width: 1400px) { html { font-size: 18px; } }
@media (max-width: 860px)  { html { font-size: 15px; } }

/* Augmenter le max-width des conteneurs */
.aq-prod-grid-3 { max-width: 1280px !important; }
.aq-prod-grid   { max-width: 1140px !important; }

/* ── 2. Badge promo — gros et visible ── */
.woocommerce span.onsale,
.aq-prod-card .onsale,
.woocommerce ul.products li.product .onsale {
  font-size: 1rem !important;
  font-weight: 800 !important;
  padding: 9px 22px !important;
  letter-spacing: .06em !important;
  box-shadow: 0 6px 24px rgba(239,68,68,.50), 0 0 20px rgba(249,115,22,.40) !important;
}

/* ── 3. Slider avant/après ── */
.aq-before-after-wrap {
  position: relative;
  overflow: hidden;
  border-radius: var(--r-xl);
  border: 1px solid var(--border-h);
  box-shadow: 0 28px 72px rgba(0,0,0,.5);
  cursor: ew-resize;
  user-select: none;
  max-width: 900px;
  margin: 0 auto;
  aspect-ratio: 4/3;
  background: var(--bg-card2);
}
.aq-ba-before,
.aq-ba-after {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.aq-ba-before img,
.aq-ba-after img {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  pointer-events: none;
}
/* La moitié "après" est clippée */
.aq-ba-after { clip-path: inset(0 50% 0 0); transition: clip-path 0s; }
.aq-ba-before img, .aq-ba-after img { object-fit: cover !important; object-position: center center !important; }
/* Labels */
.aq-ba-label-before,
.aq-ba-label-after {
  position: absolute;
  top: 20px;
  font-family: var(--font-h);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 5px 14px;
  border-radius: var(--r-pill);
  backdrop-filter: blur(10px);
  pointer-events: none;
  z-index: 10;
}
.aq-ba-label-before { left: 20px;  background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.2); color: #fff; }
.aq-ba-label-after  { right: 20px; background: linear-gradient(120deg,var(--blue),var(--aqua)); color: #fff; }
/* Handle central */
.aq-ba-handle {
  position: absolute;
  top: 0; bottom: 0;
  left: 50%;
  width: 3px;
  background: #fff;
  box-shadow: 0 0 16px rgba(255,255,255,.6), 0 0 32px rgba(56,189,248,.5);
  z-index: 20;
  pointer-events: none;
  transform: translateX(-50%);
}
.aq-ba-handle::before {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  width: 40px; height: 40px;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 4px 20px rgba(0,0,0,.4), 0 0 20px rgba(56,189,248,.5);
}
.aq-ba-handle::after {
  content: '◀ ▶';
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  font-size: .6rem;
  color: var(--bg-base);
  font-weight: 900;
  letter-spacing: -2px;
  white-space: nowrap;
}
/* Placeholder texte quand pas d'image */
.aq-ba-placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: var(--bg-card2);
  text-align: center;
  padding: 24px;
}
.aq-ba-placeholder-icon {
  width: 64px; height: 64px;
  background: rgba(255,255,255,.06);
  border: 2px dashed var(--border-h);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.5rem;
  margin: 0 auto 14px;
  color: var(--text-3);
}
.aq-ba-placeholder h4 { font-size: 1rem; font-weight: 700; margin-bottom: 6px; }
.aq-ba-placeholder p  { font-size: .82rem; color: var(--text-3); margin: 0; }

/* ─── BOUTON VERT AU CLIC ─────────────────────────────────────── */
.aq-btn-primary.aq-btn-success {
  background: linear-gradient(130deg, #2E7D32 0%, #43A047 100%) !important;
  box-shadow: 0 6px 24px rgba(46,125,50,.30) !important;
  pointer-events: none;
}

/* ─── IMAGE CLIQUABLE CARTE ───────────────────────────────────── */
.aq-prod-img-link { display: block; text-decoration: none; }
.aq-prod-img-link .aq-prod-img { transition: opacity .2s; }
.aq-prod-img-link:hover .aq-prod-img { opacity: .94; }

/* ─── CARTE ÉPURÉE — hauteur image réduite ─────────────────────── */
.aq-prod-img { height: 300px; background: #0a0d14; border-radius: var(--r-xl) var(--r-xl) 0 0; }

/* ─── SWATCH SUR FICHE PRODUIT SINGLE ────────────────────────── */
.aq-single-info .aq-color-label { margin-bottom: 10px; }
.aq-single-info .aq-color-swatches { margin-bottom: 6px; }
.aq-single-info .aq-swatch-selected-text { margin-bottom: 0; }

/* ── Checkout page — marges et espacement ─────────────────── */
.woocommerce-page .woocommerce,
.wp-block-woocommerce-checkout {
  max-width: 1100px !important;
  margin: 40px auto !important;
  padding: 0 24px !important;
}
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.wc-block-components-title,
.wc-block-checkout__contact-fields > h2,
.wc-block-checkout__billing-fields > h2,
.wc-block-checkout__shipping-fields > h2 {
  font-family: var(--font-h) !important;
  color: var(--blue) !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  margin-bottom: 20px !important;
  padding-bottom: 10px !important;
  border-bottom: 2px solid var(--border) !important;
}
/* WC Blocks — champs */
.wc-block-components-text-input input,
.wc-block-components-select select,
.wc-block-components-country-input input {
  background: #fff !important;
  border: 1.5px solid var(--border) !important;
  border-radius: var(--r-md) !important;
  color: var(--text-1) !important;
  font-family: var(--font-b) !important;
  padding: 13px 18px !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-select select:focus {
  border-color: var(--aqua) !important;
  box-shadow: 0 0 0 3px rgba(0,180,216,.12) !important;
  outline: none !important;
}
/* WC Blocks — labels */
.wc-block-components-text-input label,
.wc-block-components-select label {
  font-family: var(--font-h) !important;
  font-size: .75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .07em !important;
  color: var(--text-3) !important;
}
/* Mobile checkout */
@media (max-width: 860px) {
  .woocommerce-page .woocommerce,
  .wp-block-woocommerce-checkout { padding: 0 16px !important; margin: 20px auto !important; }
}

/* ════════════════════════════════════════════════════════════
   MOBILE — améliorations V20
════════════════════════════════════════════════════════════ */

/* Produits : 1 colonne sur mobile */
@media (max-width: 640px) {
  .aq-prod-grid-3 { grid-template-columns: 1fr !important; max-width: 420px; }
  .aq-prod-img { height: 260px !important; background: #0a0d14 !important; border-radius: var(--r-xl) var(--r-xl) 0 0 !important; }
  .aq-prod-body { padding: 20px !important; }
  .aq-prod-name { font-size: 1.1rem !important; }
  .aq-prod-price { font-size: 1.5rem !important; }
}

/* Hero : stack vertical propre */
@media (max-width: 860px) {
  /* Le texte passe en premier, la carte en second */
  .aq-hero-card { order: 1 !important; }
}
@media (max-width: 640px) {
  #aq-hero { padding: 48px 0 40px !important; min-height: auto !important; }
  .aq-hero-grid { gap: 36px !important; }
  .aq-hero-eyebrow { gap: 8px !important; margin-bottom: 20px !important; }
  .aq-eyebrow { font-size: .72rem !important; padding: 5px 10px !important; }
  .aq-hero-h1 { font-size: clamp(2.2rem,9vw,3.2rem) !important; margin-bottom: 18px !important; line-height: 1.1 !important; }
  .aq-hero-desc { font-size: 1rem !important; margin-bottom: 28px !important; line-height: 1.7 !important; }
  .aq-hero-ctas { gap: 12px !important; margin-bottom: 32px !important; }
  .aq-trust-row { gap: 12px !important; flex-wrap: wrap !important; }
  .aq-trust-item { font-size: .8rem !important; }
  /* Carte produit : plus compacte sur mobile */
  .aq-hero-card { border-radius: var(--r-lg) !important; }
  .aq-hero-img-wrap { height: 220px !important; }
  .aq-hero-card-body { padding: 20px 20px 24px !important; }
  .aq-hero-card-price { font-size: 1.8rem !important; margin-bottom: 14px !important; }
  .aq-hero-versions { gap: 8px !important; margin-bottom: 16px !important; }
}

/* Sécurité enfants */
@media (max-width: 640px) {
  .aq-kids-grid { grid-template-columns: 1fr !important; gap: 32px !important; }
  .aq-kids-img { height: 280px !important; }
  .aq-kids-badge-float { display: none !important; }
}

/* How section */
@media (max-width: 640px) {
  .aq-tech-card { grid-template-columns: 1fr !important; padding: 28px 20px !important; gap: 28px !important; }
  .aq-temp-grid { grid-template-columns: 1fr 1fr !important; }
}

/* Avis */
@media (max-width: 640px) {
  .aq-avis-grid { grid-template-columns: 1fr !important; }
  .aq-score-bar { flex-direction: column; gap: 16px; padding: 24px 16px; }
  .aq-score-sep { display: none; }
}

/* FAQ */
@media (max-width: 640px) {
  .aq-faq-wrap { max-width: 100%; }
}

/* Section */
@media (max-width: 640px) {
  .aq-section { padding: clamp(48px,8vw,80px) 0 !important; }
  .aq-wrap { padding: 0 16px !important; }
  .aq-section-head { margin-bottom: 40px !important; }
  h2 { font-size: clamp(1.6rem,6vw,2.4rem) !important; }
}

/* Bouton CTA mobile */
@media (max-width: 480px) {
  .aq-btn-lg { padding: 14px 28px !important; font-size: .95rem !important; }
  .aq-hero-ctas { gap: 10px !important; }
}

/* Nav mobile */
@media (max-width: 860px) {
  .aq-nav-inner { padding: 0 16px !important; gap: 12px !important; }
}

/* Carte produit single */
@media (max-width: 640px) {
  .aq-single-grid { grid-template-columns: 1fr !important; gap: 28px !important; }
  .aq-single-img-main { height: auto !important; }
  .aq-single-top { padding: 0 !important; }
  .aq-related-grid { grid-template-columns: 1fr !important; }
}

/* ════════ SECTION HOW — V20 redesign ════════ */
.aq-how-steps {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
  gap: 0;
  align-items: start;
  margin-bottom: 56px;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--r-xl);
  padding: 40px 32px;
}
.aq-how-step {
  text-align: center;
  padding: 0 16px;
}
.aq-how-icon {
  width: 60px; height: 60px;
  background: rgba(0,180,216,.08);
  border: 1.5px solid var(--border);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 14px;
}
.aq-how-num {
  font-family: var(--font-h);
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--text-3);
  margin-bottom: 8px;
}
.aq-how-step h4 {
  font-family: var(--font-h);
  font-size: .92rem;
  font-weight: 700;
  margin-bottom: 8px;
  color: var(--text-1);
}
.aq-how-step p {
  font-size: .82rem;
  line-height: 1.6;
  color: var(--text-2);
  margin: 0;
}
.aq-how-arrow {
  color: var(--border-h);
  font-size: 1.4rem;
  padding-top: 28px;
  align-self: start;
}
.aq-how-bottom {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: center;
}
.aq-how-safe {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--r-xl);
  padding: 36px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.aq-how-safe-badge {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.aq-how-big {
  font-family: var(--font-h);
  font-size: 3.5rem;
  font-weight: 800;
  color: var(--aqua);
  line-height: 1;
}
.aq-how-sub {
  font-size: .8rem;
  color: var(--text-3);
  font-weight: 600;
  margin-top: 4px;
}
.aq-how-safe-detail p {
  font-size: .92rem;
  color: var(--text-2);
  line-height: 1.7;
  margin: 0;
}
/* Responsive HOW */
@media (max-width: 900px) {
  .aq-how-steps {
    grid-template-columns: 1fr 1fr;
    padding: 28px 20px;
    gap: 24px;
  }
  .aq-how-arrow { display: none; }
  .aq-how-bottom { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .aq-how-steps { grid-template-columns: 1fr; gap: 20px; }
  .aq-how-step {
    text-align: left;
    display: grid;
    grid-template-columns: 60px 1fr;
    grid-template-rows: auto auto auto;
    column-gap: 16px;
    row-gap: 4px;
    align-items: start;
  }
  .aq-how-icon {
    grid-column: 1;
    grid-row: 1 / 4;
    margin: 0;
    align-self: start;
  }
  .aq-how-num  { grid-column: 2; grid-row: 1; margin-bottom: 0; }
  .aq-how-step h4 { grid-column: 2; grid-row: 2; margin-bottom: 0; }
  .aq-how-step p  { grid-column: 2; grid-row: 3; margin: 0; }
}

/* ════ BANDEAU TOPBAR ════ */
.aq-topbar {
  position: fixed;
  top: 0; left: 0; right: 0;
  height: 40px;
  background: linear-gradient(130deg, var(--blue) 0%, var(--aqua) 100%);
  color: #fff;
  z-index: 9991;
  display: flex;
  align-items: center;
  justify-content: center;
}
.aq-topbar-inner {
  display: flex;
  align-items: center;
  gap: 14px;
  font-family: var(--font-h);
  font-size: .74rem;
  font-weight: 600;
  letter-spacing: .02em;
}
.aq-topbar-item {
  display: flex;
  align-items: center;
  gap: 5px;
}
.aq-topbar-sep {
  opacity: .5;
}
@media (max-width: 640px) {
  .aq-topbar-inner { gap: 8px; font-size: .68rem; }
  .aq-topbar-sep:last-of-type { display: none; }
  .aq-topbar-item:last-child { display: none; }
}

/* Vague — cacher sur mobile pour éviter superposition */
@media (max-width: 860px) {
  #aqWaveLeft { display: none !important; }
}

/* Mobile produit — header-row en colonne pour éviter coupure nom */
@media (max-width: 500px) {
  .aq-prod-header-row {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 4px !important;
  }
  .aq-prod-name { font-size: 1.05rem !important; white-space: normal !important; }
  .aq-prod-price { font-size: 1.4rem !important; }
  /* Nav + topbar mobile */
  body { padding-top: 108px !important; }
  #site-header, .site-header { top: 40px !important; }
}

/* ═══════════════════════════════════════════════════════════
   BORDS ARRONDIS — règle globale sur toutes les images du thème
═══════════════════════════════════════════════════════════ */
.aq-hero-img-wrap img,
.aq-prod-img img,
.aq-related-card .aq-related-img,
.aq-install-img-wrap img,
.aq-tech-card img,
.aq-single-main-img,
.aq-thumb img {
  border-radius: var(--r-xl);
}
/* images dans les cartes produits WooCommerce natifs */
.woocommerce ul.products li.product img.attachment-woocommerce_thumbnail,
.woocommerce ul.products li.product img.wp-post-image {
  border-radius: var(--r-xl) !important;
  overflow: hidden;
}
/* related products */
.aq-related-card { border-radius: var(--r-xl); overflow: hidden; }

/* ═══════════════════════════════════════════════════════════
   BORDS ARRONDIS — FINAL FIX (34px = var(--r-xl))
═══════════════════════════════════════════════════════════ */

/* Image principale fiche produit */
.aq-single-main-img,
#aqMainImg {
  border-radius: 34px !important;
  overflow: hidden !important;
}

/* Container image principale */
.aq-single-img-main {
  border-radius: 34px !important;
  overflow: hidden !important;
}

/* Miniatures */
.aq-thumb {
  border-radius: 18px !important;
  overflow: hidden !important;
}
.aq-thumb img {
  border-radius: 14px !important;
}

/* Toutes les images WooCommerce produit */
.woocommerce-product-gallery__image img,
.woocommerce-product-gallery__image a img,
.wc-block-components-product-image img,
.attachment-woocommerce_thumbnail,
.attachment-shop_catalog,
.wp-post-image,
img.attachment-woocommerce_thumbnail,
img.wp-post-image {
  border-radius: 34px !important;
}

/* Galerie WooCommerce native si elle s'active */
.woocommerce-product-gallery {
  border-radius: 34px !important;
  overflow: hidden !important;
}
.woocommerce-product-gallery__wrapper img {
  border-radius: 34px !important;
}

/* Images cartes boutique */
.woocommerce ul.products li.product a img {
  border-radius: 34px !important;
  display: block !important;
}

/* Résumé commande (cart/checkout) */
.wc-block-cart-items__row img,
.wc-block-components-order-summary-item__image img,
.woocommerce-cart-form img,
.aq-cart-item-thumb img {
  border-radius: 14px !important;
}

/* ═══════════════════════════════════════════════════════════
   CHECKOUT CLASSIQUE — Compatibilité thème clair Woosify
═══════════════════════════════════════════════════════════ */

/* Zone code promo dans la colonne droite */
.woocommerce-checkout .coupon-form,
.checkout_coupon,
#woocommerce-checkout-coupon,
.woocommerce-checkout-payment ~ .coupon {
  background: #F8FAFC !important;
  border: 1.5px solid #CBD5E1 !important;
  border-radius: 12px !important;
  padding: 16px !important;
}
.woocommerce-checkout #coupon_code,
.checkout_coupon input[type="text"] {
  border: 1.5px solid #CBD5E1 !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  font-size: .9rem !important;
  background: #fff !important;
  color: #1E293B !important;
}
.woocommerce-checkout .coupon .button,
.checkout_coupon .button {
  background: #0EA5E9 !important;
  color: #fff !important;
  border-radius: 8px !important;
  border: none !important;
  padding: 10px 20px !important;
  font-weight: 600 !important;
}

/* Tableau récap commande */
.woocommerce-checkout-review-order-table {
  border-radius: 12px !important;
  overflow: hidden !important;
}

/* Bouton Commander */
#place_order, 
.woocommerce #payment #place_order {
  background: linear-gradient(130deg, #06b6d4, #1d4ed8) !important;
  border: none !important;
  border-radius: 100px !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  padding: 16px 40px !important;
  color: #fff !important;
  box-shadow: 0 6px 24px rgba(6,182,212,.35) !important;
  transition: all .25s !important;
  width: 100% !important;
}
#place_order:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 32px rgba(6,182,212,.45) !important;
}

/* Section "Avez-vous un code promo" */
.woocommerce-checkout .woocommerce-form-coupon-toggle {
  font-size: .9rem !important;
  color: #0EA5E9 !important;
}

/* Améliorer les champs de facturation */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select {
  border: 1.5px solid #CBD5E1 !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  font-size: .9rem !important;
  transition: border-color .2s !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row select:focus {
  border-color: #0EA5E9 !important;
  outline: none !important;
}

/* Section labels */
.woocommerce form .form-row label {
  font-size: .8rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .05em !important;
  color: #475569 !important;
}

/* Titres des sections checkout */
.woocommerce h3#order_review_heading,
.woocommerce h3#ship-to-different-address {
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: #0F172A !important;
  padding-bottom: 12px !important;
  border-bottom: 2px solid #E2E8F0 !important;
  margin-bottom: 20px !important;
}


/* ═══════════════════════════════════════════════════════════
   BOUTON MON COMPTE — Navigation
═══════════════════════════════════════════════════════════ */

.aq-account-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  border-radius: var(--r-pill);
  border: 1.5px solid var(--border-h);
  color: var(--text-1) !important;
  font-family: var(--font-h);
  font-size: .83rem;
  font-weight: 600;
  text-decoration: none !important;
  transition: all .2s;
  white-space: nowrap;
  background: transparent;
}
.aq-account-btn:hover {
  background: rgba(0,180,216,.10);
  border-color: var(--aqua);
  color: var(--aqua-l) !important;
}
.aq-account-btn svg {
  flex-shrink: 0;
  transition: stroke .2s;
}
.aq-account-btn:hover svg { stroke: var(--aqua); }

/* Mobile : icône seule */
@media (max-width: 860px) {
  .aq-account-label { display: none; }
  .aq-account-btn {
    padding: 8px 10px;
    border: 1.5px solid var(--border);
  }
}


/* ═══════════════════════════════════════════════════════════
   CHECKOUT — REFONTE COMPLÈTE CLAIRE & LISIBLE
   Objectif : deux colonnes propres, champs bien visibles,
   sections bien délimitées, bouton commander évident.
═══════════════════════════════════════════════════════════ */

/* ── Corps page checkout ─────────────────────────────── */
body.woocommerce-checkout {
  background: #F1F5F9 !important;
}
body.woocommerce-checkout #page,
body.woocommerce-checkout .site-content,
body.woocommerce-checkout #content {
  background: transparent !important;
}

/* Conteneur principal */
body.woocommerce-checkout .woocommerce,
body.woocommerce-checkout #primary {
  max-width: 1120px !important;
  margin: 36px auto 80px !important;
  padding: 0 24px !important;
  background: transparent !important;
  float: none !important;
  width: 100% !important;
}

/* ── Titre page checkout ─────────────────────────────── */
body.woocommerce-checkout h1.entry-title,
body.woocommerce-checkout .page-title {
  text-align: center !important;
  font-family: var(--font-h) !important;
  font-size: 2.2rem !important;
  font-weight: 800 !important;
  color: #0F172A !important;
  margin-bottom: 8px !important;
  letter-spacing: -.03em !important;
}

/* ── Barre de progression visuelle ──────────────────── */
body.woocommerce-checkout .woocommerce::before {
  content: '🛒 Panier  →  📋 Coordonnées  →  💳 Paiement  →  ✅ Confirmation';
  display: block;
  text-align: center;
  font-family: var(--font-h);
  font-size: .78rem;
  font-weight: 600;
  color: #64748B;
  letter-spacing: .04em;
  margin-bottom: 36px;
  padding: 12px 20px;
  background: #fff;
  border-radius: 100px;
  border: 1px solid #E2E8F0;
}

/* ── Layout 2 colonnes ───────────────────────────────── */
.woocommerce-checkout .col2-set {
  float: none !important;
  width: 100% !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 24px !important;
  margin-bottom: 24px !important;
}
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 {
  float: none !important;
  width: 100% !important;
}

/* Layout global gauche/droite pour la page checkout */
.woocommerce-checkout #customer_details {
  float: none !important;
  width: 100% !important;
}

/* ── Blocs / cartes de section ────────────────────────── */
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields {
  background: #FFFFFF !important;
  border: 1.5px solid #E2E8F0 !important;
  border-radius: 18px !important;
  padding: 28px 28px 24px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.06) !important;
  margin-bottom: 24px !important;
}

/* ── Titres des sections ─────────────────────────────── */
.woocommerce-checkout h3,
.woocommerce-billing-fields > h3,
.woocommerce-shipping-fields > h3,
.woocommerce-additional-fields > h3 {
  font-family: var(--font-h) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #0F172A !important;
  margin-bottom: 20px !important;
  padding-bottom: 14px !important;
  border-bottom: 2px solid #F1F5F9 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* ── Labels ──────────────────────────────────────────── */
.woocommerce-checkout .form-row label,
.woocommerce form .form-row label {
  font-family: var(--font-h) !important;
  font-size: .73rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .07em !important;
  color: #475569 !important;
  margin-bottom: 6px !important;
  display: block !important;
}
.woocommerce-checkout .form-row .required { color: #EF4444 !important; }

/* ── Champs de saisie ────────────────────────────────── */
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout select,
.woocommerce-checkout textarea {
  background: #F8FAFC !important;
  border: 1.5px solid #CBD5E1 !important;
  border-radius: 10px !important;
  padding: 12px 16px !important;
  font-size: .93rem !important;
  color: #0F172A !important;
  -webkit-text-fill-color: #0F172A !important;
  font-family: var(--font-b) !important;
  width: 100% !important;
  transition: border-color .2s, box-shadow .2s, background .2s !important;
  box-sizing: border-box !important;
}
.woocommerce-checkout input:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
  border-color: #0EA5E9 !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(14,165,233,.14) !important;
  outline: none !important;
  -webkit-text-fill-color: #0F172A !important;
}
.woocommerce-checkout input::placeholder { color: #94A3B8 !important; opacity: 1 !important; }

/* ── Récapitulatif commande ──────────────────────────── */
#order_review {
  background: #fff !important;
  border: 1.5px solid #E2E8F0 !important;
  border-radius: 18px !important;
  padding: 28px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.06) !important;
}
#order_review_heading {
  font-family: var(--font-h) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #0F172A !important;
  padding-bottom: 14px !important;
  border-bottom: 2px solid #F1F5F9 !important;
  margin-bottom: 20px !important;
}
.woocommerce-checkout-review-order-table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  font-size: .88rem !important;
}
.woocommerce-checkout-review-order-table th {
  font-family: var(--font-h) !important;
  font-size: .7rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .07em !important;
  color: #94A3B8 !important;
  padding: 0 0 12px !important;
  border-bottom: 1px solid #F1F5F9 !important;
}
.woocommerce-checkout-review-order-table td {
  color: #334155 !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid #F8FAFC !important;
  -webkit-text-fill-color: #334155 !important;
}
.woocommerce-checkout-review-order-table .product-name { font-weight: 600 !important; }
.woocommerce-checkout-review-order-table .order-total td,
.woocommerce-checkout-review-order-table .order-total th {
  font-family: var(--font-h) !important;
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  color: #0369A1 !important;
  -webkit-text-fill-color: #0369A1 !important;
  border-bottom: none !important;
  padding-top: 16px !important;
}
/* Frais et livraison dans le récap */
.woocommerce-checkout-review-order-table .fee td,
.woocommerce-checkout-review-order-table .cart-subtotal td {
  color: #475569 !important;
  -webkit-text-fill-color: #475569 !important;
}

/* ── Zone paiement ───────────────────────────────────── */
#payment {
  background: #fff !important;
  border: 1.5px solid #E2E8F0 !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.06) !important;
  margin-top: 24px !important;
}
#payment .wc_payment_methods {
  padding: 22px 26px !important;
  margin: 0 !important;
  list-style: none !important;
  border-bottom: 1px solid #F1F5F9 !important;
}
#payment .wc_payment_methods li { margin-bottom: 10px !important; }
#payment .wc_payment_methods li:last-child { margin-bottom: 0 !important; }
#payment .wc_payment_methods label {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  cursor: pointer !important;
  font-family: var(--font-h) !important;
  font-size: .9rem !important;
  font-weight: 600 !important;
  color: #0F172A !important;
}
#payment .payment_box {
  background: #F8FAFC !important;
  border-radius: 10px !important;
  padding: 14px 16px !important;
  font-size: .85rem !important;
  color: #475569 !important;
  margin-top: 10px !important;
  border: 1px solid #E2E8F0 !important;
}

/* ── BOUTON COMMANDER ────────────────────────────────── */
#place_order,
.woocommerce #payment #place_order,
button#place_order {
  display: block !important;
  width: calc(100% - 52px) !important;
  margin: 0 26px 26px !important;
  padding: 18px 36px !important;
  background: linear-gradient(130deg, #0EA5E9 0%, #1D4ED8 100%) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border: none !important;
  border-radius: 100px !important;
  font-family: var(--font-h) !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  text-transform: none !important;
  letter-spacing: .01em !important;
  cursor: pointer !important;
  box-shadow: 0 8px 28px rgba(14,165,233,.40) !important;
  transition: transform .22s, box-shadow .22s !important;
}
#place_order:hover,
.woocommerce #payment #place_order:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 14px 40px rgba(14,165,233,.55) !important;
}
#place_order:active {
  transform: translateY(0) !important;
  box-shadow: 0 4px 16px rgba(14,165,233,.30) !important;
}

/* Badges sécurité sous le bouton */
#payment::after {
  content: '🔒 Paiement sécurisé SSL   ·   ↩ Retour 30 jours   ·   📦 Suivi par email';
  display: block;
  text-align: center;
  font-family: var(--font-h);
  font-size: .73rem;
  font-weight: 500;
  color: #94A3B8;
  padding: 0 26px 24px;
  letter-spacing: .01em;
}

/* ── Checkbox CGV ────────────────────────────────────── */
.woocommerce-checkout-review-order .woocommerce-terms-and-conditions-wrapper {
  padding: 16px 26px 0 !important;
}
.woocommerce-terms-and-conditions-wrapper label {
  font-size: .85rem !important;
  color: #475569 !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  line-height: 1.5 !important;
}
.woocommerce-terms-and-conditions-wrapper label a { color: #0EA5E9 !important; }

/* ── Messages erreur / succès ────────────────────────── */
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout ul.woocommerce-error {
  background: #FEF2F2 !important;
  border: none !important;
  border-left: 4px solid #EF4444 !important;
  border-radius: 12px !important;
  padding: 16px 20px !important;
  list-style: none !important;
  color: #991B1B !important;
  font-size: .9rem !important;
  margin-bottom: 24px !important;
}
.woocommerce-checkout .woocommerce-message {
  background: #F0FDF4 !important;
  border: none !important;
  border-left: 4px solid #22C55E !important;
  border-radius: 12px !important;
  padding: 16px 20px !important;
  color: #166534 !important;
  font-size: .9rem !important;
}

/* ── Coupon form checkout ────────────────────────────── */
.woocommerce-checkout .woocommerce-form-coupon-toggle {
  background: #F0F9FF !important;
  border: 1px solid #BAE6FD !important;
  border-radius: 12px !important;
  padding: 12px 18px !important;
  margin-bottom: 24px !important;
  font-size: .88rem !important;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
  background: transparent !important;
  border: none !important;
  color: #0369A1 !important;
  padding: 0 !important;
  margin: 0 !important;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle a { color: #0EA5E9 !important; font-weight: 700 !important; }

/* ── Responsive checkout ─────────────────────────────── */
@media (max-width: 860px) {
  body.woocommerce-checkout .woocommerce { padding: 0 16px !important; margin: 20px auto 60px !important; }
  .woocommerce-checkout .col2-set { grid-template-columns: 1fr !important; }
  .woocommerce-checkout .woocommerce-billing-fields,
  .woocommerce-checkout .woocommerce-shipping-fields { padding: 20px !important; }
  #place_order, .woocommerce #payment #place_order {
    width: calc(100% - 32px) !important;
    margin: 0 16px 20px !important;
  }
}



/* ════════════════════════════════════════════════════════════════
   CHECKOUT PREMIUM — AquaLumis v33
   Design immersif, conversion maximale
════════════════════════════════════════════════════════════════ */

/* ── Page body ─────────────────────────────────────────────── */
body.woocommerce-checkout {
  background: #F0F6FF !important;
  min-height: 100vh;
}
body.woocommerce-checkout #primary,
body.woocommerce-checkout .site-content,
body.woocommerce-checkout #content {
  background: transparent !important;
  float: none !important;
  width: 100% !important;
  padding: 0 !important;
}
body.woocommerce-checkout h1.entry-title,
body.woocommerce-checkout .page-title { display: none !important; }

/* ── Wrapper global ─────────────────────────────────────────── */
.aqco-wrap {
  max-width: 1180px;
  margin: 0 auto;
  padding: 32px 24px 80px;
}

/* ── Barre de progression ───────────────────────────────────── */
.aqco-progress {
  margin-bottom: 36px;
  display: flex;
  justify-content: center;
}
.aqco-progress-inner {
  display: flex;
  align-items: center;
  gap: 0;
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 100px;
  padding: 10px 28px;
  box-shadow: 0 2px 12px rgba(0,0,0,.05);
}
.aqco-step {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-h);
  font-size: .78rem;
  font-weight: 600;
  color: #94A3B8;
}
.aqco-step.done  { color: #22C55E; }
.aqco-step.active { color: #0EA5E9; }
.aqco-step-icon {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #F1F5F9;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .72rem;
  font-weight: 800;
  flex-shrink: 0;
}
.aqco-step.done .aqco-step-icon  { background: #DCFCE7; color: #16A34A; }
.aqco-step.active .aqco-step-icon { background: #E0F2FE; color: #0369A1; }
.aqco-step-line {
  width: 40px;
  height: 1px;
  background: #E2E8F0;
  margin: 0 8px;
}
.aqco-step-line.done { background: #86EFAC; }

/* ── Layout grille ─────────────────────────────────────────── */
.aqco-grid {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 28px;
  align-items: start;
}

/* ── Sticky right ───────────────────────────────────────────── */
.aqco-right-sticky {
  position: sticky;
  top: 120px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* ── Cartes ────────────────────────────────────────────────── */
.aqco-card {
  background: #fff;
  border: 1.5px solid #E8EEF8;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 2px 16px rgba(14,165,233,.06);
  margin-bottom: 16px;
}
.aqco-left .aqco-card:last-of-type { margin-bottom: 0; }

.aqco-card-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 20px 24px 16px;
  border-bottom: 1px solid #F1F5F9;
  background: #FAFCFF;
}
.aqco-card-header h2 {
  font-family: var(--font-h) !important;
  font-size: .98rem !important;
  font-weight: 700 !important;
  color: #0F172A !important;
  margin: 0 !important;
  flex: 1;
  letter-spacing: -.01em !important;
}
.aqco-card-num {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: linear-gradient(130deg, #0EA5E9, #1D4ED8);
  color: #fff;
  font-family: var(--font-h);
  font-size: .78rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 4px 12px rgba(14,165,233,.30);
}
.aqco-edit-cart {
  font-family: var(--font-h);
  font-size: .73rem;
  font-weight: 600;
  color: #0EA5E9;
  text-decoration: none;
  padding: 4px 10px;
  border: 1px solid #BAE6FD;
  border-radius: 100px;
  transition: all .2s;
}
.aqco-edit-cart:hover { background: #E0F2FE; }

/* ── Champs formulaire ─────────────────────────────────────── */
.aqco-fields {
  padding: 20px 24px;
}
.aqco-fields .form-row { margin-bottom: 14px !important; }

/* Labels */
.aqco-form .form-row label,
.woocommerce-checkout .form-row label {
  font-family: var(--font-h) !important;
  font-size: .70rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .07em !important;
  color: #64748B !important;
  margin-bottom: 5px !important;
  display: block !important;
}
.aqco-form .form-row .required { color: #EF4444 !important; }

/* Inputs */
.aqco-form .form-row input.input-text,
.aqco-form .form-row select,
.aqco-form .form-row textarea,
.aqco-form input[type="text"],
.aqco-form input[type="email"],
.aqco-form input[type="tel"],
.aqco-form input[type="password"],
.aqco-form select,
.aqco-form textarea {
  background: #F8FAFC !important;
  border: 1.5px solid #E2E8F0 !important;
  border-radius: 11px !important;
  padding: 11px 14px !important;
  font-size: .93rem !important;
  color: #0F172A !important;
  -webkit-text-fill-color: #0F172A !important;
  font-family: var(--font-b) !important;
  width: 100% !important;
  box-sizing: border-box !important;
  transition: border-color .18s, box-shadow .18s, background .18s !important;
}
.aqco-form input:focus,
.aqco-form select:focus,
.aqco-form textarea:focus {
  border-color: #0EA5E9 !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(14,165,233,.12) !important;
  outline: none !important;
}
.aqco-form input::placeholder { color: #B0BEC5 !important; opacity: 1 !important; }

/* ── Garanties ─────────────────────────────────────────────── */
.aqco-trust-row {
  display: flex;
  gap: 12px;
  margin-top: 6px;
  flex-wrap: wrap;
}
.aqco-trust-item {
  flex: 1;
  min-width: 130px;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  background: #fff;
  border: 1px solid #E8EEF8;
  border-radius: 14px;
  padding: 14px;
  font-size: .78rem;
  box-shadow: 0 1px 6px rgba(0,0,0,.04);
}
.aqco-trust-item svg { color: #0EA5E9; flex-shrink: 0; margin-top: 1px; }
.aqco-trust-item strong { display: block; font-family: var(--font-h); color: #0F172A; font-size: .82rem; margin-bottom: 2px; }
.aqco-trust-item span  { color: #64748B; font-size: .73rem; }

/* ── Produits dans le récap ────────────────────────────────── */
.aqco-items { padding: 0 20px; }
.aqco-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid #F1F5F9;
}
.aqco-item:last-child { border-bottom: none; }
.aqco-item-img {
  position: relative;
  width: 56px;
  height: 56px;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #E8EEF8;
  flex-shrink: 0;
  background: #F8FAFC;
}
.aqco-item-img img { width: 100%; height: 100%; object-fit: cover; }
.aqco-item-img-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-size: 1.4rem; }
.aqco-item-qty {
  position: absolute;
  top: -6px;
  right: -6px;
  width: 20px;
  height: 20px;
  background: linear-gradient(130deg, #0EA5E9, #1D4ED8);
  color: #fff;
  border-radius: 50%;
  font-size: .64rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #fff;
}
.aqco-item-info { flex: 1; min-width: 0; }
.aqco-item-name {
  font-family: var(--font-h);
  font-size: .88rem;
  font-weight: 600;
  color: #0F172A;
  margin-bottom: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.aqco-item-sub { font-size: .73rem; color: #94A3B8; line-height: 1.4; }
.aqco-item-price {
  font-family: var(--font-h);
  font-weight: 700;
  font-size: .95rem;
  color: #0F172A;
  flex-shrink: 0;
}

/* ── Totaux ────────────────────────────────────────────────── */
.aqco-totals {
  padding: 10px 20px 4px;
  border-top: 1px solid #F1F5F9;
}
.aqco-total-row {
  display: flex;
  justify-content: space-between;
  font-size: .85rem;
  color: #475569;
  padding: 6px 0;
}
.aqco-total-row .aqco-green { color: #16A34A; font-weight: 700; }
.aqco-coupon-applied { color: #16A34A; }
.aqco-grand-total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 20px;
  background: linear-gradient(135deg, #EFF9FF 0%, #EEF2FF 100%);
  border-top: 2px solid #E0F2FE;
  font-family: var(--font-h);
  font-size: 1.2rem;
  font-weight: 800;
  color: #0369A1;
}

/* Badge promo 2+1 */
.aqco-promo-badge {
  margin: 0 16px 12px;
  padding: 10px 16px;
  background: linear-gradient(135deg, #F0FDF4, #ECFDF5);
  border: 1px solid #86EFAC;
  border-radius: 12px;
  font-size: .82rem;
  font-family: var(--font-h);
  color: #15803D;
  font-weight: 600;
}

/* ── Code promo (accordéon) ─────────────────────────────────── */
.aqco-coupon-wrap {
  margin: 0 16px 16px;
  border: 1.5px dashed #CBD5E1;
  border-radius: 14px;
  overflow: hidden;
}
.aqco-coupon-toggle {
  width: 100%;
  background: none;
  border: none;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-h);
  font-size: .82rem;
  font-weight: 600;
  color: #0EA5E9;
  cursor: pointer;
  transition: background .18s;
}
.aqco-coupon-toggle:hover { background: #F0F9FF; }
.aqco-coupon-toggle svg { color: #64748B; }
.aqco-coupon-toggle #aqcoCouponArrow { margin-left: auto; color: #94A3B8; }
.aqco-coupon-body { padding: 0 14px 14px; }
.aqco-coupon-row {
  display: flex;
  gap: 8px;
}
.aqco-coupon-row input {
  flex: 1;
  border: 1.5px solid #CBD5E1 !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
  font-size: .88rem !important;
  background: #fff !important;
  color: #0F172A !important;
  -webkit-text-fill-color: #0F172A !important;
  outline: none !important;
  transition: border-color .2s !important;
}
.aqco-coupon-row input:focus { border-color: #0EA5E9 !important; box-shadow: 0 0 0 3px rgba(14,165,233,.10) !important; }
.aqco-coupon-btn {
  background: linear-gradient(130deg, #0EA5E9, #1D4ED8);
  color: #fff;
  border: none;
  border-radius: 10px;
  padding: 10px 18px;
  font-family: var(--font-h);
  font-size: .83rem;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  transition: opacity .18s;
}
.aqco-coupon-btn:hover { opacity: .88; }

/* ── Carte paiement ─────────────────────────────────────────── */
.aqco-card-payment .aqco-card-header { background: linear-gradient(135deg, #FAFCFF, #F0F9FF); }
.aqco-card-logos {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-left: auto;
}
.aqco-card-logos img { height: 18px; opacity: .7; filter: grayscale(30%); }

/* Méthodes de paiement */
.aqco-payment-methods {
  padding: 16px 20px;
}
.aqco-payment-methods ul.wc_payment_methods {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.aqco-payment-methods .wc_payment_method {
  border: 1.5px solid #E2E8F0;
  border-radius: 14px;
  overflow: hidden;
  transition: border-color .18s;
}
.aqco-payment-methods .wc_payment_method:has(input:checked) {
  border-color: #0EA5E9;
  box-shadow: 0 0 0 3px rgba(14,165,233,.10);
}
.aqco-payment-methods .wc_payment_method label {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 14px 16px !important;
  cursor: pointer !important;
  font-family: var(--font-h) !important;
  font-size: .88rem !important;
  font-weight: 600 !important;
  color: #0F172A !important;
  background: #FAFCFF !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.aqco-payment-methods input[type="radio"] {
  width: 18px !important;
  height: 18px !important;
  accent-color: #0EA5E9 !important;
  flex-shrink: 0 !important;
}
.aqco-gateway-icon img {
  height: 22px !important;
  object-fit: contain !important;
  border-radius: 4px !important;
}

/* Zone champs carte (Stripe Elements) */
.aqco-payment-methods .payment_box {
  padding: 16px !important;
  background: #F8FAFC !important;
  border-top: 1px solid #E8EEF8 !important;
  margin: 0 !important;
  border-radius: 0 0 12px 12px !important;
}

/* ── Stripe Elements styling ────────────────────────────────── */
.aqco-form #wc-stripe-cc-form .form-row,
.woocommerce #payment .form-row,
.payment_box .form-row {
  margin-bottom: 12px !important;
}
.aqco-form #wc-stripe-cc-form label,
.payment_box label {
  font-family: var(--font-h) !important;
  font-size: .70rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .07em !important;
  color: #64748B !important;
  margin-bottom: 6px !important;
  display: block !important;
}
/* Conteneur Stripe iframe */
.aqco-form .stripe-card-element,
.payment_box .stripe-card-element,
.payment_box .__PrivateStripeElement,
.payment_box .InputElement,
.payment_box #stripe-card-element,
.payment_box #wc-stripe-card-element,
.payment_box .wc-stripe-elements-field,
.StripeElement {
  background: #fff !important;
  border: 1.5px solid #E2E8F0 !important;
  border-radius: 11px !important;
  padding: 12px 14px !important;
  transition: border-color .2s, box-shadow .2s !important;
}
.StripeElement--focus,
.payment_box .wc-stripe-elements-field:focus-within {
  border-color: #0EA5E9 !important;
  box-shadow: 0 0 0 3px rgba(14,165,233,.12) !important;
}
.StripeElement--invalid {
  border-color: #EF4444 !important;
  box-shadow: 0 0 0 3px rgba(239,68,68,.10) !important;
}

/* Inputs carte de crédit natifs WC (non Stripe) */
.payment_box input[type="text"],
.payment_box input[type="tel"],
.payment_box select {
  background: #fff !important;
  border: 1.5px solid #E2E8F0 !important;
  border-radius: 11px !important;
  padding: 11px 14px !important;
  font-size: .92rem !important;
  color: #0F172A !important;
  -webkit-text-fill-color: #0F172A !important;
  width: 100% !important;
  box-sizing: border-box !important;
  font-family: var(--font-b) !important;
  transition: border-color .18s, box-shadow .18s !important;
}
.payment_box input:focus, .payment_box select:focus {
  border-color: #0EA5E9 !important;
  box-shadow: 0 0 0 3px rgba(14,165,233,.12) !important;
  outline: none !important;
}

/* ── CGV ─────────────────────────────────────────────────────── */
.aqco-terms {
  margin: 0 20px 14px;
  padding: 12px 14px;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
}
.aqco-terms-label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  cursor: pointer !important;
  font-size: .82rem !important;
  color: #475569 !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  line-height: 1.5 !important;
}
.aqco-terms-label input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  accent-color: #0EA5E9 !important;
  flex-shrink: 0 !important;
  margin-top: 2px !important;
}
.aqco-terms-label a { color: #0EA5E9 !important; font-weight: 600 !important; }

/* ── Message suivi colis ─────────────────────────────────────── */
.aqco-shipping-promise {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0 20px 16px;
  padding: 12px 14px;
  background: linear-gradient(135deg, #F0FDF4, #ECFDF5);
  border: 1px solid #86EFAC;
  border-radius: 12px;
  font-size: .82rem;
  color: #166534;
  line-height: 1.5;
}
.aqco-shipping-promise span:first-child { font-size: 1.1rem; flex-shrink: 0; margin-top: 1px; }

/* ── BOUTON COMMANDER ────────────────────────────────────────── */
.aqco-place-order,
#place_order {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: calc(100% - 40px) !important;
  margin: 0 20px 16px !important;
  padding: 18px 20px !important;
  background: linear-gradient(130deg, #0EA5E9 0%, #1D4ED8 100%) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border: none !important;
  border-radius: 16px !important;
  font-family: var(--font-h) !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  letter-spacing: -.01em !important;
  text-transform: none !important;
  cursor: pointer !important;
  box-shadow: 0 10px 30px rgba(14,165,233,.45), 0 4px 10px rgba(29,78,216,.20) !important;
  transition: transform .22s, box-shadow .22s !important;
  position: relative !important;
  overflow: hidden !important;
}
/* Shimmer animation */
.aqco-place-order::before,
#place_order::before {
  content: '';
  position: absolute;
  top: 0; left: -100%; width: 60%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
  animation: aqco-shimmer 2.4s ease-in-out infinite;
}
@keyframes aqco-shimmer {
  0%   { left: -100%; }
  50%  { left: 140%;  }
  100% { left: 140%;  }
}
.aqco-place-order:hover,
#place_order:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 18px 44px rgba(14,165,233,.55), 0 6px 14px rgba(29,78,216,.25) !important;
}
.aqco-place-order:active, #place_order:active {
  transform: translateY(0) !important;
  box-shadow: 0 4px 14px rgba(14,165,233,.30) !important;
}

.aqco-order-icon { font-size: 1.1rem; flex-shrink: 0; }
.aqco-order-text { display: flex; flex-direction: column; align-items: center; line-height: 1.2; }
.aqco-order-text small { font-size: .73rem; font-weight: 600; opacity: .85; margin-top: 2px; }
.aqco-order-arrow { flex-shrink: 0; }

/* ── Badges sécurité ─────────────────────────────────────────── */
.aqco-security-badges {
  display: flex;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
  padding: 0 20px 20px;
}
.aqco-badge {
  display: flex;
  align-items: center;
  gap: 5px;
  font-family: var(--font-h);
  font-size: .70rem;
  font-weight: 600;
  color: #64748B;
}
.aqco-badge svg { color: #94A3B8; flex-shrink: 0; }

/* ── Avis clients ────────────────────────────────────────────── */
.aqco-reviews {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.aqco-review {
  background: #fff;
  border: 1px solid #E8EEF8;
  border-radius: 14px;
  padding: 14px;
  box-shadow: 0 1px 6px rgba(0,0,0,.04);
}
.aqco-review-stars {
  color: #FBBF24;
  font-size: .85rem;
  letter-spacing: .06em;
  margin-bottom: 6px;
}
.aqco-review p {
  font-size: .76rem !important;
  color: #334155 !important;
  line-height: 1.55 !important;
  margin-bottom: 8px !important;
  font-style: italic;
}
.aqco-review span {
  font-size: .68rem;
  color: #94A3B8;
  font-family: var(--font-h);
  font-weight: 600;
}

/* ── Bloc compte ─────────────────────────────────────────────── */
.aqco-card-account .aqco-card-header { background: linear-gradient(135deg, #FAFCFF, #EFF9FF); }
#aq-checkout-account { padding: 16px 20px 8px; }

/* Masquer le block WC "Vous avez un compte?" (on a le nôtre) */
.woocommerce-checkout .woocommerce-form-login-toggle { display: none !important; }
/* Cacher les champs additionnels inutiles */
.woocommerce-checkout .woocommerce-additional-fields { display: none !important; }
/* Cacher le checkbox email marketing WooCommerce */
.woocommerce-checkout .woocommerce-form__label-for-checkbox.marketing { display: none !important; }

/* ── Masquer les anciens blocs de paiement WC ───────────────── */
/* On utilise notre propre layout — éviter les doublons */
.woocommerce-checkout-review-order { display: none !important; }
.woocommerce-checkout-payment.payment { display: none !important; }
/* Sauf si c'est à l'intérieur de notre wrapper */
.aqco-card-payment .woocommerce-checkout-payment.payment { display: block !important; }
.aqco-card-payment .woocommerce-checkout-review-order { display: block !important; }

/* ── Messages d'erreur ─────────────────────────────────────────── */
.woocommerce-error,
ul.woocommerce-error {
  background: #FEF2F2 !important;
  border: none !important;
  border-left: 4px solid #EF4444 !important;
  border-radius: 14px !important;
  padding: 14px 18px !important;
  list-style: none !important;
  color: #991B1B !important;
  font-size: .88rem !important;
  margin-bottom: 20px !important;
  box-shadow: 0 2px 8px rgba(239,68,68,.10) !important;
}
.woocommerce-message {
  background: #F0FDF4 !important;
  border-left: 4px solid #22C55E !important;
  border-radius: 14px !important;
  padding: 14px 18px !important;
  color: #166534 !important;
  font-size: .88rem !important;
}
.woocommerce-info {
  background: #EFF9FF !important;
  border-left: 4px solid #0EA5E9 !important;
  border-radius: 14px !important;
  padding: 14px 18px !important;
  color: #0369A1 !important;
  font-size: .88rem !important;
}

/* ── Responsive ──────────────────────────────────────────────── */
@media (max-width: 900px) {
  .aqco-grid { grid-template-columns: 1fr; }
  .aqco-right-sticky { position: static; }
  .aqco-right { order: -1; }
  .aqco-trust-row { flex-direction: row; }
  .aqco-reviews { grid-template-columns: 1fr; }
  .aqco-progress-inner { gap: 0; padding: 8px 14px; }
  .aqco-step span:last-child { display: none; }
  .aqco-step.active span:last-child { display: block; font-size: .72rem; }
}
@media (max-width: 640px) {
  .aqco-wrap { padding: 16px 14px 60px; }
  .aqco-progress { margin-bottom: 20px; }
  .aqco-trust-row { flex-direction: column; gap: 8px; }
  .aqco-trust-item { min-width: unset; }
  .aqco-card-logos img { height: 14px; }
}

/* Cacher les doublons WooCommerce qui peuvent apparaître en dehors de notre template */
body.woocommerce-checkout .wc-terms-and-conditions { display: none !important; }



/* ════════════════════════════════════════════════════════════════
   CHECKOUT PREMIUM v34 — CSS sur structure WooCommerce native
   Approche : zéro template override, 100% CSS + hooks PHP
════════════════════════════════════════════════════════════════ */

/* ── Masquer TOUT ce qui est en double ou inutile ─────────────── */
/* Barres de progression Woostify natives */
.woostify-checkout-progress,
.woostify-multistep-checkout-nav,
.woostify-multistep-checkout-breadcrumb,
[class*="checkout-step-nav"],
[class*="checkout-progress"],
.wc-forward, /* bouton next step Woostify */
/* Champ notes "Informations complémentaires" — inutile */
.woocommerce-additional-fields,
/* Checkbox email marketing */
.woocommerce-form__label-for-checkbox:not(.woocommerce-terms-and-conditions-checkbox-text),
p.form-row.woocommerce-validated:has(#mailchimp_subscribe_checkout),
/* Email optin Klaviyo/WC */
#wc_checkout_add_ons,
.woocommerce-checkout-review-order h2 { display: none !important; }

/* Titre de page redondant */
body.woocommerce-checkout h1.page-title,
body.woocommerce-checkout .entry-header { display: none !important; }

/* ── Page background ─────────────────────────────────────────── */
body.woocommerce-checkout {
  background: #EEF3FB !important;
}
body.woocommerce-checkout .site-content,
body.woocommerce-checkout #primary,
body.woocommerce-checkout #content,
body.woocommerce-checkout .entry-content {
  background: transparent !important;
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}

/* Conteneur WooCommerce */
body.woocommerce-checkout .woocommerce {
  max-width: 1160px !important;
  margin: 0 auto !important;
  padding: 0 24px 80px !important;
  float: none !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* ── Barre progression (injectée par PHP hook) ────────────────── */
.aqco-wrap-top { margin-bottom: 28px; }
.aqco-progress {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  background: #fff;
  border: 1px solid #DDE6F0;
  border-radius: 100px;
  padding: 10px 28px;
  box-shadow: 0 2px 10px rgba(0,0,0,.05);
  width: fit-content;
  margin: 0 auto;
}
.aqco-step {
  display: flex;
  align-items: center;
  gap: 7px;
  font-family: var(--font-h);
  font-size: .76rem;
  font-weight: 600;
  color: #94A3B8;
}
.aqco-step.done   { color: #16A34A; }
.aqco-step.active { color: #0369A1; }
.aqco-step-dot {
  width: 24px; height: 24px;
  border-radius: 50%;
  background: #F1F5F9;
  display: flex; align-items: center; justify-content: center;
  font-size: .7rem; font-weight: 800;
  flex-shrink: 0;
}
.aqco-step.done   .aqco-step-dot { background: #DCFCE7; color: #15803D; }
.aqco-step.active .aqco-step-dot { background: #DBEAFE; color: #1D4ED8; }
.aqco-step-label { white-space: nowrap; }
.aqco-progress-line { width: 36px; height: 1px; background: #E2E8F0; margin: 0 8px; flex-shrink: 0; }
.aqco-progress-line-done { background: #86EFAC; }

/* ═══════════════════════════════════════════════════════════════
   LAYOUT 2 COLONNES — formulaire WC natif
   #customer_details = gauche | #order_review = droite sticky
═══════════════════════════════════════════════════════════════ */
form.checkout.woocommerce-checkout {
  display: grid !important;
  grid-template-columns: 1fr 420px !important;
  grid-template-areas: "customer order" !important;
  gap: 28px !important;
  align-items: start !important;
  float: none !important;
  width: 100% !important;
}

#customer_details {
  grid-area: customer !important;
  float: none !important;
  width: 100% !important;
}
#order_review {
  grid-area: order !important;
  float: none !important;
  width: 100% !important;
  position: sticky !important;
  top: 120px !important;
}

/* Col-1 (facturation) et col-2 (notes) : pleine largeur dans la colonne gauche */
.col2-set .col-1,
.col2-set .col-2 {
  float: none !important;
  width: 100% !important;
}

/* ── CARTES — apparence des blocs ────────────────────────────── */

/* Blocs gauche */
.woocommerce-billing-fields,
.woocommerce-shipping-fields,
#aq-checkout-account {
  background: #fff !important;
  border: 1.5px solid #E0E9F4 !important;
  border-radius: 18px !important;
  padding: 24px 26px !important;
  margin-bottom: 18px !important;
  box-shadow: 0 2px 14px rgba(14,100,180,.06) !important;
}
#aq-checkout-account { margin-bottom: 18px !important; }

/* Titres de blocs */
.woocommerce-billing-fields > h3,
.woocommerce-shipping-fields > h3,
#ship-to-different-address {
  font-family: var(--font-h) !important;
  font-size: .95rem !important;
  font-weight: 700 !important;
  color: #0F172A !important;
  padding-bottom: 14px !important;
  margin-bottom: 20px !important;
  border-bottom: 1.5px solid #F0F5FF !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.woocommerce-billing-fields > h3::before { content: '📋 '; }
.woocommerce-shipping-fields > h3::before { content: '🏠 '; }

/* ── Labels ────────────────────────────────────────────────────── */
.woocommerce-checkout label,
.woocommerce-checkout .form-row > label {
  font-family: var(--font-h) !important;
  font-size: .68rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .07em !important;
  color: #5A7A9A !important;
  margin-bottom: 5px !important;
  display: block !important;
}
.woocommerce-checkout label abbr { color: #EF4444 !important; text-decoration: none !important; }

/* ── Inputs ────────────────────────────────────────────────────── */
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout input[type="number"],
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.woocommerce-checkout .input-text {
  background: #F7FAFD !important;
  border: 1.5px solid #D8E4F0 !important;
  border-radius: 11px !important;
  padding: 11px 15px !important;
  font-size: .92rem !important;
  color: #0D1B2A !important;
  -webkit-text-fill-color: #0D1B2A !important;
  font-family: var(--font-b) !important;
  width: 100% !important;
  box-sizing: border-box !important;
  transition: border-color .18s, box-shadow .18s, background .18s !important;
  outline: none !important;
  box-shadow: none !important;
}
.woocommerce-checkout input:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
  border-color: #3B82F6 !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(59,130,246,.13) !important;
}
.woocommerce-checkout input::placeholder,
.woocommerce-checkout textarea::placeholder { color: #A8BDD0 !important; opacity: 1 !important; }

/* ── COLONNE DROITE — Récapitulatif commande ────────────────── */
#order_review {
  background: #fff !important;
  border: 1.5px solid #E0E9F4 !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 24px rgba(14,100,180,.08) !important;
}

#order_review_heading {
  font-family: var(--font-h) !important;
  font-size: .95rem !important;
  font-weight: 700 !important;
  color: #0F172A !important;
  padding: 20px 22px 14px !important;
  margin: 0 !important;
  border-bottom: 1.5px solid #F0F5FF !important;
  background: #FAFCFF !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
#order_review_heading::before { content: '🛒 '; }

/* Tableau récap commande */
.woocommerce-checkout-review-order-table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: .88rem !important;
  margin: 0 !important;
}
.woocommerce-checkout-review-order-table th {
  font-family: var(--font-h) !important;
  font-size: .66rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  color: #7A9BB5 !important;
  padding: 12px 22px 10px !important;
  border-bottom: 1px solid #F0F5FF !important;
  background: transparent !important;
}
.woocommerce-checkout-review-order-table td {
  padding: 12px 22px !important;
  color: #334155 !important;
  border-bottom: 1px solid #F4F8FF !important;
  vertical-align: middle !important;
}
.woocommerce-checkout-review-order-table .product-name {
  font-weight: 600 !important;
  color: #0F172A !important;
}
.woocommerce-checkout-review-order-table .product-total {
  font-family: var(--font-h) !important;
  font-weight: 700 !important;
  text-align: right !important;
  color: #0F172A !important;
}
/* Sous-total, livraison */
.woocommerce-checkout-review-order-table .cart-subtotal td,
.woocommerce-checkout-review-order-table .woocommerce-shipping-totals td,
.woocommerce-checkout-review-order-table .fee td {
  color: #475569 !important;
  font-size: .85rem !important;
}
.woocommerce-checkout-review-order-table .cart-subtotal th,
.woocommerce-checkout-review-order-table .woocommerce-shipping-totals th,
.woocommerce-checkout-review-order-table .fee th {
  color: #475569 !important;
  font-size: .82rem !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
/* Total final */
.woocommerce-checkout-review-order-table .order-total td,
.woocommerce-checkout-review-order-table .order-total th {
  font-family: var(--font-h) !important;
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  color: #0369A1 !important;
  -webkit-text-fill-color: #0369A1 !important;
  background: linear-gradient(135deg, #EFF9FF, #EEF2FF) !important;
  padding: 16px 22px !important;
  border-bottom: none !important;
}

/* ── Code promo (injecté par hook) ────────────────────────────── */
.aqco-coupon-tr td { padding: 0 !important; }
.aqco-coupon-wrap {
  border-top: 1.5px dashed #D0DDF0;
  margin: 0;
}
.aqco-coupon-toggle {
  width: 100%; background: none; border: none;
  padding: 12px 22px;
  display: flex; align-items: center; gap: 8px;
  font-family: var(--font-h); font-size: .81rem; font-weight: 600;
  color: #3B82F6; cursor: pointer;
  transition: background .15s;
}
.aqco-coupon-toggle:hover { background: #F0F6FF; }
.aqco-coupon-toggle svg { color: #7AA4C0; flex-shrink: 0; }
.aqco-coupon-arrow { margin-left: auto; color: #94A3B8; }
.aqco-coupon-body { padding: 0 22px 14px; }
.aqco-coupon-row { display: flex; gap: 8px; }
.aqco-coupon-input {
  flex: 1 !important;
  border: 1.5px solid #D0DDF0 !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
  font-size: .88rem !important;
  background: #fff !important;
  color: #0D1B2A !important;
  -webkit-text-fill-color: #0D1B2A !important;
  outline: none !important;
}
.aqco-coupon-input:focus { border-color: #3B82F6 !important; box-shadow: 0 0 0 3px rgba(59,130,246,.10) !important; }
.aqco-coupon-btn {
  background: linear-gradient(130deg, #3B82F6, #1D4ED8);
  color: #fff; border: none; border-radius: 10px;
  padding: 10px 18px;
  font-family: var(--font-h); font-size: .82rem; font-weight: 700;
  cursor: pointer; white-space: nowrap; transition: opacity .15s;
}
.aqco-coupon-btn:hover { opacity: .88; }
.aqco-coupon-msg { font-size: .76rem; margin-top: 6px; min-height: 18px; }
.aqco-coupon-ok  { color: #16A34A; }
.aqco-coupon-err { color: #DC2626; }

/* ── Zone paiement ─────────────────────────────────────────────── */
#payment {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
}

/* Header paiement */
#payment::before {
  content: '💳  Paiement sécurisé';
  display: flex;
  align-items: center;
  font-family: var(--font-h);
  font-size: .95rem;
  font-weight: 700;
  color: #0F172A;
  padding: 18px 22px 12px;
  border-top: 1.5px solid #F0F5FF;
  background: #FAFCFF;
}

/* Liste méthodes de paiement */
#payment ul.wc_payment_methods {
  list-style: none !important;
  margin: 0 !important;
  padding: 14px 18px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}
#payment .wc_payment_method {
  border: 1.5px solid #D8E4F0 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  transition: border-color .18s, box-shadow .18s !important;
}
#payment .wc_payment_method:has(input:checked) {
  border-color: #3B82F6 !important;
  box-shadow: 0 0 0 3px rgba(59,130,246,.12) !important;
}
#payment .wc_payment_method > label {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 13px 16px !important;
  cursor: pointer !important;
  background: #FAFCFF !important;
  font-family: var(--font-h) !important;
  font-size: .88rem !important;
  font-weight: 600 !important;
  color: #0F172A !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
}
#payment input[type="radio"] {
  width: 18px !important; height: 18px !important;
  accent-color: #3B82F6 !important;
  flex-shrink: 0 !important;
}
/* Logos CB dans le label */
#payment .wc_payment_method label img {
  height: 22px !important;
  object-fit: contain !important;
  border-radius: 4px !important;
  margin-left: auto !important;
}

/* Zone champs carte */
#payment .payment_box {
  padding: 16px !important;
  background: #F4F8FE !important;
  border-top: 1px solid #E0E9F4 !important;
  border-radius: 0 0 12px 12px !important;
  margin: 0 !important;
}

/* Inputs DANS la zone paiement (Stripe, CB classique) */
#payment .payment_box input[type="text"],
#payment .payment_box input[type="tel"],
#payment .payment_box input[type="number"],
#payment .payment_box select {
  background: #fff !important;
  border: 1.5px solid #D0DDF0 !important;
  border-radius: 11px !important;
  padding: 11px 14px !important;
  font-size: .92rem !important;
  color: #0D1B2A !important;
  -webkit-text-fill-color: #0D1B2A !important;
  width: 100% !important;
  box-sizing: border-box !important;
  transition: border-color .18s, box-shadow .18s !important;
  outline: none !important;
}
#payment .payment_box input:focus,
#payment .payment_box select:focus {
  border-color: #3B82F6 !important;
  box-shadow: 0 0 0 3px rgba(59,130,246,.12) !important;
}
#payment .payment_box label {
  font-family: var(--font-h) !important;
  font-size: .68rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .07em !important;
  color: #5A7A9A !important;
  margin-bottom: 5px !important;
}
/* Stripe Elements iframes */
.StripeElement,
#wc-stripe-card-element,
#wc-stripe-card-cvc-element,
#wc-stripe-card-expiry-element,
.wc-stripe-elements-field {
  background: #fff !important;
  border: 1.5px solid #D0DDF0 !important;
  border-radius: 11px !important;
  padding: 12px 14px !important;
  transition: border-color .18s, box-shadow .18s !important;
}
.StripeElement--focus { border-color: #3B82F6 !important; box-shadow: 0 0 0 3px rgba(59,130,246,.12) !important; }
.StripeElement--invalid { border-color: #EF4444 !important; box-shadow: 0 0 0 3px rgba(239,68,68,.10) !important; }

/* Mode test Stripe — moins agressif visuellement */
#payment .payment_box p { font-size: .82rem !important; color: #5A7A9A !important; line-height: 1.55 !important; }

/* ── Message suivi (injecté par hook) ──────────────────────────── */
.aqco-ship-promise {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0 18px 14px;
  padding: 11px 14px;
  background: linear-gradient(135deg, #F0FDF4, #ECFDF5);
  border: 1px solid #86EFAC;
  border-radius: 12px;
  font-size: .8rem;
  color: #166534;
  line-height: 1.5;
}
.aqco-ship-promise span:first-child { font-size: 1rem; flex-shrink: 0; }

/* ── CGV ──────────────────────────────────────────────────────── */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
  padding: 0 18px 10px !important;
  margin: 0 !important;
}
.woocommerce-terms-and-conditions-wrapper label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
  font-size: .8rem !important;
  color: #475569 !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  cursor: pointer !important;
  line-height: 1.5 !important;
}
.woocommerce-terms-and-conditions-wrapper input[type="checkbox"] {
  width: 16px !important; height: 16px !important;
  margin-top: 2px !important; flex-shrink: 0 !important;
  accent-color: #3B82F6 !important;
}
.woocommerce-terms-and-conditions-wrapper a { color: #3B82F6 !important; font-weight: 600 !important; }

/* ── BOUTON COMMANDER ─────────────────────────────────────────── */
#place_order,
.woocommerce #payment #place_order {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: calc(100% - 36px) !important;
  margin: 0 18px 18px !important;
  padding: 18px 24px !important;
  background: linear-gradient(130deg, #2563EB 0%, #0EA5E9 100%) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border: none !important;
  border-radius: 16px !important;
  font-family: var(--font-h) !important;
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  letter-spacing: -.01em !important;
  text-transform: none !important;
  cursor: pointer !important;
  box-shadow: 0 10px 32px rgba(37,99,235,.40), 0 2px 8px rgba(0,0,0,.12) !important;
  transition: transform .22s, box-shadow .22s !important;
  position: relative !important;
  overflow: hidden !important;
}
#place_order::after {
  content: '';
  position: absolute;
  top: 0; left: -120%; width: 70%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.16), transparent);
  animation: aqco-btn-shine 2.8s ease-in-out infinite;
}
@keyframes aqco-btn-shine {
  0%   { left: -120%; }
  55%  { left: 160%;  }
  100% { left: 160%;  }
}
#place_order:hover {
  transform: translateY(-3px) scale(1.01) !important;
  box-shadow: 0 18px 48px rgba(37,99,235,.50), 0 4px 12px rgba(0,0,0,.15) !important;
}
#place_order:active {
  transform: translateY(0) scale(.99) !important;
  box-shadow: 0 4px 14px rgba(37,99,235,.25) !important;
}

/* Badges sécurité sous le bouton */
.place-order::after {
  content: '🔒 SSL · Visa · Mastercard · PayPal';
  display: block;
  text-align: center;
  font-family: var(--font-h);
  font-size: .68rem;
  font-weight: 600;
  color: #7A9BB5;
  padding: 0 0 18px;
  margin-top: -10px;
}

/* ── Bas de page checkout — avis + strip confiance ────────────── */
.aqco-below-checkout { margin-top: 32px; }
.aqco-trust-strip {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  background: #fff;
  border: 1px solid #E0E9F4;
  border-radius: 14px;
  padding: 14px 20px;
  margin-bottom: 20px;
  box-shadow: 0 2px 10px rgba(0,0,0,.04);
}
.aqco-ts-item {
  display: flex;
  align-items: center;
  gap: 7px;
  font-family: var(--font-h);
  font-size: .76rem;
  font-weight: 600;
  color: #334155;
}
.aqco-ts-item svg { color: #3B82F6; flex-shrink: 0; }
.aqco-ts-sep { color: #CBD5E1; font-size: .7rem; }
.aqco-reviews-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.aqco-rev-card {
  background: #fff;
  border: 1px solid #E0E9F4;
  border-radius: 14px;
  padding: 16px;
  box-shadow: 0 2px 8px rgba(0,0,0,.04);
}
.aqco-rev-stars { color: #FBBF24; font-size: .85rem; margin-bottom: 7px; }
.aqco-rev-card p {
  font-size: .78rem !important;
  color: #334155 !important;
  line-height: 1.55 !important;
  margin-bottom: 8px !important;
  font-style: italic;
}
.aqco-rev-card span {
  font-size: .68rem;
  color: #94A3B8;
  font-family: var(--font-h);
  font-weight: 600;
}

/* ── Messages erreur / info ──────────────────────────────────── */
.woocommerce-error, ul.woocommerce-error {
  background: #FEF2F2 !important;
  border: none !important;
  border-left: 4px solid #EF4444 !important;
  border-radius: 12px !important;
  padding: 14px 18px !important;
  list-style: none !important;
  color: #991B1B !important;
  font-size: .88rem !important;
  margin: 0 0 18px !important;
}
.woocommerce-message {
  background: #F0FDF4 !important;
  border-left: 4px solid #22C55E !important;
  border-radius: 12px !important;
  padding: 14px 18px !important;
  color: #166534 !important;
}
.woocommerce-info {
  background: #EFF6FF !important;
  border-left: 4px solid #3B82F6 !important;
  border-radius: 12px !important;
  padding: 14px 18px !important;
  color: #1E40AF !important;
}

/* ── Responsive ──────────────────────────────────────────────── */
@media (max-width: 920px) {
  form.checkout.woocommerce-checkout {
    grid-template-columns: 1fr !important;
    grid-template-areas: "order" "customer" !important;
  }
  #order_review { position: static !important; }
  .aqco-reviews-strip { grid-template-columns: 1fr 1fr; }
  .aqco-progress-line { width: 20px; }
  .aqco-step-label { display: none; }
  .aqco-step.active .aqco-step-label { display: block; }
}
@media (max-width: 600px) {
  body.woocommerce-checkout .woocommerce { padding: 0 14px 60px !important; }
  .aqco-reviews-strip { grid-template-columns: 1fr; }
  .aqco-trust-strip { flex-direction: column; align-items: flex-start; gap: 8px; }
  .aqco-ts-sep { display: none; }
  #place_order { width: calc(100% - 24px) !important; margin: 0 12px 14px !important; }
}


/* ════════════════════════════════════════════════════════════════
   CHECKOUT FINAL FIX v34 — résolution des décalages visuels
   Problèmes identifiés sur capture :
   1. Champ email mal positionné (label flottant hors champ)
   2. Sections billing/shipping mal délimitées
   3. Code promo absent dans le checkout
════════════════════════════════════════════════════════════════ */

/* ── Reset agressif de TOUS les styles conflictuels sur les inputs ── */
body.woocommerce-checkout .form-row {
  position: relative !important;
  margin-bottom: 16px !important;
  padding: 0 !important;
}

/* Annuler tout label "flottant" (style Material que Woostify active parfois) */
body.woocommerce-checkout .form-row label {
  position: static !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
  font-family: var(--font-h) !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .07em !important;
  color: #5A7A9A !important;
  margin-bottom: 6px !important;
  display: block !important;
  background: transparent !important;
  padding: 0 !important;
  pointer-events: none !important;
  z-index: auto !important;
}

/* Champs — état normal */
body.woocommerce-checkout input[type="text"],
body.woocommerce-checkout input[type="email"],
body.woocommerce-checkout input[type="tel"],
body.woocommerce-checkout input[type="password"],
body.woocommerce-checkout input[type="number"],
body.woocommerce-checkout select,
body.woocommerce-checkout textarea,
body.woocommerce-checkout .input-text {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  background: #F7FAFD !important;
  border: 1.5px solid #D4DEF0 !important;
  border-radius: 10px !important;
  padding: 12px 16px !important;
  font-size: .93rem !important;
  font-family: var(--font-b) !important;
  color: #0D1B2A !important;
  -webkit-text-fill-color: #0D1B2A !important;
  outline: none !important;
  box-shadow: none !important;
  margin: 0 !important;
  height: auto !important;
  line-height: 1.5 !important;
  transition: border-color .18s, box-shadow .18s !important;
  /* Annuler tout positionnement absolu éventuel */
  position: static !important;
  float: none !important;
}

body.woocommerce-checkout input:focus,
body.woocommerce-checkout select:focus,
body.woocommerce-checkout textarea:focus {
  border-color: #3B82F6 !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(59,130,246,.12) !important;
}

body.woocommerce-checkout input::placeholder { color: #A8BDD0 !important; opacity: 1 !important; }

/* ── Code promo SIMPLIFIÉ — remplacer le texte par l'essentiel ── */
/* Au lieu d'afficher le bloc sur la page produit,
   on le montre directement dans le récap checkout */
.woocommerce-checkout .woocommerce-form-coupon-toggle {
  background: #EFF6FF !important;
  border: 1px solid #BFDBFE !important;
  border-radius: 12px !important;
  padding: 12px 18px !important;
  margin-bottom: 20px !important;
  display: block !important;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  color: #1D4ED8 !important;
  font-size: .88rem !important;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle a {
  color: #2563EB !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
}

/* Formulaire coupon classique WC — style amélioré */
.woocommerce-checkout .checkout_coupon,
form.checkout_coupon {
  background: #fff !important;
  border: 1.5px solid #BFDBFE !important;
  border-radius: 14px !important;
  padding: 18px 20px !important;
  margin-bottom: 20px !important;
  display: flex !important;
  gap: 10px !important;
  align-items: flex-end !important;
  flex-wrap: wrap !important;
  box-shadow: 0 2px 10px rgba(37,99,235,.06) !important;
}
.woocommerce-checkout .checkout_coupon .form-row {
  flex: 1 !important;
  min-width: 200px !important;
  margin: 0 !important;
}
.woocommerce-checkout .checkout_coupon input[type="text"],
form.checkout_coupon input[type="text"] {
  border-radius: 10px !important;
  background: #F0F6FF !important;
  border: 1.5px solid #93C5FD !important;
}
.woocommerce-checkout .checkout_coupon input:focus,
form.checkout_coupon input:focus {
  border-color: #2563EB !important;
  box-shadow: 0 0 0 3px rgba(37,99,235,.12) !important;
}
.woocommerce-checkout .checkout_coupon .button,
form.checkout_coupon .button {
  background: linear-gradient(130deg, #3B82F6, #1D4ED8) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 12px 22px !important;
  font-family: var(--font-h) !important;
  font-size: .88rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  box-shadow: 0 4px 14px rgba(37,99,235,.25) !important;
  transition: opacity .2s !important;
  flex-shrink: 0 !important;
}
.woocommerce-checkout .checkout_coupon .button:hover,
form.checkout_coupon .button:hover { opacity: .88 !important; }

/* ── Fix #order_review — s'assurer qu'il est bien dans le grid ─ */
/* Woostify peut insérer le bloc récap EN DEHORS du form → on le force */
body.woocommerce-checkout #order_review {
  background: #fff !important;
  border: 1.5px solid #E0E9F4 !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 24px rgba(14,100,180,.08) !important;
  width: 100% !important;
  float: none !important;
}

/* ── Checkbox "Je voudrais recevoir des emails" — mieux positionné ── */
body.woocommerce-checkout .woocommerce-form__label-for-checkbox {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: .85rem !important;
  color: #475569 !important;
  cursor: pointer !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 400 !important;
  pointer-events: auto !important;
}
body.woocommerce-checkout .woocommerce-form__label-for-checkbox input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  flex-shrink: 0 !important;
  accent-color: #3B82F6 !important;
  position: static !important;
}

/* ── Adresse de facturation sauvegardée (bloc "Modifier") ── */
.woocommerce-checkout .woocommerce-customer-details address,
.woocommerce-checkout .woocommerce-address-fields address {
  background: #F7FAFD !important;
  border: 1px solid #D4DEF0 !important;
  border-radius: 10px !important;
  padding: 14px 18px !important;
  font-size: .88rem !important;
  color: #334155 !important;
  line-height: 1.65 !important;
  margin-bottom: 14px !important;
}

/* ── Bloc "Coordonnées" / email en haut ── */
/* Sur la capture, le champ email est décalé → problème Woostify Blocks */
/* On s'assure que le wrapper .wc-block-components-text-input est propre */
.wc-block-components-text-input,
.wc-block-components-form .wc-block-components-text-input {
  position: relative !important;
  margin-bottom: 16px !important;
}
.wc-block-components-text-input label {
  position: static !important;
  transform: none !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .07em !important;
  color: #5A7A9A !important;
  margin-bottom: 6px !important;
  display: block !important;
  top: auto !important; left: auto !important;
}
.wc-block-components-text-input input {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

/* ── Élément "I would like to receive exclusive emails" ── */
/* Sur la capture c'est désaligné — fix */
body.woocommerce-checkout p.form-row.woocommerce-validated,
body.woocommerce-checkout p.form-row.form-row-wide {
  clear: both !important;
  width: 100% !important;
  float: none !important;
}


/* ════════════════════════════════════════════════════════════════
   SINGLE PRODUCT — FIXES v34.1
════════════════════════════════════════════════════════════════ */

/* ── "Vous aimerez aussi" — image non coupée ── */
/* Le problème : .aq-related-img-link a overflow:hidden + hauteur fixe
   mais l'image déborde. On s'assure que tout est bien contenu. */
.aq-related-img-link {
  display: block !important;
  overflow: hidden !important;
  height: 200px !important;
  background: #EBF5FF !important;
  border-radius: var(--r-lg) var(--r-lg) 0 0 !important;
}
.aq-related-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 0 !important; /* pas de radius sur l'img elle-même ici */
  display: block !important;
  transition: transform .5s !important;
}
.aq-related-card {
  background: var(--bg-card) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r-lg) !important;
  overflow: hidden !important;
  transition: all .3s !important;
}
.aq-related-card:hover .aq-related-img { transform: scale(1.04) !important; }

/* Section wrapper — padding-bottom pour que les cartes en hover ne soient pas coupées */
.aq-related-section {
  margin-top: 80px !important;
  padding-top: 56px !important;
  padding-bottom: 16px !important;
  border-top: 1px solid var(--border) !important;
  overflow: visible !important;
}
.aq-related-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 22px !important;
  overflow: visible !important;
}

/* ── Truc qui dépasse en haut de "Vous aimerez aussi" ── */
/* C'est le padding-bottom du .aq-wrap qui est trop petit
   ET le aq-single-bottom qui déborde sur la section suivante */
.aq-single-bottom {
  max-width: 900px !important;
  margin: 0 auto !important;
  padding-bottom: 0 !important;
}
.aq-single-tabs-full {
  border-top: 1px solid var(--border) !important;
  overflow: hidden !important; /* empêche tout débordement */
}

/* ── Tab body — masquer correctement quand fermé ── */
.aq-single-tab-body {
  overflow: hidden !important;
  max-height: 0 !important;
  transition: max-height .4s cubic-bezier(.2,0,0,1) !important;
  padding-bottom: 0 !important;
}
.aq-single-tab-item.open .aq-single-tab-body {
  max-height: 600px !important;
  padding-bottom: 16px !important;
}

/* ── Galerie : wrap bien clippé pour le slide ── */
#aqMainImgWrap {
  overflow: hidden !important;
  position: relative !important;
  border-radius: 34px !important;
}
#aqMainImg {
  position: relative !important;
  z-index: 1 !important;
  display: block !important;
  width: 100% !important;
}

/* ── Wrap général — assez de padding-bottom ── */
.aq-single-wrap .aq-wrap {
  padding-bottom: 80px !important;
}


/* ════════════════════════════════════════════════════════════════
   v35 — FIX GALERIE : marges / object-fit de l'image principale
════════════════════════════════════════════════════════════════ */

/* Le wrap contient le slide — il doit clipper mais avoir une hauteur définie */
#aqMainImgWrap,
.aq-single-img-main {
  overflow: hidden !important;
  position: relative !important;
  border-radius: 24px !important;
  /* Hauteur fixe pour que le slide fonctionne sans sauter */
  height: 440px !important;
  width: 100% !important;
  background: #F0F8FF !important;
  display: block !important;
}

/* L'image principale remplit le wrap proprement */
#aqMainImg,
.aq-single-main-img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  border-radius: 0 !important; /* le radius est sur le wrapper */
  display: block !important;
  padding: 12px !important; /* petite marge intérieure */
  box-sizing: border-box !important;
  z-index: 1 !important;
}

/* Mobile */
@media (max-width: 860px) {
  #aqMainImgWrap,
  .aq-single-img-main {
    height: 320px !important;
  }
}
@media (max-width: 480px) {
  #aqMainImgWrap,
  .aq-single-img-main {
    height: 260px !important;
  }
}
