/* ==========================================================
   SOMMAIRE — woocommerce.css (pages WooCommerce hors checkout/thankyou)
   ==========================================================
    1. Breadcrumb bar
    2. Archive — cat hero
    3. Archive — sub-cats
    4. Archive — shop layout + sidebar
    5. Archive — toolbar
    6. Fiche produit
    7. Panier (ancien wrap, voir aussi §20)
    8. Mon compte — layout
    9. Mon compte — panneaux de contenu
   10. Responsive — templates WC
   11. Sticky ATC bar (fiche produit)
   12. Variations WC — label au-dessus du select
   13. Card produit — catalogue
   14. Galerie — zoom + lightbox
   15. Chargement YITH — spinner overlay
   16. Mon compte — navigation
   17. Page devis
   18. Taxonomie pa_marque (pages marque)
   19. Variations — pill buttons
   20. Page panier — refonte v2
   21. Contenu produit migré WPBakery → Gutenberg
   22. [products] shortcode dans la description produit
   22bis. Tableaux de caractéristiques (.desc-body table)
   23. Checkout classique (shortcode [woocommerce_checkout])
   24. Confirmation commande (woocommerce_order_received)
   25. Responsive — complément
   26. Login / Register
========================================================== */

/* [1] BREADCRUMB BAR */
.breadcrumb-bar{background:var(--gray-bg);border-bottom:1px solid var(--border);padding:12px 0}
.woocommerce-breadcrumb{font-size:13px;color:var(--slate);display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-bottom:0}
.woocommerce-breadcrumb a{color:var(--slate);transition:color .2s}
.woocommerce-breadcrumb a:hover{color:var(--y-dark)}

/* [2] ARCHIVE — CAT HERO */
.cat-hero{background:linear-gradient(105deg,var(--navy) 0%,var(--navy-mid) 100%);padding:44px 0 48px;position:relative;overflow:hidden}
.cat-hero-overlay{position:absolute;inset:0;background:linear-gradient(105deg,rgba(15,24,35,.85) 0%,rgba(15,24,35,.5) 100%);z-index:0}
.cat-hero .container{position:relative;z-index:1}
.cat-hero::after{content:'';position:absolute;right:-60px;top:50%;transform:translateY(-50%);width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(255,212,53,.08) 0%,transparent 70%)}
.cat-hero-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}
.cat-hero-text .pre-title{display:inline-flex;align-items:center;gap:6px;background:rgba(255,212,53,.12);color:var(--y);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;padding:5px 12px;border-radius:99px;margin-bottom:14px}
.cat-hero-text h1{font-size:clamp(26px,3.5vw,42px);font-weight:900;color:var(--white);letter-spacing:-.5px;margin-bottom:12px}
.cat-hero-text h1 span{color:var(--y)}
.cat-hero-text p{color:#94A3B8;font-size:15px;max-width:520px;line-height:1.7}
.cat-hero-stats{display:flex;gap:28px;flex-wrap:wrap}
.cat-stat{text-align:center}
.cat-stat .val{font-size:32px;font-weight:900;color:var(--y);line-height:1}
.cat-stat .lbl{font-size:12px;color:#64748B;margin-top:4px}

/* [3] ARCHIVE — SUB-CATS */
.sub-cats{padding:22px 0;background:var(--white);border-bottom:1px solid var(--border)}
.sub-cats-inner{display:flex;gap:10px;flex-wrap:wrap}
.subcat-chip{display:flex;align-items:center;gap:8px;padding:9px 16px;border:1.5px solid var(--border);border-radius:99px;font-size:13px;font-weight:600;color:var(--charcoal);background:var(--white);transition:all .18s;cursor:pointer;white-space:nowrap}
.subcat-chip:hover,.subcat-chip.active{border-color:var(--y);background:var(--y-pale)}
.chip-count{background:var(--gray-bg2);color:var(--slate);padding:1px 7px;border-radius:99px;font-size:11px}
.subcat-chip.active .chip-count{background:var(--y);color:var(--navy)}

/* [4] ARCHIVE — SHOP LAYOUT + SIDEBAR */
.shop-layout{display:grid;grid-template-columns:260px 1fr;gap:28px;padding:32px 0 64px}
.sidebar{display:flex;flex-direction:column;gap:18px}
.filter-block{background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}
.filter-block-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;font-size:13px;font-weight:700;color:var(--charcoal);cursor:pointer;border-bottom:1px solid var(--border);user-select:none}
.filter-block-head .toggle-icon{font-size:16px;color:var(--slate);transition:transform .2s}
.filter-block-head.closed .toggle-icon{transform:rotate(-90deg)}
.filter-block-body{padding:14px 18px}
.sidebar-placeholder{padding:16px;background:var(--gray-bg);border:1px dashed var(--border);border-radius:var(--r);font-size:13px;color:var(--slate);line-height:1.6}
.sidebar-placeholder strong{color:var(--charcoal)}

.widget.filter-block{margin-bottom:12px}
.widget.filter-block .filter-block-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;font-size:13px;font-weight:700;color:var(--charcoal);border-bottom:1px solid var(--border)}
.widget.filter-block ul.woocommerce-widget-layered-nav-list{padding:12px 18px;display:flex;flex-direction:column;gap:4px}
.widget.filter-block ul.woocommerce-widget-layered-nav-list li a{display:flex;align-items:center;justify-content:space-between;font-size:13.5px;color:var(--charcoal);padding:5px 0;transition:color .15s}
.widget.filter-block ul.woocommerce-widget-layered-nav-list li a:hover{color:var(--navy-mid)}
.widget.filter-block ul.woocommerce-widget-layered-nav-list li.chosen a{font-weight:700;color:var(--navy)}
.widget.filter-block .woocommerce-widget-layered-nav-list__item .count{background:var(--gray-bg2);color:var(--slate);font-size:11px;padding:1px 6px;border-radius:99px}
.widget.filter-block .price_slider_wrapper{padding:12px 18px}
.widget.filter-block .price_slider{margin-bottom:14px}
.widget.filter-block .price_slider_amount{display:flex;align-items:center;justify-content:space-between;gap:8px}
.widget.filter-block .price_slider_amount button{padding:8px 14px;background:var(--y);color:var(--navy);border:none;border-radius:var(--r);font-size:12.5px;font-weight:700;cursor:pointer;transition:background .2s}
.widget.filter-block .price_slider_amount button:hover{background:var(--y-dark)}
.widget.filter-block .price_slider_amount .price_label{font-size:13px;color:var(--slate)}
.widget.filter-block .yith-wcan-filters{padding:0}
.widget.filter-block .yith-wcan-filter{padding:12px 18px}

.filter-option{display:flex;align-items:center;gap:10px;padding:7px 0;cursor:pointer}
.filter-option input[type=checkbox]{display:none}
.check-box{width:18px;height:18px;flex-shrink:0;border:2px solid var(--border);border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .15s}
.filter-option:hover .check-box{border-color:var(--y)}
.filter-option input:checked~.check-box{background:var(--y);border-color:var(--y)}
.filter-option input:checked~.check-box::after{content:'✓';font-size:11px;font-weight:800;color:var(--navy)}
.filter-label{font-size:13.5px;color:var(--charcoal);flex:1}
.filter-count{font-size:12px;color:var(--slate)}
.price-inputs{display:flex;gap:8px;margin-top:12px}
.price-input{flex:1;padding:8px 10px;border:1.5px solid var(--border);border-radius:var(--r);font-size:13px;color:var(--charcoal);outline:none;transition:border-color .2s}
.price-input:focus{border-color:var(--y)}
.price-sep{color:var(--slate);display:flex;align-items:center;font-size:13px}
.btn-apply-filter{width:100%;margin-top:12px;padding:10px;text-align:center;background:var(--y);color:var(--navy);border:none;border-radius:var(--r);font-weight:700;font-size:13px;cursor:pointer;transition:background .2s}
.btn-apply-filter:hover{background:var(--y-dark)}

