/* Playfair Display removed - unused */
/* ============================================================
   MET4VAPE - CUSTOM DESIGN 2026
   Parallax / Gooey Buttons / Sparkle / Glassmorphism / Modern
   ============================================================ */

/* --- GOOGLE FONTS : Poppins (titres) + Inter (body) --- */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap');

:root {
  --m4-font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --m4-font-heading: 'DM Serif Display', Georgia, serif;
  --m4-primary: #8FAF9A;
  --m4-primary-light: #BFD8CC;
  --m4-primary-dark: #7A9E86;
  --m4-accent: #BFD8CC;
  --m4-accent-light: #8FAF9A;
  --m4-neon-pink: #BFD8CC;
  --m4-neon-green: #7A9E86;
  --m4-dark: #FFFFFF;
  --m4-darker: #f8f8f8;
  --m4-surface: #FFFFFF;
  --m4-surface-light: #f5f5f5;
  --m4-text: #3D3D3D;
  --m4-text-muted: #6B7280;
  --m4-glass: rgba(0,0,0,0.02);
  --m4-glass-border: rgba(0,0,0,0.08);
  --m4-glow-blue: 0 0 20px rgba(143,175,154,0.25);
  --m4-glow-cyan: 0 0 20px rgba(191,216,204,0.25);
  --m4-radius: 16px;
  --m4-radius-sm: 10px;
  --m4-transition: all 0.4s cubic-bezier(0.16,1,0.3,1);
}

/* --- KEYFRAMES --- */
@keyframes sparkle {
  0%,100% { opacity:0; transform:scale(0) rotate(0deg); }
  50% { opacity:1; transform:scale(1) rotate(180deg); }
}
@keyframes shimmer {
  0% { background-position:-200% center; }
  100% { background-position:200% center; }
}
@keyframes glow-pulse {
  0%,100% { box-shadow:0 0 5px var(--m4-primary),0 0 10px rgba(143,175,154,0.3); }
  50% { box-shadow:0 0 20px var(--m4-primary),0 0 40px rgba(143,175,154,0.4); }
}
@keyframes slideInUp {
  from { opacity:0; transform:translateY(30px); }
  to { opacity:1; transform:translateY(0); }
}
@keyframes bgPulse {
  0% { opacity:0.6; }
  100% { opacity:1; }
}
@keyframes float {
  0%,100% { transform:translateY(0); }
  50% { transform:translateY(-10px); }
}
@keyframes neonFlicker {
  0%,19%,21%,23%,25%,54%,56%,100% { text-shadow:0 0 4px var(--m4-accent),0 0 11px var(--m4-accent),0 0 19px var(--m4-accent); }
  20%,24%,55% { text-shadow:none; }
}

/* --- GLOBAL TYPOGRAPHY --- */
body, #wrapper, #page, .page-content, p, span, a, li, td, th, label, input, select, textarea, button {
  font-family: var(--m4-font-body) !important;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.m4-hero-title, .m4-section-title, .m4-promo-title, .m4-cta-title,
.m4-stat-number, .m4-cat-title,
.an_productattributes-title,
.page-heading, .card-title,
.an_homeproducts-block .title_block,
.an_advantages-item-title,
.m4-faq-question, .m4-blog-title {
  font-family: var(--m4-font-heading) !important;
}

/* --- GLOBAL DARK THEME --- */
body, #wrapper, #page {
  background: var(--m4-dark) !important;
  color: var(--m4-text) !important;
  font-family: var(--m4-font-body) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Animated ambient gradient (subtle on white) */
body::before {
  content: '';
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background:
    radial-gradient(ellipse at 20% 50%, rgba(143,175,154,0.04) 0%, transparent 50%),
    radial-gradient(ellipse at 80% 20%, rgba(191,216,204,0.03) 0%, transparent 50%),
    radial-gradient(ellipse at 50% 80%, rgba(191,216,204,0.03) 0%, transparent 50%);
  pointer-events: none;
  z-index: 0;
  animation: bgPulse 8s ease-in-out infinite alternate;
}
#wrapper { position: relative; z-index: 1; }

/* Selection & Scrollbar */
::selection { background: rgba(143,175,154,0.15); color: var(--m4-text); }
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #f1f5f9; }
::-webkit-scrollbar-thumb { background: linear-gradient(180deg, var(--m4-primary), var(--m4-accent)); border-radius: 10px; }

/* ============================================================
   HEADER - GLASSMORPHISM
   ============================================================ */
.header-nav {
  background: rgba(255,255,255,0.9) !important;
  backdrop-filter: blur(20px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
  border-bottom: 1px solid var(--m4-glass-border) !important;
}
.header-nav a {
  color: var(--m4-text-muted) !important;
  transition: var(--m4-transition) !important;
}
.header-nav a:hover {
  color: var(--m4-primary) !important;
  text-shadow: none;
}

.header-top {
  background: #ffffff !important;
  border-bottom: 1px solid var(--m4-glass-border) !important;
  padding: 10px 0 !important;
}

/* Logo - clean, no glow */
#_desktop_logo .logo, #_mobile_logo .logo {
  filter: none;
  transition: var(--m4-transition) !important;
}
#_desktop_logo:hover .logo {
  filter: none;
  transform: scale(1.02);
}

/* Search bar */
.search-widget form input[type="text"],
#search_widget input[type="text"] {
  background: var(--m4-surface) !important;
  border: 1px solid var(--m4-glass-border) !important;
  border-radius: 50px !important;
  color: var(--m4-text) !important;
  padding: 10px 20px !important;
  transition: var(--m4-transition) !important;
}
.search-widget form input[type="text"]:focus {
  border-color: var(--m4-primary) !important;
  box-shadow: var(--m4-glow-blue) !important;
}
.search-widget form button, #search_widget button {
  background: linear-gradient(135deg, var(--m4-primary), var(--m4-accent)) !important;
  border: none !important;
  border-radius: 50px !important;
  color: white !important;
  transition: var(--m4-transition) !important;
}
.search-widget form button:hover {
  transform: scale(1.05);
  box-shadow: var(--m4-glow-blue);
}

/* Header icons */
.header-right a, .blockcart-link, .user-info a {
  color: var(--m4-text) !important;
  transition: var(--m4-transition) !important;
}
.header-right a:hover, .blockcart-link:hover, .user-info a:hover {
  color: var(--m4-accent-light) !important;
}
.cart-products-count {
  background: linear-gradient(135deg, var(--m4-neon-pink), var(--m4-primary)) !important;
  color: white !important;
  border-radius: 50% !important;
  animation: glow-pulse 2s ease-in-out infinite;
}

/* ============================================================
   MEGA MENU - NEON UNDERLINES
   ============================================================ */
.ets_mm_megamenu, .ets_mm_megamenu_content, #amegamenu {
  background: var(--m4-surface) !important;
  border: none !important;
  border-bottom: 1px solid var(--m4-glass-border) !important;
}
.ets_mm_megamenu .mm_menus_li > a,
.amenu-link, .amenu-item a {
  color: var(--m4-text) !important;
  font-weight: 500 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  font-size: 14px !important;
  padding: 12px 14px !important;
  transition: var(--m4-transition) !important;
  position: relative !important;
}
.ets_mm_megamenu .mm_menus_li > a::after,
.amenu-link::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 50% !important;
  width: 0 !important;
  height: 2px !important;
  background: linear-gradient(90deg, var(--m4-primary), var(--m4-accent)) !important;
  transition: all 0.3s ease !important;
  transform: translateX(-50%) !important;
  box-shadow: none;
}
.ets_mm_megamenu .mm_menus_li:hover > a::after,
.amenu-item:hover .amenu-link::after {
  width: 80% !important;
}
.ets_mm_megamenu .mm_menus_li:hover > a,
.amenu-item:hover .amenu-link {
  color: var(--m4-accent-light) !important;
  text-shadow: none;
}

/* Dropdown menus */
.ets_mm_megamenu .mm_columns_contents_ul,
.ets_mm_megamenu_content_content,
.amenu-submenu {
  background: #fff !important;
  backdrop-filter: none !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.08) !important;
  animation: none !important;
  z-index: 9999 !important;
  pointer-events: auto !important;
}
.ets_mm_megamenu .mm_columns_contents_ul a,
.amenu-submenu a {
  color: #4a4a4a !important;
  font-size: 14px !important;
  padding: 6px 12px !important;
  display: block !important;
  transition: color 0.2s ease !important;
}
.ets_mm_megamenu .mm_columns_contents_ul a:hover,
.amenu-submenu a:hover {
  color: var(--m4-accent-light) !important;
  padding-left: 5px !important;
}

/* Fix mega menu dropdown - bridge gap + ensure clickable subcategories */
.ets_mm_megamenu .mm_columns_ul {
  margin-top: 0 !important;
  padding-top: 15px !important;
}
.ets_mm_megamenu .mm_columns_ul::before {
  height: 15px !important;
}
.ets_mm_megamenu .mm_menus_li.hover:hover > .mm_columns_ul,
.ets_mm_megamenu .mm_menus_li:hover > .mm_columns_ul,
.amenu-item:hover .amenu-submenu {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  display: block !important;
  z-index: 9999 !important;
}
.amenu-submenu {
  position: absolute !important;
  z-index: 9999 !important;
}
.ets_mm_megamenu .mm_columns_ul,
.amenu-submenu {
  pointer-events: auto !important;
}
.ets_mm_megamenu .mm_columns_ul a {
  pointer-events: auto !important;
  cursor: pointer !important;
}

/* Sticky menu */
.fixed-menu, #amegamenu.fixed-menu {
  background: rgba(255,255,255,0.95) !important;
  backdrop-filter: blur(30px) !important;
  box-shadow: 0 4px 30px rgba(0,0,0,0.08) !important;
}

/* ============================================================
   SLIDER / BANNER - PARALLAX ZOOM
   ============================================================ */
.an_homeslider-block {
  position: relative !important;
  overflow: hidden !important;
}
.an_homeslider-item img, .an_homeslider-item .owl-lazy {
  transition: none !important;
}
.an_homeslider-item:hover img, .an_homeslider-item:hover .owl-lazy {
  transform: none !important;
}
/* Pas de overlay sur le slider */
.an_homeslider-block::after {
  display: none !important;
}
/* Slider dots */
.an_homeslider .owl-dots .owl-dot span {
  background: var(--m4-glass-border) !important;
  transition: var(--m4-transition) !important;
}
.an_homeslider .owl-dots .owl-dot.active span {
  background: linear-gradient(135deg, var(--m4-primary), var(--m4-accent)) !important;
  box-shadow: var(--m4-glow-blue) !important;
  width: 30px !important;
  border-radius: 10px !important;
}
/* Slider arrows */
.an_homeslider .owl-nav .owl-prev,
.an_homeslider .owl-nav .owl-next {
  background: rgba(255,255,255,0.8) !important;
  backdrop-filter: blur(10px) !important;
  border: 1px solid var(--m4-glass-border) !important;
  border-radius: 50% !important;
  width: 50px !important; height: 50px !important;
  transition: var(--m4-transition) !important;
  color: var(--m4-text) !important;
}
.an_homeslider .owl-nav .owl-prev:hover,
.an_homeslider .owl-nav .owl-next:hover {
  background: var(--m4-primary) !important;
  box-shadow: var(--m4-glow-blue) !important;
  transform: scale(1.1) !important;
}

/* ============================================================
   ADVANTAGES - SPARKLE SECTION
   ============================================================ */
.an_advantages {
  background: var(--m4-surface) !important;
  padding: 30px 0 !important;
  border-bottom: 1px solid var(--m4-glass-border) !important;
  position: relative !important;
  overflow: hidden !important;
}
.an_advantages::before {
  content: '\2726' !important;
  position: absolute !important;
  font-size: 14px !important;
  color: var(--m4-accent) !important;
  
  pointer-events: none !important;
  top: 15% !important; left: 5% !important;
}
.an_advantages::after {
  content: '\2726' !important;
  position: absolute !important;
  font-size: 14px !important;
  color: var(--m4-neon-pink) !important;
  
  pointer-events: none !important;
  bottom: 20% !important; right: 8% !important;
}
.an_advantages-item {
  background: var(--m4-glass) !important;
  border: 1px solid var(--m4-glass-border) !important;
  border-radius: var(--m4-radius-sm) !important;
  padding: 20px !important;
  margin: 0 10px !important;
  transition: var(--m4-transition) !important;
  text-decoration: none !important;
}
.an_advantages-item:hover {
  border-color: var(--m4-primary) !important;
  background: rgba(143,175,154,0.1) !important;
  transform: translateY(-5px) !important;
  box-shadow: var(--m4-glow-blue) !important;
}
.an_advantages-item-title { color: var(--m4-text) !important; font-weight: 600 !important; }
.an_advantages-item-desc, .an_advantages-item p { color: var(--m4-text-muted) !important; }

/* ============================================================
   PRODUCT SECTIONS
   ============================================================ */
.an_homeproducts-block {
  background: transparent !important;
  padding: 30px 0 !important;
  position: relative !important;
}
/* Gradient divider */
.an_homeproducts-block + .an_homeproducts-block::before {
  content: '' !important;
  display: block !important;
  width: 200px !important; height: 2px !important;
  background: linear-gradient(90deg, transparent, var(--m4-primary), var(--m4-accent), transparent) !important;
  margin: 0 auto 10px !important;
}
/* Supprimer espace vide après le dernier bloc produit */
.an_homeproducts-block:last-child {
  padding-bottom: 10px !important;
  margin-bottom: 0 !important;
}
/* Tab titles */
.an_homeproducts-tab-top a, .an_homeproducts-sort a {
  color: var(--m4-text-muted) !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  padding: 10px 20px !important;
  border-bottom: 2px solid transparent !important;
  transition: var(--m4-transition) !important;
  text-decoration: none !important;
}
.an_homeproducts-tab-top a:hover,
.an_homeproducts-tab-top a.active,
.an_homeproducts-sort a.active {
  color: var(--m4-text) !important;
  border-bottom-color: var(--m4-primary) !important;
  text-shadow: 0 0 20px rgba(143,175,154,0.3) !important;
}

/* ============================================================
   PRODUCT CARDS - GLASSMORPHISM + HOVER SPARKLE
   ============================================================ */
.thumbnail-container, .js-product-miniature {
  background: var(--m4-surface) !important;
  border: 1px solid var(--m4-glass-border) !important;
  border-radius: var(--m4-radius) !important;
  overflow: visible !important;
  transition: var(--m4-transition) !important;
  position: relative !important;
}


.thumbnail-container:hover::before {
  
  
}
.thumbnail-container:hover {
  border-color: var(--m4-glass-border) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.06) !important;
}
/* Product image zoom */
.thumbnail-container-image {
  overflow: hidden !important;
  position: relative !important;
}
.thumbnail-container-image img {
  transition: transform 0.6s cubic-bezier(0.16,1,0.3,1) !important;
}
.thumbnail-container:hover .thumbnail-container-image img {
  transform: scale(1.08) !important;
}
/* Image overlay */
.thumbnail-container-image::after {
  content: '' !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
  background: none !important;
  opacity: 0 !important;
  transition: var(--m4-transition) !important;
  pointer-events: none !important;
}
.thumbnail-container:hover .thumbnail-container-image::after {
  opacity: 1 !important;
}

/* Product text */
.product-title, .product-title a, .product-description .product-title a {
  color: var(--m4-text) !important;
  font-weight: 600 !important;
  transition: var(--m4-transition) !important;
}
.product-title a:hover {
  color: var(--m4-accent-light) !important;
  text-decoration: none !important;
}
.product-price-and-shipping .price, .price {
  color: var(--m4-accent-light) !important;
  font-weight: 700 !important;
  font-size: 18px !important;
}
.regular-price {
  color: var(--m4-text-muted) !important;
  text-decoration: line-through !important;
}
.product-description {
  background: var(--m4-surface) !important;
  padding: 15px !important;
}
/* Product badges */
.product-flags .product-flag {
  background: linear-gradient(135deg, var(--m4-neon-pink), var(--m4-primary)) !important;
  color: white !important;
  border: none !important;
  border-radius: 20px !important;
  padding: 4px 12px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
}
.product-flags .product-flag.discount {
  background: #C97B5D !important;
}
.product-flags .product-flag.new {
  background: #8FAF9A !important;
}
.product-flags .product-flag.on-sale,
.product-flags .product-flag.discount {
  background: #C97B5D !important;
}

/* ============================================================
   GOOEY SPARKLE BUTTONS
   ============================================================ */
.btn-primary, .btn.btn-primary, button.btn-primary,
a.btn-primary, .an_homeproducts-loadmore {
  background: linear-gradient(135deg, var(--m4-primary), var(--m4-primary-dark)) !important;
  border: none !important;
  border-radius: 50px !important;
  color: white !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
  padding: 12px 30px !important;
  position: relative !important;
  overflow: hidden !important;
  transition: var(--m4-transition) !important;
  cursor: pointer !important;
  text-transform: uppercase !important;
  font-size: 13px !important;
  z-index: 1 !important;
}
/* Gooey gradient shift */
.btn-primary:hover, .btn.btn-primary:hover,
.an_homeproducts-loadmore:hover {
  background: linear-gradient(135deg, var(--m4-accent), var(--m4-primary)) !important;
  transform: translateY(-2px) scale(1.02) !important;
  box-shadow: 0 10px 30px rgba(143,175,154,0.4), 0 0 40px rgba(143,175,154,0.2) !important;
}
/* Shimmer sweep */
.btn-primary::before, .an_homeproducts-loadmore::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important; left: -100% !important;
  width: 100% !important; height: 100% !important;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent) !important;
  transition: left 0.6s ease !important;
  z-index: -1 !important;
}
.btn-primary:hover::before,
.an_homeproducts-loadmore:hover::before {
  left: 100% !important;
}
/* Gooey blob expand */
.btn-primary::after {
  content: '' !important;
  position: absolute !important;
  width: 30px !important; height: 30px !important;
  background: rgba(255,255,255,0.15) !important;
  border-radius: 50% !important;
  top: 50% !important; left: 50% !important;
  transform: translate(-50%,-50%) scale(0) !important;
  transition: transform 0.5s cubic-bezier(0.16,1,0.3,1) !important;
  z-index: -1 !important;
}
.btn-primary:hover::after {
  transform: translate(-50%,-50%) scale(6) !important;
}
.btn-primary:active {
  transform: translateY(0) scale(0.98) !important;
}

/* Secondary buttons */
.btn-secondary, .btn-default {
  background: transparent !important;
  border: 1px solid var(--m4-glass-border) !important;
  border-radius: 50px !important;
  color: var(--m4-text) !important;
  padding: 10px 25px !important;
  transition: var(--m4-transition) !important;
}
.btn-secondary:hover, .btn-default:hover {
  border-color: var(--m4-primary) !important;
  color: var(--m4-primary-light) !important;
  box-shadow: var(--m4-glow-blue) !important;
}

/* Quick add to cart */
.an_productattributes-add-to-cart {
  background: linear-gradient(135deg, var(--m4-neon-green), var(--m4-accent)) !important;
  border: none !important;
  border-radius: 50px !important;
  color: white !important;
  font-weight: 600 !important;
  transition: var(--m4-transition) !important;
}
.an_productattributes-add-to-cart:hover {
  background: linear-gradient(135deg, var(--m4-accent), var(--m4-neon-green)) !important;
  box-shadow: var(--m4-glow-cyan) !important;
  transform: scale(1.05) !important;
}

/* ============================================================
   BRAND SLIDER
   ============================================================ */
.an_brandslider-item {
  background: var(--m4-surface) !important;
  border: 1px solid var(--m4-glass-border) !important;
  border-radius: var(--m4-radius-sm) !important;
  padding: 15px !important;
  margin: 0 5px !important;
  transition: var(--m4-transition) !important;
}
.an_brandslider-item:hover {
  border-color: var(--m4-primary) !important;
  box-shadow: var(--m4-glow-blue) !important;
  transform: translateY(-3px) !important;
}
.an_brandslider-item img {
  filter: grayscale(100%) brightness(1.5) !important;
  transition: var(--m4-transition) !important;
  opacity: 0.6 !important;
}
.an_brandslider-item:hover img {
  filter: grayscale(0%) brightness(1) !important;
  opacity: 1 !important;
}

/* ============================================================
   FOOTER - DARK PREMIUM
   ============================================================ */
.footer-container, footer, #footer {
  background: #ffffff !important;
  color: #475569 !important;
  border-top: 1px solid #e2e8f0 !important;
  position: relative !important;
}
/* Top line - subtle */
.footer-container::before,
.footer-container::after,
#footer::before, #footer::after,
#footer > .container > .row::before,
#footer > .container > .row::after {
  display: none !important;
}
#footer, .footer-container {
  border-top: none !important;
}
.footer-container h4, #footer h4, .footer-container .h4 {
  color: #1e293b !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  font-size: 14px !important;
  margin-bottom: 20px !important;
  position: relative !important;
  padding-bottom: 10px !important;
}
.footer-container h4::after, #footer h4::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important; left: 0 !important;
  width: 30px !important; height: 2px !important;
  background: #e2e8f0 !important;
  border-radius: 2px !important;
}
.footer-container a, #footer a {
  color: #64748b !important;
  transition: var(--m4-transition) !important;
  text-decoration: none !important;
}
.footer-container a:hover, #footer a:hover {
  color: var(--m4-primary) !important;
  padding-left: 5px !important;
}
.footer-container ul li, #footer ul li {
  padding: 5px 0 !important;
  border-bottom: 1px solid #f1f5f9 !important;
}

/* Newsletter */
.block_newsletter input[type="email"] {
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 50px !important;
  color: #1e293b !important;
  padding: 12px 20px !important;
}
.block_newsletter input[type="email"]:focus {
  border-color: var(--m4-primary-light) !important;
  box-shadow: none !important;
}
.block_newsletter button {
  background: #C97B5D !important; border-color: #C97B5D !important; color: #fff !important;
}

  background: linear-gradient(135deg, var(--m4-primary), var(--m4-accent)) !important;
  border: none !important;
  border-radius: 50px !important;
  color: white !important;
}

/* Social icons */
.ps_socialfollow a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important; height: 40px !important;
  border-radius: 50% !important;
  background: #f1f5f9 !important;
  border: 1px solid #e2e8f0 !important;
  color: #64748b !important;
  transition: var(--m4-transition) !important;
  margin: 0 5px !important;
}
.ps_socialfollow a:hover {
  background: var(--m4-primary) !important;
  border-color: var(--m4-primary) !important;
  color: white !important;
  transform: translateY(-3px) !important;
  box-shadow: none !important;
}

/* ============================================================
   BREADCRUMB
   ============================================================ */
.breadcrumb-wrapper, .breadcrumb {
  background: var(--m4-surface) !important;
  border-bottom: 1px solid var(--m4-glass-border) !important;
}
.breadcrumb li a, .breadcrumb li span,
.account-link, a[href*="my-account"],
.breadcrumb-wrapper a, .breadcrumb-wrapper span {
  color: var(--m4-text-muted) !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 14px !important;
}
.breadcrumb li a:hover, .breadcrumb-wrapper a:hover { color: var(--m4-accent-light) !important; }

/* ============================================================
   FORMS & INPUTS
   ============================================================ */
input[type="text"], input[type="email"], input[type="password"],
input[type="tel"], input[type="number"], input[type="search"],
textarea, select {
  background: var(--m4-surface) !important;
  border: 1px solid var(--m4-glass-border) !important;
  border-radius: var(--m4-radius-sm) !important;
  color: var(--m4-text) !important;
  transition: var(--m4-transition) !important;
}
input:focus, textarea:focus, select:focus {
  border-color: var(--m4-primary) !important;
  box-shadow: var(--m4-glow-blue) !important;
}

/* ============================================================
   SCROLL TO TOP
   ============================================================ */
.anscrolltop, #scroll-to-top {
  background: linear-gradient(135deg, var(--m4-primary), var(--m4-accent)) !important;
  border: none !important;
  border-radius: 50% !important;
  box-shadow: var(--m4-glow-blue) !important;
  transition: var(--m4-transition) !important;
}
.anscrolltop:hover {
  transform: translateY(-3px) scale(1.1) !important;
  box-shadow: 0 0 30px rgba(143,175,154,0.5) !important;
}

/* ============================================================
   POPUPS (Cookie, Age verification)
   ============================================================ */
.an_cookie_popup, .cookie-popup {
  background: rgba(255,255,255,0.97) !important;
  backdrop-filter: blur(20px) !important;
  border: 1px solid var(--m4-glass-border) !important;
  border-radius: var(--m4-radius) !important;
  box-shadow: 0 20px 60px rgba(0,0,0,0.12) !important;
  color: var(--m4-text) !important;
}
.ets_av_verification_type {
  background: rgba(255,255,255,0.98) !important;
  color: var(--m4-text) !important;
}
.ets_av_primary {
  background: linear-gradient(135deg, var(--m4-primary), var(--m4-accent)) !important;
  border: none !important;
  border-radius: 50px !important;
}
.ets_av_cancel {
  background: transparent !important;
  border: 1px solid var(--m4-glass-border) !important;
  border-radius: 50px !important;
  color: var(--m4-text) !important;
}

/* ============================================================
   PRODUCT ATTRIBUTES (swatches)
   ============================================================ */
.an_productattributes-img {
  border: 2px solid var(--m4-glass-border) !important;
  border-radius: 8px !important;
  transition: var(--m4-transition) !important;
  cursor: pointer !important;
}
.an_productattributes-img:hover, .an_productattributes-img.selected {
  border-color: var(--m4-primary) !important;
  box-shadow: var(--m4-glow-blue) !important;
}

/* Wishlist */
.an_wishlist-btn { color: var(--m4-text-muted) !important; transition: var(--m4-transition) !important; }
.an_wishlist-btn:hover, .an_wishlist-btn.active {
  color: var(--m4-neon-pink) !important;
  filter: drop-shadow(0 0 5px rgba(191,216,204,0.5)) !important;
}

/* Loading skeleton */
.an_homeslider-loader, .an_homeslider-loader-image {
  background: linear-gradient(90deg, var(--m4-surface), var(--m4-surface-light), var(--m4-surface)) !important;
  background-size: 200% 100% !important;
  animation: shimmer 1.5s ease-in-out infinite !important;
}

/* Mobile menu - voir section dediee en bas du fichier */

/* OWL Carousel global */
.owl-carousel .owl-nav .owl-prev, .owl-carousel .owl-nav .owl-next {
  background: rgba(0,0,0,0.05) !important;
  backdrop-filter: blur(10px) !important;
  border: 1px solid var(--m4-glass-border) !important;
  border-radius: 50% !important;
  color: var(--m4-text) !important;
  transition: var(--m4-transition) !important;
}
.owl-carousel .owl-nav .owl-prev:hover, .owl-carousel .owl-nav .owl-next:hover {
  background: var(--m4-primary) !important;
  border-color: var(--m4-primary) !important;
  color: white !important;
  box-shadow: var(--m4-glow-blue) !important;
}
.owl-carousel .owl-dots .owl-dot span { background: var(--m4-glass-border) !important; }
.owl-carousel .owl-dots .owl-dot.active span {
  background: var(--m4-primary) !important;
  box-shadow: var(--m4-glow-blue) !important;
}

/* Category / Search pages */
#category #content-wrapper, #search #content-wrapper, .block-category {
  background: transparent !important;
  color: var(--m4-text) !important;
}
.block-category h1, .products-section-title {
  color: var(--m4-text) !important;
  font-family: var(--m4-font-heading) !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  letter-spacing: -0.5px !important;
}
#search_filters, .block-categories {
  background: var(--m4-surface) !important;
  border: 1px solid var(--m4-glass-border) !important;
  border-radius: var(--m4-radius) !important;
  padding: 20px !important;
}
#search_filters .facet-title, .block-categories .category-top-menu a {
  color: var(--m4-text) !important;
}

/* Pagination */
.pagination a, .page-list li a {
  background: var(--m4-surface) !important;
  border: 1px solid var(--m4-glass-border) !important;
  border-radius: var(--m4-radius-sm) !important;
  color: var(--m4-text) !important;
  transition: var(--m4-transition) !important;
}
.pagination a:hover, .page-list li a:hover {
  border-color: var(--m4-primary) !important;
  background: rgba(143,175,154,0.1) !important;
}
.page-list li.current a {
  background: linear-gradient(135deg, var(--m4-primary), var(--m4-accent)) !important;
  border-color: transparent !important;
  color: white !important;
}

/* Alerts */
.alert-info {
  background: rgba(191,216,204,0.1) !important;
  border: 1px solid rgba(191,216,204,0.3) !important;
  color: var(--m4-accent-light) !important;
  border-radius: var(--m4-radius-sm) !important;
}
.alert-success {
  background: rgba(122,158,134,0.1) !important;
  border: 1px solid rgba(122,158,134,0.3) !important;
  color: var(--m4-neon-green) !important;
  border-radius: var(--m4-radius-sm) !important;
}
.alert-danger, .alert-warning {
  background: rgba(239,68,68,0.1) !important;
  border: 1px solid rgba(239,68,68,0.3) !important;
  color: #fca5a5 !important;
  border-radius: var(--m4-radius-sm) !important;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:991px) {
  .header-top { padding: 5px 0 !important; }
  .an_homeproducts-tab-top a { font-size: 16px !important; }
  .thumbnail-container:hover { transform: translateY(-4px) !important; }
}
@media (max-width:767px) {
  .an_advantages-item { margin: 5px !important; padding: 15px !important; }
  .btn-primary, .add-to-cart { padding: 10px 20px !important; font-size: 12px !important; }
}

/* ============================================================
   SALES FUNNEL - HERO SECTION
   ============================================================ */
@keyframes heroFloat {
  0%,100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-20px) rotate(2deg); }
}
@keyframes heroScale {
  0%,100% { transform: scale(1); }
  50% { transform: scale(1.05); }
}
@keyframes countUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes slideRight {
  from { opacity: 0; transform: translateX(-30px); }
  to { opacity: 1; transform: translateX(0); }
}

.m4-hero {
  position: relative;
  overflow: hidden;
  padding: 80px 0 100px;
  min-height: 500px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.m4-hero-bg {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background:
    radial-gradient(ellipse at 30% 20%, rgba(143,175,154,0.08) 0%, transparent 60%),
    radial-gradient(ellipse at 70% 80%, rgba(191,216,204,0.06) 0%, transparent 60%),
    radial-gradient(ellipse at 50% 50%, rgba(191,216,204,0.04) 0%, transparent 60%);
  z-index: 0;
}
.m4-hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
  padding: 0 20px;
  animation: slideRight 0.8s ease-out;
}
.m4-hero-badge {
  display: inline-block;
  background: linear-gradient(135deg, var(--m4-primary), var(--m4-accent));
  color: white;
  padding: 8px 24px;
  border-radius: 50px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 24px;
  box-shadow: 0 4px 15px rgba(143,175,154,0.3);
}
.m4-hero-title {
  font-size: 52px;
  font-weight: 800;
  line-height: 1.1;
  color: var(--m4-text);
  margin-bottom: 20px;
  letter-spacing: -1px;
}
.m4-gradient-text {
  background: linear-gradient(135deg, var(--m4-primary), var(--m4-accent));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.m4-hero-subtitle {
  font-size: 18px;
  color: var(--m4-text-muted);
  margin-bottom: 40px;
  line-height: 1.6;
}
.m4-hero-cta {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}
.m4-hero-visual {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  z-index: 1;
  pointer-events: none;
}
.m4-hero-shape {
  position: absolute;
  border-radius: 50%;
  opacity: 0.12;
}
.m4-hero-shape-1 {
  width: 400px; height: 400px;
  background: var(--m4-primary);
  top: -100px; right: -100px;
  animation: heroFloat 8s ease-in-out infinite;
}
.m4-hero-shape-2 {
  width: 250px; height: 250px;
  background: var(--m4-accent);
  bottom: -50px; left: -50px;
  animation: heroFloat 10s ease-in-out infinite 2s;
}
.m4-hero-shape-3 {
  width: 150px; height: 150px;
  background: var(--m4-neon-pink);
  top: 50%; left: 10%;
  animation: heroScale 6s ease-in-out infinite 1s;
}

/* Buttons tunnel de vente */
.m4-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: linear-gradient(135deg, var(--m4-primary), var(--m4-primary-dark)) !important;
  color: white !important;
  padding: 16px 36px;
  border-radius: 50px;
  font-weight: 700;
  font-size: 10px;
  color: #7A9E86;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: var(--m4-transition);
  position: relative;
  overflow: hidden;
  border: none;
  cursor: pointer;
}
.m4-btn-primary:hover {
  background: linear-gradient(135deg, var(--m4-accent), var(--m4-primary)) !important;
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 15px 40px rgba(143,175,154,0.35);
  color: white !important;
  text-decoration: none;
}
.m4-btn-primary::before {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 100%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
  transition: left 0.6s ease;
}
.m4-btn-primary:hover::before { left: 100%; }

.m4-btn-outline {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: transparent !important;
  color: var(--m4-text) !important;
  padding: 16px 36px;
  border-radius: 50px;
  font-weight: 600;
  font-size: 10px;
  color: #7A9E86;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border: 2px solid var(--m4-glass-border);
  transition: var(--m4-transition);
  cursor: pointer;
}
.m4-btn-outline:hover {
  border-color: var(--m4-primary);
  color: var(--m4-primary) !important;
  box-shadow: var(--m4-glow-blue);
  text-decoration: none;
}
.m4-btn-lg {
  padding: 18px 42px;
  font-size: 16px;
}

/* ============================================================
   SALES FUNNEL - STATS BAR
   ============================================================ */
.m4-stats {
  background: #fff !important;
  padding: 30px 0;
  border-top: 1px solid #E8722A !important;
  border-bottom: 1px solid #E8722A !important;
}
.m4-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
}
.m4-stat-item {
  text-align: center;
  padding: 20px;
  animation: countUp 0.6s ease-out both;
}
.m4-stat-item:nth-child(2) { animation-delay: 0.1s; }
.m4-stat-item:nth-child(3) { animation-delay: 0.2s; }
.m4-stat-item:nth-child(4) { animation-delay: 0.3s; }
.m4-stat-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 60px; height: 60px;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(143,175,154,0.1), rgba(191,216,204,0.1));
  color: var(--m4-primary);
  margin-bottom: 16px;
}
.m4-stat-number {
  font-size: 42px;
  font-weight: 800;
  color: #E8722A !important;
  -webkit-text-fill-color: #E8722A !important;
  line-height: 1;
  margin-bottom: 8px;
  letter-spacing: -1px;
  background: none !important;
}
.m4-stat-unit {
  font-size: 24px;
  color: #E8722A !important;
  -webkit-text-fill-color: #E8722A !important;
}
.m4-stat-label {
  font-size: 14px;
  color: #333 !important;
  -webkit-text-fill-color: #333 !important;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
  background: none !important;
}

/* ============================================================
   SALES FUNNEL - CATEGORIES GRID
   ============================================================ */
.m4-categories {
  padding: 80px 0;
}
.m4-section-header {
  text-align: center;
  margin-bottom: 50px;
}
.m4-section-title {
  font-family: 'Montserrat', sans-serif;
  font-size: 36px;
  font-weight: 700;
  color: var(--m4-text);
  margin-bottom: 12px;
  letter-spacing: -0.5px;
}
.m4-section-subtitle {
  font-size: 16px;
  color: var(--m4-text-muted);
}

.m4-cat-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.m4-cat-card {
  background: var(--m4-surface);
  border: 1px solid var(--m4-glass-border);
  border-radius: var(--m4-radius);
  padding: 35px 25px;
  text-decoration: none !important;
  transition: var(--m4-transition);
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.m4-cat-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--m4-primary), var(--m4-accent));
  transform: scaleX(0);
  transition: transform 0.4s ease;
}
.m4-cat-card:hover::before { transform: scaleX(1); }
.m4-cat-card:hover {
  transform: translateY(-8px) scale(1.03);
  border-color: var(--m4-primary);
  box-shadow: 0 20px 50px rgba(143,175,154,0.1);
  text-decoration: none !important;
}
.m4-cat-card:active {
  transform: translateY(-4px) scale(0.97);
  transition: transform 0.1s ease;
}
.m4-cat-card.m4-cat-large {
  grid-row: span 2;
  padding: 50px 30px;
  background: linear-gradient(135deg, rgba(143,175,154,0.04), rgba(191,216,204,0.04));
}
.m4-cat-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80px; height: 80px;
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(143,175,154,0.1), rgba(191,216,204,0.05));
  color: var(--m4-primary);
  margin-bottom: 20px;
  transition: var(--m4-transition);
}
.m4-cat-card:hover .m4-cat-icon {
  background: linear-gradient(135deg, var(--m4-primary), var(--m4-accent));
  color: white;
  transform: scale(1.1);
}
.m4-cat-card h3 {
  font-size: 20px;
  font-weight: 700;
  color: var(--m4-text);
  margin-bottom: 8px;
}
.m4-cat-card p {
  font-size: 14px;
  color: var(--m4-text-muted);
  margin: 0;
}
.m4-cat-count {
  display: inline-block;
  margin-top: 16px;
  padding: 6px 16px;
  background: linear-gradient(135deg, var(--m4-primary), var(--m4-accent));
  color: white;
  border-radius: 50px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.5px;
}

/* ============================================================
   SALES FUNNEL - PROMO BANNER
   ============================================================ */
.m4-promo-banner {
  background: linear-gradient(135deg, #2d3b30, #3a5240, #2d3b30);
  padding: 50px 0;
  position: relative;
  overflow: hidden;
}
.m4-promo-banner::before {
  content: '';
  position: absolute;
  top: -50%; left: -50%;
  width: 200%; height: 200%;
  background: radial-gradient(circle at 30% 50%, rgba(143,175,154,0.2) 0%, transparent 50%),
              radial-gradient(circle at 70% 50%, rgba(191,216,204,0.15) 0%, transparent 50%);
  animation: heroScale 12s ease-in-out infinite;
  pointer-events: none;
}
.m4-promo-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  position: relative;
  z-index: 1;
}
.m4-promo-left { flex: 1; }
.m4-promo-badge {
  display: inline-block;
  background: var(--m4-primary);
  color: white;
  padding: 6px 18px;
  border-radius: 50px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 16px;
  
}
.m4-promo-title {
  font-size: 32px;
  font-weight: 800;
  color: white;
  line-height: 1.2;
  margin-bottom: 12px;
}
.m4-promo-title .m4-gradient-text {
  background: linear-gradient(135deg, #BFD8CC, #e2efe8);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.m4-promo-text {
  color: rgba(255,255,255,0.8);
  font-size: 16px;
}
.m4-promo-text strong {
  color: #BFD8CC;
  font-size: 20px;
  letter-spacing: 2px;
}
.m4-parrainage {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 16px;
  padding: 12px 18px;
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: var(--m4-radius-sm);
  backdrop-filter: blur(4px);
}
.m4-parrainage svg {
  flex-shrink: 0;
  color: #BFD8CC;
}
.m4-parrainage span {
  font-size: 14px;
  color: rgba(255,255,255,0.85);
  line-height: 1.5;
}
.m4-parrainage strong {
  color: #BFD8CC;
}

.m4-promo-right {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

/* Countdown */
.m4-countdown {
  display: flex;
  align-items: center;
  gap: 8px;
}
.m4-countdown-item {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.m4-countdown-number {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 70px; height: 70px;
  background: rgba(143,175,154,0.15);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(191,216,204,0.3);
  border-radius: 16px;
  font-size: 28px;
  font-weight: 800;
  color: white;
  font-variant-numeric: tabular-nums;
}
.m4-countdown-label {
  font-size: 11px;
  color: rgba(255,255,255,0.6);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-top: 6px;
}
.m4-countdown-sep {
  font-size: 28px;
  font-weight: 700;
  color: rgba(255,255,255,0.4);
  margin-bottom: 20px;
}

/* ============================================================
   SALES FUNNEL - REASSURANCE
   ============================================================ */
.m4-reassurance {
  padding: 20px 0;
  background: transparent;
  margin-top: 0 !important;
}
.m4-reassurance-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  align-items: stretch;
}
.m4-reassurance-item {
  text-align: center;
  padding: 30px 20px;
  background: transparent;
  border: none;
  border-radius: 0;
  transition: var(--m4-transition);
}
.m4-reassurance-item:hover {
  transform: none;
  border-color: transparent;
  box-shadow: none;
}
.m4-reassurance-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px; height: 52px;
  border-radius: 50%;
  background: transparent;
  color: var(--m4-primary);
  margin-bottom: 14px;
  transition: var(--m4-transition);
}
.m4-reassurance-item:hover .m4-reassurance-icon {
  background: transparent;
  color: var(--m4-primary-dark);
}
.m4-reassurance-item h4 {
  font-size: 10px;
  color: #7A9E86;
  font-weight: 600;
  color: var(--m4-text);
  margin-bottom: 6px;
  letter-spacing: 0.01em;
}
.m4-reassurance-item p {
  font-size: 13px;
  color: var(--m4-text-muted);
  line-height: 1.5;
  margin: 0;
}

/* ============================================================
   SALES FUNNEL - BLOG
   ============================================================ */
.m4-blog {
  padding: 80px 0;
  background: var(--m4-surface);
}
.m4-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.m4-blog-card {
  background: var(--m4-surface);
  border: 1px solid var(--m4-glass-border);
  border-radius: var(--m4-radius);
  overflow: hidden;
  text-decoration: none !important;
  transition: var(--m4-transition);
  display: flex;
  flex-direction: column;
}
.m4-blog-card:hover {
  transform: translateY(-6px);
  border-color: var(--m4-primary);
  box-shadow: 0 20px 50px rgba(143,175,154,0.1);
  text-decoration: none !important;
}
.m4-blog-img {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16/10;
}
.m4-blog-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.16,1,0.3,1);
}
.m4-blog-card:hover .m4-blog-img img {
  transform: scale(1.08);
}
.m4-blog-tag {
  position: absolute;
  top: 12px;
  left: 12px;
  background: linear-gradient(135deg, var(--m4-primary), var(--m4-accent));
  color: white;
  padding: 4px 14px;
  border-radius: 50px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  z-index: 1;
}
.m4-blog-body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.m4-blog-body h3 {
  font-size: 17px;
  font-weight: 700;
  color: var(--m4-text);
  margin-bottom: 10px;
  line-height: 1.3;
  transition: var(--m4-transition);
}
.m4-blog-card:hover .m4-blog-body h3 {
  color: var(--m4-primary);
}
.m4-blog-body p {
  font-size: 14px;
  color: var(--m4-text-muted);
  line-height: 1.6;
  margin: 0 0 16px;
  flex: 1;
}
.m4-blog-read {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--m4-primary);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: var(--m4-transition);
}
.m4-blog-card:hover .m4-blog-read {
  gap: 12px;
}
.m4-blog-read svg {
  transition: transform 0.3s ease;
}
.m4-blog-card:hover .m4-blog-read svg {
  transform: translateX(4px);
}

/* ============================================================
   SALES FUNNEL - FAQ
   ============================================================ */
.m4-faq {
  padding: 30px 0 10px;
  margin-bottom: 0 !important;
  background: var(--m4-surface);
  border-bottom: none !important;
}
.m4-faq::after {
  display: none !important;
}
.m4-faq-grid {
  max-width: 100%;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 10px;
}
.m4-faq-item {
  background: var(--m4-surface);
  border: 1px solid var(--m4-glass-border);
  border-radius: var(--m4-radius);
  overflow: hidden;
  flex: 0 0 calc(50% - 5px);
  transition: var(--m4-transition);
}
.m4-faq-item:hover {
  border-color: rgba(143,175,154,0.2);
}
.m4-faq-item.active {
  border-color: var(--m4-primary);
  box-shadow: 0 8px 30px rgba(143,175,154,0.08);
}
.m4-faq-question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 20px 24px;
  background: #8FAF9A;
  border: none;
  border-radius: var(--m4-radius);
  cursor: pointer;
  text-align: left;
  font-size: 17px;
  font-weight: 600;
  color: #fff;
  transition: var(--m4-transition);
  gap: 16px;
}
.m4-faq-question:hover {
  background: #7A9E86;
  color: #fff;
}
.m4-faq-question span {
  flex: 1;
}
.m4-faq-chevron {
  flex-shrink: 0;
  color: #fff;
  transition: transform 0.3s ease;
}
.m4-faq-item.active .m4-faq-chevron {
  transform: rotate(180deg);
  color: #fff;
}
.m4-faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s cubic-bezier(0.16,1,0.3,1), padding 0.4s ease;
  padding: 0 24px;
}
.m4-faq-item.active .m4-faq-answer {
  max-height: 300px;
  padding: 0 24px 24px;
}
.m4-faq-answer p {
  font-size: 14px;
  color: #333;
  line-height: 1.7;
  margin: 0;
}
.m4-faq-answer strong {
  color: var(--m4-text);
}

/* ============================================================
   SALES FUNNEL - PACKS BUNDLES (Débutant / Intermédiaire / Expert)
   ============================================================ */
.m4-packs {
  padding: 80px 0;
  background: linear-gradient(180deg, var(--m4-surface) 0%, var(--m4-surface-light) 100%);
}
.m4-packs-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-top: 10px;
}
/* --- Pack card : style e-commerce avec image produit --- */
.m4-pack-card {
  position: relative;
  background: var(--m4-surface);
  border: 2px solid var(--m4-glass-border);
  border-radius: var(--m4-radius);
  display: flex;
  flex-direction: column;
  transition: var(--m4-transition);
  overflow: hidden;
  text-decoration: none !important;
  color: inherit !important;
}
.m4-pack-card:hover {
  transform: translateY(-8px) scale(1.03);
  box-shadow: 0 20px 60px rgba(0,0,0,0.1);
  border-color: rgba(143,175,154,0.2);
  text-decoration: none !important;
}
.m4-pack-card:active {
  transform: translateY(-4px) scale(0.97);
  transition: transform 0.1s ease;
}

/* Zone image */
.m4-pack-visual {
  position: relative;
  height: 260px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.m4-pack-debutant .m4-pack-visual {
  background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);
}
.m4-pack-intermediaire .m4-pack-visual {
  background: linear-gradient(135deg, #ede9fe 0%, #ddd6fe 100%);
}
.m4-pack-expert .m4-pack-visual {
  background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
}
.m4-pack-visual img {
  max-height: none;
  max-width: 80%;
  object-fit: contain;
  transition: transform 0.5s cubic-bezier(0.16,1,0.3,1);
  filter: drop-shadow(0 10px 20px rgba(0,0,0,0.1));
}
.m4-pack-card:hover .m4-pack-visual img {
  transform: scale(1.08) rotate(-2deg);
}

/* Badge flottant */
.m4-pack-badge {
  position: absolute;
  top: 16px;
  left: 16px;
  padding: 6px 16px;
  border-radius: 50px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  z-index: 2;
  color: #065f46;
  background: rgba(255,255,255,0.9);
  backdrop-filter: blur(8px);
}
.m4-pack-badge-pop {
  background: linear-gradient(135deg, var(--m4-primary), var(--m4-accent));
  color: #fff;
  box-shadow: 0 4px 15px rgba(143,175,154,0.3);
}
.m4-pack-badge-expert {
  color: #92400e;
  background: rgba(255,255,255,0.9);
}

/* Intermédiaire mis en avant */
.m4-pack-intermediaire {
  border-color: rgba(143,175,154,0.25);
  box-shadow: 0 8px 40px rgba(143,175,154,0.08);
}
.m4-pack-intermediaire:hover {
  border-color: var(--m4-primary);
  box-shadow: 0 20px 60px rgba(143,175,154,0.15);
}

/* Corps texte */
.m4-pack-body {
  padding: 24px 24px 28px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.m4-pack-title {
  font-size: 20px;
  font-weight: 800;
  color: var(--m4-text);
  margin-bottom: 8px;
}
.m4-pack-desc {
  font-size: 14px;
  color: var(--m4-text-muted);
  line-height: 1.5;
  margin-bottom: 20px;
}

/* Bas de carte : prix + CTA */
.m4-pack-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid var(--m4-glass-border);
}
.m4-pack-price {
  display: flex;
  align-items: baseline;
  gap: 6px;
}
.m4-pack-from {
  font-size: 12px;
  color: var(--m4-text-muted);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.m4-pack-amount {
  font-size: 32px;
  font-weight: 800;
  color: var(--m4-text);
  line-height: 1;
  letter-spacing: -1px;
}
.m4-pack-amount::after {
  content: '€';
  font-size: 16px;
  font-weight: 700;
  vertical-align: super;
  margin-left: 1px;
}
.m4-pack-amount sup {
  font-size: 10px;
  color: #7A9E86;
  font-weight: 700;
  vertical-align: super;
}
.m4-pack-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--m4-primary);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: var(--m4-transition);
}
.m4-pack-cta svg {
  transition: transform 0.3s ease;
}
.m4-pack-card:hover .m4-pack-cta {
  gap: 10px;
}
.m4-pack-card:hover .m4-pack-cta svg {
  transform: translateX(4px);
}

/* ============================================================
   SALES FUNNEL - CTA FINAL
   ============================================================ */
.m4-cta-final {
  padding: 70px 0;
  background: linear-gradient(135deg, #8FAF9A, #7A9E86);
  text-align: center;
}
.m4-cta-content h2 {
  font-size: 36px;
  font-weight: 800;
  color: #fff;
  margin-bottom: 16px;
}
.m4-cta-content p {
  font-size: 18px;
  color: rgba(255,255,255,0.85);
  margin-bottom: 36px;
}
.m4-cta-buttons {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}

/* ============================================================
   SALES FUNNEL - RESPONSIVE
   ============================================================ */
@media (max-width: 991px) {
  .m4-hero { padding: 60px 0 80px; }
  .m4-hero-title { font-size: 38px; }
  .m4-stats-grid { grid-template-columns: repeat(4, 1fr); }
  .m4-cat-grid { grid-template-columns: repeat(2, 1fr); }
  .m4-cat-card.m4-cat-large { grid-row: span 1; }
  .m4-packs-grid { gap: 20px; }
  .m4-pack-visual { height: 220px; }
  .m4-pack-visual img { max-height: 170px; }
  .m4-promo-content { flex-direction: column; text-align: center; }
  .m4-promo-title { font-size: 26px; }
  .m4-blog-grid { grid-template-columns: repeat(2, 1fr); }
  .m4-reassurance-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
  .m4-hero { padding: 40px 0 60px; min-height: auto; }
  .m4-hero-title { font-size: 28px; }
  .m4-hero-subtitle { font-size: 10px;
  color: #7A9E86; }
  .m4-btn-lg { padding: 14px 28px; font-size: 14px; }
  .m4-stats-grid { grid-template-columns: repeat(4, 1fr) !important; gap: 4px !important; }
  .m4-stat-number { font-size: 20px !important; }
  .m4-cat-grid { grid-template-columns: 1fr; }
  .m4-packs-grid { grid-template-columns: 1fr; max-width: 400px; margin-left: auto; margin-right: auto; }
  .m4-pack-visual { height: 200px; }
  .m4-pack-visual img { max-height: 160px; }
  .m4-blog-grid { grid-template-columns: 1fr; }
  .m4-section-title { font-size: 28px; }
  .m4-countdown-number { width: 55px; height: 55px; font-size: 22px; }
  .m4-reassurance-grid { grid-template-columns: 1fr; }
  .m4-cta-content h2 { font-size: 26px; }
  .m4-faq-question { font-size: 14px; padding: 16px 18px; }
  .m4-faq-item { flex: 0 0 100% !important; }
  .m4-faq-answer p { font-size: 14px; }
}

/* ============================================================
   SIDEBAR CART - Style ameliore (theme sidebarcart.js)
   ============================================================ */

/* Overlay */
.sb-overlay {
  background: rgba(0,0,0,0.5) !important;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  transition: opacity 0.35s ease !important;
}

/* Panneau lateral */
.sb-menu-right {
  width: 400px !important;
  max-width: 92vw !important;
  box-shadow: -10px 0 50px rgba(0,0,0,0.2) !important;
  transition: transform 0.4s cubic-bezier(0.16,1,0.3,1) !important;
}

/* Bouton fermer */
.sb-close-btn {
  top: 16px !important;
  left: auto !important;
  right: 16px !important;
  width: 36px !important;
  height: 36px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  background: var(--m4-surface-light, #f5f5f5) !important;
  border-radius: 50% !important;
  font-size: 20px !important;
  color: #666 !important;
  border: none !important;
  cursor: pointer;
  transition: all 0.2s ease !important;
  z-index: 10 !important;
}
.sb-close-btn:hover {
  background: #eee !important;
  color: var(--m4-text, #1a1a2e) !important;
}

/* Titre panier dans le sidebar */
#js-cart-sidebar .cart-dropdown-wrapper {
  font-family: var(--m4-font-body, 'Inter', sans-serif) !important;
}
#js-cart-sidebar .blockcart-title,
#js-cart-sidebar .cart-title {
  font-family: var(--m4-font-heading, 'DM Serif Display', sans-serif) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--m4-text, #1a1a2e) !important;
  padding: 20px 24px !important;
  margin: 0 !important;
  border-bottom: none !important;
}

/* Lignes produits */
#js-cart-sidebar .cart-product-line,
#js-cart-sidebar .product-line-grid {
  padding: 16px 20px !important;
  border-bottom: 1px solid #f5f5f5 !important;
  transition: background 0.2s ease;
}
#js-cart-sidebar .cart-product-line:hover,
#js-cart-sidebar .product-line-grid:hover {
  background: var(--m4-surface-light, #fafafa);
}

/* Images produits dans le sidebar */
#js-cart-sidebar .product-image img,
#js-cart-sidebar .cart-product-line img {
  border-radius: 8px !important;
  border: 1px solid #eee !important;
  object-fit: contain !important;
  background: #fff !important;
}

/* Nom produit */
#js-cart-sidebar .product-name,
#js-cart-sidebar .label a {
  font-family: var(--m4-font-body, 'Inter', sans-serif) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--m4-text, #1a1a2e) !important;
  text-decoration: none !important;
  line-height: 1.4 !important;
}
#js-cart-sidebar .label a:hover {
  color: var(--m4-primary, #8FAF9A) !important;
}

/* Prix dans le sidebar */
#js-cart-sidebar .product-price,
#js-cart-sidebar .price {
  font-weight: 700 !important;
  color: var(--m4-primary, #8FAF9A) !important;
}

/* Quantite */
#js-cart-sidebar .product-quantity,
#js-cart-sidebar .qty {
  font-size: 13px !important;
  color: var(--m4-text-muted, #6b7280) !important;
}

/* Section totaux */
#js-cart-sidebar .cart-bottom,
#js-cart-sidebar .cart-total {
  padding: 20px 24px !important;
  border-top: 2px solid #f0f0f0 !important;
  background: var(--m4-surface-light, #fafafa) !important;
}
#js-cart-sidebar .cart-total .label,
#js-cart-sidebar .cart-bottom .cart-subtotals {
  font-size: 14px !important;
  color: var(--m4-text-muted, #6b7280) !important;
}
#js-cart-sidebar .cart-total .value,
#js-cart-sidebar .cart-bottom .cart-total .value {
  font-size: 20px !important;
  font-weight: 800 !important;
  color: var(--m4-text, #1a1a2e) !important;
}

/* Bouton Commander / Voir panier */
#js-cart-sidebar .checkout a,
#js-cart-sidebar .cart-bottom a.btn,
#js-cart-sidebar a.btn-primary {
  display: block !important;
  width: 100% !important;
  padding: 14px 24px !important;
  background: var(--m4-primary, #8FAF9A) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--m4-radius-sm, 10px) !important;
  font-family: var(--m4-font-heading, 'DM Serif Display', sans-serif) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 4px 15px rgba(143,175,154,0.3) !important;
}
#js-cart-sidebar .checkout a:hover,
#js-cart-sidebar .cart-bottom a.btn:hover,
#js-cart-sidebar a.btn-primary:hover {
  background: var(--m4-primary-dark, #7A9E86) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 20px rgba(143,175,154,0.4) !important;
}

/* Panier vide */
#js-cart-sidebar .no-items,
#js-cart-sidebar .cart-empty {
  padding: 40px 24px !important;
  text-align: center !important;
  color: var(--m4-text-muted, #6b7280) !important;
  font-size: 15px !important;
}

/* Bouton supprimer produit */
#js-cart-sidebar .remove-from-cart,
#js-cart-sidebar .cart-product-line .remove-from-cart {
  color: #ccc !important;
  transition: color 0.2s !important;
}
#js-cart-sidebar .remove-from-cart:hover {
  color: #e74c3c !important;
}

/* Sidebar cart scrollable */
.sb-menu-right {
  display: flex !important;
  flex-direction: column !important;
  max-height: 100vh !important;
  max-height: 100dvh !important;
  overflow: hidden !important;
}
/* Le wrapper produits scrolle, pas le panneau entier */
.sb-menu-right .cart-dropdown-wrapper,
.sb-menu-right #js-cart-sidebar,
.sb-menu-right .cart-body,
.sb-menu-right .cart-overview {
  flex: 1 !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior: contain !important;
  min-height: 0 !important;
}
/* Le footer panier (total + bouton checkout) reste fixe en bas */
.sb-menu-right .cart-bottom,
.sb-menu-right .cart-total,
.sb-menu-right .checkout {
  flex-shrink: 0 !important;
}

/* Responsive */
@media (max-width: 480px) {
  .sb-menu-right {
    width: 100vw !important;
  }
}

/* Animation bounce compteur panier */
@keyframes cartBounce {
  0%, 100% { transform: scale(1); }
  40% { transform: scale(1.4); }
  60% { transform: scale(0.9); }
}
.cart-products-count,
.cart-item-count {
  transition: transform 0.3s ease;
}
html.sb-open .cart-products-count,
html.sb-open .cart-item-count {
  animation: cartBounce 0.5s ease;
}

/* --- Barre livraison gratuite dans le SIDEBAR CART --- */
.m4-sidebar-fsb {
  padding: 12px 18px !important;
  border: none !important;
  background: transparent !important;
  animation: slideInDown 0.4s ease;
}
.m4-sidebar-fsb-pending,
.m4-sidebar-fsb-ok {
  background: transparent !important;
}
.m4-sidebar-fsb-text {
  font-family: 'Nunito', 'Poppins', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #333 !important;
  -webkit-text-fill-color: #333 !important;
  margin-bottom: 8px !important;
  line-height: 1.4 !important;
  display: flex;
  align-items: center;
}
.m4-sidebar-fsb-text strong {
  font-family: 'Nunito', 'Poppins', sans-serif !important;
  color: #8FAF9A !important;
  -webkit-text-fill-color: #8FAF9A !important;
  font-weight: 800 !important;
}
.m4-sidebar-fsb-ok .m4-sidebar-fsb-text strong {
  color: #8FAF9A !important;
  -webkit-text-fill-color: #8FAF9A !important;
}
.m4-sidebar-fsb-text svg {
  color: #8FAF9A !important;
  stroke: #8FAF9A !important;
  flex-shrink: 0;
}
.m4-sidebar-fsb-track {
  width: 100%;
  height: 6px;
  background: #e8ede9;
  border-radius: 100px;
  overflow: hidden;
}
.m4-sidebar-fsb-fill {
  height: 100%;
  border-radius: 100px;
  transition: width 0.6s cubic-bezier(0.16,1,0.3,1);
  position: relative;
  background: #8FAF9A !important;
}
.m4-sidebar-fsb-ok .m4-sidebar-fsb-fill,
.m4-sidebar-fsb-pending .m4-sidebar-fsb-fill {
  background: linear-gradient(90deg, #8FAF9A, #7a9e86) !important;
}
.m4-sidebar-fsb-fill::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.35), transparent);
  animation: m4-shimmer 2.2s infinite;
}
@keyframes slideInDown {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ============================================================
   BARRE DE PROGRESSION LIVRAISON GRATUITE
   ============================================================ */
.m4-free-shipping-bar {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 20px;
  margin-bottom: 16px;
  background: #fff;
  border-radius: var(--m4-radius-sm, 10px);
  border: 1px solid #f0f0f0;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
  transition: all 0.4s ease;
}
.m4-free-shipping-bar.m4-fsb-success {
  border-color: rgba(122,158,134,0.3);
  background: linear-gradient(135deg, rgba(122,158,134,0.05), rgba(5,150,105,0.08));
}
.m4-free-shipping-bar.m4-fsb-pending {
  border-color: rgba(143,175,154,0.15);
}

.m4-fsb-icon {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--m4-surface-light, #f5f5f5);
  color: var(--m4-primary, #8FAF9A);
  transition: all 0.4s ease;
}
.m4-fsb-success .m4-fsb-icon {
  background: rgba(122,158,134,0.12);
  color: #059669;
}

.m4-fsb-content {
  flex: 1;
  min-width: 0;
}

.m4-fsb-text {
  font-family: var(--m4-font-body, 'Inter', sans-serif);
  font-size: 13px;
  color: var(--m4-text-muted, #6b7280);
  margin: 0 0 8px;
  line-height: 1.4;
}
.m4-fsb-text strong {
  color: var(--m4-text, #1a1a2e);
  font-weight: 700;
}
.m4-fsb-success .m4-fsb-text strong {
  color: #059669;
}

.m4-fsb-track {
  width: 100%;
  height: 6px;
  background: #eee;
  border-radius: 3px;
  overflow: hidden;
}

.m4-fsb-progress {
  height: 100%;
  border-radius: 3px;
  background: linear-gradient(90deg, var(--m4-primary, #8FAF9A), var(--m4-primary-light, #BFD8CC));
  transition: width 0.6s cubic-bezier(0.16,1,0.3,1);
  position: relative;
}
.m4-fsb-progress::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
  animation: m4-shimmer 2s infinite;
}

@keyframes m4-shimmer {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(100%); }
}

/* Responsive */
@media (max-width: 768px) {
  .m4-free-shipping-bar {
    margin: 0 0 12px;
    padding: 14px 16px;
    gap: 12px;
  }
  .m4-fsb-icon {
    width: 38px;
    height: 38px;
  }
  .m4-fsb-text {
    font-size: 12px;
  }
}

/* ============================================================
   ETAPE 1 - FICHE PRODUIT : Badges TPD + Reassurance
   ============================================================ */
.m4-product-badges {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 18px 0 10px;
  padding: 16px 18px;
  background: var(--m4-surface-light, #f9fafb);
  border: 1px solid var(--m4-glass-border, rgba(255,255,255,0.12));
  border-radius: var(--m4-radius-sm, 10px);
}
.m4-badge-tpd,
.m4-badge-shipping,
.m4-badge-secure {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--m4-font-body, 'Inter', sans-serif);
  font-size: 13px;
  font-weight: 500;
  color: var(--m4-text, #1a1a2e);
}
.m4-badge-tpd svg { color: #7A9E86; flex-shrink: 0; }
.m4-badge-shipping svg { color: var(--m4-primary, #8FAF9A); flex-shrink: 0; }
.m4-badge-secure svg { color: #f59e0b; flex-shrink: 0; }

.m4-product-reassurance-mini {
  display: flex;
  gap: 16px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--m4-glass-border, #eee);
  flex-wrap: wrap;
}
.m4-product-reassurance-mini span {
  display: flex;
  align-items: center;
  gap: 5px;
  font-family: var(--m4-font-body, 'Inter', sans-serif);
  font-size: 11px;
  color: var(--m4-text-muted, #6b7280);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
.m4-product-reassurance-mini svg { color: #7A9E86; flex-shrink: 0; }

.m4-accessories-subtitle {
  font-family: var(--m4-font-body, 'Inter', sans-serif);
  font-size: 14px;
  color: var(--m4-text-muted, #6b7280);
  margin-top: -8px;
  margin-bottom: 16px;
}

@media (max-width: 576px) {
  .m4-product-badges { padding: 12px 14px; gap: 8px; }
  .m4-badge-tpd, .m4-badge-shipping, .m4-badge-secure { font-size: 12px; }
  .m4-product-reassurance-mini { gap: 10px; }
  .m4-product-reassurance-mini span { font-size: 10px; }
}

/* ============================================================
   ETAPE 2 - PANIER : Order Bump / Cross-selling
   ============================================================ */
.m4-order-bump-wrap {
  margin-top: 24px;
  padding: 24px;
  background: var(--m4-surface-light, #f9fafb);
  border: 2px dashed rgba(143,175,154,0.2);
  border-radius: var(--m4-radius, 16px);
}
.m4-ob-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 6px;
}
.m4-ob-header svg { color: var(--m4-primary, #8FAF9A); flex-shrink: 0; }
.m4-ob-header h3 {
  font-family: var(--m4-font-heading, 'DM Serif Display', sans-serif);
  font-size: 18px;
  font-weight: 700;
  color: var(--m4-text, #1a1a2e);
  margin: 0;
}
.m4-ob-subtitle {
  font-size: 13px;
  color: var(--m4-text-muted, #6b7280);
  margin: 0 0 16px;
  padding-left: 32px;
}

/* Style les produits cross-sell dans le hook */
.m4-order-bump-wrap .products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)) !important;
  gap: 12px !important;
}
.m4-order-bump-wrap .product-miniature {
  border: 1px solid var(--m4-glass-border, #eee) !important;
  border-radius: var(--m4-radius-sm, 10px) !important;
  transition: all 0.3s ease !important;
  overflow: hidden;
}
.m4-order-bump-wrap .product-miniature:hover {
  border-color: var(--m4-primary, #8FAF9A) !important;
  box-shadow: 0 4px 20px rgba(143,175,154,0.1) !important;
}

@media (max-width: 576px) {
  .m4-order-bump-wrap { padding: 16px; }
  .m4-order-bump-wrap .products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* ============================================================
   ETAPE 3 - CHECKOUT : Mention +18, style transporteurs, promo
   ============================================================ */

/* Mention legale +18 */
.m4-age-warning {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 16px 18px;
  margin: 16px 0;
  background: rgba(239,68,68,0.04);
  border: 1px solid rgba(239,68,68,0.2);
  border-radius: var(--m4-radius-sm, 10px);
}
.m4-age-warning svg { color: #A67B5B; flex-shrink: 0; margin-top: 2px; }
.m4-age-warning p {
  font-family: var(--m4-font-body, 'Inter', sans-serif);
  font-size: 13px;
  color: var(--m4-text-muted, #6b7280);
  margin: 0;
  line-height: 1.6;
}
.m4-age-warning strong { color: var(--m4-text, #1a1a2e); }

/* Style des options de livraison */
.checkout-content .delivery-option {
  padding: 16px !important;
  margin-bottom: 10px !important;
  border: 2px solid #eee !important;
  border-radius: var(--m4-radius-sm, 10px) !important;
  transition: all 0.3s ease !important;
}
.checkout-content .delivery-option:has(input:checked),
.checkout-content .delivery-option.selected {
  border-color: var(--m4-primary, #8FAF9A) !important;
  background: rgba(143,175,154,0.03) !important;
}
.checkout-content .carrier-name {
  font-weight: 700 !important;
  color: var(--m4-text, #1a1a2e) !important;
}
.checkout-content .carrier-delay {
  font-size: 13px !important;
  color: var(--m4-text-muted, #6b7280) !important;
}
.checkout-content .carrier-price {
  font-weight: 700 !important;
  color: var(--m4-primary, #8FAF9A) !important;
}

/* Code promo toujours visible */
.checkout-content .promo-code { display: block !important; }
.checkout-content .promo-code-button.cancel-promo { display: none; }

/* ============================================================
   ETAPE 4 - UPSELL POST-PAIEMENT
   ============================================================ */
.m4-upsell-post {
  margin: 24px auto;
  max-width: 700px;
  padding: 36px 32px;
  background: linear-gradient(135deg, rgba(143,175,154,0.04), rgba(191,216,204,0.04));
  border: 2px solid rgba(143,175,154,0.15);
  border-radius: var(--m4-radius, 16px);
  text-align: center;
}
.m4-upsell-badge {
  display: inline-block;
  background: linear-gradient(135deg, #BFD8CC, var(--m4-primary, #8FAF9A));
  color: #fff;
  padding: 5px 18px;
  border-radius: 50px;
  font-family: var(--m4-font-heading, 'DM Serif Display', sans-serif);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 18px;
}
.m4-upsell-inner h3 {
  font-family: var(--m4-font-heading, 'DM Serif Display', sans-serif);
  font-size: 22px;
  font-weight: 800;
  color: var(--m4-text, #1a1a2e);
  margin: 0 0 10px;
}
.m4-upsell-inner p {
  font-size: 10px;
  color: #7A9E86;
  color: var(--m4-text-muted, #6b7280);
  margin: 0 0 16px;
}
.m4-upsell-code {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 14px 24px;
  background: #fff;
  border: 2px dashed var(--m4-primary, #8FAF9A);
  border-radius: var(--m4-radius-sm, 10px);
}
#m4-upsell-code-text {
  font-family: var(--m4-font-heading, 'DM Serif Display', sans-serif);
  font-size: 26px;
  font-weight: 800;
  color: var(--m4-primary, #8FAF9A);
  letter-spacing: 4px;
}
.m4-upsell-copy {
  background: var(--m4-primary, #8FAF9A);
  color: #fff;
  border: none;
  padding: 8px 18px;
  border-radius: 50px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}
.m4-upsell-copy:hover { opacity: 0.9; transform: scale(1.05); }
.m4-upsell-timer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: 18px 0 22px;
  font-size: 14px;
  color: var(--m4-text-muted, #6b7280);
}
.m4-upsell-timer svg { color: #BFD8CC; }
.m4-upsell-timer strong { color: var(--m4-text, #1a1a2e); font-size: 16px; }
.m4-upsell-cta {
  display: inline-block;
  padding: 14px 36px;
  font-size: 10px;
  color: #7A9E86;
  text-decoration: none !important;
}

/* ============================================================
   ETAPE 5 - THANK YOU PAGE
   ============================================================ */

/* Recapitulatif ameliore */
.m4-order-recap {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 16px;
}
.m4-recap-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--m4-font-body, 'Inter', sans-serif);
  font-size: 14px;
  color: var(--m4-text-muted, #6b7280);
}
.m4-recap-item svg { color: var(--m4-primary, #8FAF9A); flex-shrink: 0; }
.m4-recap-item strong { color: var(--m4-text, #1a1a2e); }
.m4-recap-shipping {
  padding: 12px 14px;
  background: rgba(122,158,134,0.06);
  border-radius: var(--m4-radius-sm, 10px);
  border: 1px solid rgba(122,158,134,0.15);
}

/* Points fidelite */
.m4-loyalty-confirmation {
  margin: 24px 0;
}
.m4-loyalty-inner {
  text-align: center;
  padding: 32px;
  background: linear-gradient(135deg, rgba(143,175,154,0.04), rgba(191,216,204,0.04));
  border: 1px solid var(--m4-glass-border, #eee);
  border-radius: var(--m4-radius, 16px);
}
.m4-loyalty-icon svg { color: #fbbf24; }
.m4-loyalty-inner h3 {
  font-family: var(--m4-font-heading, 'DM Serif Display', sans-serif);
  font-size: 20px;
  font-weight: 700;
  margin: 14px 0 8px;
  color: var(--m4-text, #1a1a2e);
}
.m4-loyalty-inner p {
  font-size: 14px;
  color: var(--m4-text-muted, #6b7280);
  margin: 0;
}
.m4-loyalty-inner a {
  color: var(--m4-primary, #8FAF9A);
  font-weight: 600;
  text-decoration: underline;
}

/* Parrainage */
.m4-referral-confirmation {
  margin: 20px 0;
}
.m4-referral-inner {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 24px 28px;
  background: #fff;
  border: 1px solid var(--m4-glass-border, #eee);
  border-radius: var(--m4-radius, 16px);
}
.m4-referral-left {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  flex: 1;
}
.m4-referral-left svg { color: var(--m4-primary, #8FAF9A); flex-shrink: 0; margin-top: 2px; }
.m4-referral-left h3 {
  font-family: var(--m4-font-heading, 'DM Serif Display', sans-serif);
  font-size: 17px;
  font-weight: 700;
  color: var(--m4-text, #1a1a2e);
  margin: 0 0 4px;
}
.m4-referral-left p {
  font-size: 13px;
  color: var(--m4-text-muted, #6b7280);
  margin: 0;
}
.m4-referral-code {
  display: flex;
  align-items: center;
  gap: 8px;
}
.m4-referral-code input {
  width: 240px;
  padding: 10px 14px;
  border: 1px solid var(--m4-glass-border, #eee);
  border-radius: 8px;
  font-size: 12px;
  color: var(--m4-text, #1a1a2e);
  background: var(--m4-surface-light, #f9fafb);
}
.m4-referral-code button {
  background: var(--m4-primary, #8FAF9A);
  color: #fff;
  border: none;
  padding: 10px 18px;
  border-radius: 50px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
  white-space: nowrap;
}
.m4-referral-code button:hover { opacity: 0.9; }

/* Guide debutant */
.m4-guide-link {
  margin: 20px 0;
}
.m4-guide-card {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px 24px;
  background: #fff;
  border: 1px solid var(--m4-glass-border, #eee);
  border-radius: var(--m4-radius, 16px);
  text-decoration: none !important;
  transition: all 0.3s ease;
}
.m4-guide-card:hover {
  border-color: var(--m4-primary, #8FAF9A);
  transform: translateX(4px);
}
.m4-guide-icon {
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(143,175,154,0.08);
  border-radius: 12px;
  flex-shrink: 0;
}
.m4-guide-icon svg { color: var(--m4-primary, #8FAF9A); }
.m4-guide-card h4 {
  font-family: var(--m4-font-heading, 'DM Serif Display', sans-serif);
  font-size: 16px;
  font-weight: 700;
  color: var(--m4-text, #1a1a2e);
  margin: 0 0 4px;
}
.m4-guide-card p {
  font-size: 13px;
  color: var(--m4-text-muted, #6b7280);
  margin: 0;
}
.m4-guide-card > svg { color: var(--m4-text-muted, #6b7280); margin-left: auto; flex-shrink: 0; }

@media (max-width: 767px) {
  .m4-upsell-post { padding: 24px 16px; }
  .m4-upsell-inner h3 { font-size: 18px; }
  #m4-upsell-code-text { font-size: 20px; }
  .m4-referral-inner { flex-direction: column; text-align: center; }
  .m4-referral-left { flex-direction: column; align-items: center; }
  .m4-referral-code { flex-direction: column; width: 100%; }
  .m4-referral-code input { width: 100%; }
  .m4-guide-card { padding: 16px; }
}

/* ============================================================
   MEGAMENU FIX - Subcategories clickable + Icons
   Added 2026-02-24
   ============================================================ */

/* --- Ensure dropdown stays visible and clickable --- */
.ets_mm_megamenu .mm_menus_li.hover:hover > .mm_columns_ul,
.ets_mm_megamenu .mm_menus_li.mm_has_sub.hover:hover > .mm_columns_ul {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  display: block !important;
  z-index: 9999 !important;
  margin-top: 0 !important;
}

/* Bridge gap: invisible pseudo-element above dropdown to prevent hover loss */
.ets_mm_megamenu .mm_columns_ul::before {
  content: '' !important;
  position: absolute !important;
  top: -20px !important;
  left: 0 !important;
  right: 0 !important;
  height: 20px !important;
  background: transparent !important;
  display: block !important;
}

/* Ensure all links inside dropdown are clickable */
.ets_mm_megamenu .mm_columns_ul,
.ets_mm_megamenu .mm_columns_ul *,
.ets_mm_megamenu .mm_columns_ul a,
.ets_mm_megamenu .mm_columns_ul li,
.ets_mm_megamenu .ets_mm_categories,
.ets_mm_megamenu .ets_mm_categories li,
.ets_mm_megamenu .ets_mm_categories a,
.ets_mm_megamenu .ets_mm_block_content,
.ets_mm_megamenu .ets_mm_block_content a {
  pointer-events: auto !important;
  cursor: pointer !important;
}

/* Subcategory links: ensure visible, styled, and clickable */
.ets_mm_megamenu .ets_mm_categories li a.ets_mm_url {
  display: block !important;
  padding: 6px 10px 6px 0 !important;
  color: var(--m4-text-muted, #64748b) !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  position: relative !important;
  cursor: pointer !important;
  pointer-events: auto !important;
}

.ets_mm_megamenu .ets_mm_categories li a.ets_mm_url:hover {
  color: var(--m4-primary, #8FAF9A) !important;
  padding-left: 6px !important;
}

/* --- Icons before subcategory names --- */
.ets_mm_megamenu .ets_mm_categories > li > a.ets_mm_url::before {
  content: '\25B8' !important;
  display: inline-block !important;
  margin-right: 8px !important;
  font-size: 10px !important;
  color: var(--m4-primary, #8FAF9A) !important;
  transition: all 0.25s ease !important;
  vertical-align: middle !important;
}

.ets_mm_megamenu .ets_mm_categories > li > a.ets_mm_url:hover::before {
  color: var(--m4-accent, #BFD8CC) !important;
  transform: translateX(2px) !important;
}

/* Category block titles in dropdown */
.ets_mm_megamenu .ets_mm_block > .h4,
.ets_mm_megamenu .ets_mm_block > .h3,
.ets_mm_megamenu .ets_mm_block > .h5 {
  color: var(--m4-text, #1e293b) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  margin-bottom: 8px !important;
  padding-bottom: 6px !important;
  border-bottom: 2px solid var(--m4-primary, #8FAF9A) !important;
}

/* Dropdown container styling (actual mm_columns_ul) */
.ets_mm_megamenu .mm_menus_li.hover:hover > .mm_columns_ul {
  background: rgba(255,255,255,0.98) !important;
  backdrop-filter: blur(15px) !important;
  border: 1px solid var(--m4-glass-border, rgba(0,0,0,0.08)) !important;
  border-radius: var(--m4-radius-sm, 10px) !important;
  box-shadow: 0 15px 50px rgba(0,0,0,0.1), 0 0 20px rgba(143,175,154,0.15) !important;
  padding: 20px !important;
  padding-top: 20px !important;
}

/* ============================================================
   MOBILE: Bouton Ajouter au panier -> icone shopping bag
   ============================================================ */
@media (max-width: 767px) {
  /* Bouton principal sur fiche produit */
  .product-add-to-cart .btn.add-to-cart {
    font-size: 0 !important;
    line-height: 1;
    padding: 12px 20px !important;
    min-width: 0 !important;
  }
  .product-add-to-cart .btn.add-to-cart::before {
    content: '';
    display: inline-block;
    width: 22px;
    height: 22px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 22px 22px;
    vertical-align: middle;
  }

  /* Bouton sticky add to cart (Anvanto) */
  .js-an_stickyAddToCart-add-to-cart {
    font-size: 0 !important;
    line-height: 1;
    padding: 12px 20px !important;
  }
  .js-an_stickyAddToCart-add-to-cart::before {
    content: '';
    display: inline-block;
    width: 22px;
    height: 22px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 22px 22px;
    vertical-align: middle;
  }
}

/* ============================================================
   HOVER SLIDE: Images glissent horizontalement au survol
   ============================================================ */
/* Override hover-slider: smooth horizontal slide instead of segment fade */
.hover_slider ul {
  display: flex !important;
  flex-wrap: nowrap !important;
  transition: transform 0.4s cubic-bezier(0.25, 0.1, 0.25, 1) !important;
  will-change: transform;
}
.hover_slider ul li {
  flex: 0 0 100% !important;
  width: 100% !important;
  position: relative !important;
}
.hover_slider .hover-slider-img {
  position: relative !important;
  opacity: 1 !important;
  z-index: 1 !important;
  width: 100% !important;
  height: 100% !important;
}
.hover_slider .hover-slider-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}
/* Hide the segment indicator bars */
.hover_slider ul li::after {
  display: none !important;
}
/* Show dot indicators instead */
.hover_slider {
  position: relative !important;
}
.m4-slide-dots {
  position: absolute;
  bottom: 8px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 5px;
  z-index: 10;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.thumbnail-container:hover .m4-slide-dots {
  opacity: 1;
}
.m4-slide-dots .m4-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255,255,255,0.5);
  border: 1px solid rgba(0,0,0,0.15);
  transition: all 0.3s ease;
}
.m4-slide-dots .m4-dot.active {
  background: var(--m4-primary, #8FAF9A);
  transform: scale(1.3);
}

/* ============================================================
   BOUTON CHOISIR LES OPTIONS pour produits avec variantes
   ============================================================ */
.m4-choose-options {
  display: inline-block;
  background: var(--m4-primary, #8FAF9A);
  color: #fff !important;
  text-decoration: none !important;
  padding: 8px 16px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.3px;
  cursor: pointer;
  border: none;
  transition: all 0.25s ease;
  text-align: center;
  width: 100%;
  margin-top: 8px;
}
.m4-choose-options:hover {
  background: var(--m4-primary-dark, #7A9E86);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(143,175,154,0.3);
}
.m4-choose-options svg {
  vertical-align: middle;
  margin-right: 6px;
}

/* ============================================================
   QUICKVIEW MODAL - style enrichi
   ============================================================ */
.quickview .modal-dialog {
  max-width: 900px !important;
}
.quickview .modal-body {
  padding: 25px !important;
}
.quickview .modal-header {
  border-bottom: none !important;
  padding: 10px 15px !important;
}
.quickview .modal-header .close {
  font-size: 28px;
  opacity: 0.6;
}
.quickview .modal-header .close:hover {
  opacity: 1;
}
.quickview .h1 {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #1a1a2e !important;
  margin-bottom: 10px !important;
}

@media (max-width: 767px) {
  .m4-choose-options {
    padding: 6px 12px;
    font-size: 12px;
  }
}

/* ============================================================
   MASQUER le panneau highlighted-informations (quickview/wishlist)
   qui tombe du haut au hover - remplace par le bouton Choisir les options
   ============================================================ */
#products .highlighted-informations,
.featured-products .highlighted-informations,
.product-accessories .highlighted-informations,
.product-miniature .highlighted-informations {
  display: none !important;
}

/* ============================================================
   MASQUER le module an_productattributes sur les miniatures
   (pastilles declinaisons + ajouter au panier inline)
   Remplace par le bouton Choisir les options -> quickview
   ============================================================ */
.js-an_productattributes-standart,
.an_productattributes,
.js-an_productattributes,
.an_productattributesForm {
  display: none !important;
}

/* ============================================================
   BOUTON JE CHOISIS visible uniquement au hover
   ============================================================ */
.m4-choose-options {
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.25s ease, transform 0.25s ease, background 0.25s ease;
  pointer-events: auto;
}
.product-miniature:hover .m4-choose-options {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* M4: Combination images injected by JS */
.m4-combi-item {
  flex: 0 0 100% !important;
  width: 100% !important;
}
.m4-combi-item .hover-slider-img img {
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}

/* ============================================================
   POPUP VERIFICATION D'AGE - Override ets_ageverification
   ============================================================ */
.ets_av_overload {
  background: rgba(15, 23, 42, 0.95) !important;
  z-index: 9999 !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
}
.ets_av_content_popup {
  background: #1e293b !important;
  border-radius: 24px !important;
  border: 1px solid rgba(124, 58, 237, 0.3) !important;
  box-shadow: 0 0 60px rgba(124, 58, 237, 0.15), 0 0 120px rgba(6, 182, 212, 0.08) !important;
  padding: 50px 40px !important;
  max-width: 480px !important;
  width: 90% !important;
  position: relative !important;
  overflow: hidden !important;
}
/* Gradient glow top border */
.ets_av_content_popup::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--m4-primary), var(--m4-accent), var(--m4-primary));
  background-size: 200% 100%;
  animation: m4GlowSlide 3s linear infinite;
}
@keyframes m4GlowSlide {
  0% { background-position: 0% 0%; }
  100% { background-position: 200% 0%; }
}
/* Icon 18+ */
.ets_av_ageverification .ets_av_icon {
  margin-bottom: 25px !important;
}
.ets_av_ageverification .ets_av_icon img {
  display: none !important;
}
.ets_av_ageverification .ets_av_icon::after {
  content: '18+';
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  margin: 0 auto;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--m4-primary), var(--m4-accent));
  color: #ffffff;
  font-family: 'DM Serif Display', sans-serif;
  font-size: 28px;
  font-weight: 800;
  letter-spacing: -1px;
  box-shadow: 0 8px 32px rgba(124, 58, 237, 0.4);
}
/* Title */
.ets_av_ageverification h4,
.ets_av_ageverification .ets_av_title {
  color: #ffffff !important;
  font-family: 'DM Serif Display', sans-serif !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  margin-bottom: 12px !important;
  line-height: 1.3 !important;
}
/* Description */
.ets_av_ageverification p,
.ets_av_ageverification .ets_av_description {
  color: #94a3b8 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  margin-bottom: 30px !important;
  padding: 0 10px !important;
}
/* Buttons container */
.ets_av_ageverification .ets_av_btn {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  align-items: center !important;
}
/* Submit/confirm button (YES) */
.ets_av_ageverification a.ets_av_submit,
.ets_av_ageverification .ets_av_primary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(135deg, var(--m4-primary), var(--m4-accent)) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 16px 40px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: 0.3px !important;
  cursor: pointer !important;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
  text-decoration: none !important;
  min-width: 280px !important;
  box-shadow: 0 4px 20px rgba(124, 58, 237, 0.3) !important;
}
.ets_av_ageverification a.ets_av_submit:hover,
.ets_av_ageverification .ets_av_primary:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 30px rgba(124, 58, 237, 0.5) !important;
  background: linear-gradient(135deg, var(--m4-primary-dark), var(--m4-accent)) !important;
}
/* Cancel/exit button (NO) */
.ets_av_ageverification .ets_av_cancel,
.ets_av_ageverification a.ets_av_cancel {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  color: #64748b !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: 50px !important;
  padding: 14px 40px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  text-decoration: none !important;
  min-width: 280px !important;
}
.ets_av_ageverification .ets_av_cancel:hover,
.ets_av_ageverification a.ets_av_cancel:hover {
  background: rgba(255, 255, 255, 0.05) !important;
  color: #94a3b8 !important;
  border-color: rgba(255, 255, 255, 0.25) !important;
}
/* Hide default inline styles from module */
.ets_av_ageverification .ets_av_btn a[style],
.ets_av_ageverification .ets_av_btn button[style] {
  background-color: transparent !important;
}
/* Mobile adjustments */
@media (max-width: 480px) {
  .ets_av_content_popup {
    padding: 40px 25px !important;
    border-radius: 20px !important;
  }
  .ets_av_ageverification h4,
  .ets_av_ageverification .ets_av_title {
    font-size: 22px !important;
  }
  .ets_av_ageverification a.ets_av_submit,
  .ets_av_ageverification .ets_av_primary,
  .ets_av_ageverification .ets_av_cancel,
  .ets_av_ageverification a.ets_av_cancel {
    min-width: unset !important;
    width: 100% !important;
    padding: 14px 30px !important;
  }
}

/* ============================================================
   SLIDE-IN -10% NEWSLETTER (depuis la droite)
   ============================================================ */
.m4-nl-slide {
  position: fixed;
  top: 50%;
  right: 0;
  transform: translateY(-50%) translateX(110%);
  width: 360px;
  max-width: calc(100vw - 24px);
  background: #ffffff;
  border-radius: 20px 0 0 20px;
  padding: 32px 28px 28px;
  text-align: center;
  box-shadow: -8px 0 40px rgba(0,0,0,0.15);
  z-index: 9998;
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
.m4-nl-slide.m4-nl-visible {
  transform: translateY(-50%) translateX(0);
}
/* Close button */
.m4-nl-close {
  position: absolute;
  top: 12px;
  right: 14px;
  width: 30px;
  height: 30px;
  border: none;
  background: #f1f5f9;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  padding: 0;
}
.m4-nl-close:hover {
  background: #e2e8f0;
  transform: rotate(90deg);
}
.m4-nl-close svg {
  width: 13px;
  height: 13px;
  stroke: #64748b;
}
/* Badge -10% */
.m4-nl-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--m4-primary, #8FAF9A), var(--m4-accent, #BFD8CC));
  color: #ffffff;
  font-family: 'DM Serif Display', sans-serif;
  font-size: 24px;
  font-weight: 800;
  margin-bottom: 14px;
  box-shadow: 0 6px 24px rgba(143,175,154,0.35);
  letter-spacing: -1px;
}
/* Title */
.m4-nl-title {
  font-family: 'DM Serif Display', sans-serif;
  font-size: 19px;
  font-weight: 700;
  color: #1e293b;
  line-height: 1.3;
  margin-bottom: 8px;
}
/* Subtitle */
.m4-nl-subtitle {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  color: #64748b;
  line-height: 1.5;
  margin-bottom: 18px;
}
/* Form */
.m4-nl-form {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.m4-nl-input {
  width: 100%;
  padding: 13px 18px;
  border: 2px solid #e2e8f0;
  border-radius: 50px;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  color: #1e293b;
  outline: none;
  transition: all 0.3s ease;
  box-sizing: border-box;
}
.m4-nl-input:focus {
  border-color: var(--m4-primary, #8FAF9A);
  box-shadow: 0 0 0 4px rgba(143,175,154,0.12);
}
.m4-nl-input::placeholder {
  color: #94a3b8;
}
.m4-nl-submit {
  width: 100%;
  padding: 13px 24px;
  background: linear-gradient(135deg, var(--m4-primary, #8FAF9A), var(--m4-accent, #BFD8CC));
  color: #ffffff;
  border: none;
  border-radius: 50px;
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 4px 20px rgba(143,175,154,0.3);
}
.m4-nl-submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(143,175,154,0.45);
}
.m4-nl-submit:disabled {
  opacity: 0.7;
  cursor: not-allowed;
  transform: none;
}
/* Skip link */
.m4-nl-skip {
  display: inline-block;
  margin-top: 12px;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  color: #94a3b8;
  cursor: pointer;
  transition: color 0.3s ease;
  border: none;
  background: none;
  text-decoration: none;
}
.m4-nl-skip:hover {
  color: #64748b;
}
/* Success state */
.m4-nl-success {
  display: none;
  text-align: center;
  padding: 10px 0;
}
.m4-nl-success.active {
  display: block;
}
.m4-nl-success-icon {
  font-size: 40px;
  margin-bottom: 12px;
}
.m4-nl-code {
  display: inline-block;
  background: linear-gradient(135deg, rgba(143,175,154,0.1), rgba(191,216,204,0.15));
  border: 2px dashed var(--m4-primary, #8FAF9A);
  border-radius: 12px;
  padding: 10px 24px;
  font-family: 'DM Serif Display', sans-serif;
  font-size: 22px;
  font-weight: 800;
  color: var(--m4-primary, #8FAF9A);
  letter-spacing: 2px;
  margin: 8px 0 12px;
  user-select: all;
}
.m4-nl-success p {
  font-size: 12px;
  color: #64748b;
  margin: 0;
}
/* Error */
.m4-nl-error {
  color: #A67B5B;
  font-size: 12px;
  margin-top: 5px;
  display: none;
}
/* Mobile */
@media (max-width: 480px) {
  .m4-nl-slide {
    width: 300px;
    padding: 26px 20px 22px;
    border-radius: 16px 0 0 16px;
  }
  .m4-nl-title {
    font-size: 16px;
  }
  .m4-nl-badge {
    width: 56px;
    height: 56px;
    font-size: 20px;
  }
}

/* ============================================================
   BANNIERE 18+ - Avant le footer
   ============================================================ */
.m4-age-banner {
  background: #f8fafc;
  border-top: 1px solid #e2e8f0;
  padding: 20px 0;
  position: relative;
}
.m4-age-banner::before {
  display: none;
}
.m4-age-banner-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  max-width: 800px;
  margin: 0 auto;
  padding: 0 20px;
}
.m4-age-banner-icon {
  flex-shrink: 0;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  background: rgba(239, 68, 68, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
}
.m4-age-banner-icon svg {
  width: 24px;
  height: 24px;
}
.m4-age-banner-text {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  color: #64748b;
  line-height: 1.5;
}
.m4-age-banner-text strong {
  color: #334155;
  font-weight: 600;
}
.m4-age-banner-text .m4-age-legal {
  display: block;
  font-size: 11px;
  color: #94a3b8;
  margin-top: 4px;
  font-style: italic;
}
@media (max-width: 600px) {
  .m4-age-banner-inner {
    flex-direction: column;
    text-align: center;
    gap: 12px;
  }
}

/* Fix: Hide the module's img-thumbnail in age popup and show our 18+ badge */
.ets_av_ageverification > img.img-thumbnail,
.ets_av_ageverification > .ets_av_icon img,
.ets_av_ageverification img[src*="eighteen"] {
  display: none !important;
}
.ets_av_ageverification > .ets_av_title {
  position: relative !important;
}
/* Add 18+ badge before the title */
.ets_av_ageverification {
  position: relative !important;
}
.ets_av_ageverification > img.img-thumbnail + h4::before,
.ets_av_ageverification > h4.ets_av_title::before {
  content: '18+';
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  margin: 0 auto 25px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--m4-primary, #8FAF9A), var(--m4-accent, #BFD8CC));
  color: #ffffff;
  font-family: 'DM Serif Display', sans-serif;
  font-size: 28px;
  font-weight: 800;
  letter-spacing: -1px;
  box-shadow: 0 8px 32px rgba(124, 58, 237, 0.4);
}
/* Fix description div (not p tag) */
.ets_av_ageverification .ets_av_desc {
  color: #94a3b8 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  margin-bottom: 30px !important;
  padding: 0 10px !important;
}
/* Fix buttons - they might be direct children, not in .ets_av_btn */
.ets_av_ageverification a.ets_av_submit,
.ets_av_ageverification button.ets_av_submit {
  display: block !important;
  width: 280px !important;
  margin: 0 auto 12px !important;
  background: linear-gradient(135deg, var(--m4-primary), var(--m4-accent)) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 16px 40px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-shadow: 0 4px 20px rgba(124, 58, 237, 0.3) !important;
}
.ets_av_ageverification a.ets_av_submit:hover,
.ets_av_ageverification button.ets_av_submit:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 30px rgba(124, 58, 237, 0.5) !important;
}
.ets_av_ageverification a.ets_av_cancel,
.ets_av_ageverification button.ets_av_cancel {
  display: block !important;
  width: 280px !important;
  margin: 0 auto !important;
  background: transparent !important;
  color: #64748b !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: 50px !important;
  padding: 14px 40px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
}
.ets_av_ageverification a.ets_av_cancel:hover,
.ets_av_ageverification button.ets_av_cancel:hover {
  background: rgba(255, 255, 255, 0.05) !important;
  color: #94a3b8 !important;
  border-color: rgba(255, 255, 255, 0.25) !important;
}
/* Override any inline styles from the module */
.ets_av_ageverification a[style*="background"],
.ets_av_ageverification button[style*="background"] {
  background-color: transparent !important;
}

/* ============================================================
   CONTAINER PLUS LARGE - 1440px
   ============================================================ */
@media (min-width: 1200px) {
  .container {
    max-width: 1280px !important;
    width: 88% !important;
  }
}
@media (min-width: 1600px) {
  .container {
    max-width: 1380px !important;
    width: 88% !important;
  }
}


/* Age warning banner */
.m4-age-warning {
  text-align: center;
  padding: 14px 0;
  background: #f3f3f3;
  border-top: 1px solid #e5e7eb;
}
.m4-age-warning p {
  margin: 0;
  font-size: 12px;
  color: #6B7280;
}

/* CTA buttons on green bg */
.m4-cta-final .m4-btn-primary {
  background: #C97B5D !important;
  border-color: #C97B5D !important;
  color: #fff !important;
}
.m4-cta-final .m4-btn-primary:hover {
  background: #b56a4e !important;
}
.m4-cta-final .m4-btn-outline {
  border-color: #fff !important;
  color: #fff !important;
  background: transparent !important;
}
.m4-cta-final .m4-btn-outline:hover {
  background: rgba(255,255,255,0.15) !important;
}

/* --- PRODUCT: BULLET POINTS BÉNÉFICES --- */
.m4-product-benefits {
  margin: 16px 0 20px;
  padding: 16px 20px;
  background: var(--m4-surface-light, #f8fafc);
  border-radius: var(--m4-radius-sm, 10px);
  border-left: 4px solid var(--m4-neon-green, #10b981);
}
.m4-product-benefits ul { list-style: none; padding: 0; margin: 0; }
.m4-product-benefits li {
  padding: 4px 0;
  font-size: 14px;
  line-height: 1.6;
  color: var(--m4-text, #1e293b);
  position: relative;
  padding-left: 24px;
}
.m4-product-benefits li::before {
  content: '\2714';
  position: absolute;
  left: 0;
  color: var(--m4-neon-green, #10b981);
  font-weight: bold;
}

/* --- PRODUCT: PRIX DÉGRESSIFS VISUELS --- */
.m4-volume-pricing {
  margin: 12px 0;
  padding: 12px 14px 10px;
  background: var(--m4-surface-light, #f8fafc);
  border-radius: var(--m4-radius, 16px);
  border: 1px solid var(--m4-glass-border, rgba(0,0,0,0.08));
}
.m4-volume-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  font-size: 10px;
  color: #7A9E86;
  color: var(--m4-text, #1e293b);
  margin-bottom: 8px;
}
.m4-volume-title svg { color: var(--m4-primary, #7c3aed); }
.m4-volume-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
@media (max-width: 767px) {
  .m4-volume-cards { grid-template-columns: repeat(2, 1fr); }
}
.m4-volume-card {
  text-align: center;
  padding: 8px 6px 6px;
  border-radius: var(--m4-radius-sm, 10px);
  background: #fff;
  border: 2px solid var(--m4-glass-border, rgba(0,0,0,0.08));
  cursor: pointer;
  transition: var(--m4-transition);
  position: relative;
  min-width: 0;
}
.m4-volume-card:hover {
  border-color: var(--m4-primary, #7c3aed);
  transform: translateY(-2px);
}
.m4-volume-popular {
  border-color: var(--m4-primary, #7c3aed) !important;
  background: linear-gradient(135deg, rgba(124,58,237,0.03), rgba(6,182,212,0.03));
  transform: scale(1.03);
  padding-top: 22px;
}
.m4-volume-popular:hover { transform: scale(1.05); }
.m4-volume-badge-popular {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(90deg, var(--m4-primary, #7c3aed), var(--m4-accent, #06b6d4));
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 4px 12px;
  border-radius: 100px;
  white-space: nowrap;
}
.m4-volume-qty {
  font-weight: 700;
  font-size: 13px;
  color: var(--m4-text, #1e293b);
  margin-bottom: 4px;
}
.m4-volume-old-price {
  margin-bottom: 2px;
}
.m4-volume-strike {
  text-decoration: line-through;
  color: var(--m4-text-muted, #999);
  font-size: 12px;
}
.m4-volume-new-price {
  font-size: 15px;
  font-weight: 800;
  color: var(--m4-neon-green, #10b981);
  margin-bottom: 2px;
  line-height: 1.1;
}
.m4-volume-popular .m4-volume-new-price {
  font-size: 20px;
}
.m4-volume-saving {
  display: inline-block;
  background: rgba(16,185,129,0.1);
  color: var(--m4-neon-green, #10b981);
  font-size: 11px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 100px;
  margin-bottom: 6px;
}
.m4-volume-cta {
  display: block;
  width: 100%;
  padding: 6px 8px;
  border: 2px solid var(--m4-primary, #7c3aed);
  background: transparent;
  color: var(--m4-primary, #7c3aed);
  border-radius: 8px;
  font-weight: 700;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.3s ease;
}
.m4-volume-cta:hover {
  background: var(--m4-primary, #7c3aed);
  color: #fff;
}
.m4-volume-popular .m4-volume-cta {
  background: linear-gradient(90deg, var(--m4-primary, #7c3aed), var(--m4-accent, #06b6d4));
  color: #fff;
  border-color: transparent;
}

/* --- PRODUCT: BOUTONS PARTAGE SOCIAL --- */
.m4-social-share {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--m4-glass-border, rgba(0,0,0,0.08));
}
.m4-social-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--m4-text-muted, #64748b);
}
.m4-social-btn {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  transition: all 0.3s ease;
  opacity: 0.7;
}
.m4-social-btn:hover { opacity: 1; transform: translateY(-2px); }
.m4-social-facebook { background: #1877f2; color: #fff; }
.m4-social-twitter { background: #1da1f2; color: #fff; }
.m4-social-whatsapp { background: #25d366; color: #fff; }
.m4-social-pinterest { background: #e60023; color: #fff; }
.m4-social-btn svg { fill: #fff; }

/* --- PRODUCT FAQ --- */
.m4-product-faq {
  padding: 60px 0;
}
.m4-product-faq .m4-faq-grid {
  max-width: 800px;
  margin: 0 auto;
}
.m4-product-faq .m4-faq-item {
  margin-bottom: 8px;
}

/* --- MINI FORMULAIRE CONTACT DANS FAQ --- */
.m4-contact-mini {
  margin-top: 16px;
}
.m4-contact-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 12px;
}
.m4-contact-input, .m4-contact-textarea {
  width: 100%;
  padding: 10px 14px;
  border: 2px solid var(--m4-glass-border, rgba(0,0,0,0.08));
  border-radius: 8px;
  font-size: 14px;
  font-family: var(--m4-font-body);
  transition: border-color 0.3s ease;
  box-sizing: border-box;
}
.m4-contact-input:focus, .m4-contact-textarea:focus {
  border-color: var(--m4-primary, #7c3aed);
  outline: none;
}
.m4-contact-textarea { resize: vertical; }
.m4-contact-mini .m4-btn-primary {
  margin-top: 12px;
}
.m4-contact-alt {
  margin-top: 16px;
  font-size: 13px;
  color: var(--m4-text-muted, #64748b);
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

/* Responsive - product B2C */
@media (min-width: 768px) and (max-width: 991px) {
  .m4-volume-cards { grid-template-columns: repeat(2, 1fr) !important; gap: 16px 10px !important; }
  .m4-volume-card { padding: 10px 8px !important; }
  .m4-volume-popular { transform: none !important; padding-top: 26px !important; }
  .m4-volume-badge-popular { top: -10px !important; font-size: 10px !important; padding: 3px 10px !important; }
}
@media (max-width: 767px) {
  .m4-volume-cards { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
  .m4-volume-popular { transform: none; }
  .m4-volume-popular:hover { transform: none; }
  .m4-social-share { flex-wrap: wrap; }
  .m4-contact-row { grid-template-columns: 1fr; }
}


/* === MINI CALCULATEURS PRODUIT === */
.m4-mini-calc {
  margin-top: 20px;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}
.m4-mini-calc-header {
  background: linear-gradient(135deg, #8FAF9A 0%, #7A9E86 100%);
  color: #fff;
  padding: 12px 16px;
  font-size: 10px;
  color: #7A9E86;
}
.m4-mini-calc-header strong {
  color: #fff;
}
.m4-mini-calc-body {
  padding: 16px;
}
.m4-mini-calc-body label {
  display: block;
  font-size: 13px;
  color: #555;
  margin-bottom: 8px;
  font-weight: 500;
}
.m4-mini-calc-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.m4-mini-slider {
  flex: 1;
  -webkit-appearance: none;
  appearance: none;
  height: 6px;
  background: #e0e0e0;
  border-radius: 3px;
  outline: none;
  cursor: pointer;
}
.m4-mini-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  background: #8FAF9A;
  border-radius: 50%;
  cursor: pointer;
  border: 2px solid #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,0.2);
}
.m4-mini-slider::-moz-range-thumb {
  width: 20px;
  height: 20px;
  background: #8FAF9A;
  border-radius: 50%;
  cursor: pointer;
  border: 2px solid #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,0.2);
}
.m4-mini-val {
  font-size: 14px;
  font-weight: 700;
  color: #333;
  min-width: 60px;
  text-align: right;
}
.m4-mini-result {
  background: #f8f9fa;
  border-radius: 8px;
  padding: 12px 14px;
  margin-top: 8px;
}
.m4-mini-result-main {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.m4-mini-result-label {
  font-size: 13px;
  color: #666;
}
.m4-mini-result-value {
  font-size: 18px;
  color: #7A9E86;
}
.m4-mini-result-tip {
  font-size: 12px;
  color: #333;
  margin: 6px 0 0;
  line-height: 1.4;
}
.m4-mini-result-saving {
  font-size: 13px;
  color: #7A9E86;
  font-weight: 600;
  margin: 6px 0 0;
}
.m4-mini-calc-link {
  display: block;
  text-align: center;
  padding: 10px 16px;
  font-size: 13px;
  color: #8FAF9A;
  text-decoration: none;
  border-top: 1px solid #eee;
  transition: background 0.2s;
}
.m4-mini-calc-link:hover {
  background: #f5f8f6;
  color: #7A9E86;
}
/* DIY calc grid */
.m4-mini-calc-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 10px;
  margin-bottom: 12px;
}
.m4-mini-calc-grid label {
  margin-bottom: 4px;
  font-size: 12px;
}
.m4-mini-select {
  width: 100%;
  padding: 6px 8px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 13px;
  background: #fff;
  color: #333;
  cursor: pointer;
}
.m4-mini-select:focus {
  border-color: #8FAF9A;
  outline: none;
  box-shadow: 0 0 0 2px rgba(143,175,154,0.2);
}
.m4-mini-diy-line {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 5px 0;
  font-size: 13px;
  color: #555;
}
.m4-mini-diy-line strong {
  color: #333;
}
.m4-mini-diy-total {
  border-top: 1px solid #ddd;
  margin-top: 4px;
  padding-top: 8px;
}
.m4-mini-diy-total strong {
  color: #7A9E86;
  font-size: 10px;
  color: #7A9E86;
}
/* Reapprovisionnement box */
.m4-reapp-box {
  background: #f0f6f2;
  border-radius: 8px;
  padding: 10px 14px;
  margin-top: 8px;
}
.m4-reapp-title {
  font-size: 13px;
  font-weight: 600;
  color: #333;
  margin: 0 0 4px;
}
.m4-reapp-box p {
  font-size: 13px;
  color: #555;
  margin: 0;
}
.m4-reapp-or {
  display: inline-block;
  background: #8FAF9A;
  color: #fff;
  font-size: 11px;
  padding: 1px 6px;
  border-radius: 4px;
  margin: 0 4px;
}
/* Mobile */
@media (max-width: 767px) {
  .m4-mini-calc-grid {
    grid-template-columns: 1fr;
  }
  .m4-mini-calc-row {
    flex-direction: column;
    align-items: stretch;
  }
  .m4-mini-val {
    text-align: left;
  }
  .m4-mini-result-main {
    flex-direction: column;
    align-items: flex-start;
  }
}


/* === BOUTON AJOUTER AU PANIER - NOIR PREMIUM === */
.product-add-to-cart .add-to-cart,
.product-add-to-cart .btn.add-to-cart {
  background: #1A1A1A !important;
  background-image: none !important;
  border: none !important;
  border-radius: 8px !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  padding: 16px 40px !important;
  text-transform: uppercase !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 4px 15px rgba(0,0,0,0.2) !important;
}
.product-add-to-cart .add-to-cart:hover,
.product-add-to-cart .btn.add-to-cart:hover {
  background: #000 !important;
  background-image: none !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.35) !important;
}
.product-add-to-cart .add-to-cart:active,
.product-add-to-cart .btn.add-to-cart:active {
  transform: translateY(0) scale(0.98) !important;
}
.product-add-to-cart .add-to-cart::before,
.product-add-to-cart .add-to-cart::after,
.product-add-to-cart .btn.add-to-cart::before,
.product-add-to-cart .btn.add-to-cart::after {
  display: none !important;
}

/* === DECLINAISONS / VARIANTES - PILLS MODERNES === */
.product-variants-item .input-container {
  margin: 0 6px 6px 0 !important;
}
.product-variants-item .input-container .input-radio {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
}
.product-variants-item .input-container .radio-label {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 50px !important;
  min-height: 44px !important;
  padding: 8px 16px !important;
  border: 2px solid #ddd !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #333 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  text-align: center !important;
}
.product-variants-item .input-container .radio-label:hover {
  border-color: #8FAF9A !important;
  background: #f5f9f7 !important;
  color: #333 !important;
}
.product-variants-item .input-container .input-radio:checked + .radio-label {
  background: #7A9E86 !important;
  border-color: #7A9E86 !important;
  color: #fff !important;
  font-weight: 700 !important;
  box-shadow: 0 2px 8px rgba(122,158,134,0.3) !important;
}
/* Variantes en ligne */
.product-variants-item ul {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
  list-style: none !important;
  padding: 10px 0 !important;
  margin: 0 !important;
}
.product-variants-item ul li {
  float: none !important;
}
/* Label du groupe */
.product-variants-item > .control-label {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #555 !important;
  margin-bottom: 8px !important;
  display: block !important;
}

/* === FAQ PRODUIT === */
.m4-product-faq {
  margin-top: 30px;
  border: 1px solid #e8e8e8;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}
.m4-product-faq-title {
  background: #f8f9fa;
  padding: 14px 18px;
  font-size: 16px;
  font-weight: 700;
  color: #333;
  border-bottom: 1px solid #e8e8e8;
}
.m4-product-faq .m4-faq-item {
  border-bottom: 1px solid #f0f0f0;
  flex: unset !important;
  width: 100% !important;
  max-width: 100% !important;
}
.m4-product-faq .m4-faq-item:last-child {
  border-bottom: none;
}
.m4-product-faq .m4-faq-question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 18px;
  font-size: 14px;
  font-weight: 500;
  color: #333;
  cursor: pointer;
  background: none;
  border: none;
  width: 100%;
  text-align: left;
  transition: background 0.2s;
}
.m4-product-faq .m4-faq-question:hover {
  background: #f9faf9;
}
.m4-product-faq .m4-faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}
.m4-product-faq .m4-faq-item.active .m4-faq-answer {
  max-height: 300px;
}
.m4-product-faq .m4-faq-answer p {
  padding: 0 18px 14px;
  font-size: 13px;
  color: #666;
  line-height: 1.6;
  margin: 0;
}

/* === BOUTON RECOMMANDER (compte client) === */
.m4-reorder-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: #1A1A1A !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 10px 20px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
}
.m4-reorder-btn:hover {
  background: #000 !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2) !important;
}
.m4-reorder-btn svg {
  width: 16px;
  height: 16px;
  fill: currentColor;
}

/* Volume pricing - discount badge */
.m4-volume-discount {
  font-size: 22px;
  font-weight: 800;
  color: #c0392b;
  margin-bottom: 4px;
}
.m4-volume-popular .m4-volume-discount {
  color: #fff;
  background: #c0392b;
  display: inline-block;
  padding: 2px 10px;
  border-radius: 4px;
  font-size: 20px;
}
/* Volume pricing - more visible prices */
.m4-volume-old-price {
  margin: 6px 0 2px;
}
.m4-volume-strike {
  text-decoration: line-through;
  color: #333;
  font-size: 14px;
}
.m4-volume-new-price {
  font-size: 22px !important;
  font-weight: 800 !important;
  color: #2d6a4f !important;
}
.m4-volume-saving {
  color: #c0392b !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  margin-top: 4px;
}

/* FAQ section titles (Conseils / Precautions) */
.m4-faq-section-title {
  padding: 10px 18px;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #7A9E86;
  background: #f5f8f6;
  border-bottom: 1px solid #e8e8e8;
  border-top: 1px solid #e8e8e8;
}

/* Badge fidelite */
.m4-badge-loyalty {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  font-size: 13px;
  color: #555;
}
.m4-badge-loyalty svg {
  color: #DAA520;
  flex-shrink: 0;
}

/* FAQ 2 columns layout */
.m4-faq-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
}
.m4-faq-col {
  border-right: 1px solid #e8e8e8;
}
.m4-faq-col:last-child {
  border-right: none;
}
@media (max-width: 767px) {
  .m4-faq-columns {
    grid-template-columns: 1fr;
  }
  .m4-faq-col {
    border-right: none;
  }
}

/* FAQ main title - bigger, centered, distinct section */
.m4-product-faq-title {
  text-align: center !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  padding: 20px 18px !important;
  background: #f0f6f2 !important;
  color: #222 !important;
  letter-spacing: 0.3px;
}
/* FAQ section titles side by side */
.m4-faq-columns {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
}
.m4-faq-section-title {
  text-align: center !important;
  padding: 12px 18px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  background: #f8f9fa !important;
}
.m4-faq-col:first-child .m4-faq-section-title {
  border-right: 1px solid #e8e8e8;
}
@media (max-width: 767px) {
  .m4-product-faq-title {
    font-size: 18px !important;
  }
}

/* FAQ header row - Conseils left, Precautions right */
.m4-faq-header-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-bottom: 1px solid #e8e8e8;
}
.m4-faq-header-row .m4-faq-section-title {
  margin: 0 !important;
  border-bottom: none !important;
  border-top: none !important;
}
.m4-faq-header-row .m4-faq-section-title:first-child {
  border-right: 1px solid #e8e8e8 !important;
}
/* Remove old borders from columns */
.m4-faq-col .m4-faq-section-title {
  display: none;
}
.m4-faq-col {
  border-right: 1px solid #e8e8e8 !important;
}
.m4-faq-col:last-child {
  border-right: none !important;
}
@media (max-width: 767px) {
  .m4-faq-header-row {
    grid-template-columns: 1fr 1fr;
  }
}

/* === FAQ STYLE VAPEVO === */
.m4-product-faq {
  margin-top: 30px !important;
  border: none !important;
  border-radius: 0 !important;
  overflow: visible !important;
  background: transparent !important;
}
.m4-product-faq-title {
  text-align: center !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  padding: 16px 0 !important;
  background: transparent !important;
  color: #222 !important;
  border-bottom: none !important;
  margin-bottom: 0 !important;
}
/* Header row */
.m4-faq-header-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  border-bottom: none !important;
  gap: 20px !important;
}
.m4-faq-header-row .m4-faq-section-title {
  font-size: 14px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  color: #7A9E86 !important;
  padding: 12px 0 8px !important;
  background: transparent !important;
  border-bottom: 2px solid #7A9E86 !important;
  border-right: none !important;
  border-top: none !important;
  text-align: center !important;
  margin: 0 !important;
}
/* Columns */
.m4-faq-columns {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 20px !important;
}
.m4-faq-col {
  border-right: none !important;
}
/* Items - Vapevo style */
.m4-product-faq .m4-faq-item {
  border: none !important;
  border-top: 1px solid #e5e5e5 !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: unset !important;
  background: transparent !important;
}
.m4-product-faq .m4-faq-item:last-child {
  border-bottom: 1px solid #e5e5e5 !important;
}
.m4-product-faq .m4-faq-question {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 14px 0 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #333 !important;
  cursor: pointer !important;
  background: transparent !important;
  border: none !important;
  width: 100% !important;
  text-align: left !important;
  transition: color 0.2s !important;
  line-height: 1.4 !important;
}
.m4-product-faq .m4-faq-question:hover {
  color: #7A9E86 !important;
  background: transparent !important;
}
.m4-product-faq .m4-faq-question span:first-child {
  flex: 1 !important;
}
.m4-product-faq .m4-faq-chevron {
  font-size: 10px !important;
  color: #333 !important;
  transition: transform 0.3s ease !important;
  flex-shrink: 0 !important;
}
.m4-product-faq .m4-faq-item.active .m4-faq-chevron {
  transform: rotate(180deg) !important;
}
.m4-product-faq .m4-faq-answer {
  max-height: 0 !important;
  overflow: hidden !important;
  transition: max-height 0.3s ease !important;
}
.m4-product-faq .m4-faq-item.active .m4-faq-answer {
  max-height: 400px !important;
}
.m4-product-faq .m4-faq-answer p {
  padding: 0 0 14px !important;
  font-size: 13px !important;
  color: #666 !important;
  line-height: 1.7 !important;
  margin: 0 !important;
}
@media (max-width: 767px) {
  .m4-faq-header-row,
  .m4-faq-columns {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }
}

/* === FAQ Contact Form (Vapevo style) === */
.m4-faq-contact {
  margin-top: 30px;
  padding-top: 25px;
  border-top: 1px solid #e5e5e5;
  text-align: center;
}
.m4-faq-contact-title {
  font-size: 10px;
  color: #7A9E86;
  font-weight: 600;
  color: #333;
  margin: 0 0 4px;
}
.m4-faq-contact-subtitle {
  font-size: 13px;
  color: #333;
  margin: 0 0 18px;
}
.m4-faq-contact-form {
  max-width: 500px;
  margin: 0 auto;
  text-align: left;
}
.m4-faq-contact-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 12px;
}
.m4-faq-contact-field {
  margin-bottom: 12px;
}
.m4-faq-contact-row .m4-faq-contact-field {
  margin-bottom: 0;
}
.m4-faq-contact-field label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: #555;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 5px;
}
.m4-faq-contact-field input,
.m4-faq-contact-field textarea {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 13px;
  font-family: inherit;
  color: #333;
  background: #fff;
  transition: border-color 0.2s;
  box-sizing: border-box;
}
.m4-faq-contact-field input:focus,
.m4-faq-contact-field textarea:focus {
  outline: none;
  border-color: #8FAF9A;
}
.m4-faq-contact-field textarea {
  resize: vertical;
  min-height: 70px;
}
.m4-faq-contact-btn {
  display: inline-block;
  background: #1A1A1A;
  color: #fff;
  border: none;
  padding: 11px 32px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s;
  margin-top: 4px;
}
.m4-faq-contact-btn:hover {
  background: #333;
}
@media (max-width: 767px) {
  .m4-faq-contact-row {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .m4-faq-contact-row .m4-faq-contact-field {
    margin-bottom: 12px;
  }
}

/* Contact form at very bottom of product page */
.m4-page-bottom-contact {
  max-width: 600px;
  margin: 40px auto 30px !important;
  padding: 30px 20px !important;
  border-top: 1px solid #e5e5e5 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

/* === Bandeau legal 18+ === */
.m4-legal-18 {
  background: #1A1A1A;
  padding: 14px 20px;
  text-align: center;
}
.m4-legal-18-inner {
  max-width: 800px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.m4-legal-18-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  border: 2px solid #e74c3c;
  border-radius: 50%;
  color: #e74c3c;
  font-size: 10px;
  color: #7A9E86;
  font-weight: 800;
  flex-shrink: 0;
}
.m4-legal-18-inner p {
  margin: 0;
  font-size: 11px;
  color: #444;
  line-height: 1.5;
  text-align: left;
}

/* === FAQ 3 columns: Conseils | Precautions | Contact === */
.m4-faq-3cols {
  grid-template-columns: 1fr 1fr 1fr !important;
}
.m4-faq-header-row {
  grid-template-columns: 1fr 1fr 1fr !important;
}
.m4-faq-col-contact {
  padding: 10px 0 !important;
  display: flex;
  flex-direction: column;
}
.m4-faq-col-contact .m4-faq-contact-title {
  font-size: 14px;
  font-weight: 600;
  color: #333;
  margin: 0 0 4px;
}
.m4-faq-col-contact .m4-faq-contact-subtitle {
  font-size: 12px;
  color: #333;
  margin: 0 0 14px;
  line-height: 1.5;
}
.m4-faq-col-contact .m4-faq-contact-form {
  max-width: 100%;
}
.m4-faq-col-contact .m4-faq-contact-field {
  margin-bottom: 10px;
}
.m4-faq-col-contact .m4-faq-contact-row {
  display: block;
}
@media (max-width: 991px) {
  .m4-faq-3cols,
  .m4-faq-header-row {
    grid-template-columns: 1fr 1fr !important;
  }
  .m4-faq-col-contact {
    grid-column: 1 / -1;
    max-width: 400px;
    margin: 20px auto 0;
    padding-top: 20px !important;
    border-top: 1px solid #e5e5e5;
  }
}
@media (max-width: 767px) {
  .m4-faq-3cols,
  .m4-faq-header-row {
    grid-template-columns: 1fr !important;
  }
}

/* === FAQ 2 colonnes: FAQ gauche | Contact droite === */
.m4-faq-2cols {
  display: grid !important;
  grid-template-columns: 1fr 300px !important;
  gap: 30px !important;
}
.m4-faq-3cols {
  grid-template-columns: 1fr 300px !important;
}
.m4-faq-header-row {
  display: none !important;
}
.m4-faq-section-title {
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  color: #7A9E86 !important;
  padding-bottom: 8px !important;
  margin-bottom: 0 !important;
  border-bottom: 2px solid #7A9E86 !important;
  background: transparent !important;
  text-align: left !important;
  display: block !important;
}
.m4-faq-section-title-second {
  margin-top: 20px !important;
  padding-top: 0 !important;
}
.m4-faq-col-contact {
  padding-top: 5px !important;
  border-left: 1px solid #e5e5e5 !important;
  padding-left: 30px !important;
}
@media (max-width: 991px) {
  .m4-faq-2cols {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  .m4-faq-col-contact {
    border-left: none !important;
    padding-left: 0 !important;
    border-top: 1px solid #e5e5e5 !important;
    padding-top: 20px !important;
    max-width: 400px !important;
  }
}

/* === FAQ Dark Theme + DM Serif Display === */
.m4-product-faq {
  background: #1A1A1A !important;
  border-radius: 12px !important;
  padding: 30px 35px 35px !important;
  margin-top: 30px !important;
}
.m4-product-faq-title {
  color: #fff !important;
  font-family: 'DM Serif Display', Georgia, serif !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  letter-spacing: 0.3px !important;
}
.m4-faq-section-title {
  color: #8FAF9A !important;
  border-bottom-color: #8FAF9A !important;
}
.m4-product-faq .m4-faq-question {
  color: #e5e5e5 !important;
}
.m4-product-faq .m4-faq-question:hover {
  color: #8FAF9A !important;
}
.m4-product-faq .m4-faq-chevron {
  color: #333 !important;
}
.m4-product-faq .m4-faq-item {
  border-top-color: #333 !important;
}
.m4-product-faq .m4-faq-item:last-child {
  border-bottom-color: #333 !important;
}
.m4-product-faq .m4-faq-answer p {
  color: #444 !important;
}
.m4-faq-col-contact {
  border-left-color: #333 !important;
}
.m4-faq-col-contact .m4-faq-contact-title {
  color: #fff !important;
  text-align: center !important;
  font-family: 'DM Serif Display', Georgia, serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  margin-bottom: 6px !important;
}
.m4-faq-col-contact .m4-faq-contact-subtitle {
  color: #333 !important;
}
.m4-faq-col-contact .m4-faq-contact-field label {
  color: #333 !important;
}
.m4-faq-col-contact .m4-faq-contact-field input,
.m4-faq-col-contact .m4-faq-contact-field textarea {
  background: #2a2a2a !important;
  border-color: #444 !important;
  color: #ddd !important;
}
.m4-faq-col-contact .m4-faq-contact-field input::placeholder,
.m4-faq-col-contact .m4-faq-contact-field textarea::placeholder {
  color: #666 !important;
}
.m4-faq-col-contact .m4-faq-contact-field input:focus,
.m4-faq-col-contact .m4-faq-contact-field textarea:focus {
  border-color: #8FAF9A !important;
}
.m4-faq-col-contact .m4-faq-contact-btn {
  background: #8FAF9A !important;
  color: #1A1A1A !important;
  font-weight: 700 !important;
}
.m4-faq-col-contact .m4-faq-contact-btn:hover {
  background: #7A9E86 !important;
}
@media (max-width: 991px) {
  .m4-faq-col-contact {
    border-left-color: transparent !important;
    border-top-color: #333 !important;
  }
}

/* === Fix homepage FAQ - undo product FAQ overrides === */
.m4-faq .m4-faq-answer {
  max-height: none !important;
  overflow: visible !important;
}
.m4-faq .m4-faq-item {
  background: transparent !important;
  border-top-color: #e5e5e5 !important;
}
.m4-faq .m4-faq-item:last-child {
  border-bottom-color: #e5e5e5 !important;
}
.m4-faq .m4-faq-question {
  color: #333 !important;
}
.m4-faq .m4-faq-question:hover {
  color: #7A9E86 !important;
}
.m4-faq .m4-faq-answer p {
  color: #666 !important;
}
.m4-faq .m4-faq-chevron {
  color: #333 !important;
}
.m4-faq {
  background: transparent !important;
  padding: 60px 0 !important;
  border-radius: 0 !important;
}
/* Homepage FAQ: hidden by default, shown on click */
.m4-faq .m4-faq-answer {
  max-height: 0 !important;
  overflow: hidden !important;
  transition: max-height 0.3s ease !important;
}
.m4-faq .m4-faq-item.active .m4-faq-answer {
  max-height: 500px !important;
}

/* === FAQ fond vert theme === */
.m4-product-faq {
  background: #8FAF9A !important;
}
.m4-product-faq-title {
  color: #fff !important;
}
.m4-faq-section-title {
  color: #fff !important;
  border-bottom-color: rgba(255,255,255,0.4) !important;
}
.m4-product-faq .m4-faq-question {
  color: #fff !important;
}
.m4-product-faq .m4-faq-question:hover {
  color: #1A1A1A !important;
}
.m4-product-faq .m4-faq-chevron {
  color: rgba(255,255,255,0.5) !important;
}
.m4-product-faq .m4-faq-item {
  border-top-color: rgba(255,255,255,0.2) !important;
}
.m4-product-faq .m4-faq-item:last-child {
  border-bottom-color: rgba(255,255,255,0.2) !important;
}
.m4-product-faq .m4-faq-answer p {
  color: rgba(255,255,255,0.85) !important;
}
.m4-faq-col-contact {
  border-left-color: rgba(255,255,255,0.2) !important;
}
.m4-faq-col-contact .m4-faq-contact-title {
  color: #fff !important;
  text-align: center !important;
}
.m4-faq-col-contact .m4-faq-contact-subtitle {
  color: rgba(255,255,255,0.7) !important;
}
.m4-faq-col-contact .m4-faq-contact-field label {
  color: rgba(255,255,255,0.8) !important;
}
.m4-faq-col-contact .m4-faq-contact-field input,
.m4-faq-col-contact .m4-faq-contact-field textarea {
  background: rgba(255,255,255,0.15) !important;
  border-color: rgba(255,255,255,0.3) !important;
  color: #fff !important;
}
.m4-faq-col-contact .m4-faq-contact-field input::placeholder,
.m4-faq-col-contact .m4-faq-contact-field textarea::placeholder {
  color: rgba(255,255,255,0.5) !important;
}
.m4-faq-col-contact .m4-faq-contact-field input:focus,
.m4-faq-col-contact .m4-faq-contact-field textarea:focus {
  border-color: #fff !important;
}
.m4-faq-col-contact .m4-faq-contact-btn {
  background: #fff !important;
  color: #7A9E86 !important;
}
.m4-faq-col-contact .m4-faq-contact-btn:hover {
  background: #f0f0f0 !important;
}
@media (max-width: 991px) {
  .m4-faq-col-contact {
    border-top-color: rgba(255,255,255,0.2) !important;
  }
}

/* === FAQ layout: merged items + bigger contact === */
.m4-faq-2cols {
  grid-template-columns: 1.2fr 1fr !important;
  gap: 40px !important;
  align-items: start !important;
}
.m4-faq-col-contact {
  padding: 25px 30px !important;
  background: rgba(255,255,255,0.12) !important;
  border-radius: 10px !important;
  border-left: none !important;
}
.m4-faq-col-contact .m4-faq-contact-title {
  font-size: 20px !important;
  margin-bottom: 8px !important;
}
.m4-faq-col-contact .m4-faq-contact-subtitle {
  font-size: 14px !important;
  margin-bottom: 20px !important;
}
.m4-faq-col-contact .m4-faq-contact-field {
  margin-bottom: 14px !important;
}
.m4-faq-col-contact .m4-faq-contact-field label {
  font-size: 13px !important;
  margin-bottom: 6px !important;
}
.m4-faq-col-contact .m4-faq-contact-field input,
.m4-faq-col-contact .m4-faq-contact-field textarea {
  padding: 12px 14px !important;
  font-size: 14px !important;
}
.m4-faq-col-contact .m4-faq-contact-btn {
  width: 100% !important;
  padding: 13px 20px !important;
  font-size: 14px !important;
  margin-top: 6px !important;
}
@media (max-width: 991px) {
  .m4-faq-2cols {
    grid-template-columns: 1fr !important;
  }
  .m4-faq-col-contact {
    border-left: none !important;
    border-top: none !important;
    max-width: 100% !important;
  }
}

/* === FAQ title bigger + plus icon + compact === */
.m4-product-faq-title {
  font-size: 32px !important;
  margin-bottom: 20px !important;
}
.m4-product-faq {
  padding: 25px 30px 25px !important;
  margin-top: 20px !important;
  margin-bottom: 0 !important;
}
.m4-product-faq .m4-faq-chevron {
  font-size: 18px !important;
  font-weight: 300 !important;
  color: rgba(255,255,255,0.6) !important;
  transition: transform 0.3s ease !important;
}
.m4-product-faq .m4-faq-item.active .m4-faq-chevron {
  transform: rotate(45deg) !important;
}
.m4-product-faq .m4-faq-question {
  padding: 12px 0 !important;
}
.m4-product-faq .m4-faq-answer p {
  padding: 0 0 10px !important;
}
.m4-product-faq .m4-faq-item.active .m4-faq-answer {
  max-height: 300px !important;
}
.m4-faq-2cols {
  gap: 30px !important;
}

/* === Section Avis autonome === */
.m4-avis-section {
  margin-top: 25px;
  padding: 20px 0;
  border-top: 1px solid #e5e5e5;
}
.m4-avis-title {
  font-family: 'DM Serif Display', Georgia, serif;
  font-size: 22px;
  font-weight: 400;
  color: #333;
  margin: 0 0 15px;
}
.m4-avis-empty {
  font-size: 14px;
  color: #333;
  font-style: italic;
}
.m4-avis-content {
  font-size: 14px;
  color: #555;
}

/* === Alerte dernieres quantites === */
.m4-low-stock-warning {
  color: #e67e22;
  font-size: 13px;
  font-weight: 600;
  margin-top: 6px;
}


/* ============================================================
   HOMEPAGE CLEAN - Style Vapevo (25/02/2026)
   ============================================================ */

/* --- Hero Section --- */
.m4-hero {
  background: linear-gradient(135deg, #1A1A1A 0%, #2d2d2d 100%);
  color: #fff;
  padding: 80px 0 70px;
  text-align: center;
}
.m4-hero-content {
  max-width: 700px;
  margin: 0 auto;
}
.m4-hero-badge {
  display: inline-block;
  background: rgba(143, 175, 154, 0.2);
  color: #8FAF9A;
  border: 1px solid rgba(143, 175, 154, 0.4);
  padding: 8px 20px;
  border-radius: 30px;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 24px;
  letter-spacing: 0.5px;
}
.m4-hero-title {
  font-family: 'DM Serif Display', serif !important;
  font-size: 48px !important;
  font-weight: 400 !important;
  line-height: 1.15;
  margin: 0 0 16px;
  color: #fff !important;
}
.m4-hero-subtitle {
  font-size: 17px;
  color: rgba(255,255,255,0.7);
  margin: 0 0 36px;
  line-height: 1.6;
}
.m4-hero-cta {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}
.m4-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #8FAF9A;
  color: #fff !important;
  padding: 14px 32px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none !important;
  transition: all 0.3s ease;
}
.m4-btn-primary:hover {
  background: #8FAF9A;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(143,175,154,0.3);
}
.m4-btn-outline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  color: #fff !important;
  padding: 14px 32px;
  border-radius: 8px;
  border: 2px solid rgba(255,255,255,0.3);
  font-size: 16px;
  font-weight: 600;
  text-decoration: none !important;
  transition: all 0.3s ease;
}
.m4-btn-outline:hover {
  border-color: #fff;
  background: rgba(255,255,255,0.1);
}
.m4-btn-lg {
  padding: 16px 36px;
  font-size: 16px;
}

/* --- Stats Section --- */

/* --- Section Headers --- */
.m4-section-header {
  text-align: center;
  margin-bottom: 48px;
}
.m4-section-title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  margin: 0 0 12px;
}
.m4-section-subtitle {
  font-size: 20px;
  color: #666;
  margin: 0;
}

/* --- Reassurance --- */
.m4-reassurance {
  background: #f8f8f8;
  padding: 70px 0;
}
.m4-reassurance-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.m4-reassurance-card {
  background: #fff;
  border-radius: 12px;
  padding: 36px 24px;
  text-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.m4-reassurance-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0,0,0,0.08);
}
.m4-reassurance-icon {
  width: 64px;
  height: 64px;
  background: rgba(143, 175, 154, 0.1);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
  color: #8FAF9A;
}
.m4-reassurance-icon svg {
  stroke: #8FAF9A;
}
/* Recommandations panier */
.m4-crossselling {
  padding: 20px 30px !important;
  margin-top: 20px !important;
}
.m4-reassurance-card h3 {
  font-size: 22px;
  font-weight: 700;
  color: #EA8914 !important;
  -webkit-text-fill-color: #EA8914 !important;
  font-family: 'Nunito', sans-serif !important;
  font-style: normal !important;
  margin: 0 0 10px;
}
.m4-reassurance-card p,
.m4-reassurance-card .m4-reassurance-cta {
  font-size: 15px;
  color: #666 !important;
  -webkit-text-fill-color: #666 !important;
  font-family: 'Nunito', sans-serif !important;
  font-style: normal !important;
  line-height: 1.6;
  margin: 0;
}

/* --- Guides & Conseils --- */
.m4-guides {
  padding: 70px 0;
  background: #fff;
}
.m4-guides-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}
.m4-guide-card {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #eee;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.m4-guide-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0,0,0,0.08);
}
.m4-guide-img {
  height: 180px;
  background: #f0f0f0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.m4-guide-img svg {
  opacity: 0.7;
  transition: opacity 0.3s, transform 0.3s;
}
.m4-guide-card:hover .m4-guide-img svg {
  opacity: 1;
  transform: scale(1.15);
}
a.m4-guide-card {
  text-decoration: none;
  color: inherit;
  -webkit-text-fill-color: inherit;
}
.m4-guide-body {
  padding: 24px;
}
.m4-guide-badge {
  display: inline-block;
  background: rgba(143, 175, 154, 0.15);
  color: #6b9a78;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  margin-bottom: 12px;
}
.m4-guide-card h3 {
  font-size: 17px;
  font-weight: 700;
  color: #1A1A1A;
  margin: 0 0 8px;
  line-height: 1.4;
}
.m4-guide-card p {
  font-size: 14px;
  color: #666;
  line-height: 1.6;
  margin: 0 0 16px;
}
.m4-guide-link {
  font-size: 14px;
  font-weight: 600;
  color: #8FAF9A !important;
  text-decoration: none !important;
  transition: color 0.2s;
}
.m4-guide-link:hover {
  color: #6b9a78 !important;
}

/* --- FAQ Homepage --- */
.m4-faq {
  background: #f8f8f8;
  padding: 70px 0;
}
.m4-faq-grid {
  max-width: 800px;
  margin: 0 auto;
}
.m4-faq-item {
  background: #fff;
  border-radius: 10px;
  margin-bottom: 12px;
  overflow: hidden;
  border: 1px solid #eee;
}
.m4-faq-question {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 24px;
  border: none;
  background: none;
  font-size: 16px;
  font-weight: 600;
  color: #1A1A1A;
  cursor: pointer;
  text-align: left;
  font-family: 'Nunito', sans-serif;
  transition: color 0.2s;
}
.m4-faq-question:hover {
  color: #8FAF9A;
}
.m4-faq-chevron {
  font-size: 22px;
  font-weight: 300;
  color: #8FAF9A;
  transition: transform 0.3s ease;
  flex-shrink: 0;
  margin-left: 16px;
}
.m4-faq-item.active .m4-faq-chevron {
  transform: rotate(45deg);
}
.m4-faq .m4-faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease, padding 0.35s ease;
}
.m4-faq .m4-faq-item.active .m4-faq-answer {
  max-height: 400px;
}
.m4-faq-answer p {
  padding: 0 24px 20px;
  font-size: 10px;
  color: #7A9E86;
  color: #555;
  line-height: 1.7;
  margin: 0;
}

/* --- Responsive Homepage --- */
@media (max-width: 991px) {
  .m4-hero-title { font-size: 24px !important; }
  .m4-stats-grid { grid-template-columns: repeat(4, 1fr); gap: 8px; }
  .m4-reassurance-grid { grid-template-columns: repeat(2, 1fr); }
  .m4-guides-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
  .m4-hero { padding: 50px 0 40px; }
  .m4-hero-title { font-size: 32px !important; }
  .m4-hero-subtitle { font-size: 10px;
  color: #7A9E86; }
  .m4-hero-cta { flex-direction: column; align-items: center; }
  .m4-btn-lg { width: 100%; max-width: 280px; justify-content: center; }
  .m4-stats { padding: 14px 0; }
  .m4-stat-number { font-size: 20px !important; }
  .m4-reassurance-grid { grid-template-columns: 1fr; }
  .m4-guides { padding: 24px 0 !important; }
  .m4-guides .m4-section-title { font-size: 20px !important; }
  .m4-guides .m4-section-subtitle { font-size: 12px !important; margin-bottom: 16px !important; }
  .m4-guides .m4-section-header { margin-bottom: 16px !important; }
  .m4-guides-grid {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x mandatory !important;
    gap: 10px !important;
    padding: 0 12px 8px !important;
    grid-template-columns: none !important;
  }
  .m4-guide-card {
    flex: 0 0 70% !important;
    max-width: 70% !important;
    min-width: 240px !important;
    scroll-snap-align: start !important;
  }
  .m4-guide-img { height: 100px !important; }
  .m4-guide-body { padding: 12px !important; }
  .m4-guide-badge { font-size: 10px !important; padding: 3px 8px !important; margin-bottom: 6px !important; }
  .m4-guide-card h3 { font-size: 14px !important; margin-bottom: 4px !important; }
  .m4-guide-card p { font-size: 11px !important; line-height: 1.4 !important; margin-bottom: 8px !important; }
  .m4-guide-link { font-size: 12px !important; }
  .m4-reassurance { padding: 50px 0; }
  .m4-faq { padding: 50px 0; }
  .m4-section-title { font-size: 32px !important; }
}


/* Stats bar - fond blanc */
.m4-stats { background: #fff !important; color: #333 !important; }
.m4-stat-number { color: #8FAF9A !important; }
.m4-stat-label { color: #666 !important; opacity: 1 !important; }

/* Reassurance - fond blanc */
.m4-reassurance { background: #fff !important; }
/* Masquer banniere annonce sticky */
.m4-announcement-bar, .m4-sticky-announcement, #m4-announcement { display: none !important; }

/* Stats - chiffres en noir */
.m4-stat-number { color: #1A1A1A !important; }

/* ============================================================
   MEGAMENU - Contours fondus (seamless, no borders)
   ============================================================ */
.ets_mm_megamenu,
.ets_mm_megamenu_content,
#amegamenu {
  border: none !important;
  border-bottom: none !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Dropdown container - pas de bordure visible */
.ets_mm_megamenu .mm_columns_ul,
.ets_mm_megamenu .mm_menus_li.hover:hover > .mm_columns_ul,
.ets_mm_megamenu .mm_menus_li:hover > .mm_columns_ul {
  border: none !important;
  outline: none !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.08) !important;
  border-radius: 0 0 10px 10px !important;
}

/* Contenu dropdown - pas de bordure */
.ets_mm_megamenu .mm_columns_contents_ul,
.ets_mm_megamenu_content_content,
.amenu-submenu {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Blocks internes du dropdown */
.ets_mm_megamenu .ets_mm_block,
.ets_mm_megamenu .ets_mm_block_content {
  border: none !important;
  outline: none !important;
}

/* Titres de categories dans le dropdown - trait subtil */
.ets_mm_megamenu .ets_mm_block > .h4,
.ets_mm_megamenu .ets_mm_block > .h3,
.ets_mm_megamenu .ets_mm_block > .h5 {
  border-bottom: 1px solid rgba(143,175,154,0.3) !important;
}

/* Separateurs entre colonnes - invisible */
.ets_mm_megamenu .mm_columns_li {
  border: none !important;
  border-right: none !important;
  border-left: none !important;
}

/* ============================================================
   SEARCH BAR - Plus large
   ============================================================ */
.header-top .search-widget,
.header-top #search_widget {
  width: 100% !important;
  max-width: 100% !important;
}
.header-top .search-widget form,
.header-top #search_widget form {
  width: 100% !important;
}
.header-top .search-widget form input[type="text"],
.header-top #search_widget input[type="text"] {
  width: 100% !important;
  min-width: 400px !important;
}
.header-top .header-middle,
.header-top .col-md-7.col-xl-7.header-middle {
  flex: 1 1 0% !important;
  max-width: none !important;
}

/* ============================================================
   SEARCH BAR - Icone bouton tout a droite
   ============================================================ */
.search-widget form,
#search_widget form {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
}
.search-widget form input[type="text"],
#search_widget form input[type="text"] {
  padding-right: 50px !important;
  order: 1 !important;
}
.search-widget form button,
#search_widget form button {
  position: absolute !important;
  right: 4px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 2 !important;
  order: 2 !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  padding: 10px 0 !important;
}

/* ============================================================
   SEARCH BAR - FIX: largeur max + bouton tout a droite
   ============================================================ */
#header .search-dropdown .search-widget {
  max-width: 600px !important;
  width: 100% !important;
}
#header .search-dropdown {
  width: 600px !important;
  max-width: 100% !important;
}
.search-widget form {
  position: relative !important;
}
.search-widget form button[type=submit],
#search_widget form button[type=submit] {
  position: absolute !important;
  right: 8px !important;
  left: auto !important;
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
}

/* Search button - fond vert plus petit */
.search-widget form button[type=submit],
#search_widget form button[type=submit] {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  padding: 10px 0 !important;
}

/* ============================================================
   SECTION CHOISIR SA VAPE - 3 cartes niveau
   ============================================================ */
.m4-choose-vape {
  padding: 50px 0 40px;
  margin-top: 40px;
  background: #f8f9fa;
}
.m4-choose-title {
  text-align: center;
  font-family: 'DM Serif Display', serif;
  font-size: 32px;
  color: #1a1a1a;
  margin-bottom: 8px;
}
.m4-choose-subtitle {
  text-align: center;
  color: #666;
  font-size: 16px;
  margin-bottom: 35px;
}
.m4-choose-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 1000px;
  margin: 0 auto;
}
.m4-choose-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 35px 25px 30px;
  border-radius: 16px;
  text-decoration: none !important;
  transition: all 0.3s ease;
  border: 2px solid transparent;
}
.m4-choose-card:hover {
  transform: translateY(-6px);
  text-decoration: none !important;
}
.m4-choose-debutant {
  background: linear-gradient(135deg, #e8f5e9, #c8e6c9);
  color: #1b5e20 !important;
}
.m4-choose-debutant:hover {
  border-color: #66bb6a;
  box-shadow: 0 12px 30px rgba(76, 175, 80, 0.2);
}
.m4-choose-intermediaire {
  background: linear-gradient(135deg, #fff3e0, #ffe0b2);
  color: #a03500 !important;
}
.m4-choose-intermediaire:hover {
  border-color: #ffa726;
  box-shadow: 0 12px 30px rgba(255, 152, 0, 0.2);
}
.m4-choose-expert {
  background: linear-gradient(135deg, #e8eaf6, #c5cae9);
  color: #1a237e !important;
}
.m4-choose-expert:hover {
  border-color: #5c6bc0;
  box-shadow: 0 12px 30px rgba(63, 81, 181, 0.2);
}
.m4-choose-icon {
  font-size: 48px;
  margin-bottom: 15px;
  line-height: 1;
}
.m4-choose-card h3 {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 10px;
  color: inherit !important;
}
.m4-choose-card p {
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 18px;
  color: inherit !important;
  opacity: 0.85;
}
.m4-choose-cta {
  font-weight: 700;
  font-size: 14px;
  color: inherit !important;
  margin-top: auto;
  padding: 8px 20px;
  border-radius: 25px;
  background: rgba(255,255,255,0.5);
  transition: background 0.3s ease;
}
.m4-choose-card:hover .m4-choose-cta {
  background: rgba(255,255,255,0.8);
}
/* overridden by mobile choose styles */

/* ============================================================
   MEGAMENU - Aucune barre/separateur entre les items
   ============================================================ */
.ets_mm_megamenu .mm_menus_li,
.layout_layout1 .mm_menus_li,
.layout_layout1 .mm_menus_li:first-child,
.layout_layout1 .mm_menus_li:last-child,
.layout_layout1 .mm_menus_li.mm_no_border {
  border: none !important;
  border-right: none !important;
  border-left: none !important;
  border-top: none !important;
  border-bottom: none !important;
}
.layout_layout1 .mm_menus_li > a::before,
.layout_layout1 .mm_menus_li > a::after {
  border: none !important;
}
.ets_mm_megamenu .mm_menus_ul {
  border: none !important;
}

/* ============================================================
   CARTES CHOISIR SA VAPE - Extremites plus arrondies
   ============================================================ */
.m4-choose-card {
  border-radius: 24px !important;
}
.m4-choose-cta {
  border-radius: 30px !important;
}

/* Prix à partir de sur les cartes choisir sa vape */
.m4-choose-price {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 14px;
  color: inherit !important;
}
.m4-choose-price strong {
  font-size: 24px;
  font-weight: 800;
}

/* Reduire ecart entre search bar et mega menu */
.header-top {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
.header-top .header-top-wrapper {
  padding-bottom: 5px !important;
  margin-bottom: 0 !important;
}
.ets_mm_megamenu,
.ets_mm_megamenu_content,
#header .ets_mm_megamenu {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* ============================================================
   HEADER - Reduire ecart search bar / mega menu (FORCE)
   ============================================================ */
#header .header-top {
  padding-top: 8px !important;
  padding-bottom: 5px !important;
}
#header .header-top .header-top-wrapper {
  min-height: auto !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
  overflow: visible !important;
}
#header .header-top .header-middle {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
#header .header-top .header-right {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.header-top-holder {
  height: auto !important;
  min-height: 0 !important;
}
#header .ets_mm_megamenu,
#header .ets_mm_megamenu_content {
  margin-top: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* ============================================================
   TOP BAR - Expedition 24h + Livraison gratuite
   ============================================================ */
.m4-topbar {
  background: #8FAF9A !important;
  background: #8FAF9A;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.3px;
  padding: 7px 0;
}
.m4-topbar-inner {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
}
.m4-topbar-sep {
  opacity: 0.5;
}
.m4-topbar span {
  white-space: nowrap;
}

/* ============================================================
   PROMO BAR - Bandeau switch code promo / newsletter
   ============================================================ */
.m4-promobar {
  background: #1a1a1a;
  color: #fff;
  font-size: 13px;
  padding: 8px 0;
  text-align: center;
  overflow: hidden;
}
.m4-promobar-inner {
  position: relative;
  height: 18px;
}
.m4-promobar-slide {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.5s ease, transform 0.5s ease;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.m4-promobar-slide.m4-promobar-active {
  opacity: 1;
  transform: translateY(0);
}
.m4-promobar strong {
  color: #8FAF9A;
}
@media (max-width: 767px) {
  .m4-promobar {
    font-size: 11px;
    padding: 6px 10px;
  }
  .m4-promobar-inner {
    height: 16px;
  }
  .m4-promobar-slide {
    white-space: normal;
    line-height: 1.3;
  }
}

/* ============================================================
   PROMO BAR - Fix hauteur + texte mobile
   ============================================================ */
.m4-promobar-inner {
  height: auto !important;
  min-height: 18px;
}
.m4-promobar-slide {
  position: relative !important;
  display: none;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
  transform: none !important;
  line-height: 1.4;
}
.m4-promobar-slide.m4-promobar-active {
  display: block !important;
  opacity: 1 !important;
}
@media (max-width: 767px) {
  .m4-promobar {
    font-size: 12px !important;
    padding: 8px 15px !important;
  }
  .m4-promobar-slide {
    line-height: 1.5;
  }
}

/* ============================================================
   PROMO BAR - Layout flex avec langue a droite
   ============================================================ */
.m4-promobar-flex {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.m4-promobar-inner {
  flex: 1;
  text-align: center;
}
.m4-promobar-lang {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
}
/* Style du selecteur langue dans la promo bar */
.m4-promobar-lang .language-selector-wrapper,
.m4-promobar-lang .language-selector {
  margin: 0 !important;
  padding: 10px 0 !important;
}
.m4-promobar-lang .language-selector .dropdown-toggle {
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  background: none !important;
  border: 1px solid rgba(255,255,255,0.3) !important;
  border-radius: 20px !important;
  padding: 3px 12px !important;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 5px;
  transition: all 0.3s ease;
}
.m4-promobar-lang .language-selector .dropdown-toggle:hover {
  border-color: #8FAF9A !important;
  background: rgba(255,255,255,0.1) !important;
}
.m4-promobar-lang .language-selector .dropdown-menu {
  background: #1a1a1a !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  border-radius: 10px !important;
  min-width: 120px !important;
  margin-top: 5px !important;
}
.m4-promobar-lang .language-selector .dropdown-menu a {
  color: #fff !important;
  font-size: 13px !important;
  padding: 6px 15px !important;
}
.m4-promobar-lang .language-selector .dropdown-menu a:hover {
  background: rgba(143,175,154,0.3) !important;
}
/* Selecteur de langue - visible dans header-nav */
#_desktop_language_selector {
  display: block !important;
}

/* ============================================================
   ICONES HEADER - Client, Wishlist, Panier plus gros
   ============================================================ */
.header-right .user-info svg,
.header-right .user-info .material-icons,
.header-right .an_wishlist-nav-link svg,
.header-right .blockcart svg {
  width: 26px !important;
  height: 26px !important;
}
.header-right .user-info a,
.header-right .an_wishlist-nav-link a,
.header-right .blockcart-link {
  font-size: 0 !important;
}
.header-right .user-info svg path,
.header-right .an_wishlist-nav-link svg path,
.header-right .blockcart svg path {
  transform: scale(1.3);
  transform-origin: center;
}

@media (max-width: 767px) {
  .m4-promobar-lang {
    position: static;
    transform: none;
    margin-top: 6px;
  }
  .m4-promobar-flex {
    flex-direction: column;
  }
}


/* Stats : chiffres en vert, unites (h, %) en noir */
.m4-stat-number { color: #8FAF9A !important; }
.m4-stat-unit { color: #1A1A1A !important; font-weight: 800 !important; }

/* Masquer an_advantages natif (remplace par m4-reassurance) */
.an_advantages { display: none !important; }

/* Mobile responsive stats + reassurance (hors page-home) */
@media (max-width: 767px) {
  .m4-stats { padding: 14px 0; }
  .m4-stats-grid { grid-template-columns: repeat(4, 1fr) !important; gap: 4px !important; }
  .m4-stat-number { font-size: 20px !important; }
  .m4-stat-unit { font-size: 14px !important; }
  .m4-stat-label { font-size: 9px !important; line-height: 1.2 !important; }
  .m4-reassurance { padding: 25px 0; }
  .m4-reassurance-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 15px !important; }
  .m4-reassurance-card h3 { font-size: 14px !important; }
  .m4-reassurance-card p { font-size: 12px !important; }
}
@media (max-width: 480px) {
  .m4-stats-grid { grid-template-columns: repeat(4, 1fr) !important; gap: 2px !important; }
  .m4-stat-number { font-size: 18px !important; }
  .m4-stat-label { font-size: 8px !important; }
  .m4-reassurance-grid { grid-template-columns: 1fr !important; }
}


/* === Badges produit uniformes - 3 items, icones vertes === */
.m4-badge-tpd,
.m4-badge-shipping,
.m4-badge-secure,
.m4-badge-loyalty,
.m4-badge-discount {
  display: none !important;
}
.m4-badge-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #1a1a2e;
  line-height: 1.4;
}
.m4-badge-item svg {
  color: #8FAF9A;
  flex-shrink: 0;
}
.m4-product-badges {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  margin: 18px 0 10px !important;
  padding: 16px 18px !important;
  background: #f9fafb !important;
  border: 1px solid rgba(0,0,0,0.06) !important;
  border-radius: 10px !important;
}

/* === Badges produit v2 - couleurs par badge === */
.m4-badge-item {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #1a1a2e !important;
  line-height: 1.4 !important;
}
.m4-badge-item:nth-child(1) svg {
  color: #8FAF9A !important;
}
.m4-badge-item:nth-child(2) svg {
  color: #DAA520 !important;
}
.m4-badge-item:nth-child(3) svg {
  color: #E74C3C !important;
}

/* === Selecteur quantite + ATC row === */
.m4-atc-row {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
}
.m4-qty-selector {
  display: flex;
  align-items: center;
  border: 2px solid #e0e0e0;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  height: 48px;
  flex-shrink: 0;
  transition: border-color 0.2s;
}
.m4-qty-selector:hover,
.m4-qty-selector:focus-within {
  border-color: #8FAF9A;
}
.m4-qty-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 100%;
  border: none;
  background: #f9fafb;
  cursor: pointer;
  color: #555;
  transition: all 0.15s;
  padding: 0;
}
.m4-qty-btn:hover {
  background: #8FAF9A;
  color: #fff;
}
.m4-qty-btn:active {
  transform: scale(0.92);
}
.m4-qty-input {
  width: 48px;
  height: 100%;
  border: none;
  border-left: 1px solid #e0e0e0;
  border-right: 1px solid #e0e0e0;
  text-align: center;
  font-family: 'Nunito', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #1a1a2e;
  background: #fff;
  -moz-appearance: textfield;
  appearance: textfield;
  outline: none;
}
.m4-qty-input::-webkit-outer-spin-button,
.m4-qty-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.m4-atc-row .add {
  flex: 1;
}
.m4-atc-row .add-to-cart {
  width: 100% !important;
  height: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 0.3px !important;
  border-radius: 10px !important;
  background: #1A1A1A !important;
  border: none !important;
  color: #fff !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
  text-transform: none !important;
}
.m4-atc-row .add-to-cart:hover {
  background: #8FAF9A !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(143,175,154,0.3) !important;
}
.m4-atc-row .add-to-cart svg {
  flex-shrink: 0;
}
@media (max-width: 480px) {
  .m4-atc-row {
    gap: 8px;
  }
  .m4-qty-selector {
    height: 44px;
  }
  .m4-qty-btn {
    width: 36px;
  }
  .m4-qty-input {
    width: 40px;
    font-size: 10px;
  color: #7A9E86;
  }
  .m4-atc-row .add-to-cart {
    height: 44px !important;
    font-size: 14px !important;
  }
}

/* === Override ATC sur fiche produit - design propre === */
.m4-atc-row .add-to-cart,
.m4-atc-row .btn.btn-primary.add-to-cart,
.m4-atc-row button.add-to-cart {
  background: #1A1A1A !important;
  border: none !important;
  border-radius: 10px !important;
  color: #fff !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 0.3px !important;
  text-transform: none !important;
  padding: 0 24px !important;
  height: 48px !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  position: relative !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transition: background 0.2s, transform 0.2s, box-shadow 0.2s !important;
  z-index: 1 !important;
}
.m4-atc-row .add-to-cart:hover,
.m4-atc-row .btn.btn-primary.add-to-cart:hover {
  background: #8FAF9A !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(143,175,154,0.35) !important;
}
.m4-atc-row .add-to-cart:active,
.m4-atc-row .btn.btn-primary.add-to-cart:active {
  transform: translateY(0) scale(0.98) !important;
  box-shadow: none !important;
}
.m4-atc-row .add-to-cart::before,
.m4-atc-row .add-to-cart::after,
.m4-atc-row .btn.btn-primary.add-to-cart::before,
.m4-atc-row .btn.btn-primary.add-to-cart::after {
  display: none !important;
  content: none !important;
}
/* Boutons +/- sans fond gris */
.m4-qty-btn {
  background: #fff !important;
  border: none !important;
  color: #1A1A1A !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 100% !important;
  padding: 10px 0 !important;
  transition: background 0.15s, color 0.15s !important;
  position: static !important;
  overflow: visible !important;
}
.m4-qty-btn:hover {
  background: #8FAF9A !important;
  color: #fff !important;
}
.m4-qty-btn:active {
  transform: scale(0.92) !important;
}
.m4-qty-btn::before,
.m4-qty-btn::after {
  display: none !important;
  content: none !important;
}
/* Override theme qui cache la zone quantity */
.product-add-to-cart .product-quantity,
.product-add-to-cart .qty {
  display: block !important;
}

/* === Masquer les boutons TouchSpin du theme sur le selecteur custom === */
.m4-qty-selector .bootstrap-touchspin,
.m4-qty-selector .input-group-btn,
.m4-qty-selector .btn-touchspin,
.m4-qty-selector .bootstrap-touchspin-up,
.m4-qty-selector .bootstrap-touchspin-down,
.m4-atc-row .bootstrap-touchspin-up,
.m4-atc-row .bootstrap-touchspin-down,
.m4-atc-row .input-group-btn,
.m4-atc-row .btn-touchspin,
.product-add-to-cart .bootstrap-touchspin-up,
.product-add-to-cart .bootstrap-touchspin-down,
.product-add-to-cart .input-group-btn-vertical,
.product-add-to-cart .btn-touchspin {
  display: none !important;
}
/* Empecher touchspin de wrapper l input */
.m4-qty-selector .bootstrap-touchspin {
  display: contents !important;
}
.m4-qty-selector .bootstrap-touchspin .m4-qty-input {
  width: 48px !important;
  border: none !important;
  border-left: 1px solid #e0e0e0 !important;
  border-right: 1px solid #e0e0e0 !important;
}

/* === Retirer TOUT cadre autour du chiffre quantite === */
.m4-qty-input,
.m4-qty-selector input,
.m4-qty-selector .form-control,
.m4-qty-selector .bootstrap-touchspin .form-control,
.product-add-to-cart input[name=qty],
.product-add-to-cart #quantity_wanted {
  border: none !important;
  border-left: none !important;
  border-right: none !important;
  outline: none !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: textfield !important;
  background: transparent !important;
}
.m4-qty-selector .bootstrap-touchspin {
  border: none !important;
  box-shadow: none !important;
}

/* === Boutons volume 10ml/50ml === */
.m4-vol-btn {
  padding: 8px 20px;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  background: #fff;
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: #555;
  cursor: pointer;
  transition: all 0.2s;
}
.m4-vol-btn:hover {
  border-color: #8FAF9A;
  color: #1a1a2e;
}
.m4-vol-btn.active {
  background: #8FAF9A;
  border-color: #8FAF9A;
  color: #fff;
}
/* === Boite resultat boosters === */
.m4-booster-box {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 12px;
  padding: 12px 14px;
  background: #f0f7f2;
  border-radius: 8px;
  border-left: 3px solid #8FAF9A;
}
.m4-booster-icon {
  font-size: 22px;
  line-height: 1;
  flex-shrink: 0;
}
.m4-booster-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.m4-booster-info strong {
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  font-weight: 800;
  color: #1a1a2e;
}
.m4-booster-detail {
  font-family: 'Nunito', sans-serif;
  font-size: 12.5px;
  color: #666;
  line-height: 1.4;
}

/* Centrer titre et sous-titre contact FAQ */
.m4-faq-col-contact .m4-faq-contact-title,
.m4-faq-col-contact .m4-faq-contact-subtitle {
  text-align: center !important;
}


/* Labels formulaire contact FAQ a gauche */
.m4-faq-col-contact .m4-faq-contact-field label {
  text-align: left !important;
  display: block !important;
}

/* === AVIS CLIENTS - ETOILES ET CARDS === */
.m4-reviews-header {
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid #eee;
}
.m4-reviews-avg {
  display: flex;
  align-items: center;
  gap: 10px;
}
.m4-reviews-avg-number {
  font-size: 36px;
  font-weight: 800;
  color: #1a1a2e;
  font-family: 'Nunito', sans-serif;
  line-height: 1;
}
.m4-reviews-avg-stars {
  font-size: 22px;
}
.m4-reviews-avg-count {
  font-size: 14px;
  color: #333;
  font-family: 'Nunito', sans-serif;
}
.m4-star {
  color: #ddd;
  font-size: inherit;
}
.m4-star-filled {
  color: #DAA520;
}
.m4-reviews-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.m4-review-card {
  background: #fafafa;
  border: 1px solid #f0f0f0;
  border-radius: 10px;
  padding: 16px 20px;
}
.m4-review-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
}
.m4-review-name {
  font-weight: 700;
  font-size: 14px;
  color: #222;
  font-family: 'Nunito', sans-serif;
}
.m4-review-date {
  font-size: 12px;
  color: #444;
  font-family: 'Nunito', sans-serif;
}
.m4-review-stars {
  font-size: 16px;
  margin-bottom: 8px;
}
.m4-review-text {
  font-size: 14px;
  color: #555;
  line-height: 1.5;
  margin: 0;
  font-family: 'Nunito', sans-serif;
}

/* === PRODUITS RECOMMANDES === */
.product-accessories .featured-products_header {
  text-align: center;
  margin-bottom: 20px;
}
.product-accessories .featured-products_header .h2 {
  font-family: 'DM Serif Display', Georgia, serif;
  font-size: 24px;
  font-weight: 400;
  color: #222;
}

@media (max-width: 767px) {
  .m4-reviews-avg-number { font-size: 28px; }
  .m4-review-card { padding: 12px 14px; }
  .m4-review-top { flex-direction: column; align-items: flex-start; gap: 2px; }
}

/* === SOUS-CATEGORIES AVEC ICONES === */
.m4-subcats-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #eee;
}
.m4-subcat-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  background: #f8f9fa;
  border: 1px solid #e8e8e8;
  border-radius: 50px;
  text-decoration: none;
  color: #333;
  font-size: 13px;
  font-weight: 600;
  font-family: 'Nunito', sans-serif;
  transition: all 0.2s ease;
}
.m4-subcat-chip:hover {
  background: #8FAF9A;
  border-color: #8FAF9A;
  color: #fff;
  text-decoration: none;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(30,61,43,0.3);
}
.m4-subcat-icon {
  font-size: 16px;
  line-height: 1;
}
.m4-subcat-name {
  white-space: nowrap;
}
@media (max-width: 767px) {
  .m4-subcats-grid {
    gap: 8px;
  }
  .m4-subcat-chip {
    padding: 6px 12px;
    font-size: 12px;
  }
  .m4-subcat-icon {
    font-size: 14px;
  }
}

/* === ICONES MEGA MENU === */
.ets_mm_categories a.ets_mm_url {
  display: flex;
  align-items: center;
  gap: 6px;
}
.m4-mm-icon {
  display: inline-flex;
  align-items: center;
  font-size: 10px;
  color: #7A9E86;
  line-height: 1;
  flex-shrink: 0;
}
.m4-mm-svg {
  display: inline-block;
  vertical-align: middle;
}

/* === TEXTES PLUS FONCES === */
body, body p, body li, body td, body th,
.product-description, .product-features,
#product-description-short, .product-information,
.block-category, .category-description {
  color: #222 !important;
}
body .product-description span,
body .product-features span,
body .product-information span {
  color: #222 !important;
}
label, .form-control-label {
  color: #333 !important;
}

/* === SYMBOLES SOUS-CAT PLUS GRANDS === */
.m4-mm-icon { font-size: 16px !important; }
.m4-mm-icon svg { width: 20px !important; height: 24px !important; }
.m4-subcat-icon { font-size: 22px !important; }
.m4-subcat-svg { width: 24px !important; height: 28px !important; }


/* === BOUTON AJOUTER AU PANIER AU SURVOL === */
.m4-quick-add {
  display: block;
  width: 100%;
  padding: 8px 12px;
  margin-top: 6px;
  background: #8FAF9A;
  color: #fff;
  border: none;
  border-radius: 4px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  text-align: center;
  transition: background 0.2s;
}
.m4-quick-add:hover {
  background: #2a5a3d;
}

/* ============================================================
   TOPBAR - Vert clair, texte blanc, pas gras
   ============================================================ */
.m4-topbar {
  background: #8FAF9A !important;
  background: #8FAF9A !important;
  color: #fff !important;
  font-weight: 400 !important;
}
.m4-topbar span,
body .m4-topbar span,
body div.m4-topbar span {
  color: #fff !important;
  font-weight: 400 !important;
}

/* ============================================================
   PROMOBAR - Texte blanc, pas gras
   ============================================================ */
.m4-promobar {
  background: #111 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: 0.3px !important;
}
.m4-promobar,
.m4-promobar-slide {
  color: #fff !important;
}
.m4-promobar strong {
  color: #8FAF9A !important;
  font-weight: 600 !important;
}

/* ============================================================
   QUICK ADD BUTTON - style override
   ============================================================ */
.m4-quick-add {
  background: #8FAF9A !important;
}
.m4-quick-add:hover {
  background: #2a5a3d !important;
}

/* ============================================================
   BANDEAU CONFIANCE
   ============================================================ */
.m4-trust-banner {
  background: #f8f9fa;
  border-bottom: 1px solid #eee;
  padding: 18px 0;
}
.m4-trust-grid {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 32px;
  flex-wrap: wrap;
}
.m4-trust-item {
  display: flex;
  align-items: center;
  gap: 10px;
}
.m4-trust-item div {
  display: flex;
  flex-direction: column;
}
.m4-trust-item strong {
  font-size: 13px;
  color: #222;
  line-height: 1.3;
}
.m4-trust-item span {
  font-size: 11px;
  color: #666;
  line-height: 1.3;
}
@media (max-width: 767px) {
  .m4-trust-grid { gap: 16px; justify-content: flex-start; }
  .m4-trust-item { flex: 0 0 calc(50% - 8px); }
}

/* ============================================================
   COMMENT CA MARCHE - 3 etapes
   ============================================================ */
.m4-howto {
  padding: 0 0 15px;
  margin-top: -40px;
  background: #fff;
}
.m4-howto .m4-section-subtitle {
  font-size: 22px !important;
}
.m4-howto-grid {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 16px;
  margin-top: 32px;
}
.m4-howto-step {
  text-align: center;
  flex: 1;
  max-width: 280px;
  position: relative;
}
.m4-howto-number {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #8FAF9A;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 12px;
}
.m4-howto-icon {
  margin-bottom: 12px;
}
.m4-howto-step h3 {
  font-family: 'Poppins', sans-serif;
  font-size: 16px;
  color: #222;
  margin-bottom: 8px;
}
.m4-howto-step p {
  font-size: 13px;
  color: #555;
  line-height: 1.5;
}
.m4-howto-arrow {
  display: flex;
  align-items: center;
  padding-top: 60px;
}
@media (max-width: 767px) {
  .m4-howto { padding: 24px 0; }
  .m4-howto .m4-section-title { font-size: 20px; margin-bottom: 4px; }
  .m4-howto .m4-section-subtitle { font-size: 13px; }
  .m4-howto-grid { flex-direction: row; align-items: flex-start; gap: 28px; margin-top: 16px; padding: 0 16px; }
  .m4-howto-arrow { display: none !important; }
  .m4-howto-icon { display: none !important; }
  .m4-howto-step { display: flex; flex-direction: column; align-items: center; text-align: center; max-width: 33.3%; flex: 1; padding: 0; }
  .m4-howto-number { width: 30px; height: 30px; font-size: 14px; margin: 0 auto 8px; }
  .m4-howto-step h3 { font-size: 13px; margin-bottom: 4px; line-height: 1.3; }
  .m4-howto-step p { font-size: 11px; line-height: 1.4; color: #777; }
}

/* ============================================================
   NOS ENGAGEMENTS
   ============================================================ */
.m4-engagements {
  padding: 50px 0;
  background: #f8f9fa;
}
.m4-engagements-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-top: 32px;
}
.m4-engagement-card {
  background: #fff;
  border-radius: 10px;
  padding: 28px 20px;
  text-align: center;
  border: 1px solid #eee;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.m4-engagement-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.06);
}
.m4-engagement-icon {
  margin-bottom: 14px;
}
.m4-engagement-card h3 {
  font-size: 15px;
  color: #222;
  margin-bottom: 8px;
}
.m4-engagement-card p {
  font-size: 13px;
  color: #555;
  line-height: 1.5;
}
@media (max-width: 991px) {
  .m4-engagements-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
  .m4-engagements { padding: 24px 0 !important; }
  .m4-engagements .m4-section-title { font-size: 20px !important; }
  .m4-engagements .m4-section-subtitle { font-size: 12px !important; }
  .m4-engagements-grid { grid-template-columns: 1fr 1fr !important; gap: 8px !important; margin-top: 16px !important; }
  .m4-engagement-card { padding: 12px 10px !important; border-radius: 8px !important; }
  .m4-engagement-icon { margin-bottom: 6px !important; }
  .m4-engagement-icon svg { width: 22px !important; height: 22px !important; }
  .m4-engagement-card h3 { font-size: 12px !important; margin-bottom: 4px !important; }
  .m4-engagement-card p { font-size: 10px !important; line-height: 1.3 !important; }
}

/* ============================================================
   VAPE VS CIGARETTE
   ============================================================ */
.m4-versus {
  padding: 50px 0;
  background: #fff;
}
.m4-versus-layout {
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 30px;
  margin: 32px auto 0;
  max-width: 1000px;
}
.m4-versus-table {
  flex: 1;
  max-width: 600px;
  margin: 0;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid #eee;
}
.m4-versus-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  border-bottom: 1px solid #f0f0f0;
}
.m4-versus-row:last-child {
  border-bottom: none;
}
.m4-versus-col {
  padding: 12px 16px;
  font-size: 13px;
  color: #222;
}
.m4-versus-header {
  background: #f8f9fa;
  font-weight: 700;
}
.m4-versus-header .m4-versus-vape {
  color: #8FAF9A;
  font-size: 15px;
}
.m4-versus-header .m4-versus-cig {
  color: #999;
  font-size: 15px;
}
.m4-versus-label {
  font-weight: 600;
  color: #333;
}
.m4-vs-good {
  color: #2d7a46;
}
.m4-vs-bad {
  color: #c0392b;
}
.m4-versus-source {
  text-align: center;
  font-size: 11px;
  color: #999;
  margin-top: 12px;
}
/* Bloc études scientifiques */
.m4-etudes {
  margin-top: 40px;
  padding-top: 30px;
  border-top: 1px solid #eee;
}
.m4-etudes-title {
  text-align: center;
  font-family: 'Nunito', sans-serif !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  color: #222 !important;
  -webkit-text-fill-color: #222 !important;
  margin-bottom: 24px;
}
.m4-etudes-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.m4-etude-card {
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 24px 20px;
  text-align: center;
}
.m4-etude-badge {
  display: inline-block;
  background: #EA8914;
  color: #fff;
  -webkit-text-fill-color: #fff;
  font-family: 'Nunito', sans-serif;
  font-size: 13px;
  font-weight: 700;
  padding: 4px 14px;
  border-radius: 20px;
  margin-bottom: 8px;
}
.m4-etude-badge-green {
  background: #8FAF9A;
}
.m4-etude-badge-blue {
  background: #5b8fb9;
}
.m4-etude-org {
  font-family: 'Nunito', sans-serif;
  font-size: 12px;
  color: #888;
  -webkit-text-fill-color: #888;
  margin-bottom: 6px;
}
.m4-etude-stat {
  font-family: 'Nunito', sans-serif;
  font-size: 18px;
  font-weight: 800;
  color: #222;
  -webkit-text-fill-color: #222;
  margin-bottom: 10px;
}
.m4-etude-text {
  font-family: 'Nunito', sans-serif !important;
  font-size: 14px;
  line-height: 1.6;
  color: #555;
  -webkit-text-fill-color: #555;
  margin: 0;
}
.m4-etude-text strong {
  color: #222;
  -webkit-text-fill-color: #222;
}
.m4-etudes-sources {
  text-align: center;
  font-family: 'Nunito', sans-serif;
  font-size: 13px;
  color: #888;
  -webkit-text-fill-color: #888;
  margin-top: 20px;
}
.m4-etudes-sources a {
  color: #8FAF9A !important;
  -webkit-text-fill-color: #8FAF9A !important;
  text-decoration: underline;
  font-weight: 600;
}
.m4-etudes-sources a:hover {
  color: #EA8914 !important;
  -webkit-text-fill-color: #EA8914 !important;
}
@media (max-width: 768px) {
  .m4-etudes-grid { grid-template-columns: 1fr; gap: 16px; }
  .m4-etude-card { padding: 20px 16px; }
}
@media (max-width: 575px) {
  .m4-versus-col { padding: 10px 10px; font-size: 12px; }
}

/* ============================================================
   TEMOIGNAGES
   ============================================================ */
.m4-testimonials {
  padding: 50px 0;
  background: #f8f9fa;
}
.m4-testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 32px;
}
.m4-testimonial-card {
  background: #fff;
  border-radius: 10px;
  padding: 24px;
  border: 1px solid #eee;
}
.m4-testimonial-stars {
  color: #f5a623;
  font-size: 18px;
  margin-bottom: 12px;
  letter-spacing: 2px;
}
.m4-testimonial-text {
  font-size: 13.5px;
  color: #333;
  line-height: 1.6;
  margin-bottom: 16px;
  font-style: italic;
}
.m4-testimonial-author {
  display: flex;
  align-items: center;
  gap: 10px;
}
.m4-testimonial-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #8FAF9A;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 14px;
}
.m4-testimonial-author div {
  display: flex;
  flex-direction: column;
}
.m4-testimonial-author strong {
  font-size: 13px;
  color: #222;
}
.m4-testimonial-author span {
  font-size: 11px;
  color: #888;
}
@media (max-width: 767px) {
  .m4-testimonials-grid { grid-template-columns: 1fr; }
}

/* FAQ - Force vert + blanc */
.m4-faq-question {
  background: #8FAF9A !important;
  color: #fff !important;
  font-size: 17px !important;
}
.m4-faq-question span {
  color: #fff !important;
}
.m4-faq-chevron {
  color: #fff !important;
}
.m4-faq-question:hover {
  background: #7A9E86 !important;
  color: #fff !important;
}
.m4-faq-answer p {
  font-size: 14px !important;
  color: #333 !important;
}

/* FAQ - Questions centrees */
.m4-faq-question {
  justify-content: center !important;
  text-align: center !important;
}
.m4-faq-question span {
  flex: unset !important;
  text-align: center !important;
}

/* FAQ - Espacement reponse + centree */
.m4-faq-item.active .m4-faq-answer {
  padding: 20px 24px 24px !important;
  margin-top: 8px !important;
}
.m4-faq-answer p {
  text-align: center !important;
}

/* FAQ - Mots importants en vert fonce */
.m4-faq-answer strong {
  color: #8FAF9A !important;
  font-weight: 700 !important;
}

/* FAQ - Texte reponses meme couleur que mega menu */
.m4-faq-answer p {
  color: #8FAF9A !important;
}

/* Guides - Titre et sous-titre en vert */
.m4-guides .m4-section-title {
  color: #8FAF9A !important;
}


/* Guides - Titres articles en vert */
.m4-guide-card h3 {
  color: #C97B5D !important;
}


/* Reassurance cards as links */
a.m4-reassurance-link {
  text-decoration: none !important;
  color: inherit !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  cursor: pointer;
}
a.m4-reassurance-link:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 25px rgba(30,61,43,0.15);
}
a.m4-reassurance-link h3 {
  color: #8FAF9A !important;
}
a.m4-reassurance-link p {
  color: #555 !important;
}
.m4-reassurance-cta {
  display: inline-block;
  margin-top: 10px;
  color: #8FAF9A !important;
  font-size: 13px;
  font-weight: 600;
  opacity: 0;
  transition: opacity 0.2s ease;
}
a.m4-reassurance-link:hover .m4-reassurance-cta {
  opacity: 1;
}

/* === CMS Pages - Mise en forme === */
.m4-cms { max-width:800px; margin:0 auto; padding:40px 20px; color:#333; }
.m4-cms h1 { color:#8FAF9A; text-align:center; font-size:28px; margin-bottom:15px; }
.m4-cms .m4-cms-intro { text-align:center; color:#777; font-size:15px; margin-bottom:50px; }
.m4-cms h2 { color:#8FAF9A; font-size:22px; margin-top:50px; margin-bottom:25px; padding-bottom:10px; border-bottom:2px solid #e8e8e8; }
.m4-cms h3 { color:#8FAF9A; font-size:17px; margin:0 0 8px; }

.m4-cms-highlight { background:#f0f7f2; border-radius:12px; padding:25px 30px; margin-bottom:30px; text-align:center; font-size:17px; line-height:1.8; }
.m4-cms-highlight p { margin:0 0 6px; }
.m4-cms-highlight p:last-child { margin:0; }

.m4-cms-block { background:#fafafa; border-radius:10px; padding:25px 28px; margin-bottom:20px; }
.m4-cms-block p { font-size:15px; line-height:1.8; margin:0; }
.m4-cms-block .m4-cms-list { font-size:15px; line-height:2.2; margin:10px 0 0; }

.m4-cms-callout { background:#f0f7f2; border-left:4px solid #8FAF9A; padding:22px 28px; margin-bottom:30px; border-radius:0 10px 10px 0; }
.m4-cms-callout p { font-size:15px; line-height:1.7; margin:0; }

.m4-cms-dark { background:#8FAF9A; color:#fff; border-radius:12px; padding:30px; margin-bottom:30px; text-align:center; }
.m4-cms-dark p { margin:0 0 8px; font-size:16px; }
.m4-cms-dark p:last-child { margin:0; }
.m4-cms-dark .m4-cms-small { font-size:14px; color:#8FAF9A; }
.m4-cms-dark .m4-cms-code { display:inline-block; background:#fff; color:#8FAF9A; padding:10px 30px; border-radius:6px; font-size:24px; font-weight:700; letter-spacing:3px; margin-top:12px; }

.m4-cms table { width:100%; border-collapse:collapse; margin-bottom:30px; font-size:15px; }
.m4-cms thead tr { background:#8FAF9A; color:#fff; }
.m4-cms thead th { padding:14px 16px; text-align:left; font-weight:600; }
.m4-cms tbody td { padding:14px 16px; border-bottom:1px solid #eee; }
.m4-cms tbody tr:nth-child(odd) { background:#fafafa; }

.m4-cms-steps { display:flex; flex-wrap:wrap; gap:20px; margin-bottom:30px; }
.m4-cms-step { flex:1; min-width:200px; background:#f0f7f2; border-radius:10px; padding:28px 20px; text-align:center; }
.m4-cms-step .m4-step-num { font-size:42px; color:#8FAF9A; font-weight:700; line-height:1; margin-bottom:12px; }
.m4-cms-step h3 { margin-bottom:10px; }
.m4-cms-step p { font-size:15px; margin:0; }

.m4-cms-badge { display:inline-block; background:#8FAF9A; color:#fff; padding:3px 12px; border-radius:12px; font-size:12px; font-weight:600; }
.m4-cms-note { font-size:13px; color:#999; font-style:italic; margin:20px 0 30px; }
.m4-cms-note a { color:#8FAF9A; }

.m4-cms-separator { border:none; border-top:2px solid #e8e8e8; margin:50px 0; }

.m4-cms-cta { text-align:center; margin-top:40px; }
.m4-cms-cta a { display:inline-block; background:#8FAF9A; color:#fff; padding:14px 40px; border-radius:8px; text-decoration:none; font-weight:600; font-size:15px; }
.m4-cms-cta a:hover { background:#2a5e40; color:#fff; }
.m4-cms .m4-cms-red { color:#d0121a; }

@media (max-width:768px) {
  .m4-cms-steps { flex-direction:column; }
  .m4-cms table { font-size:13px; }
  .m4-cms thead th, .m4-cms tbody td { padding:10px 8px; }
}

/* Boutons ATC listings = couleur Soldé (#C97B5D) - PAS sur fiche produit */
.product-miniature .m4-choose-options {
  background: #C97B5D !important;
}
.product-miniature .m4-choose-options:hover {
  background: #b56a4e !important;
  box-shadow: 0 4px 12px rgba(201,123,93,0.3) !important;
}
.product-miniature .m4-quick-add {
  background: #C97B5D !important;
}
.product-miniature .m4-quick-add:hover {
  background: #b56a4e !important;
}

/* Reductions listing = couleur Solde #C97B5D */
.product-miniature .has-discount.product-price,
.product-miniature .has-discount p {
  color: #C97B5D !important;
}
.product-miniature .has-discount .discount {
  color: #C97B5D !important;
}

/* === Mobile Banner === */
.m4-mobile-banner {
  display: none;
}
@media (max-width: 767px) {
  .m4-mobile-banner {
    display: block;
    background: #f0f7f2;
    padding: 8px 15px;
    text-align: center;
  }
  .m4-mb-title {
    font-size: 13px;
    font-weight: 600;
    color: #C97B5D !important;
    margin-bottom: 2px;
  }
  .m4-mb-items {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
    margin-bottom: 12px;
  }
  .m4-mb-items span {
    background: rgba(255,255,255,0.15);
    color: #fff !important;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 500;
  }
  .m4-mb-benefits {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 4px 12px;
  }
  .m4-mb-benefits span {
    font-size: 11px;
    color: #8FAF9A !important;
    font-weight: 500;
  }
}

/* Mobile banner subtitle */
@media (max-width: 767px) {
  .m4-mb-subtitle {
    font-size: 11px;
    color: #555 !important;
    margin-bottom: 0;
    font-weight: 400;
  }
}

/* Mobile banner - language flags */
.m4-mb-langs {
  display: none;
}
@media (max-width: 767px) {
  .m4-mb-langs {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 6px;
  }
  .m4-mb-langs a {
    font-size: 18px;
    text-decoration: none !important;
    line-height: 1;
    opacity: 0.8;
    transition: opacity 0.2s, transform 0.2s;
  }
  .m4-mb-langs a:hover,
  .m4-mb-langs a:active {
    opacity: 1;
    transform: scale(1.2);
  }
}

/* Hide promobar lang selector on mobile */
@media (max-width: 767px) {
  .m4-promobar-lang,
  #_promobar_lang_selector {
    display: none !important;
  }
}

/* Prix en vert sur tout le site */
.price,
.product-price .price,
.current-price .price,
.product-prices .price,
.product-miniature .price,
.has-discount .price {
  color: #8FAF9A !important;
}

/* Topbar slogan orange */
.m4-topbar-inner {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}
.m4-topbar-slogan {
  color: #C97B5D !important;
  font-weight: 600 !important;
  font-size: 13px !important;
}
.m4-topbar-right {
  color: #fff !important;
  font-size: 13px !important;
}
.m4-topbar-right span {
  color: #fff !important;
}
@media (max-width: 767px) {
  .m4-topbar-inner {
    flex-direction: column !important;
    gap: 2px !important;
  }
  .m4-topbar-slogan {
    font-size: 11px !important;
  }
  .m4-topbar-right {
    font-size: 11px !important;
  }
}

/* Force prix vert partout */
body .price,
body .product-price .price,
body .current-price .price,
body .product-prices .price,
body .product-miniature .price,
body .product-price-and-shipping .price,
body .has-discount .price,
#products .price,
.featured-products .price,
.product-accessories .price,
.an_homeproducts .price,
body span.price {
  color: #8FAF9A !important;
}


/* === MOBILE QUICK BUTTONS (panier + coeur) === */
.m4-mobile-actions {
  display: none;
}
@media (max-width: 767px) {
  .m4-mobile-actions {
    display: flex;
    gap: 8px;
    margin-top: 8px;
    width: 100%;
  }
  .m4-mob-cart {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 0;
    background: #C97B5D;
    color: #fff;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s;
    -webkit-tap-highlight-color: transparent;
  }
  .m4-mob-cart:active {
    transform: scale(0.95);
    background: #b56a4e;
  }
  .m4-mob-cart svg {
    stroke: #fff;
  }
  .m4-mob-cart-loading {
    opacity: 0.6;
    pointer-events: none;
  }
  .m4-mob-cart-done {
    background: #2a5a3d !important;
  }
  .m4-mob-heart {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    min-width: 44px;
    padding: 10px 0;
    background: #f5f5f5;
    border: 1px solid #ddd;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s;
    -webkit-tap-highlight-color: transparent;
  }
  .m4-mob-heart svg {
    stroke: #999;
    fill: none;
  }
  .m4-mob-heart:active {
    transform: scale(0.95);
  }
  .m4-mob-heart-active {
    background: #fff0f0;
    border-color: #e74c3c;
  }
  .m4-mob-heart-active svg {
    fill: #e74c3c;
    stroke: #e74c3c;
  }
  /* Hide the desktop text buttons on mobile */
  .m4-choose-options,
  .m4-quick-add {
    display: none !important;
  }
}


/* === MOBILE QUICKVIEW FULL SCREEN === */
@media (max-width: 767px) {
  .quickview .modal-dialog {
    margin: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    position: fixed !important;
    inset: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-height: 100vh !important;
    max-height: 100dvh !important;
    transform: none !important;
  }
  .quickview .modal-content {
    border-radius: 0 !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-height: 100vh !important;
    max-height: 100dvh !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  .quickview .modal-header {
    padding: 8px 12px !important;
    border-bottom: none !important;
    position: sticky;
    top: 0;
    background: #fff;
    z-index: 10;
  }
  .quickview .modal-header::before {
    content: '';
    display: block;
    width: 40px;
    height: 4px;
    background: #ddd;
    border-radius: 2px;
    margin: 0 auto 8px;
  }
  .quickview .modal-body {
    padding: 10px 15px 20px !important;
  }
  .quickview .modal-body > .row {
    flex-direction: column !important;
  }
  /* Show images on mobile */
  .quickview .m4-qv-images-col {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    padding: 10px 0 !important;
    margin-bottom: 12px;
  }
  .quickview .modal-body > .row > div:last-child {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
  }
  /* Carousel */
  .m4-qv-carousel {
    position: relative;
    overflow: hidden;
    border-radius: 10px;
    background: #f8f8f8;
  }
  .m4-qv-track {
    display: flex;
    transition: transform 0.3s ease;
    will-change: transform;
  }
  .m4-qv-slide {
    min-width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
  }
  .m4-qv-slide img {
    max-width: 100%;
    max-height: 250px;
    object-fit: contain;
    border-radius: 6px;
  }
  /* Dots */
  .m4-qv-dots {
    display: flex;
    justify-content: center;
    gap: 6px;
    padding: 8px 0 12px;
  }
  .m4-qv-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #ddd;
    transition: all 0.2s;
  }
  .m4-qv-dot.active {
    background: #C97B5D;
    width: 20px;
    border-radius: 4px;
  }
  /* Product title in quickview */
  .quickview .h1 {
    font-size: 16px !important;
    line-height: 1.3 !important;
    margin-bottom: 6px !important;
  }
  /* Variants in quickview */
  .quickview .product-variants-item {
    margin-bottom: 8px !important;
  }
  .quickview .product-variants-item .control-label {
    font-size: 13px !important;
    font-weight: 600;
    margin-bottom: 6px !important;
    display: block;
  }
  .quickview .product-variants-item ul {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    padding: 10px 0 !important;
    list-style: none !important;
  }
  .quickview .product-variants-item .input-container {
    margin: 0 !important;
  }
  .quickview .product-variants-item select {
    font-size: 14px !important;
    padding: 8px 12px !important;
    border-radius: 8px !important;
    border: 1px solid #ddd !important;
  }
  /* Color swatches bigger on mobile */
  .quickview .input-container .color,
  .quickview .input-container-color img {
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
  }
  .quickview .input-container-checked {
    border: 2px solid #C97B5D !important;
    border-radius: 50% !important;
    padding: 2px !important;
  }
  /* Add to cart button in quickview */
  .quickview .add-to-cart {
    width: 100% !important;
    padding: 14px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    border-radius: 10px !important;
    background: #C97B5D !important;
    border-color: #C97B5D !important;
    color: #fff !important;
    margin-top: 10px !important;
  }
  .quickview .add-to-cart:active {
    transform: scale(0.98);
    background: #b56a4e !important;
  }
  /* Qty selector in quickview */
  .quickview .qty {
    text-align: center;
    font-size: 16px !important;
    width: 50px !important;
    height: 44px !important;
    border-radius: 8px !important;
  }
  .quickview .bootstrap-touchspin {
    justify-content: center;
  }
}


/* === FORCE PRIX VERT - ULTRA SPECIFIQUE === */
html body .price,
html body span.price,
html body .current-price,
html body .current-price span,
html body .product-price,
html body .product-prices .price,
html body .product-price-and-shipping .price,
html body .product-miniature .price,
html body .featured-products .price,
html body .product-accessories .price,
html body .an_homeproducts .price,
html body #products .price,
html body .has-discount .price,
html body .product-prices-block .price,
html body .js-product-miniature .price {
  color: #8FAF9A !important;
}
.current-price {
  color: #8FAF9A !important;
}


/* === MOBILE QUICKVIEW REDESIGN === */
@media (max-width: 767px) {

  /* Bottom sheet modal */
  .quickview .modal-dialog {
    margin: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    position: fixed !important;
    bottom: 0 !important;
    top: auto !important;
    transform: none !important;
  }
  .quickview .modal-content {
    border-radius: 16px 16px 0 0 !important;
    max-height: 92vh !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    border: none !important;
    box-shadow: 0 -4px 20px rgba(0,0,0,0.15) !important;
  }
  .quickview .modal-header {
    padding: 6px 12px 0 !important;
    border-bottom: none !important;
    position: sticky;
    top: 0;
    background: #fff;
    z-index: 10;
  }
  .quickview .modal-header::before {
    content: '';
    display: block;
    width: 40px;
    height: 4px;
    background: #ddd;
    border-radius: 2px;
    margin: 0 auto 4px;
  }
  .quickview .modal-body {
    padding: 10px 0 !important;
  }

  /* New mobile layout */
  .m4-qv-mobile {
    padding: 0 15px 20px;
  }

  /* Image carousel */
  .m4-qv-img-wrap {
    margin: 0 -15px 12px;
    background: #f8f8f8;
  }
  .m4-qv-carousel {
    position: relative;
    overflow: hidden;
  }
  .m4-qv-track {
    display: flex;
    transition: transform 0.3s ease;
    will-change: transform;
  }
  .m4-qv-slide {
    min-width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
  }
  .m4-qv-slide img {
    max-width: 100%;
    max-height: 280px;
    object-fit: contain;
  }
  .m4-qv-dots {
    display: flex;
    justify-content: center;
    gap: 6px;
    padding: 6px 0 10px;
  }
  .m4-qv-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #ddd;
    transition: all 0.2s;
  }
  .m4-qv-dot.active {
    background: #C97B5D;
    width: 20px;
    border-radius: 4px;
  }

  /* Title */
  .m4-qv-title {
    margin-bottom: 4px;
  }
  .m4-qv-title a {
    font-size: 17px;
    font-weight: 700;
    font-family: 'Nunito', sans-serif !important;
    color: #1a1a2e;
    -webkit-text-fill-color: #1a1a2e;
    text-decoration: none;
    line-height: 1.3;
  }

  /* Price */
  .m4-qv-price {
    margin-bottom: 10px;
  }
  .m4-qv-price .price,
  .m4-qv-price .current-price {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #8FAF9A !important;
  }
  .m4-qv-price .regular-price {
    font-size: 14px;
    color: #999;
    text-decoration: line-through;
  }

  /* Variants */
  .m4-qv-variants {
    margin-bottom: 12px;
  }
  .m4-qv-variants .product-variants-item {
    margin-bottom: 8px;
  }
  .m4-qv-variants .control-label {
    font-size: 13px;
    font-weight: 600;
    color: #333;
    display: block;
    margin-bottom: 6px;
  }
  .m4-qv-variants select {
    width: 100%;
    font-size: 14px;
    padding: 10px 12px;
    border-radius: 8px;
    border: 1px solid #ddd;
    background: #fff;
    -webkit-appearance: none;
  }
  .m4-qv-variants ul {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    padding: 10px 0 !important;
    list-style: none !important;
  }
  .m4-qv-variants .input-container {
    margin: 0 !important;
  }
  .m4-qv-variants .color,
  .m4-qv-variants .input-container-color img {
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    border: 2px solid #eee;
  }
  .m4-qv-variants .input-container-checked .color,
  .m4-qv-variants .input-container-checked img {
    border: 3px solid #C97B5D !important;
  }

  /* Actions (qty + ATC) */
  .m4-qv-actions {
    margin-bottom: 16px;
  }
  .m4-qv-actions .product-quantity {
    display: flex;
    align-items: center;
    gap: 10px;
  }
  .m4-qv-actions .qty {
    text-align: center;
    font-size: 16px;
    width: 60px;
    height: 44px;
    border-radius: 8px;
    border: 1px solid #ddd;
  }
  .m4-qv-actions .add-to-cart,
  .m4-qv-actions .add {
    width: 100% !important;
    padding: 14px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    border-radius: 10px !important;
    background: #C97B5D !important;
    border: none !important;
    color: #fff !important;
    margin-top: 8px;
    cursor: pointer;
    transition: all 0.2s;
  }
  .m4-qv-actions .add-to-cart:active {
    transform: scale(0.98);
    background: #b56a4e !important;
  }
  .m4-qv-actions .product-additional-info,
  .m4-qv-actions .product-refresh {
    display: none !important;
  }

  /* Associated products */
  .m4-qv-associated {
    margin-bottom: 16px;
    border-top: 1px solid #eee;
    padding-top: 12px;
  }
  .m4-qv-assoc-title {
    font-size: 15px;
    font-weight: 700;
    color: #1a1a2e;
    margin-bottom: 10px;
  }
  .m4-qv-assoc-scroll {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    padding-bottom: 8px;
  }
  .m4-qv-assoc-scroll::-webkit-scrollbar {
    height: 3px;
  }
  .m4-qv-assoc-scroll::-webkit-scrollbar-thumb {
    background: #ddd;
    border-radius: 2px;
  }
  .m4-qv-assoc-item {
    min-width: 140px;
    max-width: 140px;
    flex-shrink: 0;
    scroll-snap-align: start;
    background: #f8f8f8;
    border-radius: 10px;
    padding: 8px;
    position: relative;
  }
  .m4-qv-assoc-img {
    display: block;
    text-align: center;
    margin-bottom: 6px;
  }
  .m4-qv-assoc-img img {
    width: 100%;
    height: 100px;
    object-fit: contain;
    border-radius: 6px;
  }
  .m4-qv-assoc-info {
    min-height: 50px;
  }
  .m4-qv-assoc-name {
    font-size: 11px;
    color: #333;
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.3;
    margin-bottom: 4px;
  }
  .m4-qv-assoc-price {
    font-size: 13px;
    font-weight: 700;
    color: #8FAF9A;
  }
  .m4-qv-assoc-add {
    position: absolute;
    top: 6px;
    right: 6px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #C97B5D;
    color: #fff;
    border: none;
    font-size: 18px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: all 0.2s;
  }
  .m4-qv-assoc-add:active {
    transform: scale(0.9);
  }
  .m4-qv-assoc-empty {
    font-size: 13px;
    color: #999;
    padding: 10px 0;
  }
  .m4-qv-assoc-loading {
    font-size: 12px;
    color: #999;
    padding: 10px;
  }

  /* Social share */
  .m4-qv-share {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
    padding-top: 12px;
    border-top: 1px solid #eee;
  }
  .m4-qv-share-label {
    font-size: 13px;
    font-weight: 600;
    color: #666;
  }
  .m4-qv-share-btn {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: all 0.2s;
  }
  .m4-share-fb {
    background: #1877f2;
    color: #fff;
  }
  .m4-share-wa {
    background: #25d366;
    color: #fff;
  }
  .m4-share-copy {
    background: #f0f0f0;
    color: #666;
  }
  .m4-qv-share-btn:active {
    transform: scale(0.9);
  }

  /* Description accordion */
  .m4-qv-desc {
    border-top: 1px solid #eee;
  }
  .m4-qv-desc-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 0;
    font-size: 14px;
    font-weight: 600;
    color: #333;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }
  .m4-qv-desc-toggle svg {
    transition: transform 0.2s;
  }
  .m4-qv-desc-toggle.open svg {
    transform: rotate(180deg);
  }
  .m4-qv-desc-content {
    display: none;
    font-size: 13px;
    font-weight: 400 !important;
    font-family: 'Nunito', sans-serif !important;
    line-height: 1.7;
    color: #555;
    -webkit-text-fill-color: #555;
    padding-bottom: 16px;
  }
  .m4-qv-desc-content strong, .m4-qv-desc-content b {
    font-weight: 400 !important;
  }
  .m4-qv-desc-content.open {
    display: block;
  }
  .m4-qv-desc-content img {
    max-width: 100%;
    height: auto;
  }
}


/* === FIX: bouton panier texte au lieu d'icône === */
@media (max-width: 767px) {
  .m4-mob-cart-text {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.3px;
  }
  .m4-mob-cart-text svg {
    display: none;
  }
  /* Cacher la zone variants vide */
  #m4-qv-variants-zone:empty {
    display: none;
  }
}


/* === FIX: retirer fond orange du bouton Ajouter au panier dans quickview === */
@media (max-width: 767px) {
  .m4-qv-actions .add-to-cart,
  .m4-qv-actions .add,
  .quickview .add-to-cart {
    background: transparent !important;
    color: #8FAF9A !important;
    border: 2px solid #8FAF9A !important;
    font-weight: 700 !important;
  }
  .m4-qv-actions .add-to-cart:active,
  .quickview .add-to-cart:active {
    background: #8FAF9A !important;
    color: #fff !important;
  }
}


/* === FIX: bords arrondis sur images déclinaisons === */
.product-variants .input-container-color img,
.product-variants .input-container img,
.m4-qv-variants .input-container-color img,
.m4-qv-variants .input-container img,
.quickview .input-container-color img,
.quickview .input-container img,
.an_productattributes .input-container-color img,
.an_productattributes .input-container img {
  border-radius: 50% !important;
}


/* === FIX: retirer bord vert du bouton Ajouter au panier === */
@media (max-width: 767px) {
  .m4-qv-actions .add-to-cart,
  .m4-qv-actions .add,
  .quickview .add-to-cart {
    background: #f5f5f5 !important;
    color: #333 !important;
    border: none !important;
    font-weight: 700 !important;
    border-radius: 10px !important;
    padding: 14px !important;
    width: 100% !important;
    font-size: 15px !important;
  }
  .m4-qv-actions .add-to-cart:active,
  .quickview .add-to-cart:active {
    background: #e8e8e8 !important;
  }
}


/* === PROMOBAR MARQUEE (defilement continu) === */
.m4-promobar-marquee {
  overflow: hidden;
  width: 100%;
  position: relative;
}
.m4-promobar-track {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  animation: m4-marquee 25s linear infinite;
}
.m4-promobar-item {
  display: inline-block;
  padding: 0 8px;
}
.m4-promobar-sep {
  display: inline-block;
  padding: 0 15px;
  opacity: 0.4;
}
@keyframes m4-marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.m4-promobar-marquee:hover .m4-promobar-track {
  animation-play-state: paused;
}
@media (max-width: 767px) {
  .m4-promobar-track {
    animation-duration: 18s;
  }
  .m4-promobar-item {
    font-size: 12px;
  }
}


/* === PROMOBAR VERTICAL SLIDE (glisse vers le bas) === */
.m4-promobar-inner {
  position: relative !important;
  height: 20px !important;
  overflow: hidden !important;
}
.m4-promobar-slide {
  position: absolute !important;
  top: 0; left: 0; right: 0;
  display: block !important;
  opacity: 0 !important;
  transform: translateY(-100%) !important;
  transition: opacity 0.5s ease, transform 0.5s ease !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
  overflow: hidden !important;
  color: #fff !important;
}
.m4-promobar-slide.m4-promobar-active {
  opacity: 1 !important;
  transform: translateY(0) !important;
}
.m4-promobar-slide.m4-promobar-out {
  opacity: 0 !important;
  transform: translateY(100%) !important;
}


/* === PROMOBAR texte blanc mobile === */
.m4-promobar,
.m4-promobar *,
.m4-promobar-slide,
.m4-promobar-inner,
.m4-promobar div {
  color: #fff !important;
}
.m4-promobar strong {
  color: #8FAF9A !important;
}
/* Symboles en monochrome (pas emoji couleur) */
.m4-topbar-inner span,
.m4-promobar-slide {
  font-family: inherit !important;
  text-rendering: optimizeLegibility;
}

/* === FIX PROMOBAR BLANC (override body div #222) === */
body div.m4-promobar-slide,
body div.m4-promobar-slide.m4-promobar-active,
body .m4-promobar div.m4-promobar-slide,
body .m4-promobar .m4-promobar-inner div,
div.m4-promobar div,
.m4-promobar-flex div,
.m4-promobar-inner div {
  color: #fff !important;
}


/* === QUICKVIEW: bouton ATC vert sauge === */
@media (max-width: 767px) {
  .quickview .add-to-cart,
  .m4-qv-actions .add-to-cart {
    background: #8FAF9A !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 14px 20px !important;
    width: 100% !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    text-align: center !important;
    box-shadow: none !important;
    cursor: pointer !important;
  }
  .quickview .add-to-cart:active {
    background: #7a9e86 !important;
  }
}

/* === QUICKVIEW: description en accordeon === */
.m4-qv-desc-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 0;
  border-top: 1px solid #eee;
  cursor: pointer;
  font-weight: 600;
  font-size: 14px;
  color: #333;
  user-select: none;
}
.m4-qv-desc-toggle .m4-qv-plus {
  font-size: 20px;
  font-weight: 300;
  color: #999;
  transition: transform 0.3s ease;
  line-height: 1;
}
.m4-qv-desc-toggle.m4-open .m4-qv-plus {
  transform: rotate(45deg);
}
.m4-qv-desc-content {
  display: none;
  padding: 0 0 12px 0;
  font-size: 13px;
  line-height: 1.6;
  color: #555;
  border-bottom: 1px solid #eee;
}
.m4-qv-desc-content.m4-open {
  display: block;
}


/* === QUICKVIEW COMPACT MOBILE === */
@media (max-width: 767px) {
  /* Image plus petite */
  .quickview .product-cover img,
  .m4-qv-slide img {
    max-height: 250px !important;
  }
  .quickview .product-cover {
    max-height: 190px !important;
  }
  /* Modal pas trop haute */
  .quickview .modal-content {
    max-height: 85vh !important;
  }
  /* Titre plus compact */
  .quickview .h1 {
    font-size: 14px !important;
    margin-bottom: 4px !important;
  }
  /* Prix compact */
  .quickview .current-price {
    font-size: 16px !important;
    margin-bottom: 4px !important;
  }
  /* Padding reduit */
  .quickview .modal-body {
    padding: 8px 12px 15px !important;
  }
  /* Variantes plus compactes */
  .quickview .product-variants {
    margin-bottom: 6px !important;
  }
  .quickview .product-variants-item {
    margin-bottom: 4px !important;
  }
  /* Bouton ATC un peu plus fin */
  .quickview .add-to-cart {
    padding: 12px 16px !important;
    font-size: 14px !important;
    margin-top: 6px !important;
  }
  /* Quantite plus compacte */
  .quickview .product-quantity,
  .quickview .qty {
    height: 38px !important;
  }
  .quickview .bootstrap-touchspin {
    margin-bottom: 4px !important;
  }
  /* Description accordeon compact */
  .m4-qv-desc-toggle {
    padding: 10px 0 !important;
    font-size: 13px !important;
    margin-top: 6px !important;
  }
  .m4-qv-desc-content {
    font-size: 12px !important;
    line-height: 1.5 !important;
    max-height: none;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  /* Cacher elements inutiles */
  .quickview .product-additional-info,
  .quickview .social-sharing,
  .quickview .product-guarantee {
    display: none !important;
  }
}


/* === FICHE PRODUIT : Description/Details en accordeon === */
.m4-product-accordion {
  border-top: 1px solid #eee;
  margin-top: 10px;
}
.m4-product-accordion-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 24px;
  cursor: pointer;
  user-select: none;
  border-bottom: 1px solid #eee;
}
.m4-product-accordion-toggle span:first-child {
  font-weight: 600;
  font-size: 15px;
  color: #333;
}
.m4-product-accordion-plus {
  display: inline-block;
  width: auto;
  height: auto;
  background: none !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #EA8914 !important;
  -webkit-text-fill-color: #EA8914 !important;
  font-family: Arial, sans-serif !important;
  font-size: 26px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  transition: transform 0.3s ease;
  margin-right: 120px;
  flex-shrink: 0;
  padding: 0 !important;
}
.m4-product-accordion-toggle.m4-open .m4-product-accordion-plus {
  transform: rotate(45deg);
}
.m4-product-accordion-body {
  display: none;
  padding: 12px 24px;
  font-size: 14px;
  line-height: 1.7;
  color: #444;
}
.m4-product-accordion-body.m4-open {
  display: block;
}

/* === STICKY ATC ORANGE === */
.js-an_stickyAddToCart-add-to-cart,
.an_stickyAddToCart .add-to-cart,
.an_stickyproduct .add-to-cart,
#an_stickyAddToCart .add-to-cart {
  background: #E67E22 !important;
  background-color: #E67E22 !important;
  border-color: #E67E22 !important;
  color: #fff !important;
}
.js-an_stickyAddToCart-add-to-cart:active,
.an_stickyAddToCart .add-to-cart:active {
  background: #D35400 !important;
}

/* === HEADER ICONS: plus petits + couleur panier === */
.header-right .user-info svg,
.header-right .user-info .material-icons,
.header-right .an_wishlist-nav-link svg,
.header-right .blockcart svg {
  width: 20px !important;
  height: 20px !important;
}
.header-right .user-info svg path,
.header-right .an_wishlist-nav-link svg path,
.header-right .blockcart svg path,
.header-right .blockcart svg line {
  transform: none !important;
}
.header-right a,
.header-right .blockcart-link,
.header-right .user-info a,
.header-right .an_wishlist-nav-link a {
  color: #555 !important;
}
.header-right a:hover,
.header-right .blockcart-link:hover {
  color: #8FAF9A !important;
}
.cart-products-count {
  font-size: 10px !important;
  width: 16px !important;
  height: 16px !important;
  line-height: 16px !important;
}

/* ============================================
   SEARCH GRID - Grille recherche 6 colonnes
   ============================================ */

/* Panel container - grille */
.ui-autocomplete.m4-search-grid {
    padding: 16px !important;
    border: none !important;
    border-radius: 14px !important;
    box-shadow: 0 16px 48px rgba(0,0,0,0.20) !important;
    background: #fff !important;
    max-height: 80vh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    z-index: 99999 !important;
    margin-top: 8px !important;
    list-style: none !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
}

.ui-autocomplete.m4-search-grid .container {
    display: contents !important;
}

/* Scrollbar discrete */
.ui-autocomplete.m4-search-grid::-webkit-scrollbar { width: 5px; }
.ui-autocomplete.m4-search-grid::-webkit-scrollbar-track { background: transparent; }
.ui-autocomplete.m4-search-grid::-webkit-scrollbar-thumb { background: #ddd; border-radius: 3px; }

/* Card produit */
.m4-sgrid-card {
    list-style: none !important;
    width: calc((100% - 60px) / 6) !important;
    min-width: 0;
}

.m4-sgrid-card a,
.m4-sgrid-card a.ui-state-focus {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    padding: 10px !important;
    text-decoration: none !important;
    color: #333 !important;
    background: #fff !important;
    border: 1px solid #f0f0f0 !important;
    border-radius: 10px !important;
    margin: 0 !important;
    transition: all 0.2s ease !important;
    height: 100% !important;
    gap: 0 !important;
}

.m4-sgrid-card a:hover,
.m4-sgrid-card a.ui-state-focus:hover {
    border-color: #8FAF9A !important;
    box-shadow: 0 4px 12px rgba(143,175,154,0.15) !important;
    transform: translateY(-2px);
    background: #fff !important;
}

/* Image produit */
.m4-sgrid-img {
    width: 100%;
    aspect-ratio: 1;
    border-radius: 8px;
    overflow: hidden;
    background: #fafafa;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px;
}

.m4-sgrid-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    padding: 4px;
}

.m4-sgrid-img.m4-sgrid-noimg {
    background: #f5f5f5;
}

/* Nom produit */
.m4-sgrid-name {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    line-height: 1.3 !important;
    text-align: center !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 6px;
    width: 100%;
}

/* Prix */
.m4-sgrid-prices {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    width: 100%;
    margin-top: auto;
}

.m4-sgrid-price {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #8FAF9A !important;
}

.m4-sgrid-oldprice {
    font-size: 11px !important;
    color: #aaa !important;
    text-decoration: line-through !important;
}

/* Override jQuery UI */
.m4-search-grid .ui-state-focus,
.m4-search-grid .ui-state-active {
    border: none !important;
    background: transparent !important;
    margin: 0 !important;
}

/* No result */
.m4-sgrid-noresult {
    width: 100% !important;
    text-align: center;
    padding: 30px 20px !important;
    list-style: none !important;
}
.m4-sgrid-noresult span {
    font-size: 14px;
    color: #888;
    font-style: italic;
}

/* ---- RESPONSIVE ---- */

/* Tablette : 4 par rangee */
@media (max-width: 991px) {
    .m4-sgrid-card {
        width: calc((100% - 36px) / 4) !important;
    }
}

/* Mobile : 3 par rangee */
@media (max-width: 767px) {
    .ui-autocomplete.m4-search-grid {
        position: fixed !important;
        left: 8px !important;
        right: 8px !important;
        width: auto !important;
        max-height: 70vh !important;
        padding: 10px !important;
        gap: 8px !important;
        border-radius: 10px !important;
    }

    .m4-sgrid-card {
        width: calc((100% - 16px) / 3) !important;
    }

    .m4-sgrid-card a,
    .m4-sgrid-card a.ui-state-focus {
        padding: 6px !important;
        border-radius: 8px !important;
    }

    .m4-sgrid-name {
        font-size: 11px !important;
        -webkit-line-clamp: 2;
    }

    .m4-sgrid-price {
        font-size: 13px !important;
    }

    .m4-sgrid-oldprice {
        font-size: 10px !important;
    }
}

/* Petit mobile : 2 par rangee */
@media (max-width: 400px) {
    .m4-sgrid-card {
        width: calc((100% - 8px) / 2) !important;
    }
}


/* ============================================
   PRODUCT SECTIONS - Contenu direct sans accordeon
   ============================================ */

.m4-product-sections {
    margin-top: 20px;
}

.m4-psection {
    margin-bottom: 20px;
    padding: 0 24px;
}

.m4-psection-header {
    padding: 0 0 8px 0;
    border-bottom: 2px solid #eee;
    margin-bottom: 12px;
}

.m4-psection-title {
    font-weight: 700;
    font-size: 16px;
    color: #1a1a1a;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.m4-psection-body {
    display: block !important;
    padding: 0 0 10px 0;
    font-size: 14px;
    line-height: 1.8;
    color: #444;
}

.m4-psection-body .product-description {
    font-size: 14px;
    line-height: 1.8;
    color: #444;
}

/* Pas de chevron */
.m4-psection-chevron {
    display: none !important;
}

/* === FAQ TOUJOURS VISIBLE (Conseils & Securite) === */
.m4-faq-always-open .m4-product-faq-title {
    font-size: 17px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #1a1a1a;
    margin-bottom: 16px;
    padding-top: 20px;
    border-top: 1px solid #eee;
}

.m4-faq-always-open .m4-faq-item {
    border-bottom: 1px solid #f0f0f0;
}
.m4-faq-always-open .m4-faq-item:last-child {
    border-bottom: none;
}

.m4-faq-always-open .m4-faq-question {
    cursor: default !important;
    padding: 12px 0 4px 0;
    background: none !important;
    border: none !important;
}
.m4-faq-always-open .m4-faq-question span:first-child {
    font-weight: 600;
    font-size: 14px;
    color: #1a1a1a;
}
.m4-faq-always-open .m4-faq-chevron {
    display: none !important;
}
.m4-faq-always-open .m4-faq-answer {
    display: block !important;
    max-height: none !important;
    height: auto !important;
    padding: 0 0 12px 0 !important;
    opacity: 1 !important;
    overflow: visible !important;
}
.m4-faq-always-open .m4-faq-answer p {
    font-size: 13px;
    line-height: 1.7;
    color: #555;
    margin: 0;
}

/* old accordion hide removed */


/* === TITRE PRODUIT EN NOIR === */
.product-container h1,
.product-cover-and-details h1,
h1[itemprop="name"],
.product-name,
.page-content h1,
#main h1.h1,
h1.h1 {
    color: #1a1a1a !important;
}

/* === CONSEILS & SECURITE - Bloc separe en dessous === */
.m4-product-faq.m4-faq-always-open {
    margin-top: 40px !important;
    padding-top: 30px !important;
    border-top: 2px solid #eee !important;
    clear: both;
}

.m4-faq-always-open .m4-product-faq-title {
    font-size: 18px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: #1a1a1a !important;
    margin-bottom: 20px !important;
    padding-top: 0 !important;
    border-top: none !important;
}

/* === BOUTON AJOUTER AU PANIER - ORANGE === */
.product-add-to-cart .add-to-cart,
.product-add-to-cart .btn.add-to-cart,
.m4-atc-row .add-to-cart,
.m4-atc-row .btn.add-to-cart {
    background: #E67E22 !important;
    background-image: none !important;
}
.product-add-to-cart .add-to-cart:hover,
.product-add-to-cart .btn.add-to-cart:hover,
.m4-atc-row .add-to-cart:hover,
.m4-atc-row .btn.add-to-cart:hover {
    background: #D35400 !important;
    background-image: none !important;
}


/* === CONSEILS & SECURITE - Titre blanc fond fonce === */
.m4-product-faq.m4-faq-always-open {
    margin-top: 30px !important;
    padding: 10px 0 !important;
    border-top: none !important;
    background: transparent !important;
}

.m4-faq-always-open .m4-product-faq-title {
    background: #1a1a1a !important;
    color: #fff !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    padding: 16px 24px !important;
    border-radius: 8px 8px 0 0 !important;
    margin-bottom: 0 !important;
    border-top: none !important;
}

.m4-faq-always-open .m4-faq-columns {
    background: #f8f8f8 !important;
    padding: 20px 24px !important;
    border-radius: 0 0 8px 8px !important;
    border: 1px solid #eee !important;
    border-top: none !important;
}

/* === BOUTON ATC RAPPEL EN BAS === */
.m4-bottom-atc {
    margin-top: 30px;
    text-align: center;
    padding: 20px 0;
}

.m4-bottom-atc-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: #E67E22 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px;
    padding: 18px 50px !important;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(230, 126, 34, 0.3);
}

.m4-bottom-atc-btn:hover {
    background: #D35400 !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(230, 126, 34, 0.4);
}

.m4-bottom-atc-btn:active {
    transform: translateY(0) scale(0.98);
}

.m4-bottom-atc-btn svg {
    stroke: #fff;
}

@media (max-width: 767px) {
    .m4-bottom-atc-btn {
        width: 100%;
        font-size: 16px !important;
        padding: 16px 30px !important;
    }

    .m4-faq-always-open .m4-product-faq-title {
        font-size: 17px !important;
        padding: 14px 16px !important;
    }

    .m4-faq-always-open .m4-faq-columns {
        padding: 16px !important;
    }
}


/* === DETAILS PRODUIT - Textes en noir === */
.m4-psection-body .product-features,
.m4-psection-body .data-sheet,
.m4-psection-body dl,
.m4-psection-body dt,
.m4-psection-body dd,
.m4-psection-body span,
.m4-psection-body .product-reference,
.m4-psection-body .product-quantities,
.product-features dt.name,
.product-features dd.value,
.data-sheet dt,
.data-sheet dd,
#product-details .product-features dt.name,
#product-details .product-features dd.value {
    color: #1a1a1a !important;
}

/* === DESKTOP: Description + Details toujours ouverts (pas accordeon) === */
@media (min-width: 992px) {
    .m4-product-accordion-body {
        display: block !important;
    }
    .m4-product-accordion-plus {
        display: none !important;
    }
    .m4-product-accordion-toggle {
        cursor: default !important;
        pointer-events: none !important;
    }
}

/* === FIX FAQ PRODUIT: questions a gauche + chevron visible === */
.m4-product-faq .m4-faq-question {
    justify-content: space-between !important;
    text-align: left !important;
}
.m4-product-faq .m4-faq-chevron {
    font-size: 18px !important;
    color: #666 !important;
    min-width: 20px !important;
    text-align: center !important;
}
.m4-product-faq .m4-faq-item.active .m4-faq-chevron {
    transform: rotate(45deg) !important;
    color: #E67E22 !important;
}
.m4-product-faq .m4-faq-item.active .m4-faq-answer {
    max-height: 800px !important;
    padding: 0 0 16px 0 !important;
}

/* === OVERRIDE FINAL FAQ PRODUIT === */
.m4-product-faq .m4-faq-question {
    justify-content: space-between !important;
    text-align: left !important;
}
.m4-product-faq .m4-faq-chevron {
    font-size: 20px !important;
    color: #fff !important;
    min-width: 22px !important;
}
.m4-product-faq .m4-faq-item.active .m4-faq-chevron {
    transform: rotate(45deg) !important;
    color: #fff !important;
}
.m4-product-faq .m4-faq-answer {
    max-height: 0 !important;
    overflow: hidden !important;
    transition: max-height 0.4s ease, padding 0.4s ease !important;
    padding: 10px 0 !important;
}
.m4-product-faq .m4-faq-item.active .m4-faq-answer {
    max-height: 2000px !important;
    overflow: visible !important;
    padding: 0 0 16px 0 !important;
}

/* === FORCE FAQ REPONSES: display none/block === */
div.m4-product-faq div.m4-faq-item div.m4-faq-answer {
    display: none !important;
    max-height: none !important;
    overflow: visible !important;
}
div.m4-product-faq div.m4-faq-item.active div.m4-faq-answer {
    display: block !important;
    padding: 4px 0 16px 0 !important;
}

/* === DESKTOP: Description ouverte, Details en accordeon === */
@media (min-width: 992px) {
    /* Annuler le force-open global */
    .m4-product-accordion-body {
        display: none !important;
    }
    .m4-product-accordion-plus {
        display: block !important;
    }
    .m4-product-accordion-toggle {
        cursor: pointer !important;
        pointer-events: auto !important;
    }

    /* Description (1er item) : ouvert par defaut mais cliquable */
    .m4-product-accordion-toggle:nth-child(1) .m4-product-accordion-plus {
        display: inline-block !important;
    }
}

/* === FIX: Details du produit cliquable sur desktop === */
@media (min-width: 992px) {
    .m4-product-accordion-body.m4-open {
        display: block !important;
    }
}

/* === TITRES CALCULATEURS: police plus grande === */
.m4-mini-calc-header {
    font-size: 18px !important;
    padding: 14px 20px !important;
}
.m4-mini-calc-header strong {
    font-size: 18px !important;
    color: #fff !important;
}


/* === FIX SLIDER HAUTEUR === */
.an_homeslider-block {
  border-radius: var(--m4-radius-lg);
  overflow: hidden;
  max-height: 570px;
}
.an_homeslider-block img,
.an_homeslider-block .owl-lazy {
  max-height: 570px;
  object-fit: cover;
  object-position: center 85%;
  width: 100%;
}
@media (max-width: 767px) {
  .an_homeslider-block {
    max-height: 250px;
  }
  .an_homeslider-block img,
  .an_homeslider-block .owl-lazy {
    max-height: 250px;
  }
}

/* ============================================================
   FIX LOGO - Colonne plus large, pas ecrase par menus
   ============================================================ */
#_desktop_logo {
  min-width: auto !important;
  flex: 0 0 auto !important;
}
#_desktop_logo .logo {
  max-height: 140px !important;
  width: auto !important;
}
/* Ajuster les colonnes header pour donner plus de place au logo */
.header-top .header-block {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
}
.header-top .header-middle {
  flex: 1 !important;
}
.header-top .header-right {
  flex: 0 0 auto !important;
  min-width: 100px !important;
}


/* ============================================================
   FIX MEGAMENU - Coller au header, pas d'espace
   ============================================================ */
#header .header-top {
  margin-bottom: 0 !important;
  border-bottom: none !important;
}
.header-top + .ets_mm_megamenu,
#header .ets_mm_megamenu {
  margin-top: 0 !important;
  border-top: none !important;
}
/* Header-nav (barre du haut) plus compacte */
.header-nav {
  padding: 4px 0 !important;
}
.header-nav .header-nav-inside {
  min-height: auto !important;
}


/* ============================================================
   SELECTEUR LANGUE - Drapeaux dans la barre du haut (displayNav1)
   ============================================================ */
/* Re-afficher dans displayTopRight avec style drapeaux */
#_desktop_language_selector {
  display: block !important;
}
#_desktop_language_selector .language-selector-wrapper {
  display: flex !important;
  align-items: center !important;
}
#_desktop_language_selector .language-selector .btn-unstyle {
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  font-size: 13px !important;
  color: #333 !important;
  padding: 2px 8px !important;
  border-radius: 4px !important;
  cursor: pointer !important;
}
#_desktop_language_selector .language-selector .btn-unstyle:hover {
  color: #8FAF9A !important;
  background: rgba(143,175,154,0.1) !important;
}
#_desktop_language_selector .language-selector .dropdown-menu {
  background: #fff !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1) !important;
  min-width: 130px !important;
  padding: 5px 0 !important;
  z-index: 9999 !important;
}
#_desktop_language_selector .language-selector .dropdown-menu a {
  color: #333 !important;
  padding: 6px 15px !important;
  font-size: 13px !important;
  display: block !important;
}
#_desktop_language_selector .language-selector .dropdown-menu a:hover {
  background: rgba(143,175,154,0.15) !important;
  color: #2a5a3d !important;
}
#_desktop_language_selector .language-selector .dropdown-menu .current a {
  color: #8FAF9A !important;
  font-weight: 600 !important;
}


/* ============================================================
   FIX MEGAMENU - Alignement icones/fleches avec le texte
   ============================================================ */
/* Fleche dropdown (petit triangle) bien alignee avec le texte */
.ets_mm_megamenu .mm_menu_content_title {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  padding: 0 16px !important;
  min-height: auto !important;
}
.ets_mm_megamenu .mm_menu_content_title span.mm_arrow {
  display: inline-flex !important;
  align-items: center !important;
  margin-left: 5px !important;
  vertical-align: middle !important;
}
.ets_mm_megamenu .mm_has_sub > a .mm_arrow::after {
  vertical-align: middle !important;
  margin-top: 1px !important;
}
/* Lien menu : flexbox pour centrer icone + texte */
.ets_mm_megamenu .mm_menus_li > a {
  display: flex !important;
  align-items: center !important;
  padding: 12px 0 !important;
  line-height: 1.2 !important;
}
/* Sous-categories : triangle aligne avec le texte */
.ets_mm_megamenu .ets_mm_categories > li > a.ets_mm_url {
  display: flex !important;
  align-items: center !important;
}
.ets_mm_megamenu .ets_mm_categories > li > a.ets_mm_url::before {
  flex-shrink: 0 !important;
  vertical-align: middle !important;
  line-height: 1 !important;
}
/* Fix conflit layout1.css : points dans les sous-menus */
.layout_layout1 .ets_mm_block_content ul li a::before {
  vertical-align: middle !important;
  line-height: 1 !important;
  font-size: 10px !important;
}


/* ============================================================
   MEGAMENU - Symboles en orange (#C97B5D)
   ============================================================ */
/* Fleche dropdown triangle */
.ets_mm_megamenu .mm_has_sub > a .mm_arrow::after {
  border-top-color: #C97B5D !important;
}
/* Triangle sous-categories */
.ets_mm_megamenu .ets_mm_categories > li > a.ets_mm_url::before {
  color: #C97B5D !important;
}
/* Points sous-menus layout1 */
.layout_layout1 .ets_mm_block_content ul li a::before {
  color: #C97B5D !important;
}


/* ============================================================
   MEGAMENU - Sliding hover effect (fond glissant fluide)
   ============================================================ */
.ets_mm_megamenu .mm_menus_ul {
  position: relative !important;
}
/* Indicateur glissant (pseudo-element sur le UL) */
.mm_menus_ul .m4-menu-slider {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, #C97B5D, #E8A87C) !important;
  border-radius: 3px 3px 0 0;
  transition: left 0.35s cubic-bezier(0.25, 0.1, 0.25, 1), width 0.35s cubic-bezier(0.25, 0.1, 0.25, 1) !important;
  pointer-events: none;
  z-index: 100;
  opacity: 0;
}
.mm_menus_ul .m4-menu-slider.m4-slider-active {
  opacity: 1 !important;
}
/* Fond highlight sur l'item survole */
.ets_mm_megamenu .mm_menus_li > a {
  position: relative !important;
  transition: color 0.3s ease, background 0.3s ease !important;
}
.ets_mm_megamenu .mm_menus_li:hover > a {
  background: rgba(201, 123, 93, 0.08) !important;
  color: #C97B5D !important;
}
.ets_mm_megamenu .mm_menus_li:hover > a .mm_menu_content_title {
  color: #C97B5D !important;
}
/* Retirer l'ancien underline hover effect */
.ets_mm_megamenu .mm_menus_li > a::after {
  display: none !important;
}
.ets_mm_megamenu .mm_menus_li:hover > a::after,
.ets_mm_megamenu .mm_menus_li.hover > a::after {
  display: none !important;
}
/* Dropdown smooth */
.ets_mm_megamenu .mm_columns_ul {
  opacity: 0;
  transform: translateY(-5px);
  transition: opacity 0.3s ease, transform 0.3s ease !important;
  pointer-events: none;
}
.ets_mm_megamenu .mm_menus_li:hover > .mm_columns_ul,
.ets_mm_megamenu .mm_menus_li.hover > .mm_columns_ul {
  opacity: 1 !important;
  transform: translateY(0) !important;
  pointer-events: auto !important;
}


/* ============================================================
   FOND SUBTIL #fafafa - Style vapevo
   ============================================================ */
body,
body #wrapper,
body #page,
body section#wrapper {
  background: #fafafa !important;
  background-color: #fafafa !important;
}
/* Gradient anime subtil desactive */
body::before {
  display: none !important;
}
/* Contenu principal en blanc pour le contraste */
body #content-wrapper,
body section#main,
body .page-home #content,
.product-container,
.page-content {
  background: #ffffff !important;
  border-radius: 8px;
}


/* ============================================================
   MEGAMENU - Pas de fleche vers le bas
   ============================================================ */
.ets_mm_megamenu .mm_arrow,
.ets_mm_megamenu .mm_arrow::after,
.ets_mm_megamenu span.mm_arrow,
.ets_mm_megamenu .mm_has_sub > a .mm_arrow,
.ets_mm_megamenu .mm_has_sub > a .mm_arrow::after,
.ets_mm_megamenu .arrow,
.ets_mm_megamenu span.arrow {
  display: none !important;
}


/* ============================================================
   SELECTEUR LANGUE - Orange au clic/hover (#C97B5D)
   ============================================================ */
#_desktop_language_selector .language-selector .btn-unstyle:hover,
#_desktop_language_selector .language-selector .btn-unstyle:focus,
#_desktop_language_selector .language-selector .btn-unstyle:active,
#_desktop_language_selector .language-selector .btn-unstyle[aria-expanded="true"] {
  color: #C97B5D !important;
  background: rgba(201, 123, 93, 0.08) !important;
}
#_desktop_language_selector .language-selector .btn-unstyle:hover svg path,
#_desktop_language_selector .language-selector .btn-unstyle:focus svg path,
#_desktop_language_selector .language-selector .btn-unstyle[aria-expanded="true"] svg path {
  fill: #C97B5D !important;
}
#_desktop_language_selector .language-selector .dropdown-menu a:hover {
  background: rgba(201, 123, 93, 0.12) !important;
  color: #C97B5D !important;
}
#_desktop_language_selector .language-selector .dropdown-menu .current a {
  color: #C97B5D !important;
  font-weight: 600 !important;
}


/* ============================================================
   BARRE DE RECHERCHE - Centree dans le header
   ============================================================ */
.header-middle .header-left-block {
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
}
.header-middle .header-left-block #_desktop_search {
  flex: 1 !important;
  max-width: 600px !important;
}
.header-middle {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}
#search_widget {
  width: 100% !important;
}
#search_widget form {
  width: 100% !important;
}


/* ============================================================
   BANDEAU MARQUES - Titre style
   ============================================================ */
#an_brandslider-block .an_brandslider-title {
  text-align: center !important;
  font-size: 1.6rem !important;
  font-weight: 600 !important;
  color: #333 !important;
  margin-bottom: 20px !important;
  padding-top: 10px !important;
}


/* ============================================================
   BANDEAU MARQUES - Titre via pseudo-element
   ============================================================ */
footer#footer,
#footer {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  min-height: 100px !important;
  overflow: visible !important;
}
#an_brandslider-block {
  padding-top: 50px !important;
  margin-top: 30px !important;
  margin-bottom: 30px !important;
  min-height: 120px !important;
  overflow: hidden !important;
}
/* Brandslider : animation marquee CSS (remplace owl carousel) */
@keyframes m4-marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
#an_brandslider-block .owl-carousel,
#an_brandslider-block .an_brandslider-items {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow: hidden !important;
  gap: 0 !important;
  padding: 10px 0;
  animation: m4-marquee 8s linear infinite !important;
  width: max-content !important;
}
#an_brandslider-block .an_brandslider-items .an_brandslider-item {
  flex: 0 0 auto;
  width: 120px;
  padding: 0 15px;
  transition: transform 0.3s, opacity 0.3s;
}
#an_brandslider-block .an_brandslider-items .an_brandslider-item:hover {
  transform: scale(1.15);
}
#an_brandslider-block .an_brandslider-items .an_brandslider-item img {
  max-height: 60px;
  width: auto;
  filter: grayscale(40%);
  opacity: 0.8;
  transition: filter 0.3s, opacity 0.3s;
}
#an_brandslider-block .an_brandslider-items .an_brandslider-item:hover img {
  filter: grayscale(0%);
  opacity: 1;
}
#an_brandslider-block::before {
  content: "Les meilleures marques au meilleur prix" !important;
  display: block !important;
  text-align: center !important;
  font-family: 'DM Serif Display', Georgia, serif !important;
  font-size: 32px !important;
  font-weight: 400 !important;
  color: #333 !important;
  letter-spacing: -0.5px !important;
  margin-bottom: 15px !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
}


/* ============================================================
   BLOCS ACCUEIL - Coins arrondis partout
   ============================================================ */
/* Slider */
.an_homeslider-block,
.an_homeslider-block .owl-carousel,
.an_homeslider-block .owl-stage-outer,
.an_homeslider-block .item img {
  border-radius: 16px !important;
  overflow: hidden !important;
}

/* Blocs produits */
.an_homeproducts-block {
  border-radius: 16px !important;
  overflow: hidden !important;
}

/* Bandeau marques */
#an_brandslider-block {
  border-radius: 16px !important;
  overflow: hidden !important;
}

/* Sections custom m4 */
.m4-howto,
.m4-trust,
.m4-stats,
.m4-usp,
.m4-emotion,
.m4-categories,
.m4-choose-vape,
.m4-promo,
.m4-testimonials,
.m4-guide-quiz,
.m4-calc-tabac,
.m4-calc-diy,
.m4-reassurance,
.m4-guides,
.m4-faq,
.m4-engagements,
.m4-age-banner {
  border-radius: 16px !important;
  overflow: hidden !important;
}

/* Cartes individuelles */
.m4-usp-card,
.m4-emotion-card,
.m4-cat-card,
.m4-choose-card,
.m4-testimonial-card,
.m4-guide-card,
.m4-engagement-card,
.m4-faq-item,
.m4-howto-step {
  border-radius: 12px !important;
  overflow: hidden !important;
}

/* Produits */
.js-product-miniature,
.product-miniature {
  border-radius: 12px !important;
  overflow: hidden !important;
}

/* Advantages module */
.an_advantages {
  border-radius: 16px !important;
  overflow: hidden !important;
}

/* Blocs reassurance */
.blockreassurance_product {
  border-radius: 16px !important;
  overflow: hidden !important;
}


/* ============================================================
   TITRES PRODUITS ACCUEIL - Meme police que sections
   ============================================================ */
.products-section-title,
.an_homeproducts-block .title_block,
.an_homeproducts-content-text h1,
.an_homeproducts-content-text h1 strong,
.an_homeproducts-block .h1 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  text-transform: none !important;
  letter-spacing: -0.5px !important;
}

/* ============================================================
   BOUTON ACHETER MAINTENANT
   ============================================================ */
.m4-buy-now-wrap {
  width: 100%;
  margin-top: 8px;
}
.m4-buy-now-btn {
  width: 100% !important;
  background: #C97B5D !important;
  color: #fff !important;
  border: none !important;
  padding: 12px 24px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  transition: background 0.2s, transform 0.15s !important;
}
.m4-buy-now-btn:hover {
  background: #b5694e !important;
  transform: translateY(-1px) !important;
}
.quickview .m4-buy-now-btn {
  padding: 10px 20px !important;
  font-size: 14px !important;
}
.quickview .modal-body {
  max-height: 85vh !important;
  overflow-y: auto !important;
}

/* ============================================================
   BOUTON ACHETER MAINTENANT - Fix position dans quickview
   ============================================================ */
.m4-atc-row {
  flex-wrap: wrap !important;
}
.m4-buy-now-wrap {
  width: 100% !important;
  flex-basis: 100% !important;
  margin-top: 8px !important;
}
.quickview .m4-atc-row {
  flex-wrap: wrap !important;
}
.quickview .m4-buy-now-wrap {
  width: 100% !important;
  flex-basis: 100% !important;
}


/* ============================================================
   MINIATURES - Icones coeur + oeil en overlay
   ============================================================ */
.product-miniature {
  position: relative !important;
}
.product-miniature .thumbnail-container {
  position: relative !important;
}
.m4-miniature-actions {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  z-index: 10 !important;
  opacity: 0 !important;
  transform: translateX(10px) !important;
  transition: opacity 0.25s ease, transform 0.25s ease !important;
}
.product-miniature:hover .m4-miniature-actions {
  opacity: 1 !important;
  transform: translateX(0) !important;
}
.m4-mini-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  background: #fff !important;
  border-radius: 50% !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.12) !important;
  color: #666 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
}
.m4-mini-btn:hover {
  transform: scale(1.1) !important;
}
.m4-mini-wishlist:hover {
  color: #e74c3c !important;
  background: #fff0f0 !important;
}
.m4-mini-wishlist:hover svg {
  fill: #e74c3c !important;
  stroke: #e74c3c !important;
}
.m4-mini-quickview:hover {
  color: #C97B5D !important;
  background: #fff5f0 !important;
}
.m4-mini-quickview:hover svg {
  stroke: #C97B5D !important;
}
/* Reactiver highlighted-informations pour le quickview data-link-action */
.product-miniature .highlighted-informations {
  display: none !important;
}


/* ============================================================
   MINIATURES - Icones coeur + oeil overlay (JS injecte)
   ============================================================ */
.m4-mini-actions {
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  z-index: 10 !important;
  opacity: 0 !important;
  transform: translateX(8px) !important;
  transition: opacity 0.25s ease, transform 0.25s ease !important;
  pointer-events: auto !important;
}
.product-miniature:hover .m4-mini-actions,
.js-product-miniature:hover .m4-mini-actions {
  opacity: 1 !important;
  transform: translateX(0) !important;
  pointer-events: auto !important;
}
.m4-mini-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  background: #fff !important;
  border-radius: 50% !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.12) !important;
  color: #888 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
  border: none !important;
  padding: 10px 0 !important;
}
.m4-mini-icon:hover {
  transform: scale(1.12) !important;
  box-shadow: 0 3px 12px rgba(0,0,0,0.18) !important;
}
.m4-mini-icon.m4-heart:hover {
  color: #e74c3c !important;
  background: #fff0f0 !important;
}
.m4-mini-icon.m4-heart:hover svg {
  fill: #e74c3c !important;
  stroke: #e74c3c !important;
}
.m4-mini-icon.m4-eye:hover {
  color: #C97B5D !important;
  background: #fff5f0 !important;
}
.m4-mini-icon.m4-eye:hover svg {
  stroke: #C97B5D !important;
}

/* ============================================================
   QUICKVIEW MAISON (modal)
   ============================================================ */
.m4-qv-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.55);
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
.m4-qv-overlay.m4-qv-open {
  display: flex;
}
.m4-qv-panel {
  background: #fff;
  border-radius: 18px;
  max-width: 700px;
  width: 92%;
  max-height: 85vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  position: relative;
  box-shadow: 0 20px 60px rgba(0,0,0,0.25);
  animation: m4QvIn 0.3s ease;
}
@keyframes m4QvIn {
  from { opacity: 0; transform: translateY(30px) scale(0.97); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.m4-qv-close {
  position: absolute;
  top: 12px;
  right: 14px;
  width: 36px;
  height: 36px;
  border: none;
  background: #f3f4f6;
  border-radius: 50%;
  font-size: 22px;
  line-height: 1;
  color: #666;
  cursor: pointer;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
}
.m4-qv-close:hover { background: #e5e7eb; }
.m4-qv-loader {
  text-align: center;
  padding: 60px 20px;
  color: #999;
  font-size: 15px;
}
.m4-qv-content {
  display: flex;
  gap: 24px;
  padding: 28px;
}
.m4-qv-img {
  flex: 0 0 240px;
  max-width: 240px;
}
.m4-qv-img img {
  width: 100%;
  height: auto;
  border-radius: 12px;
  object-fit: contain;
}
.m4-qv-info {
  flex: 1;
  min-width: 0;
}
.m4-qv-title {
  font-family: 'DM Serif Display', Georgia, serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #1e293b !important;
  margin: 0 0 12px !important;
  -webkit-text-fill-color: #1e293b !important;
  background: none !important;
}
.m4-qv-price {
  font-size: 22px;
  font-weight: 700;
  color: var(--m4-primary, #8FAF9A);
  margin-bottom: 14px;
}
.m4-qv-price .regular-price {
  font-size: 15px;
  color: #999;
  text-decoration: line-through;
  margin-left: 8px;
  font-weight: 400;
}
.m4-qv-desc {
  font-size: 14px;
  color: #555;
  line-height: 1.6;
  margin-bottom: 20px;
}
.m4-qv-desc ul { padding-left: 18px; }
.m4-qv-btn {
  display: inline-block;
  padding: 13px 32px;
  background: var(--m4-primary, #8FAF9A);
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border-radius: 50px;
  font-weight: 600;
  font-size: 15px;
  text-decoration: none !important;
  transition: all 0.3s ease;
}
.m4-qv-btn:hover {
  background: var(--m4-primary-dark, #7A9E86);
  transform: translateY(-1px);
}
@media (max-width: 600px) {
  .m4-qv-content {
    flex-direction: column;
    padding: 20px;
    gap: 16px;
  }
  .m4-qv-img {
    flex: none;
    max-width: 100%;
    text-align: center;
  }
  .m4-qv-img img { max-height: 220px; width: auto; }
  .m4-qv-panel { border-radius: 14px; width: 96%; }
}

/* --- Miniatures mobile : oeil toujours visible, coeur masque --- */
@media (max-width: 767px) {
  /* Toujours afficher le wrapper icones (pas de hover sur mobile) */
  .m4-mini-actions {
    opacity: 1 !important;
    transform: translateX(0) !important;
    pointer-events: auto !important;
  }
  /* Cacher le coeur sur mobile */
  .m4-mini-icon.m4-heart {
    display: none !important;
  }
  /* Oeil toujours visible */
  .m4-mini-icon.m4-eye {
    display: flex !important;
  }
}

/* ============================================================
   MOBILE FIXES COMPLET - Header, navigation, toutes sections
   ============================================================ */

/* --- HEADER MOBILE : Logo centre entre hamburger et panier --- */
@media (max-width: 991px) {
  .mobile-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    padding: 8px 15px !important;
  }
  .mobile-header #menu-icon {
    float: none !important;
    flex: 0 0 auto !important;
    order: 1 !important;
  }
  .mobile-header .top-logo,
  .mobile-header #_mobile_logo {
    float: none !important;
    flex: 1 1 auto !important;
    order: 2 !important;
    text-align: center !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    line-height: normal !important;
    width: auto !important;
    margin: 0 !important;
  }
  .mobile-header #_mobile_cart {
    float: none !important;
    flex: 0 0 auto !important;
    order: 3 !important;
  }
  #_mobile_logo .logo {
    max-height: 70px !important;
    width: auto !important;
    margin: 0 auto !important;
  }
  /* Logo desktop plus petit sur tablette */
  #_desktop_logo .logo {
    max-height: 100px !important;
  }
  #_desktop_logo {
    min-width: auto !important;
  }
}

/* --- HEADER MOBILE petit ecran --- */
@media (max-width: 767px) {
  .mobile-header {
    padding: 6px 10px !important;
  }
  #_mobile_logo .logo {
    max-height: 60px !important;
  }
  /* Barre recherche centree */
  #_mobile_search {
    width: 100% !important;
    padding: 0 10px !important;
  }
  #_mobile_search .search-widget {
    width: 100% !important;
  }
  #_mobile_search .search-widget form {
    width: 100% !important;
  }
  #_mobile_search .search-widget form input[type="text"] {
    width: 100% !important;
  }
}

/* --- TRES PETIT ECRAN --- */
@media (max-width: 480px) {
  #_mobile_logo .logo {
    max-height: 50px !important;
  }
}

/* --- SECTIONS HOMEPAGE MOBILE --- */
@media (max-width: 768px) {
  /* Titres de sections plus petits */
  .m4-section-title,
  .products-section-title,
  .an_homeproducts-content-text h1,
  .an_homeproducts-content-text h1 strong {
    font-size: 24px !important;
  }
  /* Titre marques */
  #an_brandslider-block::before {
    font-size: 22px !important;
  }
  #an_brandslider-block {
    padding-top: 40px !important;
  }
  /* Hero section */
  .m4-hero h1 {
    font-size: 28px !important;
  }
  .m4-hero p {
    font-size: 16px !important;
  }
  /* Bouton acheter maintenant */
  .m4-buy-now-btn {
    padding: 10px 16px !important;
    font-size: 13px !important;
    width: 100% !important;
  }
  /* FAQ */
  .m4-faq-question {
    font-size: 15px !important;
    padding: 14px 16px !important;
  }
  /* Miniatures - colonnes sur mobile */
  .product-miniature {
    margin-bottom: 15px !important;
  }
  /* Engagements cards */
  .m4-engagement-card {
    padding: 20px 15px !important;
  }
  /* Trust bar - wrap on mobile */
  .m4-trust-grid {
    flex-wrap: wrap !important;
    gap: 12px !important;
    justify-content: center !important;
  }
  .m4-trust-item {
    flex: 0 0 calc(50% - 8px) !important;
    font-size: 13px !important;
  }
  /* Versus table */
  .m4-versus-col {
    font-size: 13px !important;
    padding: 10px 8px !important;
  }
  /* Padding sections global */
  .m4-howto,
  .m4-engagements,
  .m4-versus,
  .m4-trust-banner {
    padding: 30px 0 !important;
  }
}

/* --- SECTIONS HOMEPAGE TRES PETIT ECRAN --- */
@media (max-width: 480px) {
  .m4-section-title,
  .products-section-title {
    font-size: 20px !important;
  }
  #an_brandslider-block::before {
    font-size: 18px !important;
  }
  .m4-hero h1 {
    font-size: 24px !important;
  }
  .m4-trust-item {
    flex: 0 0 100% !important;
  }
  .m4-versus-col {
    font-size: 12px !important;
    padding: 8px 5px !important;
  }
}

/* --- FICHE PRODUIT MOBILE --- */
@media (max-width: 768px) {
  /* Volume pricing */
  .m4-volume-pricing .m4-volume-option {
    padding: 10px 12px !important;
    font-size: 13px !important;
  }
  /* Social share */
  .m4-social-share {
    justify-content: center !important;
  }
  /* Product FAQ */
  .m4-product-faq {
    padding: 20px 15px !important;
  }
}


/* ============================================================
   CHOISIR SA VAPE - Style cartes dans le theme
   ============================================================ */
.m4-choose-vape {
  padding: 50px 0;
  background: #f8f9fa;
}
.m4-choose-title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  text-align: center;
  color: #1A1A1A;
  margin-bottom: 8px;
}
.m4-choose-subtitle {
  text-align: center;
  color: #6b7280;
  font-size: 16px;
  margin-bottom: 40px;
}
.m4-choose-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 1000px;
  margin: 0 auto;
}
.m4-choose-card {
  background: #fff;
  border-radius: 16px;
  padding: 32px 24px;
  text-align: center;
  text-decoration: none !important;
  color: #333 !important;
  border: 2px solid #e8e8e8;
  transition: all 0.3s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  overflow: hidden;
}
.m4-choose-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  transition: height 0.3s ease;
}
.m4-choose-debutant::before {
  background: #8FAF9A;
}
.m4-choose-intermediaire::before {
  background: #C97B5D;
}
.m4-choose-expert::before {
  background: #1a1a2e;
}
.m4-choose-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 32px rgba(0,0,0,0.12);
}
.m4-choose-debutant:hover {
  border-color: #8FAF9A;
}
.m4-choose-intermediaire:hover {
  border-color: #C97B5D;
}
.m4-choose-expert:hover {
  border-color: #1a1a2e;
}
.m4-choose-card:hover::before {
  height: 6px;
}
.m4-choose-icon {
  font-size: 48px;
  margin-bottom: 16px;
  line-height: 1;
}
.m4-choose-card h3 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #1A1A1A;
  margin-bottom: 12px;
}
.m4-choose-card p {
  font-size: 14px;
  color: #6b7280;
  line-height: 1.6;
  margin-bottom: 16px;
  flex-grow: 1;
}
.m4-choose-price {
  font-size: 15px;
  color: #333;
  margin-bottom: 12px;
}
.m4-choose-price strong {
  font-size: 22px;
  font-weight: 700;
}
.m4-choose-debutant .m4-choose-price strong {
  color: #8FAF9A;
}
.m4-choose-intermediaire .m4-choose-price strong {
  color: #C97B5D;
}
.m4-choose-expert .m4-choose-price strong {
  color: #1a1a2e;
}
.m4-choose-cta {
  display: inline-block;
  padding: 10px 24px;
  margin-top: 20px;
  border-radius: 25px;
  font-size: 14px;
  font-weight: 600;
  transition: all 0.3s ease;
}
.m4-choose-debutant .m4-choose-cta {
  background: #f0f7f2;
  color: #7A9E86;
  -webkit-text-fill-color: #7A9E86 !important;
}
.m4-choose-debutant:hover .m4-choose-cta {
  background: #8FAF9A;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
.m4-choose-intermediaire .m4-choose-cta {
  background: #fdf2ed;
  color: #C97B5D;
  -webkit-text-fill-color: #C97B5D !important;
}
.m4-choose-intermediaire:hover .m4-choose-cta {
  background: #C97B5D;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
.m4-choose-expert .m4-choose-cta {
  background: #f0f0f5;
  color: #1a1a2e;
  -webkit-text-fill-color: #1a1a2e !important;
}
.m4-choose-expert:hover .m4-choose-cta {
  background: #1a1a2e;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
/* overridden by mobile styles below */

/* ============================================================
   VAPE VS CIGARETTE - Illustration SVG v2
   ============================================================ */
.m4-versus-illustration {
  margin: 0;
  min-width: 300px;
  flex-shrink: 0;
  display: flex;
}
.m4-vs-visual {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  background: linear-gradient(90deg, #f0f7f2 0%, #f0f7f2 48%, #fef2f2 52%, #fef2f2 100%);
  border-radius: 20px;
  padding: 40px 30px 30px;
  border: 1px solid #e8e8e8;
  flex: 1;
}
.m4-vs-visual svg {
  transform: scale(1.6);
}
.m4-vs-side {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
.m4-vs-device {
  display: flex;
  justify-content: center;
}
.m4-vs-center {
  flex: 0 0 60px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.m4-vs-badge {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: #1a1a2e;
  color: #fff;
  font-size: 18px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}
.m4-vs-label {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.m4-vs-label-good {
  color: #8FAF9A;
}
.m4-vs-label-bad {
  color: #e74c3c;
}
@media (max-width: 480px) {
  .m4-versus-illustration {
    max-width: 180px !important;
  }
  .m4-vs-visual {
    padding: 20px 10px 15px;
  }
  .m4-vs-device svg {
    width: 60px;
    height: 120px;
  }
  .m4-vs-badge {
    width: 40px;
    height: 40px;
    font-size: 14px;
  }
}

/* ============================================================
   BANDEAUX TOP - Expedition + Newsletter
   ============================================================ */
.m4-topbar {
  background: #8FAF9A !important;
  width: 100%;
  text-align: center;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.5px;
  padding: 8px 15px;
}
.m4-topbar-shipping {
  background: #1a1a2e;
  color: #fff;
}
.m4-topbar-promo {
  background: #C97B5D;
  color: #fff;
  overflow: hidden;
  position: relative;
  height: 34px;
}
.m4-promo-slider {
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.m4-promo-slide {
  position: absolute;
  width: 100%;
  text-align: center;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s ease, transform 0.5s ease;
  pointer-events: none;
}
.m4-promo-slide.m4-promo-active {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.m4-promo-slide strong {
  background: rgba(255,255,255,0.2);
  padding: 2px 8px;
  border-radius: 4px;
  font-weight: 700;
}
@media (max-width: 768px) {
  .m4-topbar {
    font-size: 11px;
    padding: 6px 10px;
  }
  .m4-topbar-promo {
    height: 30px;
  }
}

/* ============================================================
   OFFRE COMMERCIALE MET4VAPE v2
   ============================================================ */
.m4-offre-page {
  font-family: var(--m4-font-body, 'Inter', sans-serif);
  color: var(--m4-text, #3D3D3D);
}

/* HERO */
.m4-offre-hero {
  text-align: center;
  padding: 60px 20px 50px;
  background: linear-gradient(180deg, #f8f8f8 0%, #fff 100%);
}
.m4-offre-badge-fire {
  display: inline-block;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #fff;
  background: var(--m4-primary, #8FAF9A);
  padding: 6px 16px;
  border-radius: 20px;
  margin-bottom: 20px;
}
.m4-offre-hero-title {
  font-family: var(--m4-font-heading, 'DM Serif Display', serif);
  font-size: 40px;
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 16px;
}
.m4-offre-hero-price { color: var(--m4-primary, #8FAF9A); }
.m4-offre-hero-desc {
  font-size: 16px;
  color: var(--m4-text-muted, #6B7280);
  max-width: 480px;
  margin: 0 auto 28px;
  line-height: 1.6;
}
.m4-offre-hero-cta {
  display: inline-block;
  padding: 14px 36px;
  background: var(--m4-primary, #8FAF9A);
  color: #fff !important;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-decoration: none !important;
  transition: all 0.3s;
}
.m4-offre-hero-cta:hover {
  background: var(--m4-primary-dark, #7A9E86);
  transform: translateY(-2px);
}
.m4-offre-hero-trust {
  margin-top: 20px;
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
  font-size: 13px;
  color: var(--m4-text-muted, #6B7280);
}

/* TRUST BAR */
.m4-offre-trust {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  padding: 24px 30px;
  max-width: 800px;
  margin: 0 auto;
}
.m4-offre-trust-item { text-align: center; font-size: 13px; }
.m4-offre-trust-icon { display: block; font-size: 22px; margin-bottom: 4px; }

/* SECTION TITLES */
.m4-offre-section-title {
  font-family: var(--m4-font-heading, 'DM Serif Display', serif);
  font-size: 28px;
  font-weight: 700;
  text-align: center;
  margin: 0 0 6px;
}
.m4-offre-section-subtitle {
  text-align: center;
  font-size: 15px;
  color: var(--m4-text-muted, #6B7280);
  margin: 0 0 32px;
}

/* ---- KITS PRODUITS (cartes horizontales) ---- */
.m4-offre-kits {
  padding: 50px 20px;
  background: #f8f8f8;
}
.m4-offre-prods {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 760px;
  margin: 0 auto;
}
.m4-offre-prod {
  display: flex;
  background: #fff;
  border-radius: var(--m4-radius-sm, 10px);
  border: 1px solid #eee;
  overflow: hidden;
  transition: box-shadow 0.3s;
  position: relative;
}
.m4-offre-prod:hover {
  box-shadow: 0 6px 24px rgba(0,0,0,0.06);
}
.m4-offre-prod-best {
  border: 2px solid var(--m4-primary, #8FAF9A);
}
.m4-offre-prod-tag {
  position: absolute;
  top: 12px;
  left: 12px;
  background: var(--m4-primary, #8FAF9A);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 4px 12px;
  border-radius: 6px;
  letter-spacing: 0.5px;
  z-index: 1;
}
.m4-offre-prod-visual {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 140px;
  min-height: 140px;
  background: #f8f8f8;
  flex-shrink: 0;
}
.m4-offre-prod-emoji { font-size: 48px; }
.m4-offre-prod-info {
  padding: 20px 24px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.m4-offre-prod-info h3 {
  font-family: var(--m4-font-heading, 'DM Serif Display', serif);
  font-size: 18px;
  margin: 0 0 6px;
}
.m4-offre-prod-desc {
  font-size: 13px;
  color: var(--m4-text-muted, #6B7280);
  line-height: 1.5;
  margin: 0 0 10px;
}
.m4-offre-prod-details {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 16px;
  font-size: 12px;
  color: var(--m4-primary-dark, #7A9E86);
  margin-bottom: 12px;
}
.m4-offre-prod-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
}
.m4-offre-prod-price {
  font-size: 22px;
  font-weight: 800;
}
.m4-offre-prod-old {
  font-size: 14px;
  color: #bbb;
  text-decoration: line-through;
  margin-right: 6px;
  font-weight: 400;
}
.m4-offre-prod-cta {
  display: inline-block;
  padding: 10px 20px;
  border: 2px solid var(--m4-text, #3D3D3D);
  border-radius: 8px;
  font-size: 13px;
  font-weight: 700;
  color: var(--m4-text, #3D3D3D) !important;
  text-decoration: none !important;
  transition: all 0.25s;
  white-space: nowrap;
}
.m4-offre-prod-cta:hover {
  background: var(--m4-text, #3D3D3D);
  color: #fff !important;
}
.m4-offre-prod-cta-primary {
  background: var(--m4-primary, #8FAF9A);
  border-color: var(--m4-primary, #8FAF9A);
  color: #fff !important;
}
.m4-offre-prod-cta-primary:hover {
  background: var(--m4-primary-dark, #7A9E86);
  border-color: var(--m4-primary-dark, #7A9E86);
}

/* ---- BUNDLES ---- */
.m4-offre-bundles { padding: 50px 20px; }
.m4-offre-bundle-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  max-width: 860px;
  margin: 0 auto;
}
.m4-offre-bund {
  background: #fff;
  border: 1px solid #eee;
  border-radius: var(--m4-radius-sm, 10px);
  padding: 20px;
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.3s;
}
.m4-offre-bund:hover { box-shadow: 0 4px 20px rgba(0,0,0,0.06); }
.m4-offre-bund-hl { border-color: var(--m4-primary, #8FAF9A); }
.m4-offre-bund-top {
  display: flex;
  gap: 12px;
  margin-bottom: 16px;
}
.m4-offre-bund-icon { font-size: 28px; flex-shrink: 0; margin-top: 2px; }
.m4-offre-bund-top h4 {
  font-family: var(--m4-font-heading, 'DM Serif Display', serif);
  font-size: 15px;
  margin: 0 0 4px;
}
.m4-offre-bund-top p {
  font-size: 12px;
  color: var(--m4-text-muted, #6B7280);
  line-height: 1.4;
  margin: 0;
}
.m4-offre-bund-bottom { margin-top: auto; }
.m4-offre-bund-prices {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}
.m4-offre-bund-old { font-size: 13px; color: #bbb; text-decoration: line-through; }
.m4-offre-bund-new { font-size: 22px; font-weight: 800; color: var(--m4-primary, #8FAF9A); }
.m4-offre-bund-pct {
  font-size: 11px;
  font-weight: 700;
  color: #E67E22;
  background: #fff5eb;
  padding: 2px 6px;
  border-radius: 4px;
}
.m4-offre-bund-cta {
  display: block;
  text-align: center;
  padding: 10px;
  border: 2px solid var(--m4-text, #3D3D3D);
  border-radius: 8px;
  font-size: 12px;
  font-weight: 700;
  color: var(--m4-text, #3D3D3D) !important;
  text-decoration: none !important;
  transition: all 0.25s;
}
.m4-offre-bund-cta:hover {
  background: var(--m4-text, #3D3D3D);
  color: #fff !important;
}

/* ---- CODE PROMO (bandeau horizontal) ---- */
.m4-offre-promo {
  padding: 30px 20px;
  background: #f8f8f8;
}
.m4-offre-promo-inner {
  max-width: 700px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  background: #fff;
  border: 1px solid #eee;
  border-radius: var(--m4-radius-sm, 10px);
  padding: 24px 32px;
}
.m4-offre-promo-left h3 {
  font-family: var(--m4-font-heading, 'DM Serif Display', serif);
  font-size: 18px;
  margin: 0 0 4px;
}
.m4-offre-promo-left p {
  font-size: 13px;
  color: var(--m4-text-muted, #6B7280);
  margin: 0;
}
.m4-offre-promo-right { text-align: center; flex-shrink: 0; }
.m4-offre-promo-code {
  display: inline-block;
  font-family: monospace;
  font-size: 24px;
  font-weight: 800;
  color: #E67E22;
  letter-spacing: 3px;
  border: 2px dashed #E67E22;
  border-radius: 8px;
  padding: 10px 24px;
  cursor: pointer;
  transition: background 0.2s;
}
.m4-offre-promo-code:hover { background: #fff5eb; }
.m4-offre-promo-note {
  display: block;
  font-size: 11px;
  color: #aaa;
  margin-top: 6px;
}

/* ---- FAQ ---- */
.m4-offre-faq {
  padding: 50px 20px;
  max-width: 680px;
  margin: 0 auto;
}
.m4-offre-faq-list { display: flex; flex-direction: column; gap: 8px; }
.m4-offre-faq-item {
  background: #f8f8f8;
  border-radius: var(--m4-radius-sm, 10px);
  overflow: hidden;
}
.m4-offre-faq-q {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 18px;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  color: var(--m4-text, #3D3D3D);
  text-align: left;
  font-family: inherit;
}
.m4-offre-faq-q:hover { background: #f0f0f0; }
.m4-offre-faq-arrow {
  font-size: 18px;
  color: var(--m4-primary, #8FAF9A);
  transition: transform 0.3s;
  flex-shrink: 0;
}
.m4-offre-faq-item.m4-offre-faq-open .m4-offre-faq-arrow { transform: rotate(45deg); }
.m4-offre-faq-a {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}
.m4-offre-faq-item.m4-offre-faq-open .m4-offre-faq-a {
  max-height: 200px;
  padding: 0 18px 16px;
}
.m4-offre-faq-a p {
  font-size: 13px;
  line-height: 1.6;
  color: var(--m4-text-muted, #6B7280);
  margin: 0;
}

/* ---- CTA FINAL ---- */
.m4-offre-final {
  text-align: center;
  padding: 50px 20px;
  background: linear-gradient(180deg, #fff 0%, #f8f8f8 100%);
}
.m4-offre-final-title {
  font-family: var(--m4-font-heading, 'DM Serif Display', serif);
  font-size: 28px;
  margin: 0 0 8px;
}
.m4-offre-final-desc {
  font-size: 15px;
  color: var(--m4-text-muted, #6B7280);
  margin: 0 0 24px;
}
.m4-offre-final-cta {
  display: inline-block;
  padding: 14px 36px;
  background: var(--m4-primary, #8FAF9A);
  color: #fff !important;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none !important;
  transition: all 0.3s;
}
.m4-offre-final-cta:hover {
  background: var(--m4-primary-dark, #7A9E86);
  transform: translateY(-2px);
}
.m4-offre-final-trust {
  margin-top: 16px;
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
  font-size: 13px;
  color: var(--m4-primary, #8FAF9A);
}

/* RESPONSIVE */
@media (max-width: 768px) {
  .m4-offre-hero-title { font-size: 28px; }
  .m4-offre-prod { flex-direction: column; }
  .m4-offre-prod-visual { width: 100%; min-height: 100px; }
  .m4-offre-prod-bottom { flex-direction: column; gap: 10px; align-items: flex-start; }
  .m4-offre-bundle-grid { grid-template-columns: 1fr; max-width: 400px; }
  .m4-offre-trust { grid-template-columns: repeat(2, 1fr); }
  .m4-offre-promo-inner { flex-direction: column; text-align: center; }
  .m4-offre-promo-left { text-align: center; }
}
@media (max-width: 480px) {
  .m4-offre-hero { padding: 36px 16px; }
  .m4-offre-hero-title { font-size: 24px; }
  .m4-offre-hero-trust { flex-direction: column; gap: 4px; }
}

/* Hide CMS page title on offre page */
.cms-id-25 .page-header h1, .cms-id-25 #main header h1 { display: none !important; }


/* ---- HERO BANNER OFFRE ---- */
.m4-offre-banner {
  background: linear-gradient(135deg, #f0f7f2 0%, #f8f8f8 50%, #fff 100%);
  padding: 0 20px;
}
.m4-offre-banner-inner {
  max-width: 860px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 40px;
  padding: 50px 0;
}
.m4-offre-banner-text { flex: 1; }
.m4-offre-banner-text h1 {
  font-family: var(--m4-font-heading, 'DM Serif Display', serif);
  font-size: 36px;
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 16px;
  color: var(--m4-text, #3D3D3D);
}
.m4-offre-banner-text h1 span { color: var(--m4-primary, #8FAF9A); }
.m4-offre-banner-text p {
  font-size: 15px;
  color: var(--m4-text-muted, #6B7280);
  line-height: 1.6;
  margin: 0 0 24px;
}
.m4-offre-banner-cta {
  display: inline-block;
  padding: 14px 32px;
  background: var(--m4-primary, #8FAF9A);
  color: #fff !important;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none !important;
  transition: all 0.3s;
}
.m4-offre-banner-cta:hover {
  background: var(--m4-primary-dark, #7A9E86);
  transform: translateY(-2px);
}
.m4-offre-banner-trust {
  margin-top: 16px;
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  font-size: 13px;
  color: var(--m4-text-muted, #6B7280);
}
.m4-offre-banner-visual { flex-shrink: 0; width: 320px; }
.m4-offre-banner-svg { width: 100%; height: auto; }
@media (max-width: 768px) {
  .m4-offre-banner-inner { flex-direction: column; text-align: center; padding: 36px 0; gap: 20px; }
  .m4-offre-banner-text h1 { font-size: 28px; }
  .m4-offre-banner-trust { justify-content: center; }
  .m4-offre-banner-visual { width: 240px; }
}
@media (max-width: 480px) {
  .m4-offre-banner-text h1 { font-size: 24px; }
  .m4-offre-banner-visual { width: 200px; }
  .m4-offre-banner-trust { flex-direction: column; gap: 4px; }
}


/* ---- HOMEPAGE BUNDLES SAVEURS ---- */
.m4-hp-bundles { padding: 50px 0; background: #f8f8f8; }
.m4-hp-bundles .container { max-width: 820px; margin: 0 auto; padding: 0 15px; }
.m4-bb-tabs { display: flex; gap: 8px; margin-bottom: 20px; flex-wrap: wrap; justify-content: center; }
.m4-bb-tab { background: #fff; border: 2px solid #e0e0e0; border-radius: 25px; padding: 10px 18px; font-size: 13px; font-weight: 600; cursor: pointer; transition: all 0.25s; color: var(--m4-text, #3D3D3D); -webkit-text-fill-color: var(--m4-text, #3D3D3D); display: flex; align-items: center; gap: 6px; }
.m4-bb-tab:hover { border-color: var(--m4-primary, #8FAF9A); background: #f0f7f2; }
.m4-bb-tab-active,
body.page-cms .m4-bb-tab-active,
body.page-cms #content .m4-bb-tab-active { background: var(--m4-primary, #8FAF9A) !important; border-color: var(--m4-primary, #8FAF9A) !important; color: #fff !important; -webkit-text-fill-color: #fff !important; background-clip: unset !important; -webkit-background-clip: unset !important; }
.m4-bb-tab,
body.page-cms .m4-bb-tab,
body.page-cms #content .m4-bb-tab { -webkit-text-fill-color: var(--m4-text, #3D3D3D) !important; }
.m4-bb-nic-tab,
body.page-cms .m4-bb-nic-tab,
body.page-cms #content .m4-bb-nic-tab { -webkit-text-fill-color: #666 !important; }
.m4-bb-nic-active,
body.page-cms .m4-bb-nic-active,
body.page-cms #content .m4-bb-nic-active { -webkit-text-fill-color: #9b59b6 !important; }
.m4-bb-tab-icon { font-size: 18px; }
.m4-bb-flavor-desc { text-align: center; font-size: 14px; color: var(--m4-text-muted, #6B7280); line-height: 1.5; margin-bottom: 20px; padding: 12px 20px; background: #fff; border-radius: 10px; border-left: 4px solid var(--m4-primary, #8FAF9A); }
.m4-bb-flavor-icon { font-size: 20px; vertical-align: middle; margin-right: 4px; }
.m4-bb-loading { text-align: center; padding: 40px; color: var(--m4-text-muted, #6B7280); font-size: 14px; }
.m4-bb-selectors { display: flex; flex-direction: column; gap: 16px; }
.m4-bb-sel-group { background: #fff; border: 1px solid #eee; border-radius: 10px; padding: 16px 20px; }
.m4-bb-slot-brand { margin-bottom: 10px; }
.m4-bb-brand-inline { width: 100%; padding: 8px 12px; border: 1px solid #ddd; border-radius: 8px; font-size: 13px; font-weight: 600; color: var(--m4-text, #3D3D3D); background: #f9f9f9; cursor: pointer; -webkit-appearance: none; -moz-appearance: none; appearance: none; background-image: 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='%23666' stroke-width='1.5' fill='none'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; padding-right: 32px; transition: border-color 0.2s; }
.m4-bb-brand-inline:focus { outline: none; border-color: var(--m4-primary, #8FAF9A); box-shadow: 0 0 0 3px rgba(143,175,154,0.15); }
.m4-bb-label { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; color: var(--m4-text, #3D3D3D); margin-bottom: 10px; }
.m4-bb-badge { display: inline-block; padding: 2px 10px; border-radius: 12px; font-size: 11px; font-weight: 700; }
.m4-bb-badge-50 { background: #FFF5EB; color: #C17A2F; }
.m4-bb-sel-row { display: flex; align-items: center; gap: 14px; }
.m4-bb-preview { width: 60px; height: 60px; object-fit: contain; border-radius: 8px; border: 1px solid #eee; background: #fff; flex-shrink: 0; transition: opacity 0.3s; }
.m4-bb-preview-empty { width: 60px; height: 60px; border-radius: 8px; border: 1px dashed #ddd; background: #f5f5f5; flex-shrink: 0; }
.m4-bb-select { flex: 1; min-width: 0; padding: 10px 14px; border: 1px solid #ddd; border-radius: 8px; font-size: 14px; color: var(--m4-text, #3D3D3D); background: #fafafa; cursor: pointer; transition: border-color 0.2s; -webkit-appearance: none; -moz-appearance: none; appearance: none; background-image: 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='%23666' stroke-width='1.5' fill='none'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 36px; }
.m4-bb-select:focus { outline: none; border-color: var(--m4-primary, #8FAF9A); box-shadow: 0 0 0 3px rgba(143,175,154,0.15); }
.m4-bb-sel-col { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.m4-bb-prod-meta { display: flex; align-items: center; gap: 10px; }
.m4-bb-prod-desc { font-size: 13px; color: var(--m4-primary, #8FAF9A); font-weight: 600; margin: 0; line-height: 1.4; flex: 1; }
.m4-bb-prod-link { font-size: 12px; color: #fff !important; -webkit-text-fill-color: #fff !important; background: var(--m4-primary, #8FAF9A); text-decoration: none; font-weight: 600; white-space: nowrap; flex-shrink: 0; padding: 4px 12px; border-radius: 6px; cursor: pointer; transition: background 0.2s; opacity: 1 !important; }
.m4-bb-prod-link:hover, .m4-bb-prod-link:focus, .m4-bb-prod-link:active { background: #6d9782 !important; color: #fff !important; -webkit-text-fill-color: #fff !important; text-decoration: none !important; opacity: 1 !important; }
.m4-bb-footer { display: flex; align-items: center; justify-content: space-between; margin-top: 24px; padding: 20px 24px; background: #fff; border-radius: 12px; border: 2px solid var(--m4-primary, #8FAF9A); gap: 20px; }
.m4-bb-total { display: flex; flex-direction: column; gap: 2px; }
.m4-bb-total-label { font-size: 12px; color: var(--m4-text-muted, #6B7280); text-transform: uppercase; letter-spacing: 0.5px; }
.m4-bb-total-price { font-size: 28px; font-weight: 800; color: var(--m4-primary, #8FAF9A); font-family: var(--m4-font-heading, 'DM Serif Display', serif); }
.m4-bb-total-old { font-size: 16px; color: #bbb; text-decoration: line-through; font-weight: 400; margin-right: 6px; }
.m4-bb-discount-badge { display: inline-block; background: #FFF5EB; color: #E67E22; font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; margin-left: 6px; }
.m4-bb-add-cart { background: #222; color: #fff; border: none; border-radius: 10px; padding: 14px 28px; font-size: 15px; font-weight: 700; cursor: pointer; transition: all 0.25s; display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; }
.m4-bb-add-cart:hover { background: #000; transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,0,0,0.35); }
.m4-bb-add-cart:disabled { opacity: 0.6; cursor: wait; }
.m4-bb-buttons-col { display: flex; flex-direction: column; gap: 10px; min-width: 280px; }
.m4-bb-msg { margin-top: 16px; padding: 12px 20px; border-radius: 8px; font-size: 14px; font-weight: 600; text-align: center; }
.m4-bb-msg a { color: inherit; text-decoration: underline; }
.m4-bb-msg-ok { background: #EEF7F0; color: #4A7C59; }
.m4-bb-msg-err { background: #FFF0F0; color: #C0392B; }
.m4-bb-modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.6); z-index: 99999; display: flex; align-items: center; justify-content: center; backdrop-filter: blur(3px); }
.m4-bb-modal { position: relative; width: 90%; max-width: 860px; max-height: 90vh; background: #fff; border-radius: 16px; overflow: hidden; box-shadow: 0 20px 60px rgba(0,0,0,0.3); display: flex; flex-direction: column; }
.m4-bb-modal-close { position: absolute; top: 12px; right: 14px; z-index: 10; background: #333; color: #fff; border: none; width: 36px; height: 36px; border-radius: 50%; font-size: 18px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background 0.2s; }
.m4-bb-modal-close:hover { background: #c0392b; }
.m4-bb-modal-body { overflow-y: auto; padding: 30px; flex: 1; }
/* Product modal top */
.m4-pm-top { display: flex; gap: 28px; margin-bottom: 24px; }
.m4-pm-img-col { flex: 0 0 360px; }
.m4-pm-main-img { width: 100%; border-radius: 12px; background: #f8f8f8; }
.m4-pm-thumbs { display: flex; gap: 6px; margin-top: 8px; }
.m4-pm-thumb { width: 50px; height: 50px; object-fit: contain; border-radius: 6px; border: 2px solid #eee; cursor: pointer; transition: border-color 0.2s; background: #fff; }
.m4-pm-thumb:hover, .m4-pm-thumb-active { border-color: var(--m4-primary, #8FAF9A); }
.m4-pm-info-col { flex: 1; min-width: 0; }
.m4-pm-title { font-size: 20px; font-weight: 700; color: #222; -webkit-text-fill-color: #222; font-family: 'Nunito', sans-serif !important; margin: 0 0 8px; line-height: 1.3; }
.m4-pm-flavor { font-size: 14px; color: var(--m4-primary, #8FAF9A); font-weight: 600; margin: 0 0 10px; }
.m4-pm-price { font-size: 26px; font-weight: 800; color: #222; margin: 0 0 14px; }
.m4-pm-price-ttc { font-size: 13px; font-weight: 400; color: #999; }
.m4-pm-descr { font-size: 14px; color: #555; line-height: 1.6; }
.m4-pm-descr p { margin: 0 0 8px; }
/* Accordion */
.m4-pm-accordion { border-top: 1px solid #eee; margin-bottom: 24px; }
.m4-pm-acc-item { border-bottom: 1px solid #eee; }
.m4-pm-acc-btn { width: 100%; background: none !important; border: none; padding: 14px 0; font-size: 15px; font-weight: 600; color: #333 !important; -webkit-text-fill-color: #333 !important; cursor: pointer; text-align: left; display: flex; align-items: center; gap: 8px; }
.m4-pm-acc-btn:hover, .m4-pm-acc-btn:focus, .m4-pm-acc-btn:active { color: #333 !important; -webkit-text-fill-color: #333 !important; background: none !important; opacity: 1 !important; }
.m4-pm-acc-btn:hover::after, .m4-pm-acc-btn:focus::after { color: #fff !important; -webkit-text-fill-color: #fff !important; }
.m4-pm-acc-btn::after {
  content: '+';
  margin-left: auto;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #EA8914;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease;
  flex-shrink: 0;
  box-shadow: 0 2px 4px rgba(234,137,20,0.25);
}
.m4-pm-acc-open::after { transform: rotate(45deg); }
body .m4-pm-view-full,
body .m4-pm-view-full *,
body .m4-pm-view-full a,
body .m4-pm-view-full-link,
body .m4-pm-view-full-link *,
body .m4-pm-view-full-link span,
body a.m4-pm-view-full-link,
body a.m4-pm-view-full-link:link,
body a.m4-pm-view-full-link:visited { color: #EA8914 !important; -webkit-text-fill-color: #EA8914 !important; background: none !important; background-clip: unset !important; -webkit-background-clip: unset !important; }
body .m4-pm-view-full-link:hover,
body .m4-pm-view-full-link:hover * { color: #d67a0a !important; -webkit-text-fill-color: #d67a0a !important; }
.m4-pm-acc-panel { display: none; padding: 0 0 16px; font-size: 14px; color: #555; line-height: 1.6; font-weight: 400 !important; }
.m4-bb-modal .m4-pm-acc-panel,
.m4-bb-modal .m4-pm-acc-panel *,
body .m4-pm-acc-panel,
body .m4-pm-acc-panel * { font-weight: 400 !important; }
.m4-pm-acc-show { display: block; }
.m4-pm-feat-table { width: 100%; border-collapse: collapse; }
.m4-pm-feat-table tr:nth-child(even) { background: #f9f9f9; }
.m4-pm-feat-name { padding: 8px 12px; font-weight: 600; color: #444; width: 40%; border-bottom: 1px solid #f0f0f0; }
.m4-pm-feat-val { padding: 8px 12px; color: #666; border-bottom: 1px solid #f0f0f0; }
/* Boosters */
.m4-pm-boosters { background: #f8faf9; border-radius: 12px; padding: 20px; }
.m4-pm-boost-title { font-size: 16px; font-weight: 700; color: #333; margin-bottom: 14px; }
.m4-pm-boost-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; }
.m4-pm-boost-card { display: flex; align-items: center; gap: 10px; background: #fff; border: 1px solid #e8e8e8; border-radius: 10px; padding: 10px 12px; transition: border-color 0.2s; }
.m4-pm-boost-card:hover { border-color: var(--m4-primary, #8FAF9A); }
.m4-pm-boost-img { width: 44px; height: 44px; object-fit: contain; border-radius: 6px; flex-shrink: 0; }
.m4-pm-boost-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.m4-pm-boost-name { font-size: 12px; font-weight: 600; color: #333; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.m4-pm-boost-ratio { font-size: 11px; color: var(--m4-primary, #8FAF9A); font-weight: 600; }
.m4-pm-boost-price { font-size: 13px; font-weight: 700; color: #222; }
.m4-pm-boost-add { background: #222; color: #fff; border: none; border-radius: 6px; padding: 6px 12px; font-size: 12px; font-weight: 600; cursor: pointer; white-space: nowrap; flex-shrink: 0; transition: background 0.2s; }
.m4-pm-boost-add:hover { background: #000; }
.m4-pm-boost-added { background: var(--m4-primary, #8FAF9A) !important; }
.m4-pm-boost-add:disabled { opacity: 0.6; cursor: wait; }
@media (max-width: 768px) { .m4-bb-tabs { gap: 6px; } .m4-bb-tab { padding: 8px 12px; font-size: 12px; } .m4-bb-tab-icon { font-size: 16px; } .m4-bb-footer { flex-direction: column; gap: 16px; text-align: center; } .m4-bb-total { align-items: center; } .m4-bb-add-cart { width: 100%; justify-content: center; } .m4-bb-preview { width: 50px; height: 50px; } .m4-bb-modal { width: 95%; max-height: 95vh; border-radius: 10px; } .m4-pm-top { flex-direction: column; gap: 16px; } .m4-pm-img-col { flex: none; max-width: 240px; margin: 0 auto; } .m4-bb-modal-body { padding: 20px; } .m4-pm-boost-grid { grid-template-columns: 1fr; } }
@media (max-width: 480px) { .m4-bb-tab { flex: 0 0 calc(33% - 4px); justify-content: center; padding: 8px 6px; font-size: 11px; } .m4-bb-sel-group { padding: 12px 14px; } .m4-bb-preview { width: 44px; height: 44px; } }

/* ---- KITS COMPLETS HOMEPAGE ---- */
.m4-kits { padding: 50px 0; background: #f9fafb; }
.m4-kits .m4-section-header { text-align: center; margin-bottom: 30px; }
.m4-kits-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 1100px;
  margin: 0 auto;
}
.m4-kit-card {
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
  transition: transform 0.25s, box-shadow 0.25s;
  position: relative;
  display: flex;
  flex-direction: column;
}
.m4-kit-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
}
.m4-kit-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: #8FAF9A;
  color: #fff;
  font-weight: 700;
  font-size: 0.78rem;
  padding: 4px 14px;
  border-radius: 20px;
  z-index: 2;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.m4-kit-badge-pop {
  background: linear-gradient(135deg, #e8a838, #f0c060);
  color: #fff;
}
.m4-kit-img {
  width: 100%;
  aspect-ratio: 1;
  overflow: hidden;
  background: #f5f5f5;
  display: flex;
  align-items: center;
  justify-content: center;
}
.m4-kit-img img {
  width: 80%;
  height: 80%;
  object-fit: contain;
  transition: transform 0.3s;
}
.m4-kit-card:hover .m4-kit-img img { transform: scale(1.05); }
.m4-kit-body {
  padding: 18px 20px 22px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.m4-kit-body h3 {
  font-size: 1.15rem;
  font-weight: 700;
  margin: 0 0 8px;
  color: #222;
}
.m4-kit-body p {
  font-size: 0.88rem;
  color: #666;
  line-height: 1.45;
  margin: 0 0 12px;
  flex: 1;
}
.m4-kit-price {
  font-size: 0.92rem;
  color: #333;
  margin-bottom: 10px;
}
.m4-kit-price strong {
  font-size: 1.15rem;
  color: #8FAF9A;
}
.m4-kit-cta {
  display: inline-block;
  font-weight: 600;
  font-size: 0.88rem;
  color: #8FAF9A;
  transition: color 0.2s;
}
.m4-kit-card:hover .m4-kit-cta { color: #6d9478; }

/* Intermediaire highlighted */
.m4-kit-intermediaire {
  border: 2px solid #e8a838;
}

@media (max-width: 768px) {
  .m4-kits-grid {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 0 10px;
  }
  .m4-kit-img { aspect-ratio: 4/3; }
}

/* ---- KIT FAMILY PHOTO MONTAGE ---- */
.m4-kit-family {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 15px 10px;
  gap: 0;
  position: relative;
}
.m4-kit-family img {
  width: auto;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,0.12));
  transition: transform 0.3s;
}
.m4-fam-center {
  width: 45% !important;
  height: 70% !important;
  z-index: 2;
  position: relative;
}
.m4-fam-side {
  width: 32% !important;
  height: 55% !important;
  z-index: 1;
  opacity: 0.9;
}
.m4-fam-left {
  transform: rotate(-6deg) translateX(12px);
}
.m4-fam-right {
  transform: rotate(6deg) translateX(-12px);
}
.m4-kit-card:hover .m4-fam-center { transform: scale(1.08); }
.m4-kit-card:hover .m4-fam-left { transform: rotate(-3deg) translateX(8px) scale(1.04); }
.m4-kit-card:hover .m4-fam-right { transform: rotate(3deg) translateX(-8px) scale(1.04); }

@media (max-width: 768px) {
  .m4-kit-family { padding: 12px 8px; }
  .m4-fam-center { width: 42% !important; height: 65% !important; }
  .m4-fam-side { width: 30% !important; height: 50% !important; }
}

/* ---- KIT TEXT VISUAL BLOCKS ---- */
.m4-kit-visual {
  padding: 24px 20px;
  text-align: left;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 200px;
  justify-content: center;
}
.m4-kit-icon {
  font-size: 2.8rem;
  margin-bottom: 14px;
  line-height: 1;
}
.m4-kit-features {
  list-style: none;
  padding: 0;
  margin: 0;
  width: 100%;
}
.m4-kit-features li {
  font-size: 0.88rem;
  color: #444;
  padding: 5px 0;
  line-height: 1.4;
  border-bottom: 1px solid #f0f0f0;
}
.m4-kit-features li:last-child { border-bottom: none; }
.m4-kit-visual-debutant { background: linear-gradient(135deg, #f0f7f2 0%, #e8f5ec 100%); }
.m4-kit-visual-intermediaire { background: linear-gradient(135deg, #fef9f0 0%, #fdf0d5 100%); }
.m4-kit-visual-expert { background: linear-gradient(135deg, #f5f0fa 0%, #ede4f5 100%); }

@media (max-width: 768px) {
  .m4-kit-visual { min-height: 160px; padding: 18px 16px; }
  .m4-kit-icon { font-size: 2.2rem; }
}

/* ---- KIT CARD TITLES CENTERED + FONT ---- */
.m4-kit-body {
  text-align: center;
}
.m4-kit-body h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.3rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.5px;
}

/* ---- BUNDLE PRICE FILTER ---- */
.m4-bb-slot-filters {
  display: flex;
  gap: 8px;
  margin-bottom: 8px;
}
.m4-bb-slot-brand, .m4-bb-slot-price, .m4-bb-slot-flavor {
  flex: 1;
}
.m4-bb-flavor-inline {
  width: 100%;
  padding: 6px 10px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 0.82rem;
  color: #444;
  background: #fff;
  cursor: pointer;
  transition: border-color 0.2s;
}
.m4-bb-flavor-inline:focus {
  border-color: #8FAF9A;
  outline: none;
}
.m4-bb-price-inline {
  width: 100%;
  padding: 6px 10px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 0.82rem;
  color: #444;
  background: #fff;
  cursor: pointer;
  transition: border-color 0.2s;
}
.m4-bb-price-inline:focus {
  border-color: #8FAF9A;
  outline: none;
}
@media (max-width: 768px) {
  .m4-bb-slot-filters {
    flex-direction: column;
    gap: 6px;
  }
}

/* ---- QUIZ CARDS SIMPLE ---- */
.m4-quiz-options {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 8px !important;
  max-width: 320px;
  margin: 0 auto;
}
.m4-quiz-card {
  background: #fff;
  border: 2px solid #e8e8e8;
  border-radius: 10px;
  padding: 10px 8px;
  cursor: pointer;
  transition: all 0.25s;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
}
.m4-quiz-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}
.m4-qc-ico { font-size: 1.3rem; line-height: 1; }
.m4-qc-txt { font-size: 0.78rem; font-weight: 700; color: #333; white-space: nowrap; }

.m4-quiz-card-light:hover { border-color: #8FAF9A; }
.m4-quiz-card-medium:hover { border-color: #e8a838; }
.m4-quiz-card-heavy:hover { border-color: #e74c3c; }
.m4-quiz-card-zero:hover { border-color: #7986cb; }

.m4-quiz-card-light.m4-quiz-btn-active { border-color: #8FAF9A; background: #f0f7f2; }
.m4-quiz-card-medium.m4-quiz-btn-active { border-color: #e8a838; background: #fef9f0; }
.m4-quiz-card-heavy.m4-quiz-btn-active { border-color: #e74c3c; background: #fef2f2; }
.m4-quiz-card-zero.m4-quiz-btn-active { border-color: #7986cb; background: #f0f1fa; }

@media (max-width: 768px) {
  .m4-quiz-options { max-width: 280px; gap: 6px !important; }
  .m4-quiz-card { padding: 8px 6px; }
  .m4-qc-ico { font-size: 1.1rem; }
  .m4-qc-txt { font-size: 0.72rem; }
}

/* ---- AGE VERIFICATION POPUP ---- */
.m4-age-popup {
  background: #fff !important;
  border-radius: 16px !important;
  padding: 40px 36px !important;
  max-width: 420px !important;
  text-align: center !important;
  box-shadow: 0 20px 60px rgba(0,0,0,0.3) !important;
}
.m4-age-icon {
  margin-bottom: 16px;
}
.m4-age-title {
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: #222 !important;
  margin-bottom: 12px !important;
}
.m4-age-desc {
  font-size: 0.88rem;
  color: #666;
  line-height: 1.5;
  margin-bottom: 28px;
}
.m4-age-buttons {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.m4-age-btn {
  display: block;
  padding: 14px 24px;
  border-radius: 10px;
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none;
  text-align: center;
  transition: all 0.25s;
  cursor: pointer;
}
.m4-age-btn-yes {
  background: #8FAF9A !important;
  color: #fff !important;
  border: 2px solid #8FAF9A !important;
}
.m4-age-btn-yes:hover {
  background: #7a9e86 !important;
  border-color: #7a9e86 !important;
  color: #fff !important;
}
.m4-age-btn-no {
  background: #fff !important;
  color: #999 !important;
  border: 2px solid #e0e0e0 !important;
}
.m4-age-btn-no:hover {
  background: #f5f5f5 !important;
  border-color: #ccc !important;
  color: #666 !important;
}
@media (max-width: 480px) {
  .m4-age-popup {
    padding: 28px 20px !important;
    margin: 0 10px;
  }
  .m4-age-title { font-size: 1.2rem !important; }
}

/* ---- BUNDLE 10ML ---- */
.m4-hp-bundles-10 {
  padding: 50px 0;
  background: #fff;
}
.m4-bb-badge-10 {
  background: #9b59b6;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 2px 10px;
  border-radius: 12px;
}

/* ---- BUNDLE CONCENTRES ---- */
.m4-hp-bundles-conc {
  padding: 50px 0;
  background: #f0f5ee;
}
.m4-bb-badge-conc {
  background: #27ae60;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 2px 10px;
  border-radius: 12px;
}

/* ---- BUNDLE PAGE LINK ---- */
.m4-bb-more-link {
  display: inline-block;
  margin-top: 8px;
  font-size: 0.9rem;
  font-weight: 600;
  color: #8FAF9A;
  text-decoration: none;
  transition: color 0.2s;
}
.m4-bb-more-link:hover {
  color: #6d9478;
  text-decoration: underline;
}
.m4-bundles-page {
  padding: 20px 0;
}
.m4-bundles-intro {
  text-align: center;
  margin-bottom: 30px;
}
.m4-bundles-intro h2 {
  font-family: 'Montserrat', sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  color: #222;
  margin-bottom: 10px;
}
.m4-bundles-intro p {
  font-size: 0.95rem;
  color: #666;
}

/* ---- CONC FLAVOR + FORMAT TABS ---- */
.m4-bbc-flavor-tabs { margin-bottom: 8px !important; }
.m4-bbc-fmt-tabs { margin-bottom: 20px !important; }
.m4-bbc-fmt-tabs .m4-bb-tab { font-size: 12px !important; padding: 6px 14px !important; min-width: auto !important; background: #f5f5f5 !important; border-color: #ddd !important; }
.m4-bbc-fmt-tabs .m4-bb-tab-active { background: #666 !important; border-color: #666 !important; color: #fff !important; -webkit-text-fill-color: #fff !important; }

/* ---- BUNDLES PAGE TITLE ORANGE ---- */
.m4-bundles-intro h2 { color: #e8a838 !important; }

/* ---- BUNDLE 50ML TITLE ORANGE ---- */
.m4-hp-bundles .m4-section-title { color: #e8a838 !important; }

/* ---- BUNDLE 10ML + CONC TITLE ORANGE ---- */
.m4-hp-bundles-10 .m4-section-title { color: #e8a838 !important; }
.m4-hp-bundles-conc .m4-section-title { color: #e8a838 !important; }

/* ---- BUNDLE TITLES BLACK ---- */
.m4-hp-bundles .m4-section-title,
.m4-hp-bundles-10 .m4-section-title,
.m4-hp-bundles-conc .m4-section-title { color: #222 !important; }

/* ---- HIDE MINIATURE HOVER ICONS ---- */
.m4-miniature-actions { display: none !important; }

/* ---- LOAD MORE BUTTON CLEAN ---- */
.an_homeproducts-loadmore {
  background: #fff !important;
  color: #333 !important;
  border: 2px solid #ddd !important;
  border-radius: 8px !important;
  padding: 10px 28px !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
  transition: all 0.2s !important;
}
.an_homeproducts-loadmore:hover {
  background: #f5f5f5 !important;
  border-color: #8FAF9A !important;
  color: #8FAF9A !important;
  transform: none !important;
  box-shadow: none !important;
}
.an_homeproducts-loadmore::before,
.an_homeproducts-loadmore::after {
  display: none !important;
}

/* ---- LOAD MORE BUTTON OVERRIDE ---- */
button.btn.btn-primary.an_homeproducts-loadmore,
a.btn.btn-primary.an_homeproducts-loadmore,
.an_homeproducts-loadmore.btn.btn-primary {
  background: #fff !important;
  color: #333 !important;
  border: 2px solid #ddd !important;
  border-radius: 8px !important;
  padding: 10px 28px !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}
button.btn.btn-primary.an_homeproducts-loadmore:hover,
a.btn.btn-primary.an_homeproducts-loadmore:hover,
.an_homeproducts-loadmore.btn.btn-primary:hover {
  background: #f5f5f5 !important;
  border-color: #8FAF9A !important;
  color: #8FAF9A !important;
  transform: none !important;
  box-shadow: none !important;
}
button.btn.btn-primary.an_homeproducts-loadmore::before,
button.btn.btn-primary.an_homeproducts-loadmore::after,
a.btn.btn-primary.an_homeproducts-loadmore::before,
a.btn.btn-primary.an_homeproducts-loadmore::after {
  display: none !important;
  content: none !important;
}

/* ---- LOAD MORE NO HOVER GLOW ---- */
.an_homeproducts-loadmore.btn.btn-primary:hover {
  transform: none !important;
  box-shadow: none !important;
}
.an_homeproducts-loadmore.btn.btn-primary::before,
.an_homeproducts-loadmore.btn.btn-primary::after {
  display: none !important;
  content: none !important;
}

/* ---- LOAD MORE GREEN CLEAN ---- */
button.btn.btn-primary.an_homeproducts-loadmore,
a.btn.btn-primary.an_homeproducts-loadmore,
.an_homeproducts-loadmore.btn.btn-primary {
  background: #8FAF9A !important;
  color: #fff !important;
  border: none !important;
  border-radius: 50px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  padding: 12px 30px !important;
}
button.btn.btn-primary.an_homeproducts-loadmore:hover,
a.btn.btn-primary.an_homeproducts-loadmore:hover,
.an_homeproducts-loadmore.btn.btn-primary:hover {
  background: #7a9e86 !important;
  color: #fff !important;
  transform: none !important;
  box-shadow: none !important;
}

/* ---- SECTION TITLES BIGGER ---- */
.an_homeproducts-content-text h1 { font-size: 32px !important; font-weight: 700 !important; }
@media (max-width: 768px) { .an_homeproducts-content-text h1 { font-size: 26px !important; } }


/* ---- REASSURANCE CARDS UNIFORM FONT ---- */
.m4-reassurance-card h3, .m4-reassurance-card p, .m4-reassurance-card .m4-reassurance-cta {
  font-family: Space

/* ---- FAQ ACCORDION FIX - no truncation ---- */
.m4-faq-answer { overflow: visible !important; max-height: none !important; -webkit-line-clamp: unset !important; }
.m4-faq-answer p { overflow: visible !important; text-overflow: unset !important; white-space: normal !important; -webkit-line-clamp: unset !important; display: block !important; }


/* ---- REDUCE SPACE REASSURANCE -> GUIDES ---- */
.m4-reassurance { margin-bottom: 0 !important; padding-bottom: 20px !important; }
.m4-guides { margin-top: 0 !important; padding-top: 20px !important; }


/* ---- MINIATURE HOVER ADD TO CART ---- */
.m4-miniature-actions { display: none !important; }
.m4-miniature-cart-hover {
  position: absolute; bottom: 0; left: 0; right: 0;
  opacity: 0; transition: opacity 0.25s ease;
  z-index: 5; padding: 8px;
}
.product-miniature:hover .m4-miniature-cart-hover { opacity: 1; }
.m4-mini-add-cart {
  display: flex; align-items: center; justify-content: center; gap: 6px;
  background: #e8a838 !important; color: #fff !important;
  padding: 8px 12px; border-radius: 6px; font-size: 13px; font-weight: 600;
  text-decoration: none !important; text-transform: none;
  font-family: Space

/* ---- MINI ADD CART BUTTON FIX ---- */
button.m4-mini-add-cart { border: none; cursor: pointer; outline: none; }


/* ---- ADD TO CART BUTTON BLACK ---- */
.product-add-to-cart .btn.add-to-cart,
.product-add-to-cart .btn.btn-primary.add-to-cart {
  background-color: #222 !important;
  border-color: #222 !important;
  color: #fff !important;
}
.product-add-to-cart .btn.add-to-cart:hover,
.product-add-to-cart .btn.btn-primary.add-to-cart:hover {
  background-color: #000 !important;
  border-color: #000 !important;
}

/* ---- ADD TO CART BUTTON BLACK (PRODUCT PAGE) ---- */
#add-to-cart-or-refresh .add-to-cart,
#add-to-cart-or-refresh .add-to-cart:hover,
#add-to-cart-or-refresh button.btn.btn-primary.add-to-cart,
#add-to-cart-or-refresh button.btn.btn-primary.add-to-cart:hover {
  background: #222 !important;
  background-image: none !important;
  border-color: #222 !important;
}
#add-to-cart-or-refresh .add-to-cart:hover,
#add-to-cart-or-refresh button.btn.btn-primary.add-to-cart:hover {
  background: #000 !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3) !important;
}
#add-to-cart-or-refresh .add-to-cart::before,
#add-to-cart-or-refresh .add-to-cart::after { display: none !important; }

/* ---- FORCE ATC BLACK OVERRIDE ---- */
html body .product-add-to-cart .add-to-cart,
html body .product-add-to-cart button.add-to-cart,
html body #add-to-cart-or-refresh .add-to-cart,
html body #add-to-cart-or-refresh button.add-to-cart,
html body .product-actions .add-to-cart,
html body button.btn.btn-primary.add-to-cart {
  background: #222 !important;
  background-color: #222 !important;
  background-image: none !important;
  border-color: #222 !important;
  color: #fff !important;
}
html body .product-add-to-cart .add-to-cart:hover,
html body .product-add-to-cart button.add-to-cart:hover,
html body #add-to-cart-or-refresh .add-to-cart:hover,
html body #add-to-cart-or-refresh button.add-to-cart:hover,
html body button.btn.btn-primary.add-to-cart:hover {
  background: #000 !important;
  background-color: #000 !important;
  background-image: none !important;
  border-color: #000 !important;
}
html body .product-add-to-cart .add-to-cart::before,
html body .product-add-to-cart .add-to-cart::after,
html body #add-to-cart-or-refresh .add-to-cart::before,
html body #add-to-cart-or-refresh .add-to-cart::after {
  display: none !important;
  content: none !important;
}


/* ---- FALLBACK ATC BUTTON FOR SIMPLE PRODUCTS ---- */
.js-product-miniature .an_productattributes ~ .m4-fallback-atc { display: none !important; }
.m4-fallback-atc { padding: 8px 15px; text-align: center; }
.m4-simple-atc {
  display: inline-flex; align-items: center; gap: 6px;
  background: #222 !important; color: #fff !important;
  border: none; border-radius: 50px; padding: 8px 18px;
  font-size: 13px; font-weight: 600; cursor: pointer;
  font-family: Space

/* ---- PRODUCT BLOCKS GREY BACKGROUND ---- */
.an_homeproducts-content {
  background-color: #f5f5f5 !important;
  padding: 30px 0 !important;
}


/* ---- SECTIONS ROUNDED + SCROLL GLIDE REVEAL ---- */
.an_homeproducts-content {
  border-radius: 20px !important;
  margin: 15px auto !important;
  max-width: 1320px !important;
  overflow: hidden !important;
}

/* Scroll reveal animation */
.m4-scroll-reveal {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.m4-scroll-reveal.m4-visible {
  opacity: 1;
  transform: translateY(0);
}

/* ============================================================
   STICKY HEADER - Barre compacte au scroll
   ============================================================ */
#header {
  position: relative;
  z-index: 1000;
}
.m4-sticky-header {
  position: fixed !important;
  top: -60px;
  left: 0;
  right: 0;
  height: 50px;
  background: rgba(255,255,255,0.97) !important;
  backdrop-filter: blur(20px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
  box-shadow: 0 2px 20px rgba(0,0,0,0.08) !important;
  z-index: 10000 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 30px !important;
  transition: top 0.35s cubic-bezier(0.16,1,0.3,1) !important;
  border-bottom: 1px solid rgba(0,0,0,0.06) !important;
}
.m4-sticky-header.m4-sticky-visible {
  top: 0 !important;
}
.m4-sticky-header .m4-sticky-logo img {
  max-height: 35px !important;
  width: auto !important;
}
.m4-sticky-header .m4-sticky-right {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
}
.m4-sticky-header .m4-sticky-right a {
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  color: #555 !important;
  text-decoration: none !important;
  font-size: 13px !important;
  padding: 5px 8px !important;
  border-radius: 6px !important;
  transition: color 0.2s ease, background 0.2s ease !important;
  cursor: pointer !important;
  border: none !important;
  background: transparent !important;
  outline: none !important;
  -webkit-tap-highlight-color: transparent !important;
}
.m4-sticky-header .m4-sticky-right a:hover {
  color: #8FAF9A !important;
  background: rgba(143,175,154,0.08) !important;
  text-decoration: none !important;
}
.m4-sticky-header .m4-sticky-right a:focus {
  outline: none !important;
  box-shadow: none !important;
}
.m4-sticky-header .m4-sticky-right svg {
  width: 18px !important;
  height: 18px !important;
  flex-shrink: 0 !important;
}
.m4-sticky-header .m4-sticky-cart-count {
  background: #8FAF9A !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  min-width: 16px !important;
  height: 16px !important;
  line-height: 16px !important;
  text-align: center !important;
  border-radius: 50% !important;
  margin-left: 2px !important;
}
.m4-sticky-header .m4-sticky-search {
  flex: 1 !important;
  max-width: 400px !important;
  margin: 0 20px !important;
}
.m4-sticky-header .m4-sticky-search input {
  width: 100% !important;
  padding: 7px 35px 7px 14px !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 20px !important;
  font-size: 13px !important;
  background: #f8f8f8 !important;
  outline: none !important;
  transition: border-color 0.2s ease, background 0.2s ease !important;
}
.m4-sticky-header .m4-sticky-search input:focus {
  border-color: #8FAF9A !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(143,175,154,0.1) !important;
}
.m4-sticky-header .m4-sticky-search button {
  position: absolute !important;
  right: 8px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  background: none !important;
  border: none !important;
  padding: 4px !important;
  cursor: pointer !important;
  color: #888 !important;
}
@media (max-width: 768px) {
  .m4-sticky-header {
    padding: 0 12px !important;
    height: 45px;
  }
  .m4-sticky-header .m4-sticky-search {
    display: none !important;
  }
  .m4-sticky-header .m4-sticky-right {
    gap: 10px !important;
  }
  .m4-sticky-header .m4-sticky-right span.m4-sticky-label {
    display: none !important;
  }
}


/* ============================================================
   GLOBAL - Supprimer surbrillance bleue au hover/focus
   ============================================================ */
*:focus {
  outline-color: #8FAF9A !important;
}
a:focus, button:focus, .btn:focus, .btn-unstyle:focus,
input:focus, select:focus, textarea:focus,
a:active, button:active {
  outline: none !important;
  box-shadow: none !important;
  -webkit-tap-highlight-color: transparent !important;
}
*:focus-visible {
  outline: 2px solid #8FAF9A !important;
  outline-offset: 2px !important;
}
#header *:focus,
#header *:active,
.header-right *:focus,
.header-nav *:focus,
.header-top *:focus {
  outline: none !important;
  box-shadow: none !important;
}
button:focus {
  outline: none !important;
}
.btn.focus, .btn:focus,
.btn.active.focus, .btn.active:focus,
.btn:active.focus, .btn:active:focus {
  outline: none !important;
  box-shadow: none !important;
}

/* ============================================================
   MOBILE AUDIT FIXES - Performance & UX
   ============================================================ */

/* --- Images responsive globales --- */
img {
  max-width: 100% !important;
  height: auto !important;
}

/* --- Boutons tactiles minimum 44px --- */
@media (max-width: 991px) {
  .btn, .btn-primary, .add-to-cart,
  .btn-secondary, .btn-unstyle,
  a.btn, button.btn {
    min-height: 44px !important;
    padding: 12px 20px !important;
    font-size: 14px !important;
  }
  /* Tabs bundle */
  .m4-bb-tab {
    min-height: 40px !important;
    padding: 10px 14px !important;
    font-size: 13px !important;
  }
  /* Filtre prix select */
  .m4-bb-price-inline, .m4-bb-select,
  .m4-bb-brand-inline, .m4-bb-flavor-inline {
    min-height: 40px !important;
    font-size: 14px !important;
    padding: 8px 12px !important;
  }
  /* Product variants radio */
  .radio-label, .input-container label {
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
  }
}

/* --- Textes minimum 12px sur mobile --- */
@media (max-width: 576px) {
  .m4-product-reassurance-mini span,
  .m4-trust-item span,
  .m4-announcement-bar,
  .cart-products-count,
  small, .small,
  .m4-sticky-cart-count,
  .m4-mob-cart-badge {
    font-size: 12px !important;
  }
  /* Titres produits miniatures lisibles */
  .product-title a {
    font-size: 13px !important;
    line-height: 1.3 !important;
  }
  .product-price-and-shipping .price, .price {
    font-size: 15px !important;
  }
}

/* --- Slider calculateur nicotine - thumb tactile --- */
.m4-mini-slider::-webkit-slider-thumb {
  width: 32px !important;
  height: 32px !important;
}
.m4-mini-slider::-moz-range-thumb {
  width: 32px !important;
  height: 32px !important;
}

/* --- Calculateur DIY responsive petits ecrans --- */
@media (max-width: 576px) {
  .m4-mini-calc-grid {
    grid-template-columns: 1fr !important;
  }
}

/* --- Hover feedback tactile (cartes produit) --- */
@media (hover: none) {
  .thumbnail-container:active {
    border-color: var(--m4-primary, #8FAF9A) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important;
  }
}

/* --- Versus layout responsive --- */
@media (max-width: 768px) {
  .m4-versus-layout {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 20px !important;
  }
  .m4-versus-illustration {
    max-width: 200px !important;
    margin: 0 auto !important;
  }
  .m4-versus-table {
    max-width: 100% !important;
    margin: 0 auto !important;
  }
  .m4-versus-col {
    padding: 10px 8px !important;
    font-size: 12px !important;
    word-break: break-word !important;
  }
  .m4-versus .container {
    padding: 0 10px !important;
  }
}
/* --- Table versus responsive petits ecrans --- */
@media (max-width: 480px) {
  .m4-versus-col {
    padding: 8px 6px !important;
    font-size: 11px !important;
  }
  .m4-versus-label {
    font-size: 11px !important;
  }
}

/* --- Prevent horizontal scroll --- */
body, html {
  overflow-x: hidden !important;
}
.m4-trust-banner {
  overflow-x: hidden !important;
}

/* ============================================================
   TRIER PAR - Style optimise (homepage + categories)
   ============================================================ */
.an_homeproducts-sort,
.products-sort-order {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.an_homeproducts-sort span,
.products-sort-order .select-title {
  font-size: 13px !important;
  color: #888 !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
}
.js-an_homeproducts-sort,
.products-sort-order select,
#js-product-list-top select {
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") no-repeat right 12px center !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 8px !important;
  padding: 8px 36px 8px 14px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #333 !important;
  cursor: pointer !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  min-width: 180px !important;
  outline: none !important;
  font-family: 'Inter', sans-serif !important;
}
.js-an_homeproducts-sort:hover,
.products-sort-order select:hover,
#js-product-list-top select:hover {
  border-color: #8FAF9A !important;
}
.js-an_homeproducts-sort:focus,
.products-sort-order select:focus,
#js-product-list-top select:focus {
  border-color: #8FAF9A !important;
  box-shadow: 0 0 0 3px rgba(143,175,154,0.12) !important;
}

/* Sort bar alignment on category pages */
#js-product-list-top {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 12px 0 !important;
  margin-bottom: 15px !important;
  border-bottom: none !important;
}
#js-product-list-top .showing {
  font-size: 13px !important;
  color: #999 !important;
}

/* Mobile responsive sort */
@media (max-width: 768px) {
  .an_homeproducts-sort,
  .products-sort-order {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
  }
  .js-an_homeproducts-sort,
  .products-sort-order select,
  #js-product-list-top select {
    width: 100% !important;
    min-width: auto !important;
    font-size: 14px !important;
    padding: 10px 36px 10px 14px !important;
    min-height: 44px !important;
  }
  #js-product-list-top {
    flex-direction: column !important;
    gap: 10px !important;
    align-items: stretch !important;
  }
}

/* ============================================================
   BOUTONS QUANTITE +/- : Arrondis verts, chiffre sans cadre
   ============================================================ */
/* Conteneur quantite */
.qty, .product-quantity,
.m4-qty-selector,
.input-group.bootstrap-touchspin,
.bootstrap-touchspin {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
  border: none !important;
  background: transparent !important;
}
/* Boutons +/- */
.m4-qty-btn,
.btn-touchspin, .bootstrap-touchspin-up, .bootstrap-touchspin-down,
.js-touchspin, .input-group-btn-vertical .btn,
.touchspin-up, .touchspin-down,
.js-increase-product-quantity, .js-decrease-product-quantity,
.product-quantity .qty .input-group .btn {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  border-radius: 50% !important;
  background: #8FAF9A !important;
  color: #fff !important;
  border: none !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  padding: 10px 0 !important;
  line-height: 1 !important;
  box-shadow: 0 2px 6px rgba(143,175,154,0.3) !important;
  -webkit-tap-highlight-color: transparent !important;
  outline: none !important;
}
.m4-qty-btn:hover,
.btn-touchspin:hover, .bootstrap-touchspin-up:hover, .bootstrap-touchspin-down:hover,
.js-increase-product-quantity:hover, .js-decrease-product-quantity:hover {
  background: #7a9e87 !important;
  transform: scale(1.08) !important;
  box-shadow: 0 3px 10px rgba(143,175,154,0.4) !important;
}
.m4-qty-btn:active,
.btn-touchspin:active {
  transform: scale(0.95) !important;
}
/* Champ du chiffre - sans cadre */
.m4-qty-input,
#quantity_wanted,
.js-cart-line-product-quantity,
.product-quantity input[type="text"],
.product-quantity input[type="number"],
.bootstrap-touchspin input,
.input-group.bootstrap-touchspin input {
  width: 45px !important;
  text-align: center !important;
  border: none !important;
  background: transparent !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  color: #333 !important;
  padding: 10px 0 !important;
  margin: 0 4px !important;
  outline: none !important;
  box-shadow: none !important;
  -moz-appearance: textfield !important;
  appearance: textfield !important;
}
.m4-qty-input::-webkit-outer-spin-button,
.m4-qty-input::-webkit-inner-spin-button,
#quantity_wanted::-webkit-outer-spin-button,
#quantity_wanted::-webkit-inner-spin-button,
.bootstrap-touchspin input::-webkit-outer-spin-button,
.bootstrap-touchspin input::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}
/* Champ quantite editable visible */
.product-line-grid-right .qty .input-group .form-control,
.product-line-grid-right .qty input.js-cart-line-product-quantity,
.cart-line-product-quantity input.form-control,
.product-quantity input.js-cart-line-product-quantity {
  border: 1px solid #ddd !important;
  border-radius: 6px !important;
  background: #fff !important;
  cursor: text !important;
  height: 40px !important;
  width: 45px !important;
}
/* Fix pour le panier (sidebar + page) */
#js-cart-sidebar .bootstrap-touchspin,
.cart-line-product-quantity .bootstrap-touchspin,
.product-line-grid .bootstrap-touchspin {
  border: none !important;
  background: transparent !important;
}
#js-cart-sidebar .input-group-btn-vertical,
.cart-line-product-quantity .input-group-btn-vertical {
  display: flex !important;
  flex-direction: row !important;
  position: static !important;
}
#js-cart-sidebar .input-group-btn-vertical .btn,
.cart-line-product-quantity .input-group-btn-vertical .btn {
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  border-radius: 50% !important;
  background: #8FAF9A !important;
  color: #fff !important;
  border: none !important;
  font-size: 14px !important;
  position: static !important;
}
/* Mobile */
@media (max-width: 768px) {
  .m4-qty-btn,
  .btn-touchspin, .bootstrap-touchspin-up, .bootstrap-touchspin-down {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    font-size: 20px !important;
  }
  .m4-qty-input, #quantity_wanted {
    width: 50px !important;
    font-size: 18px !important;
  }
}

/* ============================================================
   BOUTON PASSER A LA CAISSE - Noir
   ============================================================ */
#js-cart-sidebar .checkout a,
#js-cart-sidebar .cart-bottom a.btn,
#js-cart-sidebar a.btn-primary,
.cart-detailed-actions a.btn-primary,
.cart-detailed-actions .checkout a,
a.btn-primary[href*="commande"],
a.btn-primary[href*="order"],
.cart-grid-right a.btn-primary {
  background: #222 \!important;
  color: #fff \!important;
  box-shadow: 0 4px 15px rgba(0,0,0,0.2) \!important;
}
#js-cart-sidebar .checkout a:hover,
#js-cart-sidebar .cart-bottom a.btn:hover,
#js-cart-sidebar a.btn-primary:hover,
.cart-detailed-actions a.btn-primary:hover,
.cart-detailed-actions .checkout a:hover,
a.btn-primary[href*="commande"]:hover,
a.btn-primary[href*="order"]:hover,
.cart-grid-right a.btn-primary:hover {
  background: #000 \!important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.3) \!important;
}

/* ============================================================
   ACCESSIBILITE - Contraste prix ameliore (WCAG AA)
   ============================================================ */
.product-price-and-shipping .price, .price,
.product-miniature .price,
.an_productattributes-price .price,
.current-price .price {
  color: #5a7d66 !important;
}

/* ============================================================
   BUNDLE - Bouton Achetez maintenant (GROS ORANGE style fiche produit)
   ============================================================ */
.m4-bb-buy-now {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 18px 40px !important;
  background: #E67E22 !important;
  background-image: none !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  white-space: nowrap !important;
  width: 100% !important;
  min-height: 60px !important;
  box-shadow: 0 6px 20px rgba(230,126,34,0.4) !important;
  flex: 1 !important;
  min-width: 200px !important;
  position: relative !important;
  overflow: hidden !important;
}
.m4-bb-buy-now:hover {
  background: #D35400 !important;
  background-image: none !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(230,126,34,0.5) !important;
}
.m4-bb-buy-now:active {
  transform: translateY(0) scale(0.98) !important;
  box-shadow: 0 2px 10px rgba(230,126,34,0.3) !important;
}
.m4-bb-buy-now:disabled {
  opacity: 0.5 !important;
  cursor: not-allowed !important;
  transform: none !important;
}
.m4-bb-buy-now::before,
.m4-bb-buy-now::after {
  display: none !important;
  content: none !important;
}
@media (max-width: 576px) {
  .m4-bb-buy-now {
    width: 100% !important;
    flex: auto !important;
    min-height: 56px !important;
    font-size: 16px !important;
    padding: 16px 24px !important;
  }
}

/* ============================================================
   MOBILE - Barre navigation fixe en bas (icones + texte)
   ============================================================ */
.m4-mobile-bottom-bar {
  display: none;
}
@media (max-width: 991px) {
  .m4-mobile-bottom-bar {
    display: flex !important;
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    min-height: 64px !important;
    height: auto !important;
    background: #fff !important;
    border-top: 1px solid #e0e0e0 !important;
    box-shadow: 0 -2px 12px rgba(0,0,0,0.08) !important;
    z-index: 99999 !important;
    align-items: stretch !important;
    justify-content: space-around !important;
    padding: 10px 0 !important;
    padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px)) !important;
  }
  .m4-mobile-bottom-bar a,
  .m4-mobile-bottom-bar button {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 1 !important;
    background: none !important;
    border: none !important;
    color: #666 !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    font-family: 'Inter', sans-serif !important;
    text-decoration: none !important;
    gap: 2px !important;
    padding: 6px 0 !important;
    cursor: pointer !important;
    transition: color 0.2s ease !important;
    -webkit-tap-highlight-color: transparent !important;
    outline: none !important;
    position: relative !important;
  }
  .m4-mobile-bottom-bar a:hover,
  .m4-mobile-bottom-bar button:hover,
  .m4-mobile-bottom-bar a:active,
  .m4-mobile-bottom-bar button:active,
  .m4-mobile-bottom-bar a.active,
  .m4-mobile-bottom-bar button.active {
    color: #8FAF9A !important;
  }
  .m4-mobile-bottom-bar .m4-bb-icon {
    font-size: 22px !important;
    line-height: 1 !important;
  }
  .m4-mobile-bottom-bar .m4-bb-label {
    font-size: 10px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }
  /* Badge panier */
  .m4-mobile-bottom-bar .m4-bb-cart-badge {
    position: absolute !important;
    top: 4px !important;
    right: calc(50% - 18px) !important;
    background: #e74c3c !important;
    color: #fff !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    min-width: 16px !important;
    height: 16px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 3px !important;
  }
  /* Padding en bas du body pour ne pas cacher le contenu */
  body {
    padding-bottom: 70px !important;
  }
  /* Cacher la barre de navigation desktop sur mobile */
  #header .header-nav .right-nav,
  #header .header-nav .left-nav {
    /* Keep visible - they're the desktop nav */
  }
}

/* ============================================================
   MOBILE - Logo agrandi
   ============================================================ */
@media (max-width: 991px) {
  #_mobile_logo img,
  #_mobile_logo .logo,
  .header-top .logo,
  #header .logo {
    max-height: 80px !important;
    width: auto !important;
    height: auto !important;
  }
}
@media (max-width: 576px) {
  #_mobile_logo img,
  #_mobile_logo .logo,
  .header-top .logo,
  #header .logo {
    max-height: 65px !important;
  }
}

/* MOBILE - Mega menu -> voir section unifiee en bas */

/* ============================================================
   MOBILE - Fix scroll horizontal
   ============================================================ */
html, body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
}
#wrapper, #header, #footer, main, .container {
  overflow-x: hidden !important;
}

/* ============================================================
   BOUTONS NATIFS - Quickview + Wishlist style ameliore
   ============================================================ */
.product-miniature .highlighted-informations {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  background: rgba(255,255,255,0.95) !important;
  padding: 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  opacity: 0 !important;
  transition: opacity 0.3s ease !important;
  z-index: 10 !important;
}
.product-miniature:hover .highlighted-informations {
  opacity: 1 !important;
}
@media (max-width: 991px) {
  .product-miniature .highlighted-informations {
    opacity: 1 !important;
    position: relative !important;
    background: transparent !important;
    padding: 4px 0 !important;
  }
}
.product-miniature .quick-view {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: #f5f5f5 !important;
  color: #666 !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}
.product-miniature .quick-view:hover {
  background: #8FAF9A !important;
  color: #fff !important;
}
/* Wishlist button style */
.product-miniature .js-an_wishlist-addremove,
.product-miniature .an_wishlist-addremove {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: #f5f5f5 !important;
  color: #e74c3c !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  font-size: 18px !important;
}
.product-miniature .js-an_wishlist-addremove:hover,
.product-miniature .an_wishlist-addremove:hover {
  background: #e74c3c !important;
  color: #fff !important;
}
/* Product flags badges */
.product-miniature .product-flags {
  position: absolute !important;
  top: 8px !important;
  left: 8px !important;
  z-index: 5 !important;
  list-style: none !important;
  padding: 10px 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}
.product-miniature .product-flags li {
  display: inline-block !important;
}
.product-miniature .product-flags .product-flag {
  display: inline-block !important;
  padding: 3px 10px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  border-radius: 4px !important;
  text-transform: uppercase !important;
}
.product-miniature .product-flags .discount {
  background: #e74c3c !important;
  color: #fff !important;
}
.product-miniature .product-flags .new {
  background: #8FAF9A !important;
  color: #fff !important;
}
.product-miniature .product-flags .on-sale {
  background: #f39c12 !important;
  color: #fff !important;
}
/* M4 custom buttons - ensure always clickable */
.m4-choose-options,
.m4-quick-add,
.m4-mini-actions,
.m4-mini-icon,
.m4-mobile-actions,
.m4-mob-cart,
.m4-mob-heart {
  pointer-events: auto !important;
}

/* ============================================================
   FIX MOBILE - Age verification popup (01/03/2026)
   ============================================================ */
.ets_av_overload {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 99999 !important;
}
.ets_av_table {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
}
.ets_av_table_cell {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
}
.ets_av_content_popup {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 10px 0 !important;
  max-width: 420px !important;
  width: 90% !important;
  margin: 0 auto !important;
}

/* ============================================================
   PAGES CMS - Styles structurés
   ============================================================ */
.m4-cms { max-width: 800px; margin: 0 auto; padding: 20px; }
.m4-cms h1 { font-family: 'DM Serif Display', Georgia, serif; font-size: 28px; color: #3D3D3D; margin-bottom: 8px; }
.m4-cms .m4-cms-subtitle { font-size: 17px; color: #6B7280; margin-bottom: 30px; }
.m4-cms h2 { font-size: 22px; color: #3D3D3D; margin: 30px 0 16px; padding-bottom: 8px; border-bottom: 2px solid #8FAF9A; }
.m4-cms h3 { font-size: 18px; color: #3D3D3D; margin: 16px 0 8px; }
.m4-cms p { font-size: 15px; line-height: 1.6; color: #3D3D3D; margin-bottom: 12px; }
.m4-cms ul { padding-left: 20px; margin-bottom: 16px; }
.m4-cms ul li { font-size: 15px; line-height: 1.8; color: #3D3D3D; }
.m4-cms a { color: #8FAF9A; font-weight: 600; text-decoration: none; }
.m4-cms a:hover { color: #7A9E86; text-decoration: underline; }

.m4-cms .m4-cms-highlights { background: #f0f7f2; border-radius: 12px; padding: 20px 24px; margin-bottom: 24px; }
.m4-cms .m4-cms-highlights p { margin: 6px 0; font-size: 16px; }

.m4-cms .m4-cms-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; margin-bottom: 24px; }
.m4-cms .m4-cms-card { background: #f8f8f8; border-radius: 12px; padding: 20px; border: 1px solid #eee; }
.m4-cms .m4-cms-card h3 { margin-top: 0; font-size: 16px; }
.m4-cms .m4-cms-card p { font-size: 14px; margin-bottom: 0; }

.m4-cms .m4-cms-table { width: 100%; border-collapse: collapse; margin-bottom: 24px; font-size: 15px; }
.m4-cms .m4-cms-table thead tr { background: #8FAF9A; color: #fff; }
.m4-cms .m4-cms-table thead th { padding: 12px 16px; text-align: left; font-weight: 600; }
.m4-cms .m4-cms-table tbody td { padding: 12px 16px; border-bottom: 1px solid #eee; }
.m4-cms .m4-cms-table tbody tr:nth-child(odd) { background: #fafafa; }

.m4-cms .m4-cms-step-num { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: #8FAF9A; color: #fff; border-radius: 50%; font-size: 18px; font-weight: 700; margin-bottom: 8px; }

@media (max-width: 576px) {
  .m4-cms { padding: 16px; }
  .m4-cms h1 { font-size: 24px; }
  .m4-cms .m4-cms-grid { grid-template-columns: 1fr; }
  .m4-cms .m4-cms-table { font-size: 13px; }
  .m4-cms .m4-cms-table thead th, .m4-cms .m4-cms-table tbody td { padding: 8px 10px; }
}

/* ============================================================
   FOOTER - Newsletter redesign
   ============================================================ */
.block_newsletter {
  background: #f0f7f2 !important;
  border-radius: 12px !important;
  padding: 24px !important;
  margin-bottom: 16px !important;
}
.block_newsletter h2,
.block_newsletter #block-newsletter-label {
  font-family: 'DM Serif Display', Georgia, serif !important;
  font-size: 20px !important;
  color: #3D3D3D !important;
  margin-bottom: 8px !important;
}
.block_newsletter p {
  font-size: 13px !important;
  color: #6B7280 !important;
  margin-bottom: 12px !important;
}
.block_newsletter .input-wrapper {
  display: flex !important;
  gap: 8px !important;
  align-items: stretch !important;
}
.block_newsletter input[name="email"],
.block_newsletter input[type="text"] {
  flex: 1 !important;
  height: 44px !important;
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  padding: 0 14px !important;
  font-size: 14px !important;
  background: #fff !important;
  color: #3D3D3D !important;
  outline: none !important;
}
.block_newsletter input[name="email"]:focus,
.block_newsletter input[type="text"]:focus {
  border-color: #8FAF9A !important;
  box-shadow: 0 0 0 3px rgba(143,175,154,0.15) !important;
}
.block_newsletter .btn-primary,
.block_newsletter button[name="submitNewsletter"] {
  height: 44px !important;
  min-width: 44px !important;
  padding: 0 16px !important;
  background: #8FAF9A !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background 0.2s !important;
}
.block_newsletter .btn-primary:hover,
.block_newsletter button[name="submitNewsletter"]:hover {
  background: #7A9E86 !important;
}
.block_newsletter .btn-primary svg {
  fill: #fff !important;
  width: 16px !important;
  height: 16px !important;
}
.block_newsletter .gdpr-newsletter {
  margin-top: 8px !important;
  font-size: 12px !important;
}

/* ============================================================
   FIX - Scroll infini page blanche en bas
   ============================================================ */
html {
  height: auto !important;
  min-height: 100% !important;
  overflow-x: clip !important;
}
body {
  overflow-x: clip !important;
  max-width: 100vw !important;
}
main, #wrapper, #content-wrapper {
  overflow-x: clip !important;
}
*, *::before, *::after {
  box-sizing: border-box;
}
#wrapper {
  min-height: auto !important;
}
footer#footer {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* ============================================================
   FIX MOBILE - Layout pleine largeur
   ============================================================ */
@media (max-width: 991px) {
  /* Contenu pleine largeur sur mobile */
  #content-wrapper,
  #content-wrapper.left-column.right-column.col-sm-4.col-md-6,
  #content-wrapper.col-sm-4,
  #content-wrapper.col-md-6 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
  /* Cacher les colonnes latérales sur mobile */
  #left-column,
  #right-column {
    display: none !important;
  }
  /* Wrapper pleine largeur */
  #wrapper .container {
    max-width: 100% !important;
    padding: 10px 0 !important;
  }
  #wrapper .container > .row,
  #wrapper .container > div {
    margin: 0 !important;
  }
  /* Section wrapper */
  section#wrapper {
    padding-top: 0 !important;
  }

  /* === Barre bottom HORIZONTALE === */
  .m4-mobile-bottom-bar {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
  }
  .m4-mobile-bottom-bar a,
  .m4-mobile-bottom-bar button {
    flex-direction: column !important;
    flex: 1 1 0 !important;
    max-width: 20% !important;
  }

  /* === Blocs noirs footer - fix === */
  .ets_mm_megamenu,
  .ets_mm_megamenu::before,
  body .layout_layout1.ets_mm_megamenu::before,
  body .layout_layout2.ets_mm_megamenu::before,
  body .layout_layout3.ets_mm_megamenu::before {
    background: transparent !important;
    background-color: transparent !important;
  }

  /* === ATC row mobile === */
  .m4-atc-row {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
  }
  .m4-qty-selector {
    min-width: 90px !important;
    max-width: 110px !important;
    height: 42px !important;
  }
  .m4-qty-selector .m4-qty-btn {
    width: 32px !important;
    height: 42px !important;
  }
  .m4-qty-selector input[name="qty"],
  .m4-qty-input {
    width: 36px !important;
    height: 42px !important;
    font-size: 15px !important;
  }
  .m4-atc-row .add {
    flex: 1 !important;
  }
  .m4-atc-row .add-to-cart,
  .m4-atc-row .btn.btn-primary.add-to-cart {
    height: 42px !important;
    font-size: 13px !important;
    padding: 0 12px !important;
    white-space: nowrap !important;
    width: 100% !important;
  }
  .m4-buy-now-wrap {
    display: block !important;
    width: 100% !important;
    margin-top: 8px !important;
  }
  .m4-buy-now-btn {
    width: 100% !important;
    height: 42px !important;
    font-size: 13px !important;
  }

  /* === Footer ne dépasse pas === */
  footer#footer {
    overflow: hidden !important;
  }
  footer#footer .container {
    max-width: 100% !important;
    padding: 0 16px !important;
  }
  /* === Logo footer taille raisonnable === */
  footer#footer img,
  footer#footer .logo,
  footer .footer-logo img,
  #footer .logo img {
    max-width: 150px !important;
    max-height: 60px !important;
    width: auto !important;
    height: auto !important;
  }
  /* === Brand slider en bas pas trop gros === */
  footer#footer .an_brandslider img,
  .an_brandslider .owl-item img,
  #footer .brand-img img {
    max-height: 40px !important;
    width: auto !important;
  }
}

/* ---- BANDEAU TICKER BLANC ---- */
.m4-topbar-ticker {
  background: #fff;
  overflow: hidden;
  height: 32px;
  border-bottom: 1px solid #eee;
  position: relative;
}
.m4-ticker-track {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  animation: m4-ticker 5s ease-in-out infinite;
  will-change: transform;
}
.m4-ticker-slide {
  height: 32px;
  line-height: 32px;
  text-align: center;
  color: #333;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.3px;
  white-space: nowrap;
}
.m4-ticker-slide strong {
  color: #8FAF9A;
  font-weight: 700;
}
@keyframes m4-ticker {
  0%, 40%    { transform: translateY(0); }
  50%, 90%   { transform: translateY(-32px); }
  100%       { transform: translateY(0); }
}

/* ---- TITRES SECTIONS ---- */
.m4-section-title,
.m4-choose-title,
.m4-bundles-intro h2 {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 36px !important;
}

/* ============================================================
   FORCE OVERRIDE - Bouton Achetez maintenant ORANGE GROS
   ============================================================ */
html body button.m4-bb-buy-now,
html body .m4-bb-buy-now,
html body #m4-bb-buynow,
html body #m4-bb10-buynow {
  background: #E67E22 !important;
  background-color: #E67E22 !important;
  background-image: none !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  padding: 18px 40px !important;
  min-height: 60px !important;
  width: 100% !important;
  box-shadow: 0 6px 20px rgba(230,126,34,0.4) !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  opacity: 1 !important;
}
html body button.m4-bb-buy-now:hover,
html body .m4-bb-buy-now:hover,
html body #m4-bb-buynow:hover,
html body #m4-bb10-buynow:hover {
  background: #D35400 !important;
  background-color: #D35400 !important;
  background-image: none !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(230,126,34,0.5) !important;
}
html body button.m4-bb-buy-now:disabled,
html body .m4-bb-buy-now:disabled {
  opacity: 0.5 !important;
  cursor: not-allowed !important;
}

/* ============================================================
   CHOOSE VAPE - Panneaux deployables (tunnel empathique)
   ============================================================ */

/* Carte clickable */
.m4-choose-card {
  cursor: pointer !important;
}
.m4-choose-card.active {
  border-color: #E67E22 !important;
  box-shadow: 0 8px 30px rgba(230,126,34,0.2) !important;
  transform: translateY(-4px) !important;
}
.m4-choose-card.active .m4-choose-cta {
  background: #E67E22 !important;
  color: #fff !important;
}
.m4-choose-arrow {
  display: inline-block;
  transition: transform 0.3s ease;
}
.m4-choose-card.active .m4-choose-arrow {
  transform: rotate(180deg);
}

/* Choose Vape - Texte enrichi dans les cartes */
.m4-choose-card {
  text-decoration: none !important;
  color: inherit !important;
  display: flex;
  flex-direction: column;
}
.m4-choose-desc {
  font-size: 14px;
  line-height: 1.7;
  color: #555;
  margin-bottom: 4px !important;
}
.m4-choose-details {
  display: block !important;
  margin-bottom: 28px;
  flex-grow: 1;
}
.m4-choose-problem {
  font-size: 13px;
  line-height: 1.7;
  color: #666;
  background: #fff5f5;
  border-left: 3px solid #e74c3c;
  padding: 14px 16px;
  border-radius: 0 8px 8px 0;
  margin-bottom: 24px !important;
}
.m4-choose-solution {
  font-size: 13px;
  line-height: 1.7;
  color: #666;
  background: #f0faf4;
  border-left: 3px solid #27ae60;
  padding: 14px 16px;
  border-radius: 0 8px 8px 0;
  margin-bottom: 24px !important;
}
/* ============================================================
   BUNDLE SAVEURS
   ============================================================ */
.m4-bundle-section {
  padding: 50px 0;
  background: #fff;
}
.m4-bundle-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 32px;
}
.m4-bundle-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 32px 24px;
  background: linear-gradient(135deg, #f0faf4, #e8f5e9);
  border-radius: 16px;
  text-decoration: none !important;
  color: #1a1a1a !important;
  border: 2px solid transparent;
  transition: all 0.3s ease;
}
.m4-bundle-card:hover {
  border-color: #8FAF9A;
  box-shadow: 0 8px 24px rgba(143,175,154,0.2);
  transform: translateY(-2px);
}
.m4-bundle-badge {
  display: inline-block;
  background: #8FAF9A;
  color: #fff;
  font-weight: 700;
  font-size: 18px;
  padding: 6px 16px;
  border-radius: 20px;
  margin-bottom: 16px;
}
.m4-bundle-card h3 {
  font-family: 'Poppins', sans-serif;
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 8px;
}
.m4-bundle-card p {
  font-size: 14px;
  color: #555;
  line-height: 1.6;
  margin-bottom: 16px;
}
.m4-bundle-cta {
  display: inline-block;
  padding: 10px 24px;
  border-radius: 25px;
  font-size: 14px;
  font-weight: 600;
  background: #f0f7f2;
  color: #7A9E86;
  transition: all 0.3s ease;
}
.m4-bundle-card:hover .m4-bundle-cta {
  background: #8FAF9A;
  color: #fff !important;
}
@media (max-width: 768px) {
  .m4-bundle-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

.m4-choose-testimonial {
  font-size: 12px;
  line-height: 1.5;
  color: #888;
  background: #fafafa;
  border-left: 3px solid #E67E22;
  padding: 8px 12px;
  border-radius: 0 8px 8px 0;
}
.m4-choose-testimonial em {
  color: #555;
}

/* Blocs probleme/solution */
.m4-panel-block-problem {
  background: #fff5f5;
  border-left: 4px solid #e74c3c;
  border-radius: 0 12px 12px 0;
  padding: 16px 20px;
}
.m4-panel-block-problem h4 {
  color: #c0392b !important;
}
.m4-panel-block-solution {
  background: #f0faf4;
  border-left: 4px solid #27ae60;
  border-radius: 0 12px 12px 0;
  padding: 16px 20px;
}
.m4-panel-block-solution h4 {
  color: #1e8449 !important;
}

/* Stats chiffres cles */
.m4-panel-stats {
  display: flex;
  gap: 16px;
  margin-top: 4px;
}
.m4-panel-stat {
  flex: 1;
  text-align: center;
  background: #fff;
  border: 2px solid #f0f0f0;
  border-radius: 14px;
  padding: 16px 10px;
  transition: border-color 0.3s;
}
.m4-panel-stat:hover {
  border-color: #E67E22;
}
.m4-panel-stat-number {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-size: 24px;
  font-weight: 800;
  color: #E67E22;
  line-height: 1.2;
}
.m4-panel-stat-label {
  display: block;
  font-size: 12px;
  color: #777;
  margin-top: 4px;
  line-height: 1.4;
}

/* Etoiles temoignage */
.m4-panel-testimonial-stars {
  color: #f39c12;
  font-size: 18px;
  letter-spacing: 2px;
  margin-bottom: 8px;
}

.m4-panel-inner {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 40px;
  background: #fff;
  border-radius: 20px;
  padding: 40px;
  box-shadow: 0 8px 40px rgba(0,0,0,0.08);
  border: 1px solid #f0f0f0;
}

/* Partie storytelling */
.m4-panel-story {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.m4-panel-accroche {
  font-size: 17px;
  line-height: 1.7;
  color: #333;
}
.m4-panel-block h4 {
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #1A1A1A;
  margin-bottom: 6px;
}
.m4-panel-block p {
  font-size: 15px;
  line-height: 1.7;
  color: #555;
}

/* Temoignage */
.m4-panel-testimonial {
  background: #f9f9f9;
  border-left: 4px solid #E67E22;
  border-radius: 0 12px 12px 0;
  padding: 16px 20px;
  margin-top: 8px;
}
.m4-panel-testimonial p {
  font-size: 15px;
  font-style: italic;
  color: #444;
  line-height: 1.6;
  margin-bottom: 6px;
}
.m4-panel-testimonial span {
  font-size: 13px;
  font-weight: 700;
  color: #999;
}

/* Partie produit recommande */
.m4-panel-product {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 12px;
  background: #fafafa;
  border-radius: 16px;
  padding: 30px 20px;
}
.m4-panel-product-loading {
  color: #aaa;
  font-size: 14px;
}
.m4-panel-product-badge {
  display: inline-block;
  background: #E67E22;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 4px 12px;
  border-radius: 20px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.m4-panel-product img {
  max-width: 200px;
  max-height: 200px;
  object-fit: contain;
  border-radius: 12px;
}
.m4-panel-product h4 {
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #1A1A1A;
  line-height: 1.4;
}
.m4-panel-product-price {
  font-size: 28px;
  font-weight: 800;
  color: #E67E22;
}
.m4-panel-product-descr {
  font-size: 13px;
  color: #777;
  line-height: 1.5;
  max-height: 60px;
  overflow: hidden;
}
.m4-panel-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  padding: 16px 24px;
  background: #E67E22 !important;
  color: #fff !important;
  border: none;
  border-radius: 10px;
  font-family: 'Nunito', sans-serif;
  font-size: 16px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(230,126,34,0.35);
  text-decoration: none !important;
}
.m4-panel-cta:hover {
  background: #D35400 !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(230,126,34,0.45);
  color: #fff !important;
  text-decoration: none !important;
}
.m4-panel-see-all {
  display: inline-block;
  font-size: 13px;
  color: #888;
  text-decoration: none;
  margin-top: 4px;
  transition: color 0.2s;
}
.m4-panel-see-all:hover {
  color: #E67E22;
  text-decoration: underline;
}

/* Responsive mobile */
@media (max-width: 768px) {
  .m4-modal-overlay { padding: 8px; }
  .m4-modal-box { max-height: 92vh; border-radius: 14px; overflow-y: auto; }
  .m4-panel-inner {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 18px 14px;
  }
  .m4-panel-accroche { font-size: 14px; line-height: 1.5; }
  .m4-panel-block h4 { font-size: 14px; }
  .m4-panel-block p { font-size: 13px; line-height: 1.5; }
  .m4-panel-block-problem,
  .m4-panel-block-solution { padding: 12px 14px; }
  .m4-panel-testimonial { padding: 10px 14px; }
  .m4-panel-testimonial p { font-size: 13px; }
  .m4-panel-product { padding: 20px 14px; gap: 8px; }
  .m4-panel-product img { max-width: 140px; max-height: 140px; }
  .m4-panel-product h4 { font-size: 14px; }
  .m4-panel-product-price { font-size: 22px; }
  .m4-panel-product-descr { font-size: 12px; max-height: 40px; }
  .m4-panel-cta { padding: 12px 20px; font-size: 14px; }
  .m4-panel-stats { flex-direction: row; gap: 8px; flex-wrap: wrap; }
  .m4-panel-stat { padding: 10px 8px; flex: 1; min-width: calc(50% - 8px); }
  .m4-panel-stat-number { font-size: 18px; }
  .m4-panel-stat-label { font-size: 10px; }
  .m4-panel-testimonial-stars { font-size: 14px; }

  /* Choose cards: horizontal scroll on mobile */
  .m4-choose-vape { padding: 24px 0 !important; }
  .m4-choose-title { font-size: 20px !important; margin-bottom: 4px !important; }
  .m4-choose-subtitle { font-size: 12px !important; margin-bottom: 16px !important; }
  .m4-choose-grid {
    display: flex !important;
    flex-direction: column !important;
    overflow-x: visible !important;
    gap: 10px !important;
    padding: 0 16px !important;
    max-width: 100% !important;
  }
  .m4-choose-card {
    flex: none !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 14px 16px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
    border-radius: 12px !important;
  }
  .m4-choose-icon { font-size: 28px !important; margin-bottom: 0 !important; flex-shrink: 0 !important; }
  .m4-choose-card h3 { font-size: 14px !important; margin-bottom: 2px !important; }
  .m4-choose-desc { font-size: 11px !important; line-height: 1.3 !important; margin-bottom: 0 !important; }
  .m4-choose-problem,
  .m4-choose-solution { display: none !important; }
  .m4-choose-card > div[style*="height"] { display: none !important; }
  .m4-choose-card > br { display: none !important; }
  .m4-choose-details { display: none !important; }
  .m4-choose-testimonial { display: none !important; }
  .m4-choose-cta { display: none !important; }

  /* Cookie popup above bottom nav */
  .notification_cookie { bottom: 70px !important; }
}

/* ============================================================
   MOBILE RESPONSIVE FIXES - 16/03/2026
   ============================================================ */
@media (max-width: 767px) {

  /* --- TOPBAR VERTE : texte wrap --- */
  .m4-topbar {
    font-size: 10px !important;
    padding: 5px 0 !important;
    overflow: visible !important;
  }
  .m4-topbar span {
    white-space: normal !important;
    display: block !important;
    line-height: 1.4 !important;
  }
  .m4-topbar-inner {
    flex-wrap: wrap !important;
    text-align: center !important;
    line-height: 1.4 !important;
    overflow: visible !important;
  }
  .m4-topbar .container {
    overflow: visible !important;
  }

  /* --- TICKER BLANC : reduire taille pour tenir sur 1 ligne --- */
  .m4-topbar-ticker,
  div.m4-topbar-ticker[style] {
    overflow: hidden !important;
  }
  .m4-topbar-ticker div,
  .m4-ticker-slide,
  .m4-ticker-track > div,
  div.m4-topbar-ticker div[style] {
    font-size: 10px !important;
    letter-spacing: 0 !important;
  }

  /* --- AGE VERIFICATION POPUP --- */
  .m4-age-popup {
    max-width: calc(100vw - 32px) !important;
    width: calc(100vw - 32px) !important;
    padding: 24px 16px !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
  }
  .m4-age-title {
    font-size: 1.1rem !important;
    line-height: 1.3 !important;
  }
  .m4-age-desc {
    font-size: 0.8rem !important;
    margin-bottom: 20px !important;
  }
  .m4-age-buttons {
    flex-direction: row !important;
    gap: 10px !important;
  }
  .m4-age-btn {
    flex: 1 !important;
    padding: 12px 8px !important;
    font-size: 0.85rem !important;
  }
  /* Age legal text wrap */
  .m4-age-popup > div:last-child,
  .m4-age-popup > p:last-of-type,
  .m4-age-popup [style*="font-size:11px"],
  .m4-age-popup [style*="font-size: 11px"] {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
    font-size: 9px !important;
    line-height: 1.4 !important;
  }

  /* --- COOKIE POPUP --- */
  .an_cookie_popup,
  .cookie-popup,
  #cookieConsentBox,
  div[class*="cookie-consent"],
  div[class*="cookie_consent"] {
    max-width: calc(100vw - 20px) !important;
    width: calc(100vw - 20px) !important;
    left: 10px !important;
    right: 10px !important;
    box-sizing: border-box !important;
    padding: 14px !important;
  }
  .an_cookie_popup p,
  .cookie-popup p,
  div[class*="cookie-consent"] p,
  div[class*="cookie_consent"] p {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
  }

  /* --- FOOTER : tout doit tenir dans 100vw --- */
  footer#footer,
  #footer,
  .footer-container {
    overflow-x: hidden !important;
    max-width: 100vw !important;
  }
  footer#footer *,
  #footer * {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  /* Newsletter bloc */
  .block_newsletter {
    padding: 14px 12px !important;
    box-sizing: border-box !important;
    width: auto !important;
  }
  .block_newsletter h2,
  .block_newsletter #block-newsletter-label {
    font-size: 16px !important;
  }
  .block_newsletter p {
    font-size: 11px !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }
  .block_newsletter .input-wrapper {
    flex-direction: column !important;
    gap: 8px !important;
  }
  .block_newsletter input[name="email"],
  .block_newsletter input[type="text"] {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  .block_newsletter .gdpr-newsletter {
    font-size: 9px !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }
  /* Footer paragraphes */
  footer p,
  #footer p,
  .footer-container p,
  footer .footer-legal,
  footer [class*="legal"] {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
  }

  /* --- SECTION TITLES (bundles, choose, etc.) --- */
  .m4-section-title,
  .m4-choose-title,
  .m4-bundles-intro h2,
  .an_homeproducts-content-text h1 {
    font-size: 22px !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }

  /* --- STICKY ATC (barre produit en bas) --- */
  .js-an_stickyAddToCart-add-to-cart,
  .an_stickyAddToCart .add-to-cart,
  .an_stickyproduct .add-to-cart,
  #an_stickyAddToCart .add-to-cart {
    font-size: 12px !important;
    padding: 10px 12px !important;
  }

  /* --- PAGE 404 --- */
  .page-not-found h1,
  #pagenotfound h1,
  [class*="not-found"] h1 {
    font-size: 22px !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }
  .page-not-found,
  #pagenotfound,
  [class*="not-found"] {
    overflow: hidden !important;
  }

  /* Categories pills (404 & autres) */
  .m4-cat-pills,
  .m4-404-cats,
  [class*="category-pills"] {
    flex-wrap: wrap !important;
  }
}

/* ============================================================
   COOKIE BANNER FIX - fond opaque + style propre
   ============================================================ */
.notification_cookie {
  background: #fff !important;
  opacity: 1 !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.15) !important;
  border: 1px solid #e0e0e0 !important;
  z-index: 999999 !important;
  padding: 10px 0 !important;
}
.notification_cookie-content {
  padding: 20px !important;
}
.notification_cookie p,
.notification_cookie {
  color: #333 !important;
}
.notification_cookie p {
  font-size: 13px !important;
  line-height: 1.6 !important;
  margin: 0 0 12px 0 !important;
}
.notification_cookie-action {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  justify-content: space-between !important;
}
.notification_cookie a.notification_cookie-link {
  color: #8FAF9A !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
.notification_cookie a.notification_cookie-link:hover {
  text-decoration: underline !important;
}
.notification_cookie span.notification_cookie-accept {
  background: #8FAF9A !important;
  color: #fff !important;
  padding: 10px 24px !important;
  border-radius: 50px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  transition: background 0.2s !important;
}
.notification_cookie span.notification_cookie-accept:hover {
  background: #7a9e87 !important;
}
.notification_cookie span.notification_cookie-accept i {
  font-size: 16px !important;
}

@media (max-width: 991px) {
  .notification_cookie {
    bottom: 70px !important;
    left: 10px !important;
    right: 10px !important;
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
    box-sizing: border-box !important;
  }
}

/* Hide old separate search bar on mobile - now in header overlay */
@media (max-width: 991px) {
  .header-top #_mobile_search,
  .header-top .search-widget {
    display: none !important;
  }
  #m4-search-overlay .search-widget,
  #m4-search-overlay #search_widget {
    display: block !important;
    width: 100% !important;
  }
  #m4-search-overlay .search-widget form {
    display: flex !important;
    width: 100% !important;
  }
  #m4-search-overlay .search-widget form input[type="text"] {
    flex: 1 !important;
    border-radius: 25px 0 0 25px !important;
    padding: 10px 16px !important;
    border: 1px solid #ddd !important;
    font-size: 14px !important;
  }
  #m4-search-overlay .search-widget form button {
    border-radius: 0 25px 25px 0 !important;
    padding: 10px 16px !important;
  }
}

/* LOGO MOBILE - agrandi */
@media (max-width: 991px) {
  #_mobile_logo img,
  #_mobile_logo .logo,
  .mobile-header .top-logo img,
  .mobile-header .top-logo .logo {
    max-height: 75px !important;
    min-height: 65px !important;
    width: auto !important;
    height: auto !important;
  }
}
@media (max-width: 576px) {
  #_mobile_logo img,
  #_mobile_logo .logo,
  .mobile-header .top-logo img,
  .mobile-header .top-logo .logo {
    max-height: 75px !important;
    min-height: 65px !important;
  }
}

/* LOGO MOBILE - FORCE BIG */
#_mobile_logo img,
#_mobile_logo .logo,
.mobile-header .top-logo img,
.mobile-header .top-logo .logo,
.top-logo img.logo {
  max-height: 70px !important;
  min-height: 60px !important;
  width: auto !important;
  height: auto !important;
}
@media (max-width: 576px) {
  #_mobile_logo img,
  #_mobile_logo .logo,
  .mobile-header .top-logo img,
  .mobile-header .top-logo .logo,
  .top-logo img.logo {
    max-height: 75px !important;
    min-height: 65px !important;
  }
}

/* ============================================================
   MENU MOBILE - FULLSCREEN Met4vape DA
   Plein ecran, boutons + cercles, vert sauge #8FAF9A
   Cible les selecteurs du module an_megamenu
   ============================================================ */

/* Quand le menu est ouvert : cacher la bottom bar */
html.amegamenu_mobile-open .m4-mobile-bottom-bar,
html.amegamenu_mobile-open .m4-bottom-bar,
html.amegamenu_mobile-open [class*="bottom-bar"],
html.amegamenu_mobile-open [class*="bottom-nav"] {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* --- Overlay (cliquer dessus = fermer) --- */
.amegamenu_mobile-cover {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;
  background: rgba(0,0,0,0.4) !important;
  z-index: 999998 !important;
  backdrop-filter: blur(2px) !important;
  -webkit-backdrop-filter: blur(2px) !important;
}

/* --- Panneau BOTTOM-SHEET --- */
.amegamenu_mobile-modal {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  top: auto !important;
  width: 100vw !important;
  max-width: 100vw !important;
  min-width: 100vw !important;
  max-height: 88vh !important;
  height: auto !important;
  background: #fff !important;
  z-index: 999999 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding-bottom: 30px !important;
  box-sizing: border-box !important;
  border-radius: 24px 24px 0 0 !important;
  box-shadow: 0 -8px 40px rgba(0,0,0,0.15) !important;
  -webkit-overflow-scrolling: touch !important;
  animation: m4SlideUp 0.3s cubic-bezier(0.16,1,0.3,1) !important;
}
@keyframes m4SlideUp {
  from { transform: translateY(100%); }
  to { transform: translateY(0); }
}
/* Drag handle */
.amegamenu_mobile-modal::before {
  content: "" !important;
  display: block !important;
  width: 40px !important;
  height: 4px !important;
  background: #d1d5db !important;
  border-radius: 100px !important;
  margin: 10px auto 4px !important;
}

/* --- Wrapper interne --- */
#mobile_top_menu_wrapper {
  max-width: 100% !important;
  min-width: 100% !important;
  width: 100% !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
  min-height: auto !important;
  background: #fff !important;
  display: block !important;
}

/* --- Header du menu : "Menu" + X --- */
.mobile-menu-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 14px 24px !important;
  margin-bottom: 0 !important;
  border-bottom: none !important;
  min-height: auto !important;
  position: sticky !important;
  top: 0 !important;
  background: #fff !important;
  z-index: 10 !important;
  border-radius: 24px 24px 0 0 !important;
}
.megamenu_mobile-btn-back {
  display: none !important;
}
.megamenu_mobile-btn-close {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  cursor: pointer !important;
  width: 38px !important;
  height: 38px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  background: #f3f4f6 !important;
  flex-shrink: 0 !important;
}
.megamenu_mobile-btn-close:active {
  background: #e5e7eb !important;
}
.megamenu_mobile-btn-close svg {
  width: 14px !important;
  height: 14px !important;
}
.megamenu_mobile-btn-close svg path,
.megamenu_mobile-btn-close svg line {
  stroke: #374151 !important;
  fill: none !important;
}

/* ======= AN_MEGAMENU MOBILE ITEMS ======= */

/* Items principaux (mobile_item_wrapper = lien + fleche) */
#mobile_top_menu_wrapper .mobile_item_wrapper,
#mobile_top_menu_wrapper .mobile-item-nodropdown {
  padding: 0 !important;
  width: 100% !important;
  border-bottom: none !important;
  padding: 0 !important;
  width: 100% !important;
  border-bottom: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  position: relative !important;
}

/* Lien texte de la categorie */
#mobile_top_menu_wrapper .mobile_item_wrapper .amenu-link,
#mobile_top_menu_wrapper .mobile-item-nodropdown .amenu-link,
#mobile_top_menu_wrapper .amenu-link {
  display: flex !important;
  align-items: center !important;
  flex: 1 !important;
  padding: 16px 50px 16px 28px !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #1f2937 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
  text-decoration: none !important;
}
#mobile_top_menu_wrapper .amenu-link:active {
  background: #f5f7f6 !important;
}
/* Cacher les badges "new" etc */
#mobile_top_menu_wrapper .amenu-link sup {
  display: none !important;
}

/* Cacher le bloc Langue/Se connecter natif PS (doublon) */
#mobile_top_menu_wrapper .mobile-lang-and-cur,
.mobile-lang-and-cur {
  display: none !important;
}

/* --- Fleche chevron pour expand sous-categories --- */
#mobile_top_menu_wrapper .mobile-toggler,
#mobile_top_menu_wrapper .arrow_down,
#mobile_top_menu_wrapper .arrow_up {
  position: absolute !important;
  right: 20px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: auto !important;
  height: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  border: none !important;
  border-radius: 0 !important;
  background: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* Cacher le SVG natif */
#mobile_top_menu_wrapper .mobile-toggler svg,
#mobile_top_menu_wrapper .arrow_down svg,
#mobile_top_menu_wrapper .arrow_up svg,
#mobile_top_menu_wrapper .mobile-toggler img,
#mobile_top_menu_wrapper .arrow_down img,
#mobile_top_menu_wrapper .arrow_up img {
  display: none !important;
}
/* Chevron > (ferme) */
#mobile_top_menu_wrapper .mobile-toggler::after,
#mobile_top_menu_wrapper .arrow_down::after {
  content: "+" !important;
  display: block !important;
  font-size: 22px !important;
  font-weight: 300 !important;
  color: #8FAF9A !important;
  line-height: 1 !important;
  border: none !important;
  width: auto !important;
  height: auto !important;
  transform: none !important;
  transition: transform 0.25s ease !important;
}
/* Chevron v (ouvert) */
#mobile_top_menu_wrapper .mobile_item_wrapper.open .mobile-toggler,
#mobile_top_menu_wrapper .arrow_up {
  background: none !important;
  border: none !important;
}
#mobile_top_menu_wrapper .mobile_item_wrapper.open .mobile-toggler::after,
#mobile_top_menu_wrapper .arrow_up::after {
  content: "-" !important;
  display: block !important;
  font-size: 22px !important;
  font-weight: 300 !important;
  color: #8FAF9A !important;
  line-height: 1 !important;
  border: none !important;
  width: auto !important;
  height: auto !important;
  transform: none !important;
}

/* --- Sous-menus (adropdown-mobile = panel qui slide) --- */
#mobile_top_menu_wrapper .adropdown-mobile {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  transform: none !important;
  padding: 0 !important;
  background: #f7faf8 !important;
  display: none !important;
  z-index: auto !important;
}
#mobile_top_menu_wrapper .mobile_item_wrapper.open + .adropdown-mobile,
#mobile_top_menu_wrapper .mobile_item_wrapper.open + .adropdown-mobile.menu-active {
  display: block !important;
  transform: none !important;
}

/* Sous-categories dans le dropdown */
#mobile_top_menu_wrapper .adropdown-mobile .category-item {
  width: 100% !important;
}
#mobile_top_menu_wrapper .adropdown-mobile .category-item a,
#mobile_top_menu_wrapper .adropdown-mobile .category-item.level-3 a {
  display: flex !important;
  align-items: center !important;
  padding: 10px 20px 10px 32px !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #4b5563 !important;
  text-decoration: none !important;
  border-bottom: none !important;
  text-transform: none !important;
}
#mobile_top_menu_wrapper .adropdown-mobile .category-item a:active {
  background: #eef5f0 !important;
}
/* Pastille verte devant les sous-items */
#mobile_top_menu_wrapper .adropdown-mobile .category-item a::before {
  content: "" !important;
  display: inline-block !important;
  width: 6px !important;
  height: 6px !important;
  background: #8FAF9A !important;
  border-radius: 50% !important;
  margin-right: 12px !important;
  flex-shrink: 0 !important;
}

/* ======= PS DEFAULT MENU (collapse-icons) = chevron ======= */
#mobile_top_menu_wrapper li .collapse-icons {
  position: absolute !important;
  right: 20px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  bottom: auto !important;
  width: auto !important;
  height: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  border: none !important;
  border-radius: 0 !important;
  background: none !important;
}
#mobile_top_menu_wrapper .collapse-icons .add {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
#mobile_top_menu_wrapper .collapse-icons .remove { display: none !important; }
#mobile_top_menu_wrapper .collapse-icons .add::before {
  content: "+" !important;
  display: block !important;
  font-size: 22px !important;
  font-weight: 300 !important;
  color: #8FAF9A !important;
  line-height: 1 !important;
  border: none !important;
  width: auto !important;
  height: auto !important;
  transform: none !important;
  transition: transform 0.25s ease !important;
}
#mobile_top_menu_wrapper .collapse-icons .add .material-icons,
#mobile_top_menu_wrapper .collapse-icons .remove .material-icons {
  display: none !important;
}
#mobile_top_menu_wrapper li[aria-expanded="true"] .collapse-icons {
  background: none !important;
  border: none !important;
}
#mobile_top_menu_wrapper li[aria-expanded="true"] .collapse-icons .add { display: none !important; }
#mobile_top_menu_wrapper li[aria-expanded="true"] .collapse-icons .remove {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
#mobile_top_menu_wrapper li[aria-expanded="true"] .collapse-icons .remove::before {
  content: "-" !important;
  display: block !important;
  font-size: 22px !important;
  font-weight: 300 !important;
  color: #8FAF9A !important;
  line-height: 1 !important;
  border: none !important;
  width: auto !important;
  height: auto !important;
  transform: none !important;
}

/* PS default sub-menus */
#mobile_top_menu_wrapper li[data-depth="0"] > a,
#mobile_top_menu_wrapper li > a {
  display: flex !important;
  align-items: center !important;
  padding: 16px 50px 16px 28px !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #1f2937 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
  text-decoration: none !important;
  border-bottom: none !important;
  width: 100% !important;
}
#mobile_top_menu_wrapper ul[data-depth="1"] { background: #f7faf8 !important; }
#mobile_top_menu_wrapper ul[data-depth="1"] li a {
  padding: 10px 20px 10px 32px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-transform: none !important;
  color: #4b5563 !important;
  border-bottom: none !important;
}
#mobile_top_menu_wrapper ul[data-depth="2"] { background: #f0f5f1 !important; }
#mobile_top_menu_wrapper ul[data-depth="2"] li a {
  padding-left: 56px !important;
  font-size: 13px !important;
  color: #6b7280 !important;
}

/* ======= ZONE BAS DU MENU ======= */
.js-top-menu-bottom { width: 100% !important; max-width: 100% !important; }
.mobile-menu-fixed {
  padding: 12px 0 !important;
  border-top: 2px solid #8FAF9A !important;
  margin-top: 4px !important;
}
#_mobile_contactslink a {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 14px 20px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #4b5563 !important;
  border-bottom: none !important;
}
.mobile-lang-and-cur {
  padding: 8px 20px 20px !important;
}

/* Barre navigation bas - coins arrondis */
@media (max-width: 991px) {
  .m4-mobile-bottom-bar {
    border-radius: 20px 20px 0 0 !important;
    box-shadow: 0 -4px 20px rgba(0,0,0,0.12) !important;
    overflow: hidden !important;
  }
}

/* Cacher les barres/holders vides */
@media (max-width: 991px) {
  .header-banner:empty,
  .header-banner {
    display: none !important;
  }
  .header-top-holder,
  .mobile-header-holder {
    display: none !important;
  }
  /* Cacher le contenu desktop du header-top, pas le conteneur (sinon le menu modal est invisible) */
  .header-top.tablet-h .m4-header-top-desktop,
  .header-top.tablet-v > .container {
    display: none !important;
  }
  /* Le conteneur header-top reste visible mais sans espace */
  .header-top.tablet-h,
  .header-top.tablet-v {
    padding: 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: visible !important;
  }
}

/* Supprimer tous les espaces vides du header mobile */
@media (max-width: 991px) {
  .header-banner,
  .header-top-holder,
  .mobile-header-holder,
  .m4-mobile-banner {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .amegamenu_mobile-cover:not([style*="display: block"]) {
    display: none !important;
  }
  /* Le spacer du header fixe - reduire a la bonne taille */
  #m4-header-wrapper + div {
    height: auto !important;
  }
  /* Supprimer les marges/paddings vides autour du contenu */
  #wrapper {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }
  section#wrapper {
    padding-top: 0 !important;
  }
  .header-nav.tablet-h + .header-top-holder,
  .header-nav.tablet-v,
  nav.header-nav.tablet-v {
    display: none !important;
    height: 0 !important;
  }
}

/* ============================================================
   BEST-SELLERS / PRODUITS HOMEPAGE - Mobile 2 colonnes wrap
   ============================================================ */
@media (max-width: 767px) {
  .an_homeproducts-products .products.row {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x mandatory !important;
    gap: 10px !important;
    padding: 0 10px 10px !important;
    margin: 0 !important;
  }
  .an_homeproducts-products .products.row > article {
    flex: 0 0 46% !important;
    max-width: 46% !important;
    width: 46% !important;
    min-width: 46% !important;
    scroll-snap-align: start !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .an_homeproducts-products .products.row > article .thumbnail-container {
    width: 100% !important;
  }
}

/* ============================================================
   FIX MOBILE - Page panier scrollable (24/03/2026)
   ============================================================ */
@media (max-width: 991px) {
  /* Le sticky sur le résumé panier bloque le scroll mobile -> désactiver */
  .cart-grid-right {
    position: relative !important;
    top: auto !important;
    align-self: auto !important;
  }
  /* Le cart-grid en colonne sur mobile */
  .cart-grid.row {
    display: flex !important;
    flex-direction: column !important;
    overflow: visible !important;
  }
  .cart-grid-body,
  .cart-grid-right {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }
  /* S'assurer que les parents ne bloquent pas le scroll vertical */
  body#cart,
  body#cart #wrapper,
  body#cart main,
  body#cart section#wrapper,
  body#cart #content-wrapper,
  body#cart .container {
    overflow-y: visible !important;
    overflow-x: hidden !important;
    height: auto !important;
    min-height: auto !important;
  }
  /* Padding bottom pour la bottom bar fixe (64px + safe area) */
  body#cart #wrapper {
    padding-bottom: 80px !important;
  }
  /* Cart items : pas de max-height, tout visible */
  body#cart .cart-overview,
  body#cart .cart-items,
  body#cart #main {
    overflow: visible !important;
    max-height: none !important;
    height: auto !important;
  }
}

/* === MENU MOBILE - Separateurs entre categories === */
#mobile_top_menu_wrapper .mobile_item_wrapper,
#mobile_top_menu_wrapper .mobile-item-nodropdown {
  border-bottom: 1px solid #f0f0f0 !important;
}
#mobile_top_menu_wrapper .adropdown-mobile .category-item a {
  border-bottom: none !important;
}


/* === MENU MOBILE - Padding modal pour decoller du bord === */
.amegamenu_mobile-modal {
  padding-left: 16px !important;
  padding-right: 16px !important;
}


/* === MENU MOBILE - Modal padding fix === */
.amegamenu_mobile-modal {
  padding: 0 16px 30px 16px !important;
}

/* === MENU MOBILE - Cacher badge chiffre + reduire espacement sous-cat === */
#mobile_top_menu_wrapper .mobile-toggle-plus {
  display: none !important;
}
/* Sous-categories plus compactes */
#mobile_top_menu_wrapper .adropdown-mobile .category-item {
  margin: 0 !important;
  padding: 0 !important;
}
#mobile_top_menu_wrapper .adropdown-mobile .category-item a,
#mobile_top_menu_wrapper .adropdown-mobile .category-item p,
#mobile_top_menu_wrapper .adropdown-mobile .category-item .category-title a {
  padding: 10px 20px 10px 32px !important;
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
}
#mobile_top_menu_wrapper .adropdown-mobile .category-item .category-title {
  margin: 0 !important;
  padding: 0 !important;
}
#mobile_top_menu_wrapper .adropdown-mobile .dropdown-content {
  padding: 4px 0 !important;
}

/* === HOMEPAGE PRODUCTS MOBILE - 2 colonnes === */
@media (max-width: 767px) {
  .featured-products .products,
  .an_homeproducts-products .products {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x mandatory !important;
    gap: 10px !important;
    padding: 0 10px 10px !important;
  }
  .featured-products .products .product-miniature,
  .an_homeproducts-products .products .product-miniature {
    flex: 0 0 46% !important;
    max-width: 46% !important;
    scroll-snap-align: start !important;
    padding: 0 !important;
    margin: 0 !important;
  }
}



/* ============================================================
   FIX: Hide sticky header when not active + mobile bar on desktop
   ============================================================ */
#m4-sticky-header:not(.m4-sticky-visible) {
  display: none !important;
}
@media (min-width: 769px) {
  .m4-mobile-bottom-bar {
    display: none !important;
  }
}

/* === FIX: Header desktop visible, cache sur mobile === */
@media (min-width: 992px) {
  .m4-header-top-desktop {
    display: block !important;
  }
}
@media (max-width: 991px) {
  .m4-header-top-desktop {
    display: none !important;
  }
}

/* === DEBUG MEGAMENU VISIBLE === */
.ets_mm_megamenu, .ets_mm_megamenu_content {
  background: #333 !important;
  min-height: 50px !important;
  display: block !important;
}
.ets_mm_megamenu .mm_menus_li > a,
.ets_mm_megamenu .mm_menu_content_title {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* Reduit la taille de l'image produit principale */
@media (min-width: 992px) {
  .productblock-image .images-container,
  .productblock-image .an_productpage-slider-wrap {
    max-width: 420px;
    margin-left: auto;
    margin-right: auto;
  }
  .productblock-image .an_productpage-slider-image img {
    max-width: 100%;
    height: auto;
  }
}

/* Masque la miniature thumbnail redondante sous la photo principale */
.an_productpage-slider.an_productpage-slider-nav,
.productblock-image .an_productpage-slider-nav {
  display: none !important;
}

/* Mini-cart sidebar: flex column pour garder cart-bottom toujours visible */
#js-cart-sidebar {
  display: flex !important;
  flex-direction: column !important;
  height: 100vh !important;
  max-height: 100vh !important;
}
#js-cart-sidebar .cart-dropdown-wrapper {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: 100% !important;
  overflow: hidden !important;
}
#js-cart-sidebar .cart-items {
  flex: 1 1 auto !important;
  overflow-y: auto !important;
  min-height: 0 !important;
  margin-bottom: 0 !important;
}
#js-cart-sidebar .m4-sidebar-recent {
  flex: 1 1 auto !important;
  overflow-y: auto !important;
  min-height: 0 !important;
}
#js-cart-sidebar .cart-bottom {
  flex: 0 0 auto !important;
  background: #fff !important;
  border-top: 1px solid #eee !important;
  padding: 14px 18px !important;
  box-shadow: 0 -4px 12px rgba(0,0,0,0.05) !important;
}

#js-cart-sidebar .cart-action,
.cart-dropdown-wrapper .cart-action {
  padding: 0 !important;
}
#js-cart-sidebar .cart-action .text-center,
.cart-dropdown-wrapper .cart-action .text-center {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  padding: 0 !important;
  margin-top: 8px !important;
}
#js-cart-sidebar .m4-sidebar-view-cart,
#js-cart-sidebar .m4-sidebar-checkout,
.cart-dropdown-wrapper .m4-sidebar-view-cart,
.cart-dropdown-wrapper .m4-sidebar-checkout {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  padding: 12px 18px !important;
  border-radius: 100px !important;
  font-weight: 700 !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* ====== MINIATURES: on laisse le slider natif du theme faire son travail ======
   Pas de surcharge CSS, tout est gere par le theme an_theme.
   Le force-load des images se fait dans m4_patches.js. */

/* Marges laterales sur les blocs produit pleine largeur */
html body .m4-calcs-row,
html body .m4-product-faq,
html body main .m4-calcs-row,
html body main .m4-product-faq {
  margin-left: 60px !important;
  margin-right: 60px !important;
  width: auto !important;
  max-width: calc(100% - 120px) !important;
  box-sizing: border-box !important;
}

/* Retire le bouton "Ajouter au panier" natif sous les miniatures produit */
.product-miniature .an_productattributes-add,
.product-miniature .an_productattributes-add-to-cart,
.product-miniature .js-an_productattributes-add-to-cart,
.an_productpage-slider-item .an_productattributes-add,
.products .an_productattributes-add,
.an_homeproducts-container .an_productattributes-add,
.m4-choose-options,
.m4-quick-add,
.product-miniature .m4-choose-options,
.product-miniature .m4-quick-add,
button.m4-choose-options.m4-quick-add {
  display: none !important;
}

/* Cache la description courte dupliquee (doublon avec bullets + onglet description) */
.productblock-description,
[id^="product-description-short-"],
.product-additional-info > .productblock-description,
.product-additional-info > [id^="product-description-short-"] {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* ============================================================
   FIX DESKTOP REDUIT - Masque tous les artefacts mobile a partir
   de 768px pour eviter le menu mobile ouvert en desktop reduit
   (bug 24/04/2026 : doublon de menu entre an_megamenu mobile et
   le megamenu desktop a largeur intermediaire).
   ============================================================ */
@media (min-width: 768px) {
  .mobile-header,
  .mobile-header-holder,
  #mobile_top_menu_wrapper,
  .hidden-lg-up,
  .amegamenu_mobile-modal,
  .amegamenu_mobile-cover,
  .m4-mobile-bottom-bar,
  #menu-icon,
  #_mobile_logo,
  #_mobile_cart,
  #_mobile_search {
    display: none !important;
    visibility: hidden !important;
  }
  html.amegamenu_mobile-open body,
  body.amegamenu_mobile-open {
    overflow: auto !important;
  }
}

/* ============================================================
   FIX CRITIQUE - Menu mobile toujours cache sauf si EXPLICITEMENT ouvert
   Le modal etait affiche en permanence et creait un grand vide blanc
   en position:fixed par-dessus le contenu (24/04/2026 bug rapporte).
   ============================================================ */
html:not(.amegamenu_mobile-open) .amegamenu_mobile-modal,
html:not(.amegamenu_mobile-open) .amegamenu_mobile-cover {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  opacity: 0 !important;
}

/* Desktop strict >= 768px : ecrase tout ce qui est mobile, SAUF le modal
   s'il est explicitement ouvert via hamburger (classe amegamenu_mobile-open) */
@media (min-width: 768px) {
  html:not(.amegamenu_mobile-open) .amegamenu_mobile-modal,
  html:not(.amegamenu_mobile-open) .amegamenu_mobile-cover,
  .mobile-header,
  .mobile-header-holder,
  #mobile_top_menu_wrapper,
  .m4-mobile-bottom-bar,
  [class*=m4-bottom-bar],
  nav[class*=bottom-nav] {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
  html.amegamenu_mobile-open .amegamenu_mobile-modal,
  html.amegamenu_mobile-open .amegamenu_mobile-cover {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    height: auto !important;
    max-height: 88vh !important;
    overflow-y: auto !important;
  }
  html.amegamenu_mobile-open,
  body.amegamenu_mobile-open {
    overflow: auto !important;
  }
}

/* ============================================================
   Cache le header mobile MENU en haut (24/04/2026)
   La navigation mobile passe entierement par la bottom bar (.m4-mobile-bottom-bar)
   ============================================================ */
/* Mobile header cache a toutes les tailles (la nav mobile passe par la bottom bar) */
.mobile-header,
.mobile-header-holder,
.hidden-lg-up.text-sm-center.mobile,
#m4-search-overlay,
#menu-icon,
#_mobile_logo,
#_mobile_cart,
#_mobile_search {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}

/* Bottom bar : uniquement sur vrai mobile (<= 767) */
@media (max-width: 767px) {
  .m4-mobile-bottom-bar {
    transform: translateY(0) !important;
    display: flex !important;
  }
  body { padding-bottom: 70px !important; }
}

/* Desktop (>= 768) : pas de bottom bar ni de padding-bottom */
@media (min-width: 768px) {
  .m4-mobile-bottom-bar {
    display: none !important;
    visibility: hidden !important;
  }
  body { padding-bottom: 0 !important; }
}

/* Evite le gros vide blanc : force min-height 0 sur les wrappers header
   residuels qui pourraient reserver un espace sans contenu */
.mobile-header-holder,
.header-top-holder,
.m4-sticky-placeholder {
  min-height: 0 !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ============================================================
   FIX ETS_MEGAMENU - Cache le toggle mobile moche "MENU"
   qui apparait a largeur intermediaire (24/04/2026)
   Le site utilise la bottom bar en mobile, pas besoin du toggle ets.
   ============================================================ */
.ybc-menu-toggle,
.ybc-menu-btn,
.ybc-menu-button-toggle-icon {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  width: 0 !important;
}

/* Masque le container megamenu complet en dessous de 992px
   (a ces tailles, la navigation passe par la bottom bar) */
@media (max-width: 991px) {
  .ets_mm_megamenu,
  .ets_mm_megamenu_content,
  .ets_mm_megamenu_content_content {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
  }
}

/* En desktop large : force l'affichage du menu horizontal */
@media (min-width: 992px) {
  .mm_menus_ul {
    display: flex !important;
    visibility: visible !important;
  }
  .ets_mm_megamenu_content_content {
    min-height: 0 !important;
  }
}

/* ============================================================
   FIX WIDTH INTERMEDIAIRE 768-991px (24/04/2026)
   A ces largeurs, la barre menu "MENU" sticky reste en haut au scroll
   et laisse un grand vide blanc. On cache tout le wrapper megamenu.
   ============================================================ */
@media (min-width: 768px) and (max-width: 991px) {
  header#header .ets_mm_megamenu,
  .header-top.tablet-h .ets_mm_megamenu,
  header#header > .header-top.tablet-h {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
  }
  /* Empeche un header "is-open" de reserver un grand espace */
  header#header.is-open {
    overflow: hidden !important;
  }
  /* Cache aussi le sticky header m4 a ces largeurs intermediaires */
  .m4-sticky-header,
  .m4-sticky-header.m4-sticky-visible {
    display: none !important;
    top: -500px !important;
  }
  /* Cache la barre fixed-menu-mobile si elle reste accroche */
  .fixed-menu-mobile,
  .mobile-header.fixed-menu-mobile {
    display: none !important;
  }
}

/* ============================================================
   FIX FAQ - Items colonne droite ne doivent pas s'etirer
   a la hauteur du plus grand item de la meme ligne (24/04/2026)
   ============================================================ */
.m4-faq-grid {
  align-items: flex-start !important;
  align-content: flex-start !important;
}

/* Supprime le fond blanc + bordure de l'item FAQ (pose par customcss-m4fix
   qui s'affichait comme un gros vide quand l'item etait etire par flexbox) */
.m4-faq .m4-faq-item {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
.m4-faq-grid {
  align-items: flex-start !important;
  align-content: flex-start !important;
}
.m4-faq-item {
  align-self: flex-start !important;
  height: auto !important;
}

/* Force l'affichage de la tablet-header sur toutes les pages, y compris checkout-minimize (page cart, checkout, commande) */
#m4-tablet-header {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 99999 !important;
  background: #fff !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
}
/* Espace reserve sous la barre fixe */
@media (min-width: 768px) and (max-width: 991px) {
  body {
    padding-top: 62px !important;
  }
  /* Mais les pages checkout-minimize n'ont peut-etre pas besoin d'autant */
}
body.checkout-minimize #m4-tablet-header,
body#cart #m4-tablet-header,
body#checkout #m4-tablet-header {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}
#m4-tablet-header > * {
  visibility: visible !important;
  opacity: 1 !important;
}
/* Si un autre element fixed-top couvre la barre, on l'ignore dans notre contexte */
body.checkout-minimize .m4-topbar-unified,
body#cart .m4-topbar-unified {
  display: none !important;
}

/* ============================================================
   FIX TEXT TRANSPARENT dans tablet-header (24/04/2026)
   Le theme a -webkit-text-fill-color:transparent + gradient sur
   .price, h1-h4 etc., ce qui rend les textes invisibles.
   On force tout visible dans notre barre.
   ============================================================ */
#m4-tablet-header,
#m4-tablet-header *,
#m4-tablet-header span,
#m4-tablet-header button,
#m4-tablet-header a {
  -webkit-text-fill-color: initial !important;
  background-image: none !important;
  background-clip: unset !important;
  -webkit-background-clip: unset !important;
}
#m4-tablet-header span,
#m4-tablet-header button,
#m4-tablet-header a {
  color: #1f2937 !important;
  -webkit-text-fill-color: #1f2937 !important;
}
#m4-tablet-header #m4-th-cart,
#m4-tablet-header #m4-th-cart * {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
#m4-tablet-header #m4-th-cart {
  background: #EA8914 !important;
}
#m4-tablet-header #m4-th-cart-count {
  color: #EA8914 !important;
  -webkit-text-fill-color: #EA8914 !important;
  background: #fff !important;
}
#m4-tablet-header #m4-th-wish-count {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: #8FAF9A !important;
}
#m4-tablet-header svg {
  visibility: visible !important;
  opacity: 1 !important;
}

/* Force l'affichage des icones compte/favoris/panier sur desktop large >= 992px */
@media (min-width: 992px) {
  .m4-header-top-desktop,
  .header-right,
  .header-top .header-right,
  .header-top-wrapper,
  #_desktop_user_info,
  #_desktop_cart,
  .an_wishlist-nav-link,
  .user-info,
  .blockcart {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  .header-top.tablet-h,
  header#header > .header-top.tablet-h {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
  }
}

/* Force la taille du logo dans la tablet-header */
#m4-th-logo img {
  max-height: 110px !important;
  height: 110px !important;
  width: auto !important;
  min-height: 90px !important;
  object-fit: contain !important;
}
#m4-tablet-header {
  min-height: 120px !important;
  padding: 8px 16px !important;
}

/* Badge 'Forte demande' en vert sauge (au lieu du rouge OOS standard) */
.m4-stock-badge.m4-forte-demande {
  color: #10b981 !important;
  -webkit-text-fill-color: #10b981 !important;
  display: inline-flex !important;
  align-items: center !important;
  font-weight: 600 !important;
}
.m4-stock-badge.m4-forte-demande svg {
  color: #10b981 !important;
  stroke: #10b981 !important;
}

/* ============================================================
   Cache le qty +/- sur miniatures produits en rupture (24/04/2026)
   Seul le bouton EPUISE reste visible.
   ============================================================ */
.product-miniature:has(.add-to-cart[disabled]) .an_productattributes-qty-add,
.product-miniature:has(.add-to-cart[disabled]) .an_productattributes-qty-container,
.product-miniature:has(.add-to-cart.disabled) .an_productattributes-qty-add,
.product-miniature:has(.product-flag.out_of_stock) .an_productattributes-qty-add,
.product-miniature:has(.product-flag.out-of-stock) .an_productattributes-qty-add {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
}

/* Forte demande en VERT - regles renforcees (24/04/2026) */
.m4-stock-badge.m4-forte-demande,
.m4-stock-badge.m4-forte-demande *,
#product-availability .m4-forte-demande,
#product-availability .m4-forte-demande *,
.product-availability-message .m4-forte-demande,
.product-availability-message .m4-forte-demande * {
  color: #10b981 !important;
  -webkit-text-fill-color: #10b981 !important;
  background: none !important;
  background-image: none !important;
  background-clip: unset !important;
  -webkit-background-clip: unset !important;
  font-weight: 600 !important;
}
.m4-stock-badge.m4-forte-demande svg,
.m4-stock-badge.m4-forte-demande svg path,
.m4-forte-demande .m4-flame-icon,
.m4-forte-demande .m4-flame-icon path {
  color: #10b981 !important;
  stroke: #10b981 !important;
}

/* Cache qty +/- sur TOUS les formulaires ATC dont le bouton est disabled/rupture */
.an_productattributesForm:has(.add-to-cart[disabled]) .an_productattributes-qty-add,
.an_productattributesForm:has(.add-to-cart.disabled) .an_productattributes-qty-add,
.an_productattributesForm:has(button[disabled]) .an_productattributes-qty-add,
.an_productattributesForm:has(.an_productattributes-add-to-cart[disabled]) .an_productattributes-qty-add,
.an_productattributesForm:has(.product-flag.out_of_stock) .an_productattributes-qty-add,
form:has(.add-to-cart[disabled]) .an_productattributes-qty-add,
form:has(button.add-to-cart[disabled]) .an_productattributes-qty-container {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* ============================================================
   Cache qty sur la sticky add-to-cart en rupture (24/04/2026)
   ============================================================ */
.an_stickyAddToCart:has(.add-to-cart[disabled]) .an_stickyAddToCart-qty-container,
.an_stickyAddToCart:has(.add-to-cart.disabled) .an_stickyAddToCart-qty-container,
.an_stickyAddToCart:has(button[disabled]) .an_stickyAddToCart-qty-container,
.an_stickyAddToCart:has(button.disabled) .an_stickyAddToCart-qty-container,
.an_stickyAddToCart-content:has(.add-to-cart[disabled]) .an_stickyAddToCart-qty-container,
.an_stickyAddToCart-content:has(button[disabled]) .an_stickyAddToCart-qty-container {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Garantit que le bouton ÉPUISÉ reste visible sur toutes les pages */
.add-to-cart[disabled],
button.add-to-cart[disabled],
.an_productattributes-add-to-cart[disabled],
.an_stickyAddToCart-btnadd .add-to-cart[disabled],
.an_stickyAddToCart .add-to-cart[disabled] {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}
/* Le bloc add-to-cart container reste visible meme si son qty est cache */
.an_stickyAddToCart-btnadd,
.product-add-to-cart {
  display: flex !important;
  visibility: visible !important;
}

/* ============================================================
   Force visibilite du bouton ÉPUISÉ partout (24/04/2026)
   - m4-atc-btn + m4-atc-disabled : bouton custom des miniatures
   - an_stickyAddToCart-add + btnadd : bouton sticky
   - .add-to-cart[disabled] : bouton PS natif
   ============================================================ */
.m4-atc-btn,
.m4-atc-btn.m4-atc-disabled,
button.m4-atc-btn,
.an_stickyAddToCart-add,
.an_stickyAddToCart-btnadd,
.product-add-to-cart .add-to-cart,
.an_productattributes-add-to-cart,
button.add-to-cart[disabled] {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
/* Le texte Épuisé lui-meme ne doit jamais etre cache */
.m4-atc-btn span,
.m4-atc-disabled span,
.add-to-cart[disabled] span,
.an_productattributes-add-to-cart[disabled] span {
  display: inline !important;
  visibility: visible !important;
}

/* ============================================================
   AUDIT 25/04/2026 — Panier vide (mobile only)
   Fixe la disposition reassurance + recommandations sur mobile
   ============================================================ */
@media (max-width: 991px) {
  /* Panier vide : bloc reassurance dans la sidebar mini-cart */
  #js-cart-sidebar .cart-empty,
  #js-cart-sidebar .blockcart-modal__empty,
  .cart-detailed.cart-detailed-empty {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    padding: 24px 16px !important;
    gap: 16px !important;
  }
  #js-cart-sidebar .cart-empty .blockreassurance,
  #js-cart-sidebar .blockreassurance {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    width: 100% !important;
    margin-top: 16px !important;
  }
  #js-cart-sidebar .blockreassurance .block-icon,
  #js-cart-sidebar .blockreassurance .block-content {
    display: block !important;
    text-align: center !important;
  }
  #js-cart-sidebar .blockreassurance img,
  #js-cart-sidebar .blockreassurance .block-icon img {
    max-width: 36px !important;
    margin: 0 auto 6px !important;
  }
  #js-cart-sidebar .blockreassurance .block-title {
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    color: #222 !important;
  }
  /* Recommandations panier vide : grille 2x2 sur mobile */
  .cart-recommend,
  .m4-cart-empty-reco,
  #js-cart-sidebar .cart-empty .featured-products,
  .cart-grid .featured-products {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    margin-top: 20px !important;
  }
  .cart-recommend .product-miniature,
  .m4-cart-empty-reco .product-miniature,
  #js-cart-sidebar .cart-empty .product-miniature {
    width: 100% !important;
    margin: 0 !important;
  }
  /* Tabs sidebar mini-cart : compacter pour mobile */
  #js-cart-sidebar .m4-sidebar-tabs {
    padding: 8px 12px 0 !important;
    gap: 16px !important;
  }
  #js-cart-sidebar .m4-sidebar-tab {
    font-size: 13px !important;
    padding: 6px 0 !important;
  }
  /* Récemment vus : items compactés */
  #js-cart-sidebar .m4-recent-item {
    padding: 6px !important;
  }
  #js-cart-sidebar .m4-recent-item img {
    width: 44px !important;
    height: 44px !important;
    flex: 0 0 44px !important;
  }
}

/* Fix overflow illustration vape vs cigarette sur mobile */
.m4-vs-visual {
  overflow: hidden;
}
@media (max-width: 991px) {
  .m4-vs-visual svg {
    transform: scale(1) !important;
  }
}

/* Padding top supplementaire mobile pour que le fond couvre bien le haut */
@media (max-width: 991px) {
  .m4-vs-visual {
    padding-top: 40px !important;
    padding-bottom: 25px !important;
    overflow: hidden !important;
  }
}

/* FAQ homepage : cacher 4 items sur mobile (delais livraison / paiement / nocive / Europe) */
@media (max-width: 991px) {
  .m4-faq-mobile-hide { display: none !important; }
}

/* Footer accordeon mobile pour Notre societe / Support */
.m4-footer-section .m4-footer-chevron { display: none; }
.m4-footer-section .m4-footer-toggle { margin: 0; }
@media (max-width: 768px) {
  .m4-footer-section .m4-footer-chevron {
    display: inline-block;
    font-size: 22px;
    font-weight: 300;
    line-height: 1;
    transition: transform 0.25s ease;
    color: #8FAF9A;
  }
  .m4-footer-section.m4-open .m4-footer-chevron { transform: rotate(45deg); }
  .m4-footer-section .m4-footer-toggle {
    cursor: pointer;
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    user-select: none;
  }
  .m4-footer-section .m4-footer-content {
    max-height: 0;
    overflow: hidden;
    margin: 0;
    padding: 0;
    transition: max-height 0.3s ease;
  }
  .m4-footer-section.m4-open .m4-footer-content {
    max-height: 500px;
    margin-top: 8px;
  }
}

/* Footer accordeon : force display:none sur le content quand pas .m4-open (mobile) */
@media (max-width: 768px) {
  html body .m4-footer .m4-footer-section .m4-footer-content { display: none !important; }
  html body .m4-footer .m4-footer-section.m4-open .m4-footer-content { display: block !important; margin-top: 12px !important; }
  html body .m4-footer .m4-footer-section .m4-footer-chevron {
    display: inline-block !important;
    font-size: 14px !important;
    color: #8FAF9A !important;
    transition: transform 0.25s ease;
  }
  html body .m4-footer .m4-footer-section.m4-open .m4-footer-chevron { transform: rotate(180deg); }
  html body .m4-footer .m4-footer-section .m4-footer-toggle {
    cursor: pointer !important;
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0 !important;
    margin: 0 !important;
    border-bottom: 1px solid #2a2a2a;
  }
}

/* Reassurance compacte 2 colonnes sur mobile */
@media (max-width: 768px) {
  html body .m4-reassurance { padding: 30px 0 !important; }
  html body .m4-reassurance-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
    padding: 0 12px !important;
  }
  html body .m4-reassurance-card {
    padding: 18px 12px !important;
  }
  html body .m4-reassurance-icon {
    width: 44px !important;
    height: 44px !important;
    margin: 0 auto 10px !important;
  }
  html body .m4-reassurance-icon svg {
    width: 22px !important;
    height: 22px !important;
  }
  html body .m4-reassurance-card h3 {
    font-size: 14px !important;
    margin: 0 0 6px !important;
    line-height: 1.2 !important;
  }
  html body .m4-reassurance-card p,
  html body .m4-reassurance-card .m4-reassurance-cta {
    font-size: 11.5px !important;
    line-height: 1.35 !important;
  }
}

/* Page CMS Prix Imbattables : 2 colonnes paliers sur mobile */
@media (max-width: 768px) {
  html body .m4-prix-tiers {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
  html body .m4-prix-tier {
    padding: 16px 8px !important;
  }
  html body .m4-prix-tier-qty {
    font-size: 26px !important;
  }
  html body .m4-prix-tier-discount {
    font-size: 22px !important;
  }
  html body .m4-prix-tier-label {
    font-size: 12px !important;
  }
  html body .m4-prix-tier-badge {
    font-size: 10px !important;
    padding: 3px 8px !important;
  }
}

/* Mobile menu : retirer les saveurs E-Liquides (deja en filtres emoji sur la page categorie) */
@media (max-width: 991px) {
  #mobile_top_menu_wrapper li:has(a[href*="/35-sel-de-nicotine"]),
  #mobile_top_menu_wrapper li:has(a[href*="/36-classique"]),
  #mobile_top_menu_wrapper li:has(a[href*="/37-menthole"]),
  #mobile_top_menu_wrapper li:has(a[href*="/38-fruite"]),
  #mobile_top_menu_wrapper li:has(a[href*="/39-frais"]),
  #mobile_top_menu_wrapper li:has(a[href*="/40-gourmand"]),
  #mobile_top_menu_wrapper li:has(a[href*="/41-boisson"]),
  .amegamenu_mobile-modal li:has(a[href*="/35-sel-de-nicotine"]),
  .amegamenu_mobile-modal li:has(a[href*="/36-classique"]),
  .amegamenu_mobile-modal li:has(a[href*="/37-menthole"]),
  .amegamenu_mobile-modal li:has(a[href*="/38-fruite"]),
  .amegamenu_mobile-modal li:has(a[href*="/39-frais"]),
  .amegamenu_mobile-modal li:has(a[href*="/40-gourmand"]),
  .amegamenu_mobile-modal li:has(a[href*="/41-boisson"]) {
    display: none !important;
  }
}

/* FAQ homepage compacte sur mobile (questions + courtes en hauteur) */
@media (max-width: 768px) {
  html body .m4-faq-grid { gap: 6px !important; }
  html body .m4-faq-question {
    padding: 10px 14px !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    text-align: left !important;
    border-radius: 10px !important;
    gap: 8px !important;
  }
  html body .m4-faq-question span {
    text-align: left !important;
    line-height: 1.3 !important;
  }
  html body .m4-faq-answer p,
  html body .m4-faq-answer li {
    font-size: 12.5px !important;
    line-height: 1.4 !important;
  }
}

/* Fix scroll dans la modal QuickView mobile (full screen) */
@media (max-width: 767px) {
  html body .quickview .modal-dialog {
    max-height: 100vh !important;
    max-height: 100dvh !important;
    height: 100vh !important;
    height: 100dvh !important;
    overflow: hidden !important;
  }
  html body .quickview .modal-content {
    max-height: 100vh !important;
    max-height: 100dvh !important;
    height: 100% !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    overscroll-behavior-y: contain !important;
    touch-action: pan-y !important;
  }
  html body .quickview .modal-body {
    overflow: visible !important;
    height: auto !important;
  }
}

/* Fix bounce-back scroll dans QuickView mobile - full screen */
@media (max-width: 767px) {
  html body.modal-open .quickview {
    position: fixed !important;
    inset: 0 !important;
    overflow: hidden !important;
  }
  html body.modal-open .quickview .modal-dialog {
    position: absolute !important;
    inset: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: 100vh !important;
    max-height: 100dvh !important;
    height: 100vh !important;
    height: 100dvh !important;
    transform: none !important;
  }
  html body.modal-open .quickview .modal-content {
    position: absolute !important;
    inset: 0 !important;
    height: 100% !important;
    max-height: 100% !important;
    overflow-y: scroll !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    overscroll-behavior-y: contain !important;
    border-radius: 0 !important;
    background: #fff !important;
  }
  html body.modal-open .quickview .modal-body {
    overflow: visible !important;
    padding-bottom: 30px !important;
  }
}

/* QuickView : retirer accordeons Description/Details (laisser seulement le lien Voir la fiche complete) */
@media (max-width: 767px) {
  html body .quickview .m4-product-accordion,
  html body .quickview #product-infos-tabs,
  html body .quickview .product-tabs,
  html body .quickview .tabs,
  html body .quickview #tab-content {
    display: none !important;
  }
}

/* QuickView mobile : reduire taille image + purge accordeons (force) */
@media (max-width: 767px) {
  html body .quickview .m4-qv-slide img,
  html body .quickview .m4-qv-track img { max-height: 140px !important; }
  html body .quickview .m4-qv-img-wrap,
  html body .quickview .m4-qv-carousel { max-height: 160px !important; }
  /* Force hide any tabs / accordion-like in QV */
  html body .quickview .m4-product-accordion,
  html body .quickview .m4-product-accordion-toggle,
  html body .quickview .m4-product-accordion-body,
  html body .quickview #product-infos-tabs,
  html body .quickview .product-tabs,
  html body .quickview .tabs,
  html body .quickview #tab-content,
  html body .quickview .nav-tabs,
  html body .quickview .tab-content,
  html body .quickview .tab-pane {
    display: none !important;
    height: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
}

/* Reassurance mobile : police un peu plus grande */
@media (max-width: 768px) {
  html body .m4-reassurance-card h3 {
    font-size: 17px !important;
    line-height: 1.2 !important;
  }
  html body .m4-reassurance-card p,
  html body .m4-reassurance-card .m4-reassurance-cta {
    font-size: 13px !important;
    line-height: 1.4 !important;
  }
}
