*{margin:0;padding:0;box-sizing:border-box}
:root{--blanc:#FAFAFA;--noir:#111;--rouge:#FF1744;--rouge2:#D50000;--orange:#FF6D00;--gris:#666;--gris2:#E0E0E0;--gris3:#F5F5F5;--vert:#00B67A}
body{font-family:'Roboto',sans-serif;background:var(--blanc);color:var(--noir);overflow-x:hidden;border-radius:0!important}
html{border-radius:0!important}
h1,h2,h3,h4{font-family:'Bebas Neue',sans-serif;letter-spacing:2px}

/* Reset boutons — empeche les styles WordPress/WC parasites */
button,input[type="button"],input[type="submit"],.wp-element-button{color:inherit;background:inherit;border:inherit;font:inherit;border-radius:0;-webkit-appearance:none;appearance:none}

/* Topbar flash */
.topbar{background:var(--rouge);color:#fff;text-align:center;padding:12px;font-family:'Bebas Neue',sans-serif;font-size:16px;letter-spacing:3px;animation:flash 2s infinite}
@keyframes flash{0%,100%{opacity:1}50%{opacity:.85}}

/* Nav */
.nav{position:sticky;top:0;z-index:1000;background:rgba(250,250,250,0.97);backdrop-filter:blur(10px);border-bottom:2px solid var(--noir);padding:0 40px;display:flex;justify-content:space-between;align-items:center;height:80px;transition:transform .3s ease,box-shadow .3s,background .3s}
.logo{flex-shrink:0;text-decoration:none;display:flex;align-items:center}
.logo img{height:61px;display:block}
.nav-center{display:flex;gap:0;list-style:none;height:100%;align-items:stretch;position:absolute;left:50%;transform:translateX(-50%)}
.nav-item{position:relative;display:flex;align-items:center;height:100%}
.nav-item>a{color:var(--noir);text-decoration:none;font-size:13px;text-transform:uppercase;font-weight:700;letter-spacing:1px;transition:.3s;padding:0 18px;height:100%;display:flex;align-items:center;border-bottom:3px solid transparent}
.nav-item>a:hover,.nav-item:hover>a{color:var(--rouge);border-bottom-color:var(--rouge)}

/* Dropdown menus */
.nav-dropdown{position:absolute;top:100%;left:0;min-width:220px;background:#fff;border:2px solid var(--noir);opacity:0;visibility:hidden;transform:translateY(5px);transition:all .25s ease;z-index:100;box-shadow:0 15px 40px rgba(0,0,0,0.12);border-radius:10px;overflow:hidden}
.nav-item:hover .nav-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.nav-dropdown a{display:block;padding:12px 20px;color:var(--noir);text-decoration:none;font-size:13px;font-weight:500;letter-spacing:.5px;transition:.2s;border-bottom:1px solid #f0f0f0}
.nav-dropdown a:last-child{border-bottom:none}
.nav-dropdown a:hover{background:var(--noir);color:#fff;padding-left:25px}

/* Icônes nav */
.nav-icons{display:flex;align-items:center;gap:18px;flex-shrink:0}
.nav-icon{background:none;border:none;cursor:pointer;color:var(--noir);position:relative;width:38px;height:38px;display:flex;align-items:center;justify-content:center;transition:.3s}
@media(hover:hover){.nav-icon:hover{color:var(--rouge)}}
.nav-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.nav-icon .badge{position:absolute;top:2px;right:2px;background:var(--rouge);color:#fff;font-size:10px;font-weight:700;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Bebas Neue',sans-serif}

/* Barre de recherche */
.search-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:2000;opacity:0;visibility:hidden;transition:.3s;backdrop-filter:blur(3px)}
.search-overlay.open{opacity:1;visibility:visible}
.search-box{position:fixed;top:0;left:0;right:0;background:#fff;z-index:2001;padding:20px 40px;transform:translateY(-100%);transition:transform .35s cubic-bezier(.25,.46,.45,.94);display:flex;align-items:center;gap:15px;box-shadow:0 10px 40px rgba(0,0,0,0.15);border-radius:0 0 12px 12px}
.search-box.open{transform:translateY(0)}
.search-box input{flex:1;padding:16px 20px;border:2px solid var(--noir);font-size:16px;font-family:'Roboto',sans-serif;outline:none;border-radius:8px}
.search-box input:focus{border-color:var(--rouge)}
.search-box .search-close{background:none;border:none;cursor:pointer;font-size:28px;color:var(--noir);padding:10px;transition:.3s}
@media(hover:hover){.search-box .search-close:hover{color:var(--rouge)}}

/* Resultats de recherche */
.search-resultats{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;max-height:60vh;overflow-y:auto;box-shadow:0 15px 40px rgba(0,0,0,0.15);z-index:10;border-radius:0 0 12px 12px}
.search-item{display:flex;align-items:center;gap:14px;padding:12px 20px;text-decoration:none;color:var(--noir);border-bottom:1px solid var(--gris2);transition:background .2s}
.search-item:last-child{border-bottom:none}
@media(hover:hover){.search-item:hover{background:var(--gris3)}}
.search-item img{width:55px;height:55px;object-fit:cover;border-radius:6px;border:1px solid var(--gris2);flex-shrink:0}
.search-item-info{display:flex;flex-direction:column;gap:2px;min-width:0}
.search-item-nom{font-size:13px;font-weight:600;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.search-item-prix{font-family:'Bebas Neue',sans-serif;font-size:20px;color:var(--rouge)}
.search-vide{padding:20px;text-align:center;color:var(--gris);font-size:14px}

/* Panier drawer */
.cart-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:2000;opacity:0;visibility:hidden;transition:.3s}
.cart-overlay.open{opacity:1;visibility:visible}
.cart-drawer{position:fixed;top:0;right:0;bottom:0;width:420px;max-width:90vw;background:#fff;z-index:2001;transform:translateX(100%);transition:transform .4s cubic-bezier(.25,.46,.45,.94);display:flex;flex-direction:column;box-shadow:-10px 0 40px rgba(0,0,0,0.15);border-radius:12px 0 0 12px}
.cart-drawer.open{transform:translateX(0)}
.cart-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:2px solid var(--noir)}
.cart-header h3{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:3px}
.cart-header .cart-count-label{font-family:'Roboto',sans-serif;font-size:13px;color:var(--gris);font-weight:400;letter-spacing:0;margin-left:8px}
.cart-header button{background:none;border:none;font-size:26px;cursor:pointer;color:var(--noir);transition:.3s;line-height:1}
.cart-header button:hover{color:var(--rouge)}
/* Barre livraison gratuite */
.cart-shipping-bar{padding:12px 20px;background:var(--gris3);border-bottom:1px solid var(--gris2)}
.cart-shipping-text{font-size:13px;color:var(--noir);text-align:center;margin-bottom:8px;font-weight:500}
.cart-shipping-text strong{color:var(--rouge)}
.cart-shipping-text.unlocked{color:var(--vert);font-weight:700}
.cart-shipping-text.unlocked strong{color:var(--vert)}
.cart-shipping-track{height:6px;background:var(--gris2);border-radius:3px;overflow:hidden;position:relative}
.cart-shipping-fill{height:100%;background:linear-gradient(90deg,var(--rouge),var(--vert));border-radius:3px;transition:width .6s cubic-bezier(.25,.46,.45,.94);width:0}
.cart-shipping-fill.complete{background:var(--vert);animation:shippingPulse .6s ease}
@keyframes shippingPulse{0%{transform:scaleY(1)}50%{transform:scaleY(1.8)}100%{transform:scaleY(1)}}
@keyframes confetti{0%{opacity:1;transform:translateY(0) rotate(0deg)}100%{opacity:0;transform:translateY(-30px) rotate(360deg)}}
.cart-shipping-bar .confetti-dot{position:absolute;width:5px;height:5px;border-radius:50%;animation:confetti .8s ease forwards;pointer-events:none}
/* Urgence drawer */
.cart-urgency{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#FFF8E1;border-bottom:1px solid #FFE082;font-size:12px;color:#F57F17;font-weight:600}
.cart-urgency .urgency-dot{width:8px;height:8px;border-radius:50%;background:#F57F17;animation:pulse 1.5s ease infinite;flex-shrink:0}
.cart-urgency strong{color:#E65100}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}
/* Corps du panier */
.cart-body{flex:1;padding:0;overflow-y:auto;display:flex;flex-direction:column}
.cart-items{padding:0}
.cart-empty{text-align:center;padding:50px 20px;color:var(--gris)}
.cart-empty p{font-size:14px;margin-bottom:20px}
.cart-empty a{display:inline-block;background:var(--noir);color:#fff;padding:12px 30px;font-family:'Bebas Neue',sans-serif;font-size:15px;letter-spacing:2px;text-decoration:none;transition:.3s;border-radius:8px}
.cart-empty a:hover{background:var(--rouge)}
/* Item du panier */
.cart-item{display:flex;gap:14px;padding:16px 20px;border-bottom:1px solid var(--gris2);position:relative;animation:cartItemIn .35s ease}
@keyframes cartItemIn{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}
.cart-item-img{width:80px;height:80px;border:1px solid var(--gris2);flex-shrink:0;overflow:hidden;background:var(--gris3);border-radius:8px}
.cart-item-img img{width:100%;height:100%;object-fit:cover}
.cart-item-details{flex:1;display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:0}
.cart-item-name{font-family:'Bebas Neue',sans-serif;font-size:14px;letter-spacing:1px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cart-item-size{font-size:12px;color:var(--gris);font-weight:500}
.cart-item-prices{display:flex;align-items:center;gap:8px}
.cart-item-old-price{font-size:12px;color:var(--gris);text-decoration:line-through}
.cart-item-price{font-family:'Bebas Neue',sans-serif;font-size:18px;color:var(--rouge);line-height:1}
.cart-item-qty{display:flex;align-items:center;gap:0;margin-top:4px}
.cart-item-qty button{width:28px;height:28px;border:1px solid var(--gris2);background:#fff;cursor:pointer;font-size:16px;font-weight:700;color:var(--noir);display:flex;align-items:center;justify-content:center;transition:.2s;border-radius:4px}
.cart-item-qty button:hover{background:var(--noir);color:#fff}
.cart-item-qty span{width:32px;height:28px;display:flex;align-items:center;justify-content:center;border-top:1px solid var(--gris2);border-bottom:1px solid var(--gris2);font-size:13px;font-weight:700}
.cart-item-remove{position:absolute;top:12px;right:16px;background:none;border:none;cursor:pointer;color:var(--gris);font-size:18px;transition:.2s;line-height:1;padding:4px}
.cart-item-remove:hover{color:var(--rouge)}
/* Section upsell */
.cart-upsell{padding:16px 20px;border-top:2px solid var(--gris3);background:var(--gris3)}
.cart-upsell-title{font-family:'Bebas Neue',sans-serif;font-size:15px;letter-spacing:2px;margin-bottom:12px;color:var(--noir)}
.cart-upsell-list{display:flex;flex-direction:column;gap:10px}
.cart-upsell-item{display:flex;align-items:center;gap:12px;background:#fff;padding:10px 12px;border:1px solid var(--gris2);transition:.2s;border-radius:8px}
.cart-upsell-item:hover{border-color:var(--noir)}
.cart-upsell-item img{width:50px;height:50px;object-fit:cover;border:1px solid var(--gris2);flex-shrink:0;border-radius:6px}
.cart-upsell-info{flex:1;min-width:0}
.cart-upsell-info span{display:block;font-size:12px;font-weight:600;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cart-upsell-info small{font-size:12px;color:var(--gris)}
.cart-upsell-price{font-family:'Bebas Neue',sans-serif;font-size:16px;color:var(--rouge);flex-shrink:0;margin-right:8px}
.cart-upsell-add{background:var(--noir);color:#fff;border:none;padding:6px 12px;font-family:'Bebas Neue',sans-serif;font-size:11px;letter-spacing:1px;cursor:pointer;transition:.2s;flex-shrink:0;white-space:nowrap;border-radius:6px}
.cart-upsell-add:hover{background:var(--rouge)}
.cart-upsell-add.added{background:var(--vert);pointer-events:none}
/* Code promo */
.cart-promo{padding:12px 20px;border-top:1px solid var(--gris2)}
.cart-promo-toggle{background:none;border:none;cursor:pointer;font-size:13px;color:var(--gris);text-decoration:underline;transition:.2s;padding:0;font-family:'Roboto',sans-serif}
.cart-promo-toggle:hover{color:var(--rouge)}
.cart-promo-form{display:flex;gap:8px;margin-top:10px;max-height:0;overflow:hidden;transition:max-height .3s ease}
.cart-promo-form.open{max-height:50px}
.cart-promo-form input{flex:1;padding:8px 12px;border:1px solid var(--gris2);font-size:13px;outline:none;font-family:'Roboto',sans-serif;border-radius:6px 0 0 6px}
.cart-promo-form input:focus{border-color:var(--noir)}
.cart-promo-form button{background:var(--noir);color:#fff;border:none;padding:8px 16px;font-family:'Bebas Neue',sans-serif;font-size:13px;letter-spacing:1px;cursor:pointer;transition:.2s;border-radius:0 6px 6px 0}
.cart-promo-form button:hover{background:var(--rouge)}
.cart-promo-msg{font-size:12px;margin-top:6px;font-weight:600}
.cart-promo-msg.success{color:var(--vert)}
.cart-promo-msg.error{color:var(--rouge)}
/* Footer du panier */
.cart-footer{padding:0;border-top:2px solid var(--noir)}
.cart-badges{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:10px 20px;background:var(--gris3);border-bottom:1px solid var(--gris2)}
.cart-badge{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}
.cart-badge svg{width:18px;height:18px;stroke:var(--noir);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.cart-badge span{font-size:9px;color:var(--gris);line-height:1.2;font-weight:600;text-transform:uppercase;letter-spacing:.3px}
.cart-total-wrap{padding:14px 20px}
.cart-total{display:flex;justify-content:space-between;font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:2px;margin-bottom:4px}
.cart-total .amount{color:var(--rouge)}
.cart-total-sub{font-size:11px;color:var(--gris);text-align:right;margin-bottom:12px}
.cart-checkout{display:block;width:100%;background:var(--noir);color:#fff;text-align:center;padding:16px;font-family:'Bebas Neue',sans-serif;font-size:17px;letter-spacing:3px;border:none;cursor:pointer;transition:.3s;text-decoration:none;border-radius:8px}
@media(hover:hover){.cart-checkout:hover{background:var(--rouge)}}

/* Menu burger mobile */
.nav-burger{display:none;background:none;border:none;cursor:pointer;width:30px;height:20px;position:relative;flex-shrink:0}
.nav-burger span{display:block;width:100%;height:2px;background:var(--noir);position:absolute;left:0;transition:.3s}
.nav-burger span:nth-child(1){top:0}.nav-burger span:nth-child(2){top:9px}.nav-burger span:nth-child(3){top:18px}
.nav-burger.active span:nth-child(1){top:9px;transform:rotate(45deg)}
.nav-burger.active span:nth-child(2){opacity:0}
.nav-burger.active span:nth-child(3){top:9px;transform:rotate(-45deg)}

/* Mobile menu panel */
.mobile-menu{position:fixed;top:80px;left:0;right:0;bottom:0;background:#fff;z-index:999;transform:translateX(-100%);transition:transform .35s cubic-bezier(.25,.46,.45,.94);overflow-y:auto;padding:20px 0}
.mobile-menu.open{transform:translateX(0)}
.mobile-menu a{display:block;padding:15px 30px;color:var(--noir);text-decoration:none;font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:2px;border-bottom:1px solid #f0f0f0;transition:.2s}
@media(hover:hover){.mobile-menu a:hover{background:var(--noir);color:#fff;padding-left:40px}}
.mobile-menu .mm-sub{padding-left:50px;font-size:15px;font-family:'Roboto',sans-serif;font-weight:500;letter-spacing:0;color:var(--gris)}

/* Quick add popup */
.quickadd-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:3000;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;backdrop-filter:blur(3px)}
.quickadd-overlay.open{opacity:1;visibility:visible}
.quickadd-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(0.95);z-index:3001;background:#fff;max-width:500px;width:92%;max-height:90vh;overflow-y:auto;opacity:0;visibility:hidden;transition:transform .3s cubic-bezier(.25,.46,.45,.94),opacity .3s,visibility .3s;box-shadow:0 25px 60px rgba(0,0,0,0.3);border-radius:12px}
.quickadd-popup.open{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}
.quickadd-close{position:absolute;top:12px;right:14px;background:none;border:none;font-size:28px;color:var(--noir);cursor:pointer;z-index:2;width:36px;height:36px;display:flex;align-items:center;justify-content:center;transition:.3s}
.quickadd-close:hover{color:var(--rouge)}
.quickadd-content{display:flex}
.quickadd-img{width:40%;flex-shrink:0;background-size:cover;background-position:center;background-repeat:no-repeat;min-height:200px}
.quickadd-info{width:60%;padding:25px 20px}
.quickadd-info h3{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:1px;line-height:1.2;margin-bottom:12px;padding-right:25px;color:var(--noir)}
.quickadd-prix{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.quickadd-old{text-decoration:line-through;color:var(--gris);font-size:14px}
.quickadd-new{font-family:'Bebas Neue',sans-serif;font-size:28px;color:var(--rouge)}
.quickadd-label{font-family:'Bebas Neue',sans-serif;font-size:13px;letter-spacing:2px;color:var(--gris);margin-bottom:10px}
.quickadd-tailles{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:20px}
.quickadd-taille{background:#fff;border:2px solid var(--gris2);padding:10px 0;text-align:center;font-family:'Bebas Neue',sans-serif;font-size:16px;letter-spacing:1px;cursor:pointer;transition:.2s;color:var(--noir);border-radius:6px}
.quickadd-taille:hover{border-color:var(--rouge);color:var(--rouge)}
.quickadd-taille.selected{border-color:var(--noir);background:var(--noir);color:#fff}
.quickadd-btn{display:block;width:100%;background:var(--noir);color:#fff;border:none;padding:15px;font-family:'Bebas Neue',sans-serif;font-size:16px;letter-spacing:3px;cursor:pointer;transition:background .3s,transform .1s;border-radius:8px}
@media(hover:hover){.quickadd-btn:hover{background:var(--rouge)}}
.quickadd-btn.succes{background:var(--vert,#00B67A)}
@keyframes quickaddShake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
.quickadd-tailles.shake{animation:quickaddShake .4s ease}

/* Footer */
.footer{background:var(--noir);padding:40px;text-align:center;border-top:3px solid var(--rouge)}
.footer .logo{margin-bottom:15px}
.footer .logo img{height:40px;filter:brightness(0) invert(1)}
.footer-links{display:flex;justify-content:center;gap:25px;margin-bottom:15px;flex-wrap:wrap}
.footer-links a{color:#888;text-decoration:none;font-size:13px;transition:.3s}
@media(hover:hover){.footer-links a:hover{color:var(--rouge)}}
.footer p{color:#555;font-size:12px}

/* Responsive commun */
@media(max-width:768px){
.nav{padding:0 15px}.nav-center{display:none}.nav-burger{display:block}
.cart-drawer{width:100%;max-width:100vw;border-radius:0}
.search-box{padding:15px 20px}
.quickadd-content{flex-direction:column}
.quickadd-img{width:100%;height:200px}
.quickadd-info{width:100%;padding:20px}
.quickadd-popup{max-height:85vh}
}