/* [5] ARCHIVE — TOOLBAR */
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 18px;background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);margin-bottom:20px}
.toolbar-left{display:flex;align-items:center;gap:12px}
.result-count,.woocommerce-result-count{font-size:14px;color:var(--slate);margin:0}
.result-count strong{color:var(--charcoal)}
.toolbar-right{display:flex;align-items:center;gap:10px}
.woocommerce-ordering select,.sort-select{padding:8px 32px 8px 14px;border:1.5px solid var(--border);border-radius:var(--r);font-size:13px;color:var(--charcoal);cursor:pointer;background:#fff;outline:none;transition:border-color .2s;appearance:none}
.woocommerce-ordering select:focus,.sort-select:focus{border-color:var(--y)}
.view-toggle{display:flex;gap:4px}
.view-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--border);border-radius:var(--r);cursor:pointer;color:var(--slate);transition:all .2s;background:#fff}
.view-btn.active{border-color:var(--y);background:var(--y-pale);color:var(--charcoal)}
.view-btn:hover{border-color:var(--y)}
.toggle-filters-btn{display:none;align-items:center;gap:7px;padding:8px 14px;border:1.5px solid var(--border);border-radius:var(--r);font-size:13px;font-weight:600;color:var(--charcoal);background:#fff;cursor:pointer;transition:all .2s}
.toggle-filters-btn:hover{border-color:var(--y);background:var(--y-pale)}

.wc-archive-products{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.wc-archive-products.list-view{grid-template-columns:1fr}
.wc-archive-products.list-view .prod-card{flex-direction:row}
.wc-archive-products.list-view .prod-img-wrap{width:220px;flex-shrink:0}
.wc-archive-products.list-view .prod-img{height:100%;min-height:160px}
.wc-archive-products.list-view .prod-body{padding:20px;justify-content:space-between}
.wc-archive-products.list-view .prod-compat{display:none}
.wc-archive-products.list-view .prod-rating{margin-bottom:4px}
.wc-archive-products.list-view .prod-name{font-size:15.5px;margin-bottom:10px}
.wc-archive-products.list-view .prod-footer{flex-direction:column;align-items:flex-start;gap:12px;margin-top:auto;border-top:none;padding-top:0}
.wc-archive-products.list-view .prod-quick-view{display:none}

.prod-compat{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}
.compat-tag{font-size:10.5px;font-weight:600;color:var(--slate);background:var(--gray-bg2);padding:2px 7px;border-radius:4px}
.prod-ref{font-size:11px;color:var(--slate);margin-bottom:8px}
.prod-pricing{}
.prod-price .tax{font-size:11px;font-weight:400;color:var(--slate)}
.prod-quick-view{position:absolute;bottom:0;left:0;right:0;background:rgba(15,24,35,.85);color:#fff;font-size:13px;font-weight:700;text-align:center;padding:11px;transform:translateY(100%);transition:transform .22s;cursor:pointer;letter-spacing:.3px}
.prod-card:hover .prod-quick-view{transform:translateY(0)}
.badge-red{background:#EF4444;color:#fff}
.badge-green{background:#10B981;color:#fff}
.badge-yellow{background:var(--y);color:var(--navy)}
.badge-blue{background:#3B82F6;color:#fff}

.no-results{text-align:center;padding:60px 20px;color:var(--slate)}
.no-results h3{font-size:20px;color:var(--charcoal);margin-bottom:8px}
.seo-block{margin-top:48px;padding:32px;background:var(--gray-bg);border-radius:var(--r-lg);border:1px solid var(--border)}
.seo-block h2{font-size:20px;font-weight:800;color:var(--charcoal);margin-bottom:14px}
.seo-block p{font-size:14px;color:var(--slate);line-height:1.75;margin-bottom:10px}

.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:800}
.sidebar-overlay.open{display:block}
.sidebar-drawer{position:fixed;left:0;top:0;bottom:0;width:290px;background:#fff;z-index:850;overflow-y:auto;transform:translateX(-100%);transition:transform .3s;padding:20px}
.sidebar-drawer.open{transform:translateX(0)}
.drawer-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.drawer-header h3{font-size:16px;font-weight:800}
.drawer-close{font-size:22px;cursor:pointer;color:var(--slate);background:none;border:none}

/* [6] FICHE PRODUIT */
.product-section{padding:40px 0 64px}
.product-layout{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start}

.product-gallery{position:sticky;top:90px;min-width:0}
.gallery-main{position:relative;border-radius:var(--r-lg);overflow:hidden;border:1.5px solid var(--border);background:var(--gray-bg);aspect-ratio:1;cursor:zoom-in}
.gallery-main img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.gallery-main:hover img{transform:scale(1.06)}
.gallery-badges{position:absolute;top:14px;left:14px;display:flex;flex-direction:column;gap:6px;z-index:2}
.gallery-badge{display:inline-block;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;padding:4px 10px;border-radius:99px}
.gb-promo{background:#EF4444;color:#fff}
.gb-new{background:#10B981;color:#fff}
.gb-top{background:var(--y);color:var(--navy)}
.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.92);backdrop-filter:blur(4px);border:1px solid var(--border);color:var(--charcoal);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;z-index:3;transition:all .2s;box-shadow:var(--shadow-sm);opacity:0}
.gallery-main:hover .gallery-nav{opacity:1}
.gallery-nav:hover{background:var(--y);border-color:var(--y)}
.gallery-nav.prev{left:12px}
.gallery-nav.next{right:12px}
.gallery-thumbs{display:flex;gap:10px;margin-top:12px;overflow-x:auto;padding-bottom:4px;width:100%;-webkit-overflow-scrolling:touch}
.gallery-thumbs::-webkit-scrollbar{height:4px}
.gallery-thumbs::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}
.thumb{width:76px;height:76px;flex-shrink:0;border-radius:var(--r);overflow:hidden;border:2px solid var(--border);cursor:pointer;transition:border-color .18s;background:var(--gray-bg)}
.thumb img{width:100%;height:100%;object-fit:cover}
.thumb.active,.thumb:hover{border-color:var(--y)}

.product-payment-badges{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}
.product-payment-badges img{max-width:50%;height:auto;display:block;margin-left:auto}

/* Boutons WC – forcer jaune/marine sur toute la fiche produit */
.woocommerce div.product .single_add_to_cart_button,
.woocommerce div.product form.cart button[type=submit],
.woocommerce div.product .button{background:var(--y);color:var(--navy);border-color:var(--y)}
.woocommerce div.product .single_add_to_cart_button:hover,
.woocommerce div.product form.cart button[type=submit]:hover,
.woocommerce div.product .button:hover{background:var(--y-dark);border-color:var(--y-dark)}

.product-info .pre-title{display:inline-flex;align-items:center;gap:6px;background:var(--y-pale);color:#92400E;border:1px solid var(--y-soft);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;padding:4px 12px;border-radius:99px;margin-bottom:12px}
.product-title{font-size:clamp(20px,2.4vw,28px);font-weight:900;color:var(--charcoal);letter-spacing:-.4px;line-height:1.2;margin-bottom:14px}
.product-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--border)}
.rating-row{display:flex;align-items:center;gap:6px}
.stars-full{color:var(--y);font-size:15px;letter-spacing:-1px}
.rating-val{font-size:13.5px;font-weight:700;color:var(--charcoal)}
.rating-count{font-size:13px;color:var(--slate)}
.meta-sep{width:1px;height:16px;background:var(--border)}
.stock-badge{display:flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700}
.stock-dot{width:7px;height:7px;border-radius:50%}
.stock-badge.in-stock .stock-dot{background:#10B981}
.stock-badge.in-stock{color:#10B981}
.stock-badge.out-stock .stock-dot{background:var(--slate)}
.stock-badge.out-stock{color:var(--slate)}

.product-short-desc{font-size:14px;line-height:1.65;color:var(--slate);margin-bottom:20px}
.product-short-desc p{margin:0 0 8px}
.product-short-desc p:last-child{margin-bottom:0}
.product-short-desc ul,.product-short-desc ol{margin:6px 0 8px 18px;padding:0}
.product-short-desc li{margin-bottom:4px}

.price-block{display:flex;align-items:flex-end;gap:12px;margin-bottom:8px;flex-wrap:wrap}
.price-main{display:flex;align-items:flex-end;gap:10px;font-size:36px;font-weight:900;color:var(--charcoal);line-height:1}
.price-main del{font-size:18px;font-weight:400;color:var(--slate);text-decoration:line-through;line-height:1}
.price-main ins{text-decoration:none}
.price-block.has-promo .price-main ins .woocommerce-Price-amount{color:#EF4444}
.price-save{background:#FEF2F2;color:#EF4444;border:1px solid #FECACA;font-size:12px;font-weight:800;padding:3px 9px;border-radius:99px}
.price-ht{font-size:12px;color:var(--slate);margin-bottom:24px}

/* Produits simples (pas de div.product dans notre template custom) */
form.cart:not(.variations_form){display:flex;flex-direction:row;gap:12px;align-items:stretch;flex-wrap:wrap;margin-bottom:16px}
.woocommerce-variation-add-to-cart{display:flex;gap:12px;align-items:stretch;margin-top:16px}
/* Stepper quantité – rendu via template override quantity-input.php */
.qty-stepper{display:flex;align-items:center;border:2px solid var(--border);border-radius:var(--r);overflow:hidden;width:fit-content}
.qty-btn{width:42px;height:52px;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:300;line-height:1;cursor:pointer;background:var(--gray-bg);color:var(--charcoal);border:none;user-select:none;flex-shrink:0;transition:background .15s}
.qty-btn:hover{background:var(--y-pale)}
.qty-stepper input.qty{width:52px;height:52px;text-align:center;border:none;border-left:1px solid var(--border);border-right:1px solid var(--border);outline:none;font-size:16px;font-weight:700;color:var(--charcoal);background:#fff;padding:0;appearance:textfield;-moz-appearance:textfield}
.qty-stepper input.qty::-webkit-inner-spin-button,
.qty-stepper input.qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.woocommerce div.product form.cart button[type=submit],
.single_add_to_cart_button{flex:1;padding:0 24px;height:56px;background:var(--y);color:var(--navy);border:none;border-radius:var(--r);font-size:15px;font-weight:800;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:10px;margin:0;width:auto}
.woocommerce div.product form.cart button[type=submit]:hover,
.single_add_to_cart_button:hover{background:var(--y-dark);transform:translateY(-1px);box-shadow:0 6px 20px rgba(255,212,53,.45)}

.delivery-line{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--slate);padding:10px 14px;border-radius:var(--r);background:var(--gray-bg);border:1px solid var(--border);margin:16px 0}
.delivery-line strong{color:var(--charcoal)}
.delivery-line svg{flex-shrink:0;color:#10B981}

.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:24px}
.trust-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;text-align:center;background:var(--gray-bg);border:1px solid var(--border);border-radius:var(--r)}
.trust-item .ico{font-size:20px}
.trust-item span{font-size:11.5px;font-weight:700;color:var(--charcoal);line-height:1.3}

.product-tabs-section{background:var(--gray-bg);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:0;margin-top:56px}
.tabs-nav{display:flex;gap:0;overflow-x:auto;border-bottom:2px solid var(--border);cursor:default}
.tabs-nav::-webkit-scrollbar{display:none}
.tab-btn{padding:16px 24px;white-space:nowrap;font-size:14px;font-weight:700;color:var(--slate);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;transition:all .18s;background:none;border-top:none;border-left:none;border-right:none}
.tab-btn:hover{color:var(--charcoal)}
.tab-btn.active{color:var(--charcoal);border-bottom-color:var(--y)}
.tabs-content{padding:40px 0 56px}
.tab-panel{display:none}
.tab-panel.active{display:block}

.desc-body h3{font-size:17px;font-weight:800;color:var(--charcoal);margin-bottom:12px;margin-top:28px}
.desc-body h3:first-child{margin-top:0}
.desc-body p{font-size:14.5px;color:var(--slate);line-height:1.8;margin-bottom:14px}

/* [7] PANIER */
.cart-page-wrap{padding:48px 0 80px}
.cart-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;flex-wrap:wrap;gap:12px}
.cart-page-header h1{font-size:clamp(22px,3vw,32px);font-weight:800;color:var(--charcoal)}
.continue-shopping{font-size:13.5px;font-weight:600;color:var(--slate);transition:color .2s}
.continue-shopping:hover{color:var(--charcoal)}
.cart-page-layout{display:grid;grid-template-columns:1fr 360px;gap:28px;align-items:start}
.cart-items-col{}
.cart-table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border)}
.cart-table thead tr{background:var(--gray-bg)}
.cart-table th{padding:14px 16px;font-size:12px;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:.6px;text-align:left;border-bottom:1px solid var(--border)}
.cart-table td{padding:14px 16px;border-bottom:1px solid var(--border);vertical-align:middle}
.cart-table tr:last-child td{border-bottom:none}
.ct-img img{width:72px;height:72px;object-fit:cover;border-radius:var(--r);border:1px solid var(--border)}
.ct-img{width:88px;padding-right:0}
.ct-product-name{font-size:14px;font-weight:700;color:var(--charcoal);display:block;margin-bottom:4px;transition:color .2s}
.ct-product-name:hover{color:var(--navy)}
.ct-price,.ct-total{font-size:15px;font-weight:700;color:var(--charcoal)}
.ct-qty .quantity input{width:60px;text-align:center;border:1.5px solid var(--border);border-radius:var(--r);padding:8px 6px;font-size:14px;font-weight:600}
.ct-qty .quantity input:focus{border-color:var(--y);outline:none}
.ct-qty .quantity input:focus-visible{outline:2px solid var(--y);outline-offset:2px}
.ct-remove-btn{color:#CBD5E1;font-size:15px;transition:color .2s;text-decoration:none;display:block;text-align:center}
.ct-remove-btn:hover{color:#EF4444}
.actions{padding:14px 16px!important;background:var(--gray-bg)!important}
.coupon{display:flex;gap:8px;margin-bottom:0}
.coupon .input-text{flex:1;border:1.5px solid var(--border);border-radius:var(--r);padding:9px 14px;font-size:13.5px}
.coupon .input-text:focus{border-color:var(--y);outline:none}
.coupon .input-text:focus-visible{outline:2px solid var(--y);outline-offset:2px}
.coupon .button{padding:9px 16px;background:var(--navy);color:#fff;border:none;border-radius:var(--r);font-size:13px;font-weight:700;cursor:pointer;transition:background .2s}
.coupon .button:hover{background:var(--navy-mid)}
.update-cart-btn{padding:9px 16px;background:transparent;border:1.5px solid var(--border);border-radius:var(--r);font-size:13px;font-weight:600;color:var(--charcoal);cursor:pointer;transition:all .2s}
.update-cart-btn:hover{border-color:var(--y);background:var(--y-pale)}
.cart-summary-col .cart_totals{background:var(--gray-bg);border-radius:var(--r-lg);padding:28px;border:1px solid var(--border)}
.cart_totals h2{font-size:18px;font-weight:800;margin-bottom:20px;color:var(--charcoal)}
.cart_totals table{width:100%;border-collapse:collapse}
.cart_totals table th,.cart_totals table td{padding:10px 0;border-bottom:1px solid var(--border);font-size:14px}
.cart_totals table tr:last-child th,.cart_totals table tr:last-child td{border-bottom:none}
.cart_totals table th{color:var(--slate);font-weight:500}
.cart_totals table td{font-weight:700;color:var(--charcoal);text-align:right}
.cart_totals .order-total td{font-size:20px;font-weight:900;color:var(--charcoal)}
.wc-proceed-to-checkout{margin-top:20px}
.wc-proceed-to-checkout .checkout-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 24px;background:var(--y);color:var(--navy);border-radius:var(--r);font-size:15px;font-weight:800;transition:all .2s;text-decoration:none}
.wc-proceed-to-checkout .checkout-button:hover{background:var(--y-dark);transform:translateY(-1px);box-shadow:0 4px 14px rgba(255,212,53,.4)}

/* [8] MON COMPTE — layout */
.account-page{padding:40px 0 72px;background:var(--gray-bg)}
.account-layout{display:grid;grid-template-columns:260px 1fr;gap:28px;align-items:start}

.account-sidebar{position:sticky;top:90px}

.account-user-card{background:var(--navy);color:var(--white);border-radius:var(--r-lg);padding:24px 20px;margin-bottom:12px;text-align:center}
.user-avatar{width:64px;height:64px;border-radius:50%;background:var(--y);color:var(--navy);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:900;margin:0 auto 14px;border:3px solid rgba(255,212,53,.35)}
.user-name{font-size:15px;font-weight:800;margin-bottom:3px}
.user-email{font-size:12px;color:#64748B;margin-bottom:12px}
.user-since{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:#94A3B8;background:rgba(255,255,255,.06);padding:4px 10px;border-radius:99px}

.account-sidebar-nav{background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm)}
.account-nav-item{display:flex;align-items:center;gap:12px;padding:13px 18px;font-size:13.5px;font-weight:600;color:var(--slate);border-bottom:1px solid var(--border);transition:background .15s,color .15s,padding-left .15s;text-decoration:none}
.account-nav-item:last-child{border-bottom:none}
.account-nav-item:hover{background:var(--gray-bg);color:var(--charcoal);padding-left:22px}
.account-nav-item.is-active{background:var(--y-pale);color:var(--navy);border-left:3px solid var(--y);padding-left:15px}
.account-nav-item .nav-icon{width:20px;flex-shrink:0;opacity:.65;display:flex;align-items:center}
.account-nav-item.is-active .nav-icon{opacity:1}
.account-nav-item.is-logout{color:#EF4444}
.account-nav-item.is-logout:hover{background:#FEF2F2;color:#DC2626}

.account-content{min-height:400px}

.woocommerce-MyAccount-content h2,.woocommerce-MyAccount-content h3{font-size:18px;font-weight:800;color:var(--charcoal);margin:0 0 20px}
.woocommerce-MyAccount-content p{font-size:14px;color:var(--slate);line-height:1.7;margin-bottom:16px}
.woocommerce-MyAccount-content a{color:var(--navy);font-weight:600}
.woocommerce-MyAccount-content a:hover{color:var(--y-dark)}

.woocommerce-order-details table,.woocommerce-table,.woocommerce-MyAccount-content table.shop_table{width:100%;border-collapse:collapse;background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm)}
.woocommerce-order-details table th,.woocommerce-table th,.woocommerce-MyAccount-content table.shop_table th{background:var(--gray-bg2);padding:12px 16px;font-size:11.5px;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:.7px;text-align:left;border-bottom:1px solid var(--border)}
.woocommerce-order-details table td,.woocommerce-table td,.woocommerce-MyAccount-content table.shop_table td{padding:14px 16px;border-bottom:1px solid var(--border);font-size:13.5px;color:var(--charcoal);vertical-align:middle}
.woocommerce-order-details table tr:last-child td,.woocommerce-table tr:last-child td,.woocommerce-MyAccount-content table.shop_table tr:last-child td{border-bottom:none}
.woocommerce-MyAccount-content table.shop_table tr:hover td{background:#FAFAFA}

.woocommerce-orders-table__cell-order-status mark,.woocommerce-order-status{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;border-radius:99px;font-size:11.5px;font-weight:700;background:var(--gray-bg2);color:var(--slate)}
mark.completed,.woocommerce-order-status.status-completed{background:#D1FAE5;color:#065F46}
mark.processing,.woocommerce-order-status.status-processing{background:#FEF3C7;color:#92400E}
mark.on-hold,.woocommerce-order-status.status-on-hold{background:#DBEAFE;color:#1E40AF}
mark.cancelled,.woocommerce-order-status.status-cancelled{background:#FEE2E2;color:#991B1B}
mark.shipped,.woocommerce-order-status.status-shipped{background:#DBEAFE;color:#1E40AF}

.woocommerce-MyAccount-content .button,.woocommerce-MyAccount-content button[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;background:var(--y);color:var(--navy);border:none;border-radius:var(--r);font-size:13.5px;font-weight:800;cursor:pointer;transition:all .2s;text-decoration:none}
.woocommerce-MyAccount-content .button:hover,.woocommerce-MyAccount-content button[type=submit]:hover{background:var(--y-dark);transform:translateY(-1px)}

.woocommerce-MyAccount-content .woocommerce-address-fields .form-row,
.woocommerce-MyAccount-content .woocommerce-EditAccountForm .form-row{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}
.woocommerce-MyAccount-content .form-row label{font-size:12px;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:.7px}
.woocommerce-MyAccount-content .form-row input,.woocommerce-MyAccount-content .form-row select{padding:10px 14px;border:1.5px solid var(--border);border-radius:var(--r);font-size:13.5px;color:var(--charcoal);background:var(--white);outline:none;transition:border-color .2s;font-family:inherit;width:100%}
.woocommerce-MyAccount-content .form-row input:focus,.woocommerce-MyAccount-content .form-row select:focus{border-color:var(--navy)}
.woocommerce-MyAccount-content fieldset{border:1px solid var(--border);border-radius:var(--r-lg);padding:20px;margin-bottom:24px}
.woocommerce-MyAccount-content fieldset legend{font-size:13px;font-weight:800;color:var(--charcoal);text-transform:uppercase;letter-spacing:.7px;padding:0 8px}

/* [9] MON COMPTE — panneaux de contenu (calé sur le HTML de référence) */

.panel-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);overflow:hidden;margin-bottom:20px}
.panel-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 24px;border-bottom:1px solid var(--border);background:var(--gray-bg2)}
.panel-card-head h2{font-size:15px;font-weight:800;color:var(--charcoal);display:flex;align-items:center;gap:9px;margin:0}
.panel-card-head h2 svg{color:var(--navy);flex-shrink:0}
.panel-card-body{padding:24px}
.count-badge{background:var(--navy);color:var(--white);font-size:11px;font-weight:800;padding:2px 8px;border-radius:99px;vertical-align:middle}

.welcome-banner{background:linear-gradient(120deg,var(--navy) 0%,var(--navy-mid) 100%);border-radius:var(--r-lg);padding:28px 32px;color:var(--white);margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;overflow:hidden}
.welcome-banner::after{content:'';position:absolute;right:-40px;top:-40px;width:200px;height:200px;border-radius:50%;background:rgba(255,212,53,.07);pointer-events:none}
.welcome-banner h2{font-size:20px;font-weight:800;margin-bottom:6px;color:var(--white)}
.welcome-banner p{font-size:13.5px;color:#94A3B8;max-width:420px;line-height:1.6;margin:0}
.btn-shop{flex-shrink:0;display:inline-flex;align-items:center;gap:7px;padding:11px 22px;background:var(--y);color:var(--navy);border-radius:var(--r);font-size:13px;font-weight:800;text-decoration:none;transition:background .2s;white-space:nowrap;position:relative;z-index:1}
.btn-shop:hover{background:var(--y-dark);color:var(--navy)}

.dashboard-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}
.stat-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);padding:20px 22px;display:flex;align-items:center;gap:16px;box-shadow:var(--shadow-sm);transition:box-shadow .2s,transform .2s;text-decoration:none;color:inherit}
.stat-card:hover{box-shadow:var(--shadow);transform:translateY(-2px);color:inherit}
.stat-icon{width:48px;height:48px;border-radius:var(--r);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.stat-icon.yellow{background:var(--y-soft)}.stat-icon.yellow svg{color:#92400E}
.stat-icon.green{background:#D1FAE5}.stat-icon.green svg{color:#065F46}
.stat-icon.blue{background:#DBEAFE}.stat-icon.blue svg{color:#1E40AF}
.stat-val{font-size:26px;font-weight:900;color:var(--charcoal);line-height:1}
.stat-val .woocommerce-Price-amount{font-size:inherit;font-weight:inherit;color:inherit}
.stat-label{font-size:12px;color:var(--slate);margin-top:4px;font-weight:500}

.mini-orders-table,.orders-table{width:100%;border-collapse:collapse}
.mini-orders-table thead tr,.orders-table thead tr{background:var(--gray-bg2);border-bottom:1px solid var(--border)}
.mini-orders-table th,.orders-table th{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.9px;color:var(--slate);padding:10px 20px;text-align:left}
.mini-orders-table td,.orders-table td{padding:13px 20px;font-size:13.5px;border-bottom:1px solid var(--border);vertical-align:middle;color:var(--charcoal)}
.mini-orders-table tbody tr:last-child td{border-bottom:none}
.orders-table .order-row:hover>td{background:#FAFAFA}
.order-num{font-weight:800;color:var(--navy)}

.status-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:99px;font-size:11.5px;font-weight:700;white-space:nowrap}
.status-pill::before{content:'';width:5px;height:5px;border-radius:50%;flex-shrink:0;display:inline-block}
.status-delivered{background:#D1FAE5;color:#065F46}.status-delivered::before{background:#059669}
.status-processing{background:#FEF3C7;color:#92400E}.status-processing::before{background:#F59E0B}
.status-shipped{background:#DBEAFE;color:#1E40AF}.status-shipped::before{background:#3B82F6}
.status-cancelled{background:#FEE2E2;color:#991B1B}.status-cancelled::before{background:#EF4444}
.status-unknown{background:var(--gray-bg2);color:var(--slate)}.status-unknown::before{background:var(--slate)}

.btn-sm{display:inline-flex;align-items:center;gap:5px;padding:6px 13px;border-radius:6px;font-size:12px;font-weight:700;background:transparent;color:var(--navy);border:1.5px solid var(--border);text-decoration:none;transition:all .15s;white-space:nowrap;cursor:pointer}
.btn-sm:hover{border-color:var(--navy);background:var(--gray-bg);color:var(--navy)}
.btn-sm-primary{background:var(--y);border-color:var(--y);color:var(--navy)}
.btn-sm-primary:hover{background:var(--y-dark);border-color:var(--y-dark)}
.btn-sm-outline{background:transparent;color:var(--slate)}.btn-sm-outline:hover{color:var(--navy)}
.btn-sm-danger{border-color:#EF4444;color:#EF4444}.btn-sm-danger:hover{background:#FEE2E2}
.btn-save{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 24px;background:var(--y);color:var(--navy);border:none;border-radius:var(--r);font-size:13.5px;font-weight:800;cursor:pointer;transition:all .2s;text-decoration:none}
.btn-save:hover{background:var(--y-dark);transform:translateY(-1px);color:var(--navy)}
.btn-cancel{display:inline-flex;align-items:center;font-size:13px;font-weight:600;color:var(--slate);text-decoration:none;padding:11px 16px;transition:color .15s;background:none;border:none;cursor:pointer}
.btn-cancel:hover{color:var(--charcoal)}

.orders-pagination{display:flex;align-items:center;gap:6px;padding:16px 20px;border-top:1px solid var(--border);background:var(--gray-bg2)}
.orders-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 8px;border:1.5px solid var(--border);border-radius:var(--r);font-size:13px;font-weight:600;color:var(--charcoal);text-decoration:none;transition:all .15s}
.orders-pagination .page-numbers:hover,.orders-pagination .page-numbers.current{background:var(--navy);color:var(--white);border-color:var(--navy)}

.order-detail-drawer{display:none}
.order-detail-drawer.is-open{display:table-row}
.order-detail-drawer>td{background:var(--gray-bg);border-top:none;padding:20px 24px}
.drawer-products{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.drawer-product{display:flex;align-items:center;gap:12px;background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:12px 16px}
.drawer-product img{width:48px;height:48px;border-radius:var(--r);object-fit:cover;border:1px solid var(--border);flex-shrink:0}
.drawer-product-info{flex:1;min-width:0}
.drawer-product-name{font-weight:700;font-size:13.5px;color:var(--charcoal)}
.drawer-product-qty{margin-left:auto;font-size:13px;color:var(--slate);white-space:nowrap;padding-left:12px}
.drawer-product-price{font-weight:700;font-size:13.5px;color:var(--charcoal);white-space:nowrap;padding-left:12px}
.drawer-totals{background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:14px 16px;display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.drawer-total-row{display:flex;justify-content:space-between;font-size:13px;color:var(--charcoal)}
.drawer-total-row span:first-child{color:var(--slate)}
.drawer-total-row.is-final{font-weight:800;font-size:14px;border-top:1px solid var(--border);padding-top:8px;margin-top:4px}
.drawer-total-row.is-final span:last-child{color:var(--navy)}
.drawer-actions{display:flex;align-items:center;gap:8px}

.alert{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;border-radius:var(--r);font-size:13.5px;margin-bottom:20px}
.alert-info{background:#DBEAFE;color:#1E40AF;border:1px solid #BFDBFE}
.alert-success{background:#D1FAE5;color:#065F46;border:1px solid #A7F3D0}
.alert svg{flex-shrink:0;margin-top:1px}
.addresses-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.address-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm)}
.address-card-head{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:var(--gray-bg2);border-bottom:1px solid var(--border)}
.address-card-head h3{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:var(--charcoal);display:flex;align-items:center;gap:8px;margin:0}
.address-card-body{padding:20px;font-size:13.5px;line-height:1.85;color:var(--charcoal)}
.address-card-body address{font-style:normal}
.address-empty{color:var(--slate);font-style:italic;margin:0}

.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.form-grid .form-row-wide{grid-column:1/-1}
.form-group{display:flex;flex-direction:column;gap:5px;margin-bottom:16px}
.form-group label{font-size:11.5px;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:.7px;display:block}
.form-group label .required{color:#EF4444;text-decoration:none}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 14px;border:1.5px solid var(--border);border-radius:var(--r);font-size:13.5px;color:var(--charcoal);background:var(--white);outline:none;transition:border-color .2s;font-family:inherit;box-sizing:border-box}
.form-group input:focus,.form-group select:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(15,55,98,.08)}
.form-group .pw-wrap{position:relative;display:block}
.form-group .pw-wrap input{padding-right:42px}
.form-actions{display:flex;align-items:center;gap:12px;padding-top:24px;border-top:1px solid var(--border);margin-top:8px}
.account-form-section{margin-bottom:32px;padding-bottom:32px;border-bottom:1px solid var(--border)}
.account-form-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}
.account-form-section h3{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.9px;color:var(--slate);margin-bottom:16px;display:flex;align-items:center;gap:8px}
.account-form-section h3 svg{color:var(--navy)}

.toggle-pw{position:absolute;right:10px;top:50%;transform:translateY(-50%);cursor:pointer;color:var(--slate);display:flex;align-items:center;padding:4px;transition:color .15s;background:none;border:none}
.toggle-pw:hover{color:var(--charcoal)}

.woocommerce-password-strength{display:inline-flex;align-items:center;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:700;margin-top:6px}
.woocommerce-password-strength.strong{background:#D1FAE5;color:#065F46}
.woocommerce-password-strength.good{background:#DBEAFE;color:#1E40AF}
.woocommerce-password-strength.short,.woocommerce-password-strength.bad{background:#FEE2E2;color:#991B1B}
.woocommerce-password-hint small{font-size:11.5px;color:var(--slate)}
/* Dans le formulaire reset (lform) : force le retour à la ligne + espacement */
.lform .woocommerce-password-strength{display:block;margin-top:8px;width:fit-content}
.lform .woocommerce-password-hint{display:block;font-size:11.5px;color:var(--slate);margin-top:4px;line-height:1.5}

.account-content .form-row{display:flex;flex-direction:column;gap:5px;margin-bottom:16px;float:none!important;width:auto!important;padding:0!important}
.account-content .form-row label{font-size:11.5px;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:.7px;display:block}
.account-content .form-row label .required{color:#EF4444;text-decoration:none}
.account-content .woocommerce-input-wrapper{position:relative;display:block}
.account-content .form-row input.input-text,.account-content .form-row select{width:100%;padding:10px 14px;border:1.5px solid var(--border);border-radius:var(--r);font-size:13.5px;color:var(--charcoal);background:var(--white);outline:none;transition:border-color .2s;font-family:inherit;box-sizing:border-box}
.account-content .form-row input.input-text:focus,.account-content .form-row select:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(15,55,98,.08)}
.woocommerce-address-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;column-gap:16px}
.woocommerce-address-fields__field-wrapper .form-row-wide{grid-column:1/-1}
.woocommerce-address-fields__field-wrapper .form-row-first,.woocommerce-address-fields__field-wrapper .form-row-last{grid-column:auto}

.order-meta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-bottom:1px solid var(--border)}
.order-meta-item{padding:16px 20px;border-right:1px solid var(--border)}
.order-meta-item:last-child{border-right:none}
.order-meta-label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--slate);margin-bottom:4px}
.order-meta-value{display:block;font-size:13.5px;font-weight:600;color:var(--charcoal)}
.order-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.9px;color:var(--slate);padding:14px 20px;background:var(--gray-bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.order-footer{display:grid;grid-template-columns:1fr 300px;gap:0;border-top:1px solid var(--border)}
.order-addresses{padding:20px;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:20px}
.order-totals{padding:20px;display:flex;flex-direction:column;gap:8px}
.order-total-row{display:flex;justify-content:space-between;align-items:center;font-size:13.5px;color:var(--charcoal)}
.order-total-row span:first-child{color:var(--slate)}
.order-total-row.is-final{font-size:15px;font-weight:800;border-top:1px solid var(--border);padding-top:10px;margin-top:4px}
.order-total-row.is-final span:last-child{color:var(--navy)}
.order-actions{display:flex;align-items:center;gap:8px;padding:16px 20px;border-top:1px solid var(--border);background:var(--gray-bg2)}

/* [10] RESPONSIVE — templates WC
   Échelle de breakpoints officielle du thème (à respecter pour toute nouvelle règle) :
   480/481 (petit mobile) · 600/601 (mobile/tablette) · 860/861 (tablette/desktop) · 1100/1101 (desktop large) */
@media(max-width:1100px){
  .shop-layout{grid-template-columns:1fr}
  .sidebar{display:none}
  .toggle-filters-btn{display:flex}
  .wc-archive-products{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:860px){
  .cat-hero-stats{display:none}
  .product-layout{grid-template-columns:1fr;gap:24px}
  .product-section{padding:24px 0 40px}
  .product-gallery{position:static}
  .gallery-main{aspect-ratio:unset;height:min(70vw,300px);max-height:none}
  .gallery-main img{height:100%;width:100%;object-fit:cover}
  .gallery-nav{opacity:.85}
  .product-payment-badges img{max-height:40px;width:auto}
  .price-main{font-size:28px}
  .wc-archive-products{grid-template-columns:repeat(2,1fr)}
  .cart-page-layout{grid-template-columns:1fr}
  .account-layout{grid-template-columns:1fr}
  .account-sidebar{position:static}
  .account-user-card{display:flex;align-items:center;gap:16px;text-align:left}
  .user-avatar{margin:0;width:52px;height:52px;font-size:18px;flex-shrink:0}
  .account-sidebar-nav{display:flex;overflow-x:auto;border-radius:var(--r);-webkit-overflow-scrolling:touch}
  .account-nav-item{flex-shrink:0;border-bottom:none;border-right:1px solid var(--border);padding:11px 15px;font-size:13px}
  .account-nav-item.is-active{border-left:none;border-bottom:3px solid var(--y)}
  .account-nav-item .nav-icon{display:none}
  .dashboard-stats{grid-template-columns:1fr 1fr}
  .addresses-grid{grid-template-columns:1fr}
  .welcome-banner{flex-direction:column;align-items:flex-start;gap:16px;padding:22px}
  .welcome-banner p{display:none}
  .woocommerce-address-fields__field-wrapper{grid-template-columns:1fr}
  .woocommerce-address-fields__field-wrapper .form-row-first,.woocommerce-address-fields__field-wrapper .form-row-last{grid-column:1}
  .form-grid{grid-template-columns:1fr}
  .orders-table th:nth-child(3),.orders-table td:nth-child(3){display:none}
  .order-meta-grid{grid-template-columns:repeat(2,1fr)}
  .order-footer{grid-template-columns:1fr}
  .order-addresses{border-right:none;border-bottom:1px solid var(--border)}
}
@media(max-width:520px){
  .wc-archive-products{grid-template-columns:1fr 1fr}
  .trust-grid{grid-template-columns:1fr 1fr}
  .dashboard-stats{grid-template-columns:1fr}
  .orders-table th:nth-child(2),.orders-table td:nth-child(2){display:none}
}
/* iOS: prevent zoom on input focus + touch targets */
@media(max-width:600px){
  .form-field input,.form-field select,.form-field textarea,
  .form-group input,.form-group select,.form-group textarea,
  .account-content .form-row input.input-text,
  .account-content .form-row select,
  .account-content .form-row textarea,
  .woocommerce form .form-row input.input-text,
  .woocommerce form .form-row select,
  .cart-coupon-input,.qty-val,.ql-qty-wrap input,
  /* .lform (connexion/inscription) et .coupon (coupon panier) : spécificité
     CSS égale ou supérieure à leurs règles de base (.lform input.input-text,
     .coupon .input-text), sans quoi ce bloc mobile ne les emporterait pas
     malgré l'ordre de cascade. */
  .lform input.input-text,
  .coupon .input-text{font-size:16px}
  .cart-qty-minus,.cart-qty-plus{height:44px;min-width:44px}
  .qty-val{height:44px}
  .cart-row-remove-btn{width:44px;height:44px}
  .wc-archive-products.list-view .prod-card{flex-direction:column}
  .wc-archive-products.list-view .prod-img-wrap{width:100%}
  .wc-archive-products.list-view .prod-card .prod-img{min-height:200px}
}
/* Appareils tactiles : rendre visibles les éléments hover-only */
@media(hover:none){
  .gallery-nav{opacity:.85}
  .gallery-main:hover img{transform:none}
  .gallery-zoom-hint{display:none}
  .prod-wishlist{opacity:1}
  .prod-quick-view{display:none}
}

/* [11] STICKY ATC BAR — fiche produit (barre flottante en bas d'écran)
   2 lignes flex empilées (pas de grid à zones partagées) : la ligne des
   variations ne peut pas influencer la largeur des colonnes de la ligne
   principale, donc le bouton ne peut pas se retrouver poussé hors champ. */
.sticky-atc{position:fixed;bottom:0;left:0;right:0;z-index:850;background:var(--white);border-top:2px solid var(--y);box-shadow:0 -4px 24px rgba(0,0,0,.12);transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);padding:10px 0;padding-bottom:calc(10px + env(safe-area-inset-bottom, 0px))}
.sticky-atc.visible{transform:translateY(0)}
.sticky-atc-inner{display:flex;flex-direction:column;gap:10px}
.sticky-atc-main{display:flex;align-items:center;gap:14px}
.sticky-atc-img{width:48px;height:48px;object-fit:cover;border-radius:var(--r);border:1px solid var(--border);flex-shrink:0}
.sticky-atc-info{flex:1;min-width:0}
.sticky-atc-name{font-size:14px;font-weight:700;color:var(--charcoal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sticky-atc-price{display:block;max-width:100%;font-size:18px;font-weight:900;color:var(--charcoal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sticky-atc-price *{font-size:inherit!important;display:inline!important}
.sticky-atc-price del{font-weight:400;color:var(--slate);margin-right:6px}
.sticky-atc-price ins{text-decoration:none;color:#EF4444}
.sticky-atc-btn{flex-shrink:0;display:flex;align-items:center;padding:11px 24px;background:var(--y);color:var(--navy);border:none;border-radius:var(--r);font-size:14px;font-weight:800;cursor:pointer;transition:all .2s;white-space:nowrap}
.sticky-atc-btn:hover{background:var(--y-dark);transform:translateY(-1px);box-shadow:0 4px 14px rgba(255,212,53,.4)}
.sticky-atc-btn:disabled,.sticky-atc-btn.is-disabled{background:var(--border);color:var(--slate);cursor:not-allowed;transform:none;box-shadow:none}
.sticky-atc-variations{display:flex;flex-wrap:wrap;gap:8px}
.sticky-atc-variation{flex:1 1 140px;min-width:0;padding:8px 10px;border:1px solid var(--border);border-radius:var(--r);font-size:13px;color:var(--charcoal);background:#fff}
@media(max-width:640px){
  .sticky-atc-img{width:38px;height:38px}
  .sticky-atc-name{font-size:12.5px}
  .sticky-atc-price{font-size:15px}
  .sticky-atc-btn{padding:10px 16px;font-size:13px}
  .sticky-atc-variation{flex:1 1 100px;font-size:12.5px;padding:7px 8px}
}

/* [12] VARIATIONS WC — label au-dessus du select (sélecteurs sans .product : notre template n'a pas ce wrapper) */
table.variations,
table.variations tbody{display:flex;flex-direction:column;gap:16px;width:100%;border:none;margin-bottom:20px}
table.variations tr{display:flex;flex-direction:column;gap:8px}
table.variations td{border:none;padding:0;display:block}
table.variations td.label label,
table.variations th label{font-size:12px;font-weight:700;color:var(--charcoal);text-transform:uppercase;letter-spacing:.8px;display:block;margin:0}
table.variations select,
.variations select{width:100%;padding:12px 40px 12px 14px;border:2px solid var(--border);border-radius:var(--r);font-size:14px;font-weight:600;color:var(--charcoal);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236B7280' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") right 14px center no-repeat;appearance:none;cursor:pointer;transition:border-color .2s;outline:none}
table.variations select:focus,
.variations select:focus{border-color:var(--y)}
.reset_variations{display:inline-block;margin-top:-8px;font-size:12px;color:var(--slate);text-decoration:underline;cursor:pointer}
.reset_variations:hover{color:var(--charcoal)}
.woocommerce-variation-price .price{font-size:32px;font-weight:900;display:block;margin:12px 0 6px}
.woocommerce-variation-availability{font-size:13px;font-weight:700;margin-bottom:12px}

/* [13] CARD PRODUIT — catalogue (depuis template galerie-categorie.html) */
.prod-card{position:relative}
.prod-body .prod-name{transition:color .2s}
.prod-body .prod-name:hover{color:var(--navy-mid)}
.prod-footer{gap:10px}
.btn-add svg{flex-shrink:0}

.prod-wishlist{position:absolute;top:10px;right:10px;width:40px;height:40px;background:rgba(255,255,255,.9);backdrop-filter:blur(4px);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--slate);font-size:16px;transition:all .2s;opacity:0;border:none;line-height:1}
.prod-card:hover .prod-wishlist{opacity:1}
.prod-wishlist:hover,.prod-wishlist.active{color:#EF4444;transform:scale(1.1)}

.active-filters-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 18px;background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);margin-bottom:4px}
.af-bar-label{font-size:12px;font-weight:700;color:var(--charcoal)}
.af-tag{display:inline-flex;align-items:center;gap:5px;background:var(--y-soft);color:#92400E;border:1px solid #FDE68A;font-size:12px;font-weight:600;padding:4px 10px;border-radius:99px;cursor:pointer;transition:background .15s}
.af-tag:hover{background:#FDE68A}
.af-tag .x{font-size:13px;line-height:1}
.clear-all-filters{font-size:12px;font-weight:700;color:#EF4444;cursor:pointer;text-decoration:underline;margin-left:auto;background:none;border:none}

.rating-opt{display:flex;align-items:center;gap:8px;padding:7px 0;cursor:pointer;font-size:13px;color:var(--slate);transition:color .15s}
.rating-opt:hover{color:var(--charcoal)}
.rating-opt .stars{color:var(--y);font-size:14px;letter-spacing:-1px}

.prod-stock-low{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:700;color:#D97706;background:#FEF3C7;border:1px solid #FDE68A;padding:2px 8px;border-radius:99px;margin-bottom:8px}
.prod-stock-low::before{content:'';width:5px;height:5px;border-radius:50%;background:#D97706;flex-shrink:0}

/* [14] GALERIE — indicateur zoom + lightbox */
.gallery-zoom-hint{position:absolute;bottom:12px;right:12px;background:rgba(255,255,255,.85);backdrop-filter:blur(4px);border:1px solid var(--border);border-radius:var(--r);padding:5px 10px;font-size:11px;font-weight:600;color:var(--charcoal);display:flex;align-items:center;gap:5px;z-index:2;pointer-events:none;opacity:0;transition:opacity .25s}
.gallery-main:hover .gallery-zoom-hint{opacity:1}

.gallery-lightbox{position:fixed;inset:0;background:rgba(10,14,20,.92);z-index:3000;display:none;align-items:center;justify-content:center;cursor:zoom-out}
.gallery-lightbox.open{display:flex}
.gallery-lightbox img{max-width:92vw;max-height:92vh;object-fit:contain;border-radius:var(--r-lg);box-shadow:0 32px 80px rgba(0,0,0,.5)}
.gallery-lightbox-close{position:absolute;top:20px;right:20px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;border:none;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
.gallery-lightbox-close:hover{background:rgba(255,255,255,.25)}

/* [15] CHARGEMENT YITH — spinner overlay sur la grille */
.products-zone.loading{position:relative;pointer-events:none}
.products-zone.loading::after{content:'';position:absolute;inset:0;background:rgba(255,255,255,.65);z-index:10;backdrop-filter:blur(2px)}
.products-zone.loading .toolbar::after{content:'Mise à jour…';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:10px 20px;font-size:14px;font-weight:700;color:var(--charcoal);box-shadow:var(--shadow);z-index:11}

.woocommerce-message,.woocommerce-info,.woocommerce-error{border-radius:var(--r);margin-bottom:20px;padding:14px 18px;font-size:14px}
.woocommerce-message{background:var(--y-pale);border-left:4px solid var(--y);color:var(--charcoal)}
.woocommerce-error{background:#FEF2F2;border-left:4px solid #EF4444;color:#991B1B}
.woocommerce-info{background:#EFF6FF;border-left:4px solid #3B82F6;color:#1E40AF}

.woocommerce-products-header{margin-bottom:32px}
.woocommerce-products-header__title{font-size:clamp(22px,3vw,34px);font-weight:800;color:var(--charcoal);letter-spacing:-.5px}

.woocommerce-result-count{font-size:13px;color:var(--slate)}
.woocommerce-ordering select{border:1px solid var(--border);border-radius:var(--r);padding:8px 12px;font-size:13px;color:var(--charcoal);background:#fff;cursor:pointer}
.woocommerce-ordering select:focus{outline:2px solid var(--y);outline-offset:1px}

/* Fallback WC pour produits non couverts par content-product.php */
.wc-products-grid .product{border-radius:var(--r-lg);overflow:hidden;border:1.5px solid var(--border);background:var(--white);transition:box-shadow .22s,transform .22s;display:flex;flex-direction:column;position:relative}
.wc-products-grid .product:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px);border-color:rgba(255,212,53,.4)}
.wc-products-grid .product img{display:block;width:100%;height:200px;object-fit:cover;transition:transform .4s}
.wc-products-grid .product:hover img{transform:scale(1.04)}
.wc-products-grid .product .woocommerce-loop-product__title{font-size:14px;font-weight:700;color:var(--charcoal);padding:14px 16px 6px;line-height:1.35}
.wc-products-grid .product .price{display:block;font-size:18px;font-weight:900;color:var(--charcoal);padding:0 16px 14px}
.wc-products-grid .product .price del{font-size:13px;font-weight:400;color:var(--slate);text-decoration:line-through}
.wc-products-grid .product .price ins{text-decoration:none;color:#EF4444}
.wc-products-grid .product .button,.wc-products-grid .product .add_to_cart_button{display:flex;align-items:center;justify-content:center;gap:6px;margin:0 16px 16px;padding:10px 14px;background:var(--y);color:var(--navy);border:none;border-radius:var(--r);font-size:12.5px;font-weight:800;cursor:pointer;transition:background .2s,transform .2s;text-decoration:none;width:calc(100% - 32px)}
.wc-products-grid .product .button:hover,.wc-products-grid .product .add_to_cart_button:hover{background:var(--y-dark);transform:scale(1.03)}

.woocommerce-pagination{margin-top:48px;text-align:center}
.woocommerce-pagination ul{display:inline-flex;gap:6px;list-style:none;padding:0}
.woocommerce-pagination ul li a,.woocommerce-pagination ul li span{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--r);border:1.5px solid var(--border);font-size:13px;font-weight:600;color:var(--charcoal);transition:all .2s}
.woocommerce-pagination ul li a:hover{border-color:var(--y);background:var(--y-pale)}
.woocommerce-pagination ul li span.current{background:var(--y);color:var(--navy);border-color:var(--y)}

/* Styles résiduels WC (si galerie WC native utilisée) */
.woocommerce div.product{display:block}
.woocommerce div.product .entry-summary .product_title{font-size:clamp(22px,3vw,30px);font-weight:800;color:var(--charcoal);letter-spacing:-.3px;margin-bottom:12px}
.woocommerce div.product .entry-summary .price{font-size:28px;font-weight:900;color:var(--charcoal);margin-bottom:20px;display:block}
.woocommerce div.product .entry-summary .price del{font-size:18px;color:var(--slate);font-weight:400;text-decoration:line-through}
.woocommerce div.product .entry-summary .price ins{text-decoration:none;color:#EF4444}
.woocommerce div.product .woocommerce-variation-price .price{font-size:24px;font-weight:900;color:var(--charcoal)}

.woocommerce-tabs .wc-tabs{display:flex;border-bottom:2px solid var(--border);gap:4px;list-style:none;padding:0;margin-bottom:0}
.woocommerce-tabs .wc-tabs li a{display:block;padding:12px 20px;font-size:14px;font-weight:600;color:var(--slate);border-radius:var(--r) var(--r) 0 0;transition:all .2s}
.woocommerce-tabs .wc-tabs li.active a,.woocommerce-tabs .wc-tabs li a:hover{color:var(--charcoal);background:var(--gray-bg)}
.woocommerce-tabs .wc-tabs li.active{border-bottom:2px solid var(--y);margin-bottom:-2px}
.woocommerce-Tabs-panel{padding:24px;background:var(--white);border:1px solid var(--border);border-top:none;border-radius:0 0 var(--r-lg) var(--r-lg);font-size:14.5px;color:var(--charcoal);line-height:1.7}

.woocommerce #reviews .comment_container{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--border)}
.woocommerce #reviews .star-rating{color:var(--y);font-size:14px}
.woocommerce #reviews #rating{color:var(--y)}

.woocommerce-cart .cart-collaterals .cart_totals{background:var(--gray-bg);border-radius:var(--r-lg);padding:28px;border:1px solid var(--border)}
.woocommerce-cart .cart_totals h2{font-size:18px;font-weight:800;margin-bottom:16px;color:var(--charcoal)}
.woocommerce .wc-proceed-to-checkout .checkout-button{background:var(--y);color:var(--navy);border:none;border-radius:var(--r);padding:14px 28px;font-size:15px;font-weight:800;cursor:pointer;display:block;text-align:center;transition:all .2s;width:100%}
.woocommerce .wc-proceed-to-checkout .checkout-button:hover{background:var(--y-dark);transform:translateY(-1px);box-shadow:0 4px 14px rgba(255,212,53,.4)}

/* [16] MON COMPTE — navigation (.woocommerce-MyAccount-navigation) */

.woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0;border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}
.woocommerce-MyAccount-navigation ul li a{display:block;padding:12px 16px;font-size:14px;font-weight:600;color:var(--charcoal);border-bottom:1px solid var(--border);transition:all .2s}
.woocommerce-MyAccount-navigation ul li a:hover,.woocommerce-MyAccount-navigation ul li.is-active a{background:var(--y-pale);color:var(--charcoal);padding-left:22px}
.woocommerce-MyAccount-navigation ul li:last-child a{border-bottom:none}

/* [17] PAGE DEVIS */
.page-hero{background:linear-gradient(105deg,var(--navy) 0%,var(--navy-mid) 100%);padding:40px 0 36px;position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Ccircle cx='30' cy='30' r='1.5' fill='rgba(255,212,53,0.08)'/%3E%3C/svg%3E") repeat}
.page-hero-inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.page-hero-text{color:var(--white)}
.page-hero-text .breadcrumb{display:flex;align-items:center;gap:7px;font-size:12px;color:#94A3B8;margin-bottom:10px}
.page-hero-text .breadcrumb a{color:#94A3B8;transition:color .2s}
.page-hero-text .breadcrumb a:hover{color:var(--y)}
.page-hero-text .breadcrumb span{font-size:10px;opacity:.5}
.page-hero-text h1{font-size:clamp(22px,3vw,32px);font-weight:900;letter-spacing:-.5px;margin-bottom:8px;color:var(--white)}
.page-hero-text h1 em{color:var(--y);font-style:normal}
.page-hero-text p{font-size:14px;color:#94A3B8}
.page-hero-badges{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.hero-badge{display:flex;align-items:center;gap:7px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:var(--r);padding:9px 14px;font-size:12.5px;color:#CBD5E1;font-weight:600}
.hero-badge svg{color:var(--y);flex-shrink:0}

.quote-steps{background:var(--white);border-bottom:1px solid var(--border)}
.steps-inner{display:flex;align-items:stretch;max-width:var(--max);margin:0 auto;padding:0 24px}
.step{display:flex;align-items:center;gap:10px;padding:14px 20px 14px 0;flex:1;position:relative;font-size:13px;color:var(--slate)}
.step:not(:last-child)::after{content:'›';position:absolute;right:8px;top:50%;transform:translateY(-50%);color:var(--border);font-size:18px}
.step-num{width:26px;height:26px;border-radius:50%;background:var(--border);color:var(--slate);font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.step.active .step-num{background:var(--y);color:var(--navy)}
.step.active{color:var(--charcoal);font-weight:700}
.step.done .step-num{background:#047857;color:#fff}
.step-label{white-space:nowrap}

.quote-main{padding:36px 0 60px}
.quote-layout{display:grid;grid-template-columns:1fr 380px;gap:28px;align-items:start}
.quote-list-col{display:flex;flex-direction:column;gap:16px}

.quote-list-card{background:var(--white);border-radius:var(--r-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden}
.ql-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--border);background:var(--gray-bg)}
.ql-head h2{font-size:16px;font-weight:800;color:var(--charcoal);display:flex;align-items:center;gap:9px}
.ql-head h2 span{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--y);color:var(--navy);font-size:11px;font-weight:900}
.ql-actions{display:flex;align-items:center;gap:10px}
.btn-clear{display:flex;align-items:center;gap:6px;padding:7px 13px;background:transparent;border:1px solid var(--border);border-radius:6px;font-size:12.5px;font-weight:600;color:var(--slate);cursor:pointer;transition:all .2s}
.btn-clear:hover{border-color:#EF4444;color:#EF4444;background:#FEF2F2}
.btn-update{display:flex;align-items:center;gap:6px;padding:7px 13px;background:var(--navy);color:#fff;border:none;border-radius:6px;font-size:12.5px;font-weight:700;cursor:pointer;transition:background .2s}
.btn-update:hover{background:var(--navy-mid)}
.ql-table-head{display:grid;grid-template-columns:64px 1fr 90px 110px 90px 36px;gap:12px;align-items:center;padding:10px 22px;background:var(--gray-bg2);border-bottom:1px solid var(--border);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--slate)}
.ql-items{padding:0}
.ql-row{display:grid;grid-template-columns:64px 1fr 90px 110px 90px 36px;gap:12px;align-items:center;padding:16px 22px;border-bottom:1px solid var(--border);transition:background .15s}
.ql-row:last-child{border-bottom:none}
.ql-row:hover{background:var(--gray-bg)}
.ql-prod-img{width:64px;height:64px;object-fit:cover;border-radius:6px;background:var(--border);border:1px solid var(--border)}
.ql-prod-info{min-width:0}
.ql-prod-name{font-size:13.5px;font-weight:700;color:var(--charcoal);line-height:1.35;margin-bottom:4px}
.ql-unit-price{font-size:14px;font-weight:700;color:var(--charcoal)}
.ql-qty-wrap{display:flex;align-items:center;border:1.5px solid var(--border);border-radius:7px;overflow:hidden;width:fit-content}
.ql-qty-wrap button{width:30px;height:32px;background:var(--gray-bg);border:none;cursor:pointer;font-size:16px;font-weight:700;color:var(--charcoal);display:flex;align-items:center;justify-content:center;transition:background .15s}
.ql-qty-wrap button:hover{background:var(--y-soft)}
.ql-qty-wrap input{width:36px;text-align:center;border:none;border-left:1.5px solid var(--border);border-right:1.5px solid var(--border);outline:none;font-size:13.5px;font-weight:700;height:32px;padding:0;-moz-appearance:textfield}
.ql-line-total{font-size:14px;font-weight:800;color:var(--navy)}
.ql-remove-btn{width:30px;height:30px;border-radius:6px;background:transparent;border:1px solid var(--border);color:#CBD5E1;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}
.ql-remove-btn:hover{background:#FEF2F2;border-color:#EF4444;color:#EF4444}

.ql-empty{display:flex;flex-direction:column;align-items:center;padding:60px 24px;text-align:center;gap:14px;color:var(--slate)}
.ql-empty svg{opacity:.15}
.ql-empty h3{font-size:18px;font-weight:800;color:var(--charcoal)}
.ql-empty p{font-size:14px;max-width:320px}
.ql-empty .back-link{display:inline-flex;align-items:center;gap:7px;margin-top:8px;padding:11px 22px;background:var(--navy);color:#fff;border-radius:var(--r);font-size:13.5px;font-weight:700;transition:background .2s}
.ql-empty .back-link:hover{background:var(--navy-mid)}

.ql-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;background:var(--gray-bg);border-top:1px solid var(--border);flex-wrap:wrap;gap:12px}
.ql-footer .back-shop{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--slate);transition:color .2s}
.ql-footer .back-shop:hover{color:var(--charcoal)}
.ql-totals{text-align:right}
.ql-totals .lbl{font-size:12.5px;color:var(--slate);margin-bottom:3px}
.ql-totals .total-ht{font-size:13px;color:var(--slate);margin-bottom:4px}
.ql-totals .total-ttc{font-size:22px;font-weight:900;color:var(--navy);display:flex;align-items:baseline;gap:6px;justify-content:flex-end}
.ql-totals .total-ttc small{font-size:13px;font-weight:500;color:var(--slate)}

.add-product-bar{display:flex;align-items:center;gap:14px;padding:14px 18px;background:var(--y-pale);border:1.5px dashed var(--y-dark);border-radius:var(--r);cursor:pointer;transition:background .2s;text-decoration:none}
.add-product-bar:hover{background:var(--y-soft)}
.add-product-bar p{font-size:13.5px;font-weight:600;color:var(--navy-mid);margin-bottom:2px}
.add-product-bar span{font-size:12.5px;color:var(--slate)}

.suggested-section{background:var(--white);border-radius:var(--r-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden}
.suggested-head{padding:16px 22px;border-bottom:1px solid var(--border);background:var(--gray-bg)}
.suggested-head h3{font-size:14px;font-weight:800;color:var(--charcoal);display:flex;align-items:center;gap:8px}
.suggested-head h3::before{content:'✦';color:var(--y-dark);font-size:10px}
.suggested-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.sug-item{display:flex;flex-direction:column;padding:16px;border-right:1px solid var(--border);transition:background .15s}
.sug-item:last-child{border-right:none}
.sug-item:hover{background:var(--gray-bg)}
.sug-img{width:100%;height:110px;object-fit:cover;border-radius:7px;margin-bottom:10px;background:var(--border)}
.sug-name{font-size:12.5px;font-weight:700;color:var(--charcoal);margin-bottom:4px;line-height:1.3}
.sug-price{font-size:14px;font-weight:800;color:var(--navy);margin-bottom:10px;flex:1}
.sug-add-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px;background:var(--navy);color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:700;cursor:pointer;transition:background .2s}
.sug-add-btn:hover{background:var(--navy-mid)}

.quote-form-card{background:var(--white);border-radius:var(--r-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden;position:sticky;top:92px}
.qf-head{padding:18px 22px;background:var(--navy);color:var(--white)}
.qf-head h2{font-size:16px;font-weight:900;display:flex;align-items:center;gap:9px;margin-bottom:4px;color:var(--white)}
.qf-head p{font-size:12.5px;color:#94A3B8}
.qf-body{padding:22px}
.qf-section{margin-bottom:20px}
.qf-section-title{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:var(--slate);margin-bottom:14px;display:flex;align-items:center;gap:8px}
.qf-section-title::after{content:'';flex:1;height:1px;background:var(--border)}
.form-row{display:grid;gap:12px;margin-bottom:12px}
.form-row.col2{grid-template-columns:1fr 1fr}
.form-row.col1{grid-template-columns:1fr}
.form-field{display:flex;flex-direction:column;gap:5px}
.form-field label{font-size:12px;font-weight:700;color:var(--charcoal)}
.form-field .req{color:#EF4444;margin-left:2px}
.form-field input,.form-field select,.form-field textarea{padding:10px 13px;border:1.5px solid var(--border);border-radius:7px;font-size:13.5px;color:var(--charcoal);background:var(--white);transition:border-color .2s,box-shadow .2s;font-family:inherit;width:100%}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--y-dark);box-shadow:0 0 0 3px rgba(255,212,53,.18)}
.form-field textarea{resize:vertical;min-height:90px}
.form-field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='%236B7280'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}
.form-field .field-error{font-size:11.5px;color:#EF4444;display:none}
.form-field.has-error .field-error{display:block}
.radio-group{display:flex;gap:10px}
.radio-label{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;border:1.5px solid var(--border);border-radius:6px;font-size:13px;font-weight:600;color:var(--charcoal);cursor:pointer;transition:all .15s;flex:1}
.radio-label input{display:none}
.radio-label:hover,.radio-label.selected{border-color:var(--y-dark);background:var(--y-pale);color:var(--navy)}
.check-row{display:flex;align-items:flex-start;gap:10px;margin-bottom:16px}
.check-row input[type="checkbox"]{width:16px;height:16px;margin-top:2px;accent-color:var(--navy);flex-shrink:0;cursor:pointer}
.check-row label{font-size:12.5px;color:var(--slate);cursor:pointer;line-height:1.5}
.check-row label a{color:var(--navy);font-weight:700}
.btn-submit{width:100%;display:flex;align-items:center;justify-content:center;gap:9px;padding:15px;background:var(--y);color:var(--navy);border:none;border-radius:var(--r);font-size:15px;font-weight:900;cursor:pointer;transition:all .2s;letter-spacing:.2px}
.btn-submit:hover{background:var(--y-dark);transform:translateY(-1px);box-shadow:0 6px 20px rgba(255,212,53,.4)}
.btn-submit:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.qf-trust{padding:14px 22px;background:var(--gray-bg);border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px}
.qf-trust .trust-item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--slate);background:none;border:none;padding:0}
.qf-trust .trust-item svg{color:#10B981;flex-shrink:0}

.success-overlay{display:none;position:fixed;inset:0;background:rgba(15,24,35,.85);z-index:2000;align-items:center;justify-content:center}
.success-overlay.show{display:flex}
.success-box{background:#fff;border-radius:var(--r-lg);padding:48px 40px;text-align:center;max-width:480px;width:90%;box-shadow:var(--shadow-lg)}
.success-icon{width:72px;height:72px;border-radius:50%;background:#ECFDF5;margin:0 auto 20px;display:flex;align-items:center;justify-content:center}
.success-box h2{font-size:24px;font-weight:900;color:var(--charcoal);margin-bottom:12px}
.success-box p{font-size:14.5px;color:var(--slate);line-height:1.7;margin-bottom:24px}
.success-ref{background:var(--y-pale);border:1px solid var(--y-soft);border-radius:var(--r);padding:12px 20px;font-size:13px;font-weight:700;color:var(--navy);margin-bottom:24px}
.success-ref span{color:var(--slate);font-weight:400}
.success-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.btn-back-home{display:inline-flex;align-items:center;gap:7px;padding:11px 22px;background:var(--navy);color:#fff;border-radius:var(--r);font-size:13.5px;font-weight:700;transition:background .2s}
.btn-back-home:hover{background:var(--navy-mid)}
.btn-back-shop{display:inline-flex;align-items:center;gap:7px;padding:11px 22px;background:var(--y);color:var(--navy);border-radius:var(--r);font-size:13.5px;font-weight:700;transition:background .2s}
.btn-back-shop:hover{background:var(--y-dark)}

@media(max-width:960px){.quote-layout{grid-template-columns:1fr}.quote-form-card{position:static}.ql-table-head{display:none}.ql-row{grid-template-columns:64px 1fr 36px;grid-template-rows:auto auto}.ql-row .ql-remove-btn{grid-column:3;grid-row:1;align-self:start}.ql-unit-price,.ql-qty-wrap,.ql-line-total{grid-column:2}.suggested-grid{grid-template-columns:1fr}.sug-item{border-right:none;border-bottom:1px solid var(--border)}.form-row.col2{grid-template-columns:1fr}}
@media(max-width:680px){.page-hero-badges{display:none}.steps-inner{gap:0}.step{padding:12px 8px 12px 0}.step-label{font-size:11px}}

/* [17bis] PAGE CONTACT (page-templates/template-contact.php) */
.contact-main{padding:40px 0 64px}
.contact-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:28px;align-items:start}
.contact-form-card{background:var(--white);border-radius:var(--r-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden}
.contact-form-body{padding:26px}

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

.contact-info-card{background:var(--white);border-radius:var(--r-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);padding:24px 22px;margin-bottom:16px}
.contact-info-card h2{font-size:15px;font-weight:900;color:var(--charcoal);margin-bottom:16px}
.contact-info-item{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);color:inherit;transition:color .15s}
.contact-info-item:last-child{border-bottom:none;padding-bottom:0}
.contact-info-item:first-child{padding-top:0}
a.contact-info-item:hover{color:var(--navy)}
.cii-ico{flex-shrink:0;width:36px;height:36px;border-radius:50%;background:var(--y-pale);color:var(--navy);display:flex;align-items:center;justify-content:center}
.cii-body{display:flex;flex-direction:column;gap:2px}
.cii-body strong{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--slate)}
.cii-body span{font-size:14px;font-weight:600;color:var(--charcoal);line-height:1.4}
.contact-trust{background:var(--gray-bg);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px 20px;display:flex;flex-direction:column;gap:10px}
.contact-trust .trust-item{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--slate);background:none;border:none;padding:0}
.contact-trust .trust-item svg{color:#10B981;flex-shrink:0}

@media(max-width:960px){.contact-layout{grid-template-columns:1fr}}

/* [18] TAXONOMIE PA_MARQUE (pages marque) */
.hero-marque{background:linear-gradient(105deg,var(--navy) 0%,var(--navy-mid) 100%);padding:44px 0 40px;position:relative;overflow:hidden}
.hero-marque-inner{display:flex;align-items:center;gap:40px;flex-wrap:wrap}
.hero-marque-brand{display:flex;align-items:center;gap:20px;flex-shrink:0}
.brand-badge{width:76px;height:76px;border-radius:16px;background:linear-gradient(135deg,#1C2B3A 0%,#2D3F52 100%);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(0,0,0,.4);flex-shrink:0;font-size:34px;font-weight:900;color:white;font-style:italic;border:2px solid rgba(255,255,255,.15);overflow:hidden}
.brand-badge-img img{width:60px;height:60px;object-fit:contain}
.hero-marque-text h1{font-size:clamp(22px,3.5vw,36px);font-weight:900;color:var(--white);letter-spacing:-.5px;margin-bottom:8px}
.hero-marque-text h1 em{color:var(--y);font-style:normal}
.hero-marque-text p{font-size:14.5px;color:#94A3B8}
.hero-stats{display:flex;gap:28px;flex-wrap:wrap;margin-left:auto}
.hero-stat{text-align:center}
.hero-stat strong{display:block;font-size:28px;font-weight:900;color:var(--y);line-height:1}
.hero-stat span{font-size:12px;color:#94A3B8;margin-top:4px;display:block}

.marque-page-wrap{padding:40px 0 72px}
.marque-model-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px;padding:16px;background:var(--white);border-radius:var(--r-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm)}
.mmf-btn{padding:8px 18px;border:1.5px solid var(--border);border-radius:99px;font-size:13px;font-weight:600;color:var(--slate);background:var(--white);cursor:pointer;transition:all .2s}
.mmf-btn:hover{border-color:var(--y);color:var(--charcoal);background:var(--y-pale)}
.mmf-btn.active{border-color:var(--y);background:var(--y);color:var(--navy);font-weight:800}

.marque-reass{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:28px 32px;background:var(--navy-mid);border-radius:var(--r-lg);margin:40px 0}
.marque-reass-item{display:flex;align-items:center;gap:12px}
.marque-reass-item svg{flex-shrink:0}
.marque-reass-item strong{display:block;font-size:13px;font-weight:800;color:var(--white);margin-bottom:2px}
.marque-reass-item span{font-size:12px;color:#94A3B8}

.marque-others{margin:48px 0 32px}
.marque-others h2{font-size:20px;font-weight:900;color:var(--charcoal);margin-bottom:20px;letter-spacing:-.3px}
.marque-brands-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.mb-chip{display:flex;flex-direction:column;align-items:center;gap:5px;background:var(--white);border:1.5px solid var(--border);border-radius:var(--r);padding:14px 10px;text-decoration:none;transition:all .2s;text-align:center}
.mb-chip:hover{border-color:var(--y);background:var(--y-pale);transform:translateY(-2px)}
.mb-chip.is-current{border-color:var(--y);background:var(--y-soft);pointer-events:none}
.mb-icon{width:40px;height:40px;border-radius:50%;background:var(--gray-bg2);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:900;font-style:italic;color:var(--navy);overflow:hidden}
.mb-icon img{width:36px;height:36px;object-fit:contain}
.mb-name{font-size:12px;font-weight:700;color:var(--charcoal)}
.mb-count{font-size:10.5px;color:var(--slate)}
.mb-chip.is-current .mb-name{color:var(--navy)}

.marque-seo{background:var(--white);border-radius:var(--r-lg);border:1px solid var(--border);padding:36px;margin-top:48px}
.marque-seo h2{font-size:20px;font-weight:900;color:var(--charcoal);margin-bottom:16px;padding-bottom:14px;border-bottom:2px solid var(--y-soft)}
.marque-seo-body p{font-size:14px;color:var(--slate);line-height:1.8;margin-bottom:14px}
.marque-empty{text-align:center;padding:60px 24px}
.marque-empty p{font-size:15px;color:var(--slate);margin-bottom:20px}

@media(max-width:1100px){.marque-brands-grid{grid-template-columns:repeat(4,1fr)}.marque-reass{grid-template-columns:repeat(2,1fr)}}
@media(max-width:860px){.hero-marque-inner{flex-direction:column;align-items:flex-start}.hero-stats{margin-left:0}.marque-brands-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.marque-brands-grid{grid-template-columns:repeat(2,1fr)}.marque-model-filter{gap:6px}.mmf-btn{font-size:12px;padding:6px 13px}}

/* [19] VARIATIONS — pill buttons (remplacent les <select> natifs) */
table.variations.var-table-hidden{display:none!important}
.var-group{margin-bottom:20px}
.var-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--charcoal);margin-bottom:10px;display:block}
.options-list.var-options{display:flex;flex-wrap:wrap;gap:8px}
.opt-btn{padding:8px 16px;border-radius:var(--r);border:2px solid var(--border);font-size:13px;font-weight:600;background:#fff;color:var(--charcoal);cursor:pointer;transition:all .15s;line-height:1}
.opt-btn:hover{border-color:var(--y);background:var(--y-pale)}
.opt-btn.active{border-color:var(--y);background:var(--y);color:var(--navy)}
.opt-btn.unavailable{opacity:.38;cursor:not-allowed;text-decoration:line-through;pointer-events:none}

.btn-devis-product{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 20px;border:2px solid var(--navy);background:transparent;color:var(--navy);border-radius:var(--r);font-size:13.5px;font-weight:700;cursor:pointer;transition:all .15s;margin-top:10px}
.btn-devis-product:hover{background:var(--navy);color:#fff}

/* [20] PAGE PANIER — refonte v2 */
.cart-page{background:var(--gray-bg);padding:40px 0 80px;min-height:60vh}
.cart-page .cart-page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}
.cart-page .cart-page-header h1{font-size:clamp(22px,2.6vw,30px);font-weight:900;color:var(--charcoal);display:flex;align-items:center;gap:12px;margin:0}
.cart-header-badge{background:var(--navy);color:#fff;font-size:12px;font-weight:800;padding:2px 9px;border-radius:99px}
.continue-link{font-size:13.5px;font-weight:600;color:var(--slate);text-decoration:none;transition:color .15s}
.continue-link:hover{color:var(--navy)}

/* Notices dans la page panier (ex: "cadeau gratuit supprimé") — encart intégré */
.cart-page .woocommerce-notices-wrapper:empty{display:none}
.cart-page .woocommerce-info,
.cart-page .woocommerce-message,
.cart-page .woocommerce-error{display:flex;align-items:flex-start;gap:10px;border-radius:var(--r-lg);border:1px solid;padding:14px 18px;margin:0 0 20px;font-size:13.5px;font-weight:500;line-height:1.5;box-shadow:0 1px 2px rgba(15,24,35,.04)}
.cart-page .woocommerce-info{background:var(--y-pale);border-color:var(--y-soft);color:var(--charcoal);border-left:4px solid var(--y)}
.cart-page .woocommerce-info::before{content:"";flex:0 0 18px;width:18px;height:18px;margin-top:1px;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23FFB800'%3E%3Cpath d='M12 2a10 10 0 100 20 10 10 0 000-20zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z'/%3E%3C/svg%3E")}

.cart-empty-wrap{display:flex;flex-direction:column;gap:28px}
.cart-empty-hero{background:var(--navy);border-radius:20px;overflow:hidden;position:relative}
.ceh-bg{position:absolute;inset:0;opacity:.04;background-image:radial-gradient(circle,#FFD435 1px,transparent 1px);background-size:28px 28px;pointer-events:none}
.ceh-main{display:grid;grid-template-columns:240px 1fr;align-items:center;padding:60px 56px;position:relative;z-index:1}
.ceh-icon-col{display:flex;justify-content:center;align-items:center}
.ceh-illustration{width:160px;height:160px;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 0 32px rgba(255,212,53,.12))}
.ceh-text-col{padding-left:48px}
.ceh-eyebrow{display:inline-flex;align-items:center;gap:6px;background:rgba(255,212,53,.1);color:var(--y);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1.4px;padding:4px 12px;border-radius:99px;margin-bottom:20px}
.ceh-title{font-size:clamp(26px,2.8vw,38px);font-weight:900;color:#fff;letter-spacing:-.5px;line-height:1.15;margin-bottom:14px}
.ceh-title em{font-style:normal;color:var(--y)}
.ceh-desc{font-size:14.5px;color:#94A3B8;line-height:1.65;margin-bottom:32px;max-width:420px}
.ceh-actions{display:flex;gap:12px;flex-wrap:wrap}
.ceh-btn-main{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;background:var(--y);color:var(--navy);font-size:14px;font-weight:800;border-radius:var(--r);text-decoration:none;transition:all .2s}
.ceh-btn-main:hover{background:var(--y-dark);transform:translateY(-1px)}
.ceh-btn-outline{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;background:transparent;color:#fff;font-size:13.5px;font-weight:600;border-radius:var(--r);border:1.5px solid rgba(255,255,255,.15);text-decoration:none;transition:all .2s}
.ceh-btn-outline:hover{border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.04)}
.ceh-trust{border-top:1px solid rgba(255,255,255,.06);padding:18px 56px;display:flex;align-items:center;position:relative;z-index:1}
.ceh-trust-item{display:flex;align-items:center;gap:10px;font-size:12.5px;color:#64748B;font-weight:500;padding:0 32px;border-left:1px solid rgba(255,255,255,.06);flex:1;justify-content:center}
.ceh-trust-item:first-child{padding-left:0;border-left:none}
.ceh-trust-icon{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:rgba(16,185,129,.1);flex-shrink:0}

.ceb-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.ceb-header h3{font-size:17px;font-weight:900;color:var(--charcoal);display:flex;align-items:center;gap:8px;margin:0}
.ceb-header a{font-size:13px;color:var(--navy);font-weight:700;text-decoration:none;transition:color .2s}
.ceb-header a:hover{color:var(--slate)}
.ceb-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ceb-card{background:#fff;border:1.5px solid var(--border);border-radius:var(--r-lg);overflow:hidden;transition:box-shadow .2s,border-color .2s,transform .2s;display:flex;flex-direction:column}
.ceb-card:hover{box-shadow:0 8px 28px rgba(15,24,35,.09);border-color:rgba(15,24,35,.14);transform:translateY(-2px)}
.ceb-img-wrap{position:relative;aspect-ratio:1;background:var(--gray-bg);overflow:hidden;display:block}
.ceb-img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.ceb-card:hover .ceb-img{transform:scale(1.05)}
.ceb-badge{position:absolute;top:10px;left:10px;background:var(--navy);color:var(--y);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;padding:3px 8px;border-radius:4px}
.ceb-body{padding:14px;display:flex;flex-direction:column;gap:5px;flex:1}
.ceb-name{font-size:13px;font-weight:700;color:var(--charcoal);text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4;transition:color .15s}
.ceb-name:hover{color:var(--navy)}
.ceb-foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:10px;border-top:1px solid var(--border);gap:8px}
.ceb-price{font-size:15px;font-weight:900;color:var(--charcoal);line-height:1.2}
.ceb-price del{font-size:11.5px;font-weight:400;color:var(--slate);text-decoration:line-through}
.ceb-price ins{text-decoration:none;color:#EF4444}
.ceb-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;background:var(--y);color:var(--navy);border:none;border-radius:var(--r);cursor:pointer;transition:background .15s,transform .15s}
.ceb-btn:hover{background:var(--y-dark);transform:scale(1.08)}

/* Notification « cadeau offert » du plugin Free Gifts (FGF), rendue via
   wc_print_notices() sur la page panier. On cible le .woocommerce-info qui
   contient .fgf-notice-content-wrapper (:has) pour styliser UNIQUEMENT cette
   notif cadeau — les autres infos WooCommerce gardent leur rendu générique.
   Remplace l'ancienne barre .gift-progress-card codée en dur (seuil fixe). */
.cart-page .woocommerce-info:has(.fgf-notice-content-wrapper){
  display:flex;align-items:center;gap:14px;
  background:linear-gradient(135deg,var(--y-pale),#fff 70%);
  border:1px solid var(--y-soft);border-left:4px solid var(--y);
  border-radius:var(--r-lg);padding:15px 20px;margin:0 0 24px;
  box-shadow:0 2px 10px rgba(255,212,53,.12);
  font-size:14px;font-weight:600;color:var(--charcoal);line-height:1.45}
.cart-page .woocommerce-info:has(.fgf-notice-content-wrapper)::before{
  content:"🎁";flex:0 0 auto;width:auto;height:auto;margin:0;
  background:none;font-size:24px;line-height:1}
.cart-page .woocommerce-info:has(.fgf-notice-content-wrapper) .fgf-notice-content-wrapper{flex:1}
.cart-page .woocommerce-info:has(.fgf-notice-content-wrapper) p{margin:0}
.cart-page .woocommerce-info:has(.fgf-notice-content-wrapper) .woocommerce-Price-amount{
  font-weight:800;color:var(--navy);white-space:nowrap}

@media(max-width:860px){
  .ceh-main{grid-template-columns:1fr;padding:40px 28px;text-align:center}
  .ceh-icon-col{margin-bottom:24px}
  .ceh-text-col{padding-left:0}
  .ceh-desc{max-width:none}
  .ceh-actions{justify-content:center}
  .ceh-trust{padding:16px 24px;flex-wrap:wrap;gap:10px}
  .ceh-trust-item{flex:none;padding:8px 16px;font-size:12px;border-left:none;border-top:1px solid rgba(255,255,255,.06);justify-content:flex-start;width:100%}
  .ceh-trust-item:first-child{border-top:none;padding-top:0}
  .ceb-grid{grid-template-columns:repeat(2,1fr);gap:12px}
}
@media(max-width:480px){
  .ceh-main{padding:32px 20px}
  .ceh-trust{padding:14px 20px}
}

.cart-layout{display:grid;grid-template-columns:1fr 340px;gap:24px;align-items:start}

.cart-table-card{background:#fff;border-radius:var(--r-lg);border:1px solid var(--border);overflow:hidden;margin-bottom:16px}
.cart-table-head{display:grid;grid-template-columns:1fr 100px 130px 90px 36px;gap:8px;padding:12px 20px;background:var(--gray-bg);border-bottom:1px solid var(--border);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--slate)}
.cart-row{display:grid;grid-template-columns:1fr 100px 130px 90px 36px;gap:8px;padding:16px 20px;border-bottom:1px solid var(--border);align-items:center;transition:background .15s, opacity .25s, transform .25s}
.cart-row:last-child{border-bottom:none}
.cart-row:hover{background:var(--gray-bg)}

.cart-row-product{display:flex;align-items:center;gap:12px;min-width:0}
.cart-prod-img{width:68px;height:68px;object-fit:cover;border-radius:var(--r);border:1px solid var(--border);flex-shrink:0}
.cart-prod-info{min-width:0}
.cart-prod-name{font-size:13.5px;font-weight:700;color:var(--charcoal);text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.35;transition:color .15s}
.cart-prod-name:hover{color:var(--navy)}
.cart-prod-meta{font-size:11.5px;color:var(--slate);margin-top:2px}
.cart-row-price{font-size:14px;font-weight:600;color:var(--charcoal)}
.cart-row-total{font-size:14px;font-weight:800;color:var(--charcoal)}

.cart-qty-wrap{display:flex;align-items:center;border:1.5px solid var(--border);border-radius:var(--r);overflow:hidden;width:fit-content}
.cart-qty-minus,.cart-qty-plus{width:30px;height:34px;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:300;cursor:pointer;background:var(--gray-bg);color:var(--charcoal);border:none;transition:background .15s;user-select:none;line-height:1}
.cart-qty-minus:hover,.cart-qty-plus:hover{background:var(--y-pale)}
.qty-val{width:38px;height:34px;text-align:center;border:none;border-left:1.5px solid var(--border);border-right:1.5px solid var(--border);outline:none;font-size:13px;font-weight:700;color:var(--charcoal);background:#fff;padding:0;-moz-appearance:textfield}
.qty-val::-webkit-inner-spin-button,.qty-val::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.cart-row-remove-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:1.5px solid var(--border);border-radius:50%;cursor:pointer;color:var(--slate);transition:all .15s;padding:0}
.cart-row-remove-btn:hover{border-color:#EF4444;color:#EF4444;background:#FEF2F2}

.cart-coupon-card{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);padding:16px 20px}
.cart-coupon-title{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--charcoal);margin-bottom:12px}
.cart-coupon-row{display:flex;gap:8px}
.cart-coupon-input{flex:1;padding:10px 14px;border:1.5px solid var(--border);border-radius:var(--r);font-size:13.5px;outline:none;transition:border-color .15s}
.cart-coupon-input:focus{border-color:var(--navy)}
.cart-coupon-btn{padding:10px 18px;background:var(--navy);color:#fff;border:none;border-radius:var(--r);font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .15s}
.cart-coupon-btn:hover{background:var(--charcoal)}
.cart-coupon-btn{display:flex;align-items:center;justify-content:center;min-width:88px}
.cart-coupon-applied{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px}
.cart-coupon-applied:empty{margin-top:0}
.coupon-tag{background:var(--y-pale);color:var(--navy);border:1px solid var(--y-soft);font-size:12px;font-weight:700;padding:4px 10px;border-radius:99px;display:inline-flex;align-items:center;gap:5px;transition:opacity .2s}
.coupon-tag a{color:var(--slate);text-decoration:none;font-size:14px;line-height:1;transition:color .15s}
.coupon-tag a:hover{color:#EF4444}
.coupon-feedback{margin-top:10px;font-size:12.5px;font-weight:600;border-radius:var(--r);padding:0;max-height:0;overflow:hidden;transition:all .2s}
.coupon-feedback.is-success,.coupon-feedback.is-error{padding:9px 13px;max-height:80px}
.coupon-feedback.is-success{background:#F0FDF4;border:1px solid #BBF7D0;color:#15803D}
.coupon-feedback.is-error{background:#FEF2F2;border:1px solid #FECACA;color:#991B1B}
.summary-line.summary-discount span:last-child{color:#15803D;font-weight:700}

.order-summary-card{position:sticky;top:90px;background:#fff;border-radius:var(--r-lg);border:1px solid var(--border);overflow:hidden}
.summary-head{background:var(--navy);color:#fff;padding:15px 20px;font-size:15px;font-weight:800;display:flex;align-items:center;gap:10px}
.summary-body{padding:20px}
.summary-lines{margin-bottom:20px;display:flex;flex-direction:column;gap:10px}
.summary-line{display:flex;justify-content:space-between;align-items:center;font-size:13.5px}
.summary-line span:first-child{color:var(--slate)}
.summary-line span:last-child{font-weight:600;color:var(--charcoal)}
.summary-shipping span:last-child{color:#10B981;font-weight:700}
.summary-shipping-methods{margin:2px 0 4px}
.summary-shipping-methods .ssm-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--slate);margin-bottom:8px}
.summary-shipping-methods #shipping_method{display:flex;flex-direction:column;gap:8px}
.summary-sep{height:1px;background:var(--border);margin:4px 0}
.summary-total{font-size:15px;font-weight:800}
.summary-total span:last-child{font-size:18px;font-weight:900}
.summary-ht{font-size:11.5px;color:var(--slate);text-align:right;margin-top:-6px}
.btn-checkout{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:15px;background:var(--y);color:var(--navy);text-align:center;font-size:15px;font-weight:900;border-radius:var(--r);text-decoration:none;transition:all .2s;margin-bottom:10px;border:none;cursor:pointer}
.btn-checkout:hover{background:var(--y-dark);transform:translateY(-1px);box-shadow:0 6px 20px rgba(255,212,53,.45);color:var(--navy)}
.btn-devis-cta{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:12px;border:1.5px solid var(--navy);background:transparent;color:var(--navy);text-align:center;font-size:13px;font-weight:700;border-radius:var(--r);text-decoration:none;transition:all .15s;margin-bottom:16px;cursor:pointer}
.btn-devis-cta:hover{background:var(--navy);color:#fff}
.summary-trust{background:var(--gray-bg);border-radius:var(--r);padding:14px;display:flex;flex-direction:column;gap:8px}
.summary-trust .trust-item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--slate);background:none;border:none;padding:0;flex-direction:row;text-align:left}

@media(max-width:900px){
  .cart-layout{grid-template-columns:1fr}
  .order-summary-card{position:static}
  .cart-table-head{display:none}
  .cart-row{grid-template-columns:1fr auto;gap:12px}
  .cart-row-product{grid-column:1/-1}
  .cart-row-price{font-size:12px}
  .cart-row-remove{justify-self:end}
}

/* [21] CONTENU PRODUIT MIGRÉ WPBakery → Gutenberg — classes cpw-*, portée .desc-body
   Gutenberg applique flex-basis en inline (priorité 1000) : on surclasse avec !important
   et on soustrait le gap proportionnellement → flex-basis = calc(X% - VAR_GAP * X/100) */

.desc-body .wp-block-columns.cpw-row{
  --cpw-gap:32px;
  display:flex!important;
  flex-wrap:nowrap!important;  /* on gère le responsive nous-mêmes */
  gap:var(--cpw-gap)!important;
  margin:0 0 28px!important;
  align-items:flex-start!important
}
.desc-body .wp-block-columns.cpw-row:last-child{margin-bottom:0!important}

.desc-body .wp-block-column.cpw-col{min-width:0!important;flex-shrink:0!important;flex-grow:0!important}
.desc-body .wp-block-column.cpw-col-100{flex-basis:100%!important}
.desc-body .wp-block-column.cpw-col-83{flex-basis:calc(83% - var(--cpw-gap)*.83)!important}
.desc-body .wp-block-column.cpw-col-80{flex-basis:calc(80% - var(--cpw-gap)*.80)!important}
.desc-body .wp-block-column.cpw-col-75{flex-basis:calc(75% - var(--cpw-gap)*.75)!important}
.desc-body .wp-block-column.cpw-col-67{flex-basis:calc(67% - var(--cpw-gap)*.67)!important}
.desc-body .wp-block-column.cpw-col-60{flex-basis:calc(60% - var(--cpw-gap)*.60)!important}
.desc-body .wp-block-column.cpw-col-50{flex-basis:calc(50% - var(--cpw-gap)*.50)!important}
.desc-body .wp-block-column.cpw-col-40{flex-basis:calc(40% - var(--cpw-gap)*.40)!important}
.desc-body .wp-block-column.cpw-col-33{flex-basis:calc(33% - var(--cpw-gap)*.33)!important}
.desc-body .wp-block-column.cpw-col-25{flex-basis:calc(25% - var(--cpw-gap)*.25)!important}
.desc-body .wp-block-column.cpw-col-20{flex-basis:calc(20% - var(--cpw-gap)*.20)!important}
.desc-body .wp-block-column.cpw-col-17{flex-basis:calc(17% - var(--cpw-gap)*.17)!important}

.desc-body .wp-block-group.cpw-section{margin:0 0 28px}
.desc-body .wp-block-group.cpw-section:last-child{margin-bottom:0}

.desc-body .wp-block-group.cpw-content{height:100%}

.desc-body .wp-block-heading.cpw-heading,
.desc-body h2.cpw-heading,
.desc-body h3.cpw-heading,
.desc-body h4.cpw-heading{font-size:13px;font-weight:700;color:var(--navy);text-transform:uppercase;letter-spacing:.07em;margin:22px 0 10px;line-height:1.3}
.desc-body .wp-block-heading.cpw-heading:first-child,
.desc-body h2.cpw-heading:first-child,
.desc-body h3.cpw-heading:first-child,
.desc-body h4.cpw-heading:first-child{margin-top:0}

.desc-body p.cpw-para{font-size:15.5px;line-height:1.72;color:var(--slate);margin:0 0 12px}
.desc-body p.cpw-para:last-child{margin-bottom:0}

.desc-body .wp-block-list.cpw-list{list-style:none;padding:0;margin:0 0 14px}
.desc-body .wp-block-list.cpw-list:last-child{margin-bottom:0}
.desc-body .wp-block-list.cpw-list li{position:relative;padding-left:20px;font-size:15.5px;line-height:1.55;color:var(--slate);margin-bottom:6px}
.desc-body .wp-block-list.cpw-list li::before{content:'';position:absolute;left:0;top:8px;width:7px;height:7px;background:var(--y);border-radius:50%}
.desc-body .wp-block-list.cpw-list li:last-child{margin-bottom:0}

.desc-body .wp-block-column.cpw-col .wp-block-image{margin:0}
.desc-body .wp-block-column.cpw-col .wp-block-image img{width:100%;height:auto;max-height:300px;object-fit:contain;border-radius:8px;display:block}

.desc-body img{max-width:300px!important;max-height:300px!important;width:auto!important;height:auto!important;display:block;border-radius:8px}

@media(max-width:700px){
  .desc-body .wp-block-columns.cpw-row{flex-wrap:wrap!important;gap:20px!important}
  .desc-body .wp-block-column.cpw-col-83,
  .desc-body .wp-block-column.cpw-col-80,
  .desc-body .wp-block-column.cpw-col-75,
  .desc-body .wp-block-column.cpw-col-67,
  .desc-body .wp-block-column.cpw-col-60,
  .desc-body .wp-block-column.cpw-col-50,
  .desc-body .wp-block-column.cpw-col-40,
  .desc-body .wp-block-column.cpw-col-33,
  .desc-body .wp-block-column.cpw-col-25,
  .desc-body .wp-block-column.cpw-col-20,
  .desc-body .wp-block-column.cpw-col-17{flex-basis:100%!important}
}

/* [22] [products] SHORTCODE DANS LA DESCRIPTION PRODUIT — .desc-body uniquement
   NB : le thème remplace <ul.products> par <div.wc-archive-products> via woocommerce_product_loop_start */

.desc-body .wc-archive-products{
  grid-template-columns:repeat(2,1fr)!important;
  gap:10px!important;
  margin:14px 0 0!important
}

.desc-body .wc-archive-products .prod-img-wrap{display:block!important;width:100%!important}
.desc-body .wc-archive-products .prod-img{display:block!important;width:100%!important;height:115px!important;object-fit:cover!important}

.desc-body .wc-archive-products .prod-body{padding:10px!important}

.desc-body .wc-archive-products .prod-name{
  font-size:12px!important;
  line-height:1.3!important;
  margin-bottom:6px!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  flex:none!important
}

.desc-body .wc-archive-products .prod-footer{
  flex-direction:column!important;
  align-items:stretch!important;
  gap:6px!important;
  padding-top:8px!important
}

.desc-body .wc-archive-products .prod-pricing .woocommerce-Price-amount,
.desc-body .wc-archive-products .prod-price{
  font-size:14px!important;
  font-weight:800!important;
  color:var(--charcoal)!important;
  line-height:1.2!important
}

.desc-body .wc-archive-products .btn-add{
  width:100%!important;
  font-size:11.5px!important;
  padding:7px 10px!important;
  justify-content:center!important
}

.desc-body .wc-archive-products .prod-brand,
.desc-body .wc-archive-products .prod-compat,
.desc-body .wc-archive-products .prod-rating{display:none!important}

/* [22bis] TABLEAUX DE CARACTÉRISTIQUES — .desc-body table
   2 structures rencontrées dans le contenu collé depuis les fiches fournisseurs :
   - avec <thead> explicite (table classique à en-tête)
   - sans <thead> : table Gutenberg basique, la 1ère ligne du <tbody> (cellules
     <th>) sert d'en-tête — cas le plus courant (figure.wp-block-table) */
.desc-body table{width:100%;border-collapse:collapse;margin:24px 0;border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;font-size:13.5px}
.desc-body caption{background:var(--navy);color:var(--white);font-size:13px;font-weight:800;text-align:left;padding:12px 16px;caption-side:top}

/* Ligne d'en-tête */
.desc-body table thead th,
.desc-body table:not(:has(thead)) tr:first-child th{background:var(--navy);color:var(--white);font-size:10px;font-weight:700;padding:11px 16px;text-align:left;letter-spacing:.04em;text-transform:uppercase}

/* Cellule d'en-tête de ligne (1ère colonne des lignes de données) */
.desc-body table th[scope="row"],
.desc-body table:has(thead) tbody th,
.desc-body table:not(:has(thead)) tr:not(:first-child) th{width:46%;background:var(--gray-bg);color:var(--navy-mid);font-weight:600;text-align:left;padding:11px 16px;border-bottom:1px solid var(--border);vertical-align:top}

.desc-body table tbody tr:nth-child(even){background:var(--gray-bg)}
.desc-body table tbody tr:hover{background:var(--gray-bg2)}
.desc-body table tbody tr:nth-child(even) th{background:var(--gray-bg2)}
.desc-body table td{padding:11px 16px;color:var(--charcoal);font-weight:600;border-bottom:1px solid var(--border);vertical-align:top}
.desc-body table tr:last-child th,
.desc-body table tr:last-child td{border-bottom:none}

/* Sous 600px : chaque ligne devient une petite carte empilée (label au-dessus
   de la valeur) plutot que de comprimer 2 colonnes sur un ecran etroit */
@media(max-width:600px){
  .desc-body table,
  .desc-body table tbody,
  .desc-body table tr,
  .desc-body table th,
  .desc-body table td{display:block;width:auto}
  .desc-body table tr{margin-bottom:8px;border:1px solid var(--border);border-radius:var(--r);overflow:hidden}
  .desc-body table th{border-bottom:none;padding-bottom:4px;font-size:11.5px;text-transform:uppercase;letter-spacing:.03em}
  .desc-body table td{padding-top:0;border-bottom:none}
}

/* [23] CHECKOUT CLASSIQUE — shortcode [woocommerce_checkout], template woocommerce/checkout/form-checkout.php */

body.woocommerce-checkout { background:var(--gray-bg); }
body.woocommerce-checkout .site-main { padding:36px 0 80px; }

.cto-layout {
  display:grid;
  grid-template-columns:1fr 390px;
  gap:32px;
  align-items:start;
}

.cto-main { counter-reset:cto-step; }

.woocommerce-form-login-toggle {
  background:var(--gray-bg);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  padding:14px 20px;
  margin-bottom:16px;
  font-size:13.5px;
  color:var(--slate);
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.woocommerce-form-login-toggle .woocommerce-info {
  background:none !important;
  border:none !important;
  padding:0 !important;
  margin:0 !important;
  list-style:none;
  font-size:13.5px;
  color:var(--slate);
}

.woocommerce-form-login-toggle .woocommerce-info li,
.woocommerce-form-login-toggle .woocommerce-info::before { display:none; }

.woocommerce-form-login-toggle a,
.woocommerce-form-coupon-toggle a,
.woocommerce-form-login-toggle .showlogin,
.woocommerce-form-coupon-toggle .showcoupon {
  color:var(--navy);
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:2px;
  font-size:13px;
  transition:color .15s;
}

.woocommerce-form-login-toggle a:hover,
.woocommerce-form-coupon-toggle a:hover { color:var(--y-dark); }

.woocommerce-form-login {
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  padding:24px;
  margin-bottom:16px;
}

.woocommerce-form-coupon-toggle {
  display:none; /* WC gère l'affichage, le wrapper est souvent superflu */
}

.cto-aside .woocommerce-form-coupon-toggle,
.woocommerce-checkout-payment .woocommerce-form-coupon-toggle {
  display:block;
}

.coupon-checkout-section {
  border-top:1px solid var(--border);
  padding:14px 22px;
}

.coupon-checkout-section .woocommerce-form-coupon-toggle {
  display:flex !important;
  background:none;
  border:none;
  padding:0;
  margin:0;
  align-items:center;
  gap:8px;
  font-size:13px;
  font-weight:700;
  color:var(--navy);
  cursor:pointer;
}

.coupon-checkout-section .woocommerce-form-coupon-toggle .woocommerce-info {
  background:none !important;
  border:none !important;
  padding:0 !important;
  margin:0 !important;
  list-style:none;
  font-size:13px;
  font-weight:700;
  color:var(--navy);
}

/* Formulaire coupon WooCommerce (affiché par le JS WC) */
.woocommerce-form-coupon-toggle + form.checkout_coupon,
form.checkout_coupon.woocommerce-form-coupon {
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  padding:20px 24px;
  margin-bottom:16px;
  display:none; /* WC gère le toggle via .showcoupon */
}

.woocommerce-form-coupon-toggle + form.checkout_coupon p:first-child,
form.checkout_coupon > p:first-of-type {
  font-size:13.5px;
  color:var(--slate);
  margin-bottom:14px;
  line-height:1.5;
}

form.checkout_coupon .form-row { margin:0 !important; padding:0; float:none; width:auto; }

form.checkout_coupon .form-row-first,
form.checkout_coupon .form-row-last { display:inline-block; vertical-align:top; }

form.checkout_coupon .form-row-first { width:calc(100% - 130px); padding-right:10px; }
form.checkout_coupon .form-row-last { width:120px; }

form.checkout_coupon input[type="text"] {
  width:100%;
  padding:11px 14px;
  border:1.5px solid var(--border);
  border-radius:var(--r);
  font-size:14px;
  outline:none;
  font-family:inherit;
  color:var(--charcoal);
  transition:border-color .2s;
}

form.checkout_coupon input[type="text"]:focus { border-color:var(--navy); }

form.checkout_coupon input[type="text"]::placeholder { color:#9CA3AF; }

form.checkout_coupon .button {
  display:block;
  width:100%;
  padding:11px 16px;
  background:var(--navy);
  color:var(--white);
  border:none;
  border-radius:var(--r);
  font-size:13.5px;
  font-weight:700;
  cursor:pointer;
  transition:background .2s;
  text-align:center;
  white-space:nowrap;
}

form.checkout_coupon .button:hover { background:var(--navy-mid); }

form.checkout_coupon .clear { display:none; }

.cto-section {
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  padding:28px 30px;
  margin-bottom:20px;
  box-shadow:var(--shadow-sm);
  counter-increment:cto-step;
}

.cto-section h3 {
  font-size:16px;
  font-weight:800;
  color:var(--charcoal);
  margin:0 0 22px;
  display:flex;
  align-items:center;
  gap:11px;
  letter-spacing:-.2px;
  border:none;
  padding:0;
}

.cto-section h3::before {
  content:counter(cto-step);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  min-width:26px;
  background:var(--navy);
  color:var(--white);
  border-radius:50%;
  font-size:13px;
  font-weight:800;
  line-height:1;
  flex-shrink:0;
}

.cto-section .woocommerce-billing-fields__field-wrapper,
.cto-section .woocommerce-shipping-fields__field-wrapper {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.cto-section .form-row-first,
.cto-section .form-row-last {
  float:none;
  width:auto;
  margin:0;
  padding:0;
}

.cto-section .form-row-wide,
.cto-section .clear,
.cto-section .woocommerce-additional-fields,
.cto-section #billing_phone_field,
.cto-section #billing_email_field,
.cto-section #billing_address_1_field,
.cto-section #billing_address_2_field,
.cto-section #billing_company_field,
.cto-section #billing_country_field,
.cto-section #shipping_address_1_field,
.cto-section #shipping_address_2_field,
.cto-section #shipping_company_field,
.cto-section #shipping_country_field {
  grid-column:1/-1;
}

.cto-section .form-row label,
.cto-section label {
  font-size:12.5px;
  font-weight:700;
  color:var(--charcoal);
  display:block;
  margin-bottom:5px;
}

.cto-section abbr[title] { color:#EF4444; text-decoration:none; }

.cto-section input.input-text,
.cto-section select,
.cto-section textarea {
  padding:11px 14px;
  border:1.5px solid var(--border);
  border-radius:var(--r);
  font-size:14px;
  color:var(--charcoal);
  background:var(--white);
  width:100%;
  outline:none;
  transition:border-color .2s, box-shadow .2s;
  appearance:none;
  font-family:inherit;
  box-shadow:none;
  height:auto;
}

.cto-section input.input-text:focus,
.cto-section select:focus,
.cto-section textarea:focus {
  border-color:var(--navy);
  box-shadow:0 0 0 3px rgba(15,24,35,.08);
}

.cto-section input.input-text::placeholder { color:#9CA3AF; }
.cto-section textarea { min-height:90px; resize:vertical; }

.cto-section .woocommerce-validated input.input-text { border-color:#10B981; }
.cto-section .woocommerce-invalid input.input-text { border-color:#EF4444; }
.cto-section .woocommerce-invalid label { color:#EF4444; }

.cto-section .woocommerce-input-wrapper .description { display:none; }

h3#ship-to-different-address {
  display:flex;
  align-items:center;
  gap:0;
  padding:0;
  margin:0;
  background:none;
  border:none;
  font-size:inherit;
}

/* Label conteneur = le toggle visible */
h3#ship-to-different-address label.woocommerce-form__label-for-checkbox,
h3#ship-to-different-address label {
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  padding:14px 18px;
  background:var(--gray-bg2);
  border:1.5px solid var(--border);
  border-radius:var(--r);
  font-size:14px;
  font-weight:700;
  color:var(--charcoal);
  cursor:pointer;
  transition:background .15s, border-color .15s;
  margin-bottom:0;
  line-height:1.3;
}

h3#ship-to-different-address label:hover {
  background:var(--y-pale);
  border-color:var(--y-dark);
}

h3#ship-to-different-address input[type=checkbox] {
  accent-color:var(--navy);
  width:18px;
  height:18px;
  flex-shrink:0;
  cursor:pointer;
  margin:0;
}

.shipping_address {
  margin-top:16px;
}

/* La tr.shipping dans la tfoot du tableau : on la sort du flux table */
table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals.shipping,
table.woocommerce-checkout-review-order-table tfoot tr.shipping {
  border-top:none;
}

table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals th,
table.woocommerce-checkout-review-order-table tfoot tr.shipping th {
  display:none; /* masque le label "Livraison" — les méthodes se décrivent elles-mêmes */
}

table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals td,
table.woocommerce-checkout-review-order-table tfoot tr.shipping td {
  padding:12px 22px 0;
  border-top:none;
  text-align:left;
}

#shipping_method {
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}

#shipping_method li {
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 16px;
  border:2px solid var(--border);
  border-radius:var(--r);
  cursor:pointer;
  transition:border-color .2s, background .2s;
  background:var(--white);
  position:relative;
}

#shipping_method li:hover {
  border-color:var(--y-dark);
  background:var(--y-pale);
}

/* Méthode sélectionnée : WC ajoute .chosen ou on le gère via :has */
#shipping_method li:has(input:checked) {
  border-color:var(--navy);
  background:var(--y-pale);
}

#shipping_method li input[type=radio] {
  accent-color:var(--navy);
  width:17px;
  height:17px;
  flex-shrink:0;
  cursor:pointer;
  margin:0;
}

#shipping_method label {
  font-size:13px;
  font-weight:600;
  color:var(--charcoal);
  cursor:pointer;
  flex:1;
  margin:0;
  line-height:1.4;
}

#shipping_method label .woocommerce-Price-amount {
  color:var(--navy);
  font-weight:800;
}

.cto-aside .woocommerce-shipping-totals + tr.order-total,
table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals + tr {
  border-top:1px solid var(--border);
}

.cto-aside {
  position:sticky;
  top:90px;
}

.woocommerce-checkout-review-order {
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
  margin-bottom:16px;
}

h3#order_review_heading {
  font-size:14px;
  font-weight:800;
  color:var(--white);
  background:var(--navy);
  padding:18px 22px;
  margin:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border:none;
}

table.woocommerce-checkout-review-order-table {
  width:100%;
  border-collapse:collapse;
}

table.woocommerce-checkout-review-order-table thead th {
  background:var(--gray-bg);
  color:var(--slate);
  font-size:10.5px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.07em;
  padding:10px 22px;
  text-align:left;
  border-bottom:1px solid var(--border);
}

table.woocommerce-checkout-review-order-table tbody tr {
  border-bottom:1px solid var(--border);
}

table.woocommerce-checkout-review-order-table tbody td {
  padding:12px 22px;
  color:var(--charcoal);
  font-size:13.5px;
  vertical-align:middle;
  line-height:1.45;
}

table.woocommerce-checkout-review-order-table tbody td.product-name { font-weight:600; }
table.woocommerce-checkout-review-order-table tbody td.product-total {
  font-weight:700;
  color:var(--navy);
  text-align:right;
  white-space:nowrap;
}

table.woocommerce-checkout-review-order-table tfoot tr th,
table.woocommerce-checkout-review-order-table tfoot tr td {
  padding:9px 22px;
  font-size:13.5px;
  border-top:1px solid var(--border);
  border-bottom:none;
}

table.woocommerce-checkout-review-order-table tfoot tr th {
  color:var(--slate);
  font-weight:500;
  text-align:left;
}

table.woocommerce-checkout-review-order-table tfoot tr td {
  color:var(--charcoal);
  font-weight:600;
  text-align:right;
}

table.woocommerce-checkout-review-order-table tfoot .shipping td { color:#10B981; font-weight:700; }

table.woocommerce-checkout-review-order-table tfoot .order-total th,
table.woocommerce-checkout-review-order-table tfoot .order-total td {
  padding:14px 22px;
  font-size:15px;
  font-weight:800;
  border-top:2px solid var(--border);
}

table.woocommerce-checkout-review-order-table tfoot .order-total th { color:var(--charcoal); }
table.woocommerce-checkout-review-order-table tfoot .order-total td { text-align:right; }
table.woocommerce-checkout-review-order-table tfoot .order-total td strong {
  color:var(--navy);
  font-size:22px;
  font-weight:900;
}

/* ── Zone paiement (maintenant dans .cto-section.cto-payment, colonne gauche) ── */
#payment {
  background:none;
  border:none;
  padding:0;
  margin:0;
}

/* Titre de section paiement : override counter pour afficher icône à la place */
.cto-payment h3 {
  display:flex;
  align-items:center;
  gap:11px;
  font-size:16px;
  font-weight:800;
  color:var(--charcoal);
  margin:0 0 22px;
  letter-spacing:-.2px;
  border:none;
  padding:0;
}

.cto-payment h3::before {
  content:counter(cto-step);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  min-width:26px;
  background:var(--navy);
  color:var(--white);
  border-radius:50%;
  font-size:13px;
  font-weight:800;
  line-height:1;
  flex-shrink:0;
}

#payment .wc_payment_methods {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  list-style:none;
  padding:0;
  margin:0 0 16px;
}

#payment .wc_payment_method {
  background:var(--white);
  border:2px solid var(--border);
  border-radius:var(--r);
  padding:18px 14px;
  cursor:pointer;
  transition:all .2s;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  text-align:center;
}

#payment .wc_payment_method:has(input[type=radio]:checked),
#payment .wc_payment_method:hover {
  border-color:var(--navy);
  background:var(--y-pale);
}

#payment .wc_payment_method input[type=radio] { display:none; }

#payment .wc_payment_method > label {
  font-size:13px;
  font-weight:700;
  color:var(--charcoal);
  cursor:pointer;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  margin:0;
  width:100%;
}

#payment .wc_payment_method > label img {
  height:30px;
  width:auto;
  object-fit:contain;
}

#payment .payment_box {
  background:var(--gray-bg);
  border:1.5px solid var(--border);
  border-radius:var(--r);
  padding:14px 16px;
  margin-top:10px;
  font-size:13px;
  color:var(--slate);
  line-height:1.6;
  width:100%;
}

#payment .payment_box p { margin:0; font-size:13px; color:var(--slate); }

#payment .woocommerce-terms-and-conditions-wrapper {
  font-size:13px;
  color:var(--slate);
  margin-top:16px;
  line-height:1.55;
  display:flex;
  align-items:flex-start;
  gap:10px;
}

#payment .woocommerce-terms-and-conditions-wrapper input[type=checkbox] {
  width:16px;
  height:16px;
  margin-top:3px;
  accent-color:var(--navy);
  flex-shrink:0;
  cursor:pointer;
}

.woocommerce-privacy-policy-text {
  font-size:11.5px;
  color:var(--slate);
  margin-top:8px;
  line-height:1.5;
  padding:0;
}

.woocommerce-privacy-policy-text a { color:var(--navy); text-decoration:underline; }

.place-order { padding:4px 0 0; }

#place_order,
.woocommerce-checkout #payment #place_order {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:100%;
  padding:16px 24px;
  margin-top:16px;
  background:var(--y);
  color:var(--navy);
  border:none;
  border-radius:var(--r);
  font-size:16px;
  font-weight:900;
  cursor:pointer;
  transition:all .2s;
  letter-spacing:.02em;
  line-height:1;
}

#place_order:hover,
.woocommerce-checkout #payment #place_order:hover {
  background:var(--y-dark);
  transform:translateY(-2px);
  box-shadow:0 8px 24px rgba(255,212,53,.45);
}

.woocommerce-NoticeGroup { margin-bottom:20px; }

.woocommerce-error,
.woocommerce-message,
.woocommerce-info {
  border-radius:var(--r);
  padding:13px 18px;
  margin-bottom:16px;
  font-size:13.5px;
  font-weight:600;
  list-style:none;
}

.woocommerce-error { background:#FEF2F2; border-left:4px solid #EF4444; color:#991B1B; }
.woocommerce-message { background:#F0FDF4; border-left:4px solid #10B981; color:#14532D; }
.woocommerce-info { background:#EFF6FF; border-left:4px solid #3B82F6; color:#1E40AF; }

.cto-help-card {
  background:var(--y-pale);
  border:1px solid var(--y-soft);
  border-radius:var(--r-lg);
  padding:18px 20px;
  margin-bottom:16px;
}

.cto-help-title {
  display:flex;
  align-items:center;
  gap:9px;
  font-size:14px;
  font-weight:800;
  color:var(--navy);
  margin-bottom:9px;
}

.cto-help-card p {
  font-size:13px;
  color:var(--slate);
  line-height:1.65;
}

.cto-help-card p a { color:var(--navy); font-weight:700; text-decoration:none; }
.cto-help-card p a:hover { color:var(--y-dark); text-decoration:underline; }
.cto-help-card p strong { color:var(--charcoal); }
.cto-help-card p span { font-size:12px; display:block; margin-top:4px; }

.cto-ratings-block {
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  padding:14px 20px;
  display:flex;
  align-items:center;
  gap:14px;
  box-shadow:var(--shadow-sm);
}

.cto-stars {
  color:var(--y);
  font-size:18px;
  letter-spacing:-1px;
  flex-shrink:0;
}

.cto-ratings-block strong { font-size:14px; color:var(--charcoal); }
.cto-ratings-block span { font-size:12.5px; color:var(--slate); }
.cto-ratings-sub { font-size:11px; display:block; color:var(--slate); margin-top:2px; }

@media(max-width:960px) {
  body.woocommerce-checkout .site-main { padding:24px 0 60px; }
  .cto-layout { grid-template-columns:1fr; gap:20px; }
  .cto-aside { position:static; order:-1; } /* récap en haut sur mobile */
}

@media(max-width:600px) {
  body.woocommerce-checkout .site-main { padding:16px 0 48px; }
  .cto-section { padding:20px 18px; border-radius:var(--r); }
  .cto-section .woocommerce-billing-fields__field-wrapper,
  .cto-section .woocommerce-shipping-fields__field-wrapper { grid-template-columns:1fr; }
  #payment .wc_payment_methods { grid-template-columns:1fr 1fr; }
  .cto-section h3 { font-size:15px; }
  h3#order_review_heading { padding:16px 18px; }
  table.woocommerce-checkout-review-order-table thead th,
  table.woocommerce-checkout-review-order-table tbody td,
  table.woocommerce-checkout-review-order-table tfoot tr th,
  table.woocommerce-checkout-review-order-table tfoot tr td { padding-left:14px; padding-right:14px; }
}

@media(max-width:480px) {
  .cto-section { padding:18px 14px; }
  table.woocommerce-checkout-review-order-table tfoot .order-total td strong { font-size:18px; }
  #payment .wc_payment_methods { grid-template-columns:1fr; }
  form.checkout_coupon .form-row-first,
  form.checkout_coupon .form-row-last { width:100%; padding-right:0; display:block; margin-bottom:10px !important; }
}

/* [24] CONFIRMATION COMMANDE (woocommerce_order_received) — design de référence confirmation-c.html */

body.woocommerce-order-received { background:var(--gray-bg); }
body.woocommerce-order-received .site-main { padding:0 0 80px; }

body.woocommerce-order-received .site-main {
  background:linear-gradient(to bottom, var(--navy-mid) 260px, var(--gray-bg) 260px);
}

.woocommerce-order-received .woocommerce {
  max-width:var(--max, 1200px);
  margin:0 auto;
  padding:48px 24px 0;
}

.woocommerce-thankyou-order-received {
  text-align:center;
  font-size:clamp(22px,3vw,32px);
  font-weight:900;
  color:var(--white);
  letter-spacing:-.4px;
  margin:0 auto 20px;
  max-width:640px;
}

.woocommerce-order-overview {
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  display:flex;
  flex-wrap:wrap;
  gap:0;
  margin-bottom:32px;
  overflow:hidden;
  list-style:none;
  padding:0;
  box-shadow:var(--shadow-sm);
}

.woocommerce-order-overview li {
  flex:1;
  min-width:140px;
  padding:18px 20px;
  border-right:1px solid var(--border);
  border-bottom:none;
  text-align:center;
  list-style:none;
}

.woocommerce-order-overview li:last-child { border-right:none; }

.woocommerce-order-overview li > strong:first-child {
  display:block;
  font-size:10.5px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.8px;
  color:var(--slate);
  margin-bottom:5px;
}

.woocommerce-order-overview li > strong:last-child,
.woocommerce-order-overview li > span {
  font-size:14px;
  font-weight:700;
  color:var(--charcoal);
  display:block;
}

.woocommerce-order-overview li > .woocommerce-Price-amount { font-size:14px; font-weight:800; color:var(--navy); }

.woocommerce-order-received .woocommerce > *:not(.woocommerce-thankyou-order-received):not(.woocommerce-order-overview) {
  margin-top:0;
}

.woocommerce-order-details,
.woocommerce-customer-details {
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
  margin-bottom:20px;
  padding:0;
}

.woocommerce-order-details__title {
  font-size:15px;
  font-weight:800;
  color:var(--charcoal);
  padding:18px 24px;
  margin:0;
  border-bottom:1px solid var(--border);
  background:var(--gray-bg);
  display:flex;
  align-items:center;
  gap:10px;
}

.woocommerce-order-details > .woocommerce-table--order-details { margin:0; }

.woocommerce-column__title {
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:1.1px;
  color:var(--slate);
  margin:0 0 12px;
  padding:0;
  display:flex;
  align-items:center;
  gap:7px;
  background:transparent;
  border:none;
}

.woocommerce-customer-details .col2-set {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  padding:24px;
}

.woocommerce-customer-details .col2-set .col-1 {
  padding-right:24px;
  border-right:1px solid var(--border);
}

.woocommerce-customer-details .col2-set .col-2 {
  padding-left:24px;
}

.woocommerce-customer-details address {
  font-style:normal;
  font-size:14px;
  color:var(--charcoal);
  line-height:1.7;
}

.woocommerce-table--order-details {
  width:100%;
  border-collapse:collapse;
}

.woocommerce-table--order-details thead th {
  text-align:left;
  padding:12px 24px;
  background:var(--gray-bg2);
  border-bottom:1px solid var(--border);
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.6px;
  color:var(--slate);
}

.woocommerce-table--order-details thead th:last-child { text-align:right; }

.woocommerce-table--order-details tbody td {
  padding:16px 24px;
  border-bottom:1px solid var(--border);
  font-size:14px;
  vertical-align:middle;
  color:var(--charcoal);
}

.woocommerce-table--order-details tbody tr:last-child td { border-bottom:none; }

.woocommerce-table--order-details .product-name { font-weight:700; color:var(--charcoal); }

.woocommerce-table--order-details .product-total {
  font-weight:800;
  color:var(--navy);
  text-align:right;
  white-space:nowrap;
}

.woocommerce-table--order-details tfoot tr th,
.woocommerce-table--order-details tfoot tr td {
  padding:10px 24px;
  border-top:1px solid var(--border);
  font-size:13.5px;
  border-bottom:none;
}

.woocommerce-table--order-details tfoot tr th { color:var(--slate); font-weight:500; text-align:left; }
.woocommerce-table--order-details tfoot tr td { font-weight:600; color:var(--charcoal); text-align:right; }

.woocommerce-table--order-details tfoot .order-total th,
.woocommerce-table--order-details tfoot .order-total td {
  font-size:16px;
  font-weight:800;
  color:var(--navy);
  border-top:2px solid var(--border);
  padding-top:14px;
}

.woocommerce-table--order-details tfoot .order-total td .woocommerce-Price-amount {
  color:var(--navy);
  font-weight:900;
  font-size:20px;
}

.woocommerce-order-actions,
.woocommerce-order-again,
.order-again { margin-top:24px; text-align:center; }

.woocommerce-order-again .button,
.order-again .button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:13px 28px;
  background:var(--y);
  color:var(--navy);
  border:none;
  border-radius:var(--r);
  font-size:14px;
  font-weight:800;
  cursor:pointer;
  transition:all .2s;
  text-decoration:none;
}

.woocommerce-order-again .button:hover,
.order-again .button:hover { background:var(--y-dark); transform:translateY(-1px); }

@media(max-width:680px) {
  body.woocommerce-order-received .site-main {
    background:linear-gradient(to bottom, var(--navy-mid) 200px, var(--gray-bg) 200px);
  }
  .woocommerce-order-received .woocommerce { padding:32px 20px 0; }
  .woocommerce-order-overview { flex-direction:column; }
  .woocommerce-order-overview li { border-right:none; border-bottom:1px solid var(--border); text-align:left; }
  .woocommerce-order-overview li:last-child { border-bottom:none; }
  .woocommerce-customer-details .col2-set { grid-template-columns:1fr; padding:20px; }
  .woocommerce-customer-details .col2-set .col-1 { padding-right:0; border-right:none; border-bottom:1px solid var(--border); padding-bottom:20px; }
  .woocommerce-customer-details .col2-set .col-2 { padding-left:0; padding-top:20px; }
  .woocommerce-table--order-details thead th,
  .woocommerce-table--order-details tbody td,
  .woocommerce-table--order-details tfoot tr th,
  .woocommerce-table--order-details tfoot tr td { padding-left:16px; padding-right:16px; }
}

/* [25] RESPONSIVE — complément */
@media(max-width:860px){
  .woocommerce-checkout .col2-set,
  .woocommerce-checkout #customer_details{display:block}
  .woocommerce-checkout .col2-set .col-1,
  .woocommerce-checkout .col2-set .col-2{float:none!important;width:100%!important;margin-right:0!important}
  .woocommerce-checkout .col2-set .col-2{margin-top:28px}
  .woocommerce-tabs .wc-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;scrollbar-width:none}
  .woocommerce-tabs .wc-tabs::-webkit-scrollbar{display:none}
  .woocommerce-tabs .wc-tabs li a{padding:10px 14px;font-size:13px;white-space:nowrap}
  .woocommerce-checkout #order_review{width:100%!important;float:none!important}
}
@media(max-width:600px){
  .woocommerce-tabs .wc-tabs li a{padding:9px 12px;font-size:12.5px}
  .woo-main{padding:24px 0}
  .woocommerce-breadcrumb{font-size:12px}
}
@media(max-width:480px){
  .wc-archive-products{grid-template-columns:1fr 1fr}
  .woocommerce-tabs .wc-tabs li a{padding:8px 10px;font-size:12px}
  .woocommerce-checkout .col2-set .col-2{margin-top:20px}
}

/* [26] LOGIN / REGISTER — form-login.php */
.login-page-wrap{min-height:55vh;display:flex;align-items:center;padding:60px 0 80px}
.login-page-wrap>.container{width:100%}
.login-card{display:grid;grid-template-columns:380px 1fr;width:100%;border-radius:20px;overflow:hidden;box-shadow:0 20px 60px rgba(15,24,35,.14)}

.login-brand{background:var(--navy);padding:44px 36px;display:flex;flex-direction:column;position:relative;overflow:hidden;gap:28px}
.lb-deco{position:absolute;inset:0;opacity:.04;background-image:radial-gradient(circle,#FFD435 1px,transparent 1px);background-size:26px 26px;pointer-events:none}
.lb-header{position:relative;z-index:1}
.lb-logo-mark{width:48px;height:48px;background:var(--y);border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:900;color:var(--navy);letter-spacing:-.5px;margin-bottom:22px}
.lb-favicon{width:32px;height:32px;object-fit:contain;border-radius:6px;margin-bottom:22px;display:block}
.lb-title{font-size:clamp(18px,1.8vw,24px);font-weight:900;color:#fff;letter-spacing:-.3px;line-height:1.2;margin-bottom:10px}
.lb-desc{font-size:13.5px;color:#64748B;line-height:1.65;margin:0}
.lb-illustration{position:relative;z-index:1;display:flex;justify-content:center}
.lb-features{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;position:relative;z-index:1;padding-top:4px;border-top:1px solid rgba(255,255,255,.07);margin-top:auto}
.lb-feature{display:flex;align-items:center;gap:10px;font-size:13px;color:#94A3B8;font-weight:500}
.lb-check{width:20px;height:20px;border-radius:50%;background:rgba(16,185,129,.15);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#10B981}

.login-forms{background:#fff;padding:44px 40px;display:flex;flex-direction:column}
.lforms-title{display:flex;align-items:center;gap:9px;font-size:18px;font-weight:800;color:var(--navy);margin:0 0 28px;letter-spacing:-.2px}

.login-tabs{display:flex;gap:0;background:var(--gray-bg);border-radius:var(--r);padding:4px;margin-bottom:28px;flex-shrink:0}
.ltab{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:10px 14px;background:transparent;border:none;border-radius:6px;font-size:13px;font-weight:600;color:var(--slate);cursor:pointer;transition:all .18s;font-family:inherit;white-space:nowrap}
.ltab.is-active{background:#fff;color:var(--navy);font-weight:800;box-shadow:0 1px 5px rgba(0,0,0,.09)}

.lform{display:none}
.lform.is-active{display:flex;flex-direction:column;flex:1}
.lform form{display:flex;flex-direction:column;flex:1}
.lform .form-group{margin-bottom:17px}
.lform .form-group label{display:block;font-size:11.5px;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:.75px;margin-bottom:6px}
.lform .form-group label .required{color:#EF4444;text-decoration:none;margin-left:1px}
.input-wrap{position:relative;display:block}
.lform input.input-text{width:100%;padding:11px 15px;border:1.5px solid var(--border);border-radius:var(--r);font-size:14px;color:var(--charcoal);background:#fff;outline:none;transition:border-color .18s,box-shadow .18s;font-family:inherit;box-sizing:border-box;-webkit-appearance:none}
.lform input.input-text:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(15,24,35,.07)}
.lform input.has-toggle{padding-right:44px}
.pw-toggle-btn{position:absolute;right:0;top:0;height:46px;width:44px;display:flex;align-items:center;justify-content:center;padding:0;background:none;border:none;cursor:pointer;color:var(--slate);transition:color .15s;line-height:0}
.pw-toggle-btn:hover{color:var(--charcoal)}
.lform .show-password-input{display:none}
.lform-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;gap:8px}
.remember-label{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--slate);cursor:pointer;font-weight:500;text-transform:none;letter-spacing:0}
.remember-label input[type=checkbox]{width:15px;height:15px;accent-color:var(--navy);cursor:pointer;flex-shrink:0}
.lost-pw{font-size:12.5px;color:var(--slate);text-decoration:none;transition:color .15s;font-weight:600;white-space:nowrap}
.lost-pw:hover{color:var(--navy)}
.btn-lform{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:13px;background:var(--y);color:var(--navy);border:none;border-radius:var(--r);font-size:15px;font-weight:800;cursor:pointer;transition:background .18s,transform .15s;font-family:inherit;letter-spacing:-.1px}
.btn-lform:hover{background:var(--y-dark);transform:translateY(-1px)}
.privacy-note{font-size:12px;color:var(--slate);line-height:1.65;margin:0 0 18px}
.privacy-note a{color:var(--navy);font-weight:600}
.lform-switch{margin-top:18px;font-size:13px;color:var(--slate);text-align:center}
.lform-switch-btn{background:none;border:none;color:var(--navy);font-weight:700;font-size:13px;cursor:pointer;padding:0;font-family:inherit;text-decoration:underline;text-underline-offset:2px}
.lform-switch-btn:hover{color:var(--navy-mid)}

.lform .woocommerce-privacy-policy-text{font-size:12px;color:var(--slate);line-height:1.65;margin:4px 0 20px}
.lform .woocommerce-privacy-policy-text a{color:var(--navy);font-weight:600;text-decoration:none}
.lform .woocommerce-privacy-policy-text a:hover{text-decoration:underline}

.login-forms .woocommerce-NoticeGroup{width:100%;margin-bottom:20px}
.login-forms .woocommerce-error,.login-forms .woocommerce-message,.login-forms .woocommerce-info{width:100%;box-sizing:border-box;margin:0 0 8px;padding:12px 16px;list-style:none}
.login-forms .woocommerce-error li,.login-forms .woocommerce-message li,.login-forms .woocommerce-info li{list-style:none;padding:0;margin:0;line-height:1.5}

.lost-pw-card{grid-template-columns:320px 1fr}
.lost-pw-back{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--slate);text-decoration:none;font-weight:600;margin-top:20px;transition:color .15s}
.lost-pw-back:hover{color:var(--navy)}

.lp-notice{padding:12px 16px;border-radius:var(--r);font-size:13.5px;font-weight:600;margin-bottom:18px;line-height:1.5}
.lp-notice--error{background:#FEF2F2;border-left:4px solid #EF4444;color:#991B1B}
.lp-notice--success{background:#F0FDF4;border-left:4px solid #10B981;color:#14532D}

.lp-confirm{display:flex;flex-direction:column;align-items:center;text-align:center;padding:32px 16px;flex:1}
.lp-confirm__icon{width:56px;height:56px;background:#F0FDF4;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:20px;border:2px solid #D1FAE5}
.lp-confirm__title{font-size:20px;font-weight:900;color:var(--navy);margin:0 0 12px;letter-spacing:-.2px}
.lp-confirm__msg{font-size:14px;color:var(--charcoal);line-height:1.65;margin:0 0 16px;max-width:340px}
.lp-confirm__spam{display:flex;align-items:flex-start;gap:7px;font-size:12.5px;color:var(--slate);line-height:1.55;background:var(--y-pale);border:1px solid var(--y-soft);border-radius:var(--r);padding:10px 14px;text-align:left;max-width:340px}
.lp-confirm__spam svg{flex-shrink:0;margin-top:1px}

@keyframes lp-spin{to{transform:rotate(360deg)}}
.lp-spin{animation:lp-spin .8s linear infinite;flex-shrink:0}

@media(max-width:860px){
  .login-card{grid-template-columns:1fr}
  .login-brand{padding:32px 28px}
  .lb-illustration{display:none}
  .lb-features{flex-direction:row;flex-wrap:wrap;gap:8px;border-top:none;padding-top:0}
  .lb-feature{font-size:12px}
  .login-forms{padding:32px 28px}
}
@media(max-width:480px){
  .login-page-wrap{padding:24px 0 48px}
  .login-card{border-radius:14px;margin:0 16px;width:calc(100% - 32px)}
  .login-forms{padding:24px 20px}
  .login-brand{padding:24px 20px}
  .lb-deco{display:none}
  .ltab{font-size:12px;padding:9px 10px}
}
