/* Manga Stickers — thème enfant Classic pour PrestaShop 8.2.x */
:root {
  --ms-bg: #0b0b12;
  --ms-surface: #151522;
  --ms-surface-2: #1e1e2d;
  --ms-text: #f7f7fb;
  --ms-muted: #b9b9c7;
  --ms-red: #ff304f;
  --ms-yellow: #ffd43b;
  --ms-cyan: #39d9ff;
  --ms-border: rgba(255,255,255,.11);
  --ms-radius: 12px;
  --ms-shadow: 0 14px 36px rgba(0,0,0,.28);
}

/* Base */
html { scroll-behavior: smooth; }
body {
  background:
    radial-gradient(circle at 10% 0%, rgba(255,48,79,.08), transparent 28rem),
    radial-gradient(circle at 95% 10%, rgba(57,217,255,.07), transparent 25rem),
    #f4f4f7;
  color: #23232e;
  font-family: Arial, Helvetica, sans-serif;
}
a { transition: color .2s ease, background .2s ease, transform .2s ease, box-shadow .2s ease; }
#wrapper { background: transparent; box-shadow: none; }
.container { max-width: 1380px; }
.btn, button, input, select, textarea { border-radius: 8px; }
.btn-primary, .btn-primary:hover, .btn-primary:focus {
  color: #fff;
  background: linear-gradient(135deg, var(--ms-red), #c80032);
  border-color: transparent;
  box-shadow: 0 8px 18px rgba(255,48,79,.22);
}
.btn-primary:hover { transform: translateY(-1px); box-shadow: 0 11px 24px rgba(255,48,79,.30); }
.card, .block, .page-content, .product-information, .cart-grid-body .card, .cart-grid-right .card {
  border: 1px solid rgba(15,15,25,.08);
  border-radius: var(--ms-radius);
  box-shadow: 0 8px 24px rgba(12,12,24,.06);
}

/* Bandeau et en-tête */
#header { background: var(--ms-bg); color: var(--ms-text); box-shadow: 0 5px 20px rgba(0,0,0,.24); }
#header .header-nav {
  background: #08080d;
  border-bottom: 1px solid var(--ms-border);
  color: var(--ms-muted);
  min-height: 42px;
}
#header .header-nav a, #header .header-nav .material-icons { color: var(--ms-muted); }
#header .header-nav a:hover { color: var(--ms-yellow); }
#header .header-top { background: var(--ms-bg); padding: 18px 0 10px; }
#header .header-top a, #header .header-top .material-icons { color: var(--ms-text); }
#header .logo { max-height: 76px; width: auto; }
#header .header-top .position-static { display: flex; align-items: center; }
#search_widget form input {
  height: 48px;
  border: 2px solid transparent;
  background: #fff;
  color: #191922;
  border-radius: 10px;
  padding-left: 18px;
  box-shadow: 0 0 0 1px var(--ms-border);
}
#search_widget form input:focus { border-color: var(--ms-cyan); box-shadow: 0 0 0 4px rgba(57,217,255,.12); }
#search_widget form button { top: 10px; right: 9px; }
#_desktop_cart .blockcart {
  background: var(--ms-red);
  border-radius: 9px;
  min-height: 46px;
  display: flex;
  align-items: center;
}
#_desktop_cart .blockcart a, #_desktop_cart .blockcart .material-icons { color: #fff; }

/* Menu */
.top-menu { margin: 8px 0 0; }
.top-menu a[data-depth="0"] {
  color: #fff !important;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .035em;
  text-transform: uppercase;
  padding: 15px 17px;
  border-radius: 8px 8px 0 0;
}
.top-menu a[data-depth="0"]:hover { color: var(--ms-yellow) !important; background: rgba(255,255,255,.055); }
.top-menu .sub-menu {
  background: #fff;
  border: 0;
  border-top: 4px solid var(--ms-red);
  border-radius: 0 0 12px 12px;
  box-shadow: var(--ms-shadow);
}
.top-menu .sub-menu a { color: #242432 !important; }
.top-menu .sub-menu a:hover { color: var(--ms-red) !important; }

/* Accueil */
#carousel { border-radius: 0 0 18px 18px; overflow: hidden; box-shadow: var(--ms-shadow); }
#carousel .caption {
  left: 7%;
  bottom: 16%;
  max-width: 620px;
  background: rgba(7,7,13,.78);
  padding: 26px 30px;
  border-left: 6px solid var(--ms-red);
  border-radius: 12px;
  backdrop-filter: blur(6px);
}
#carousel .caption h2 { color: #fff; font-weight: 900; text-transform: uppercase; text-shadow: 2px 2px 0 #000; }
#carousel .caption-description { color: #efeff5; }
#custom-text {
  margin: 34px auto;
  padding: 34px;
  color: #fff;
  background:
    linear-gradient(120deg, rgba(255,48,79,.96), rgba(105,0,57,.95)),
    var(--ms-red);
  border-radius: 16px;
  box-shadow: var(--ms-shadow);
}
#custom-text h2 { color: #fff; font-size: clamp(25px, 3vw, 42px); font-weight: 900; text-transform: uppercase; }
#custom-text p { color: #fff; font-size: 17px; }
.featured-products .products-section-title, .product-accessories .products-section-title,
.block-category h1, #js-product-list-header h1, .page-header h1 {
  color: #14141e;
  font-weight: 900;
  letter-spacing: -.025em;
  text-transform: uppercase;
}
.featured-products .products-section-title::after, .product-accessories .products-section-title::after {
  content: "";
  display: block;
  width: 82px;
  height: 5px;
  margin: 11px auto 0;
  background: linear-gradient(90deg, var(--ms-red), var(--ms-yellow));
  border-radius: 5px;
}

/* Cartes produits */
.products { align-items: stretch; }
.product-miniature { margin-bottom: 24px; }
.product-miniature .thumbnail-container {
  height: 100%;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(0,0,0,.07);
  border-radius: 13px;
  box-shadow: 0 8px 22px rgba(12,12,24,.08);
}
.product-miniature .thumbnail-container:hover {
  transform: translateY(-5px);
  box-shadow: 0 18px 34px rgba(12,12,24,.15);
}
.product-miniature .product-thumbnail { overflow: hidden; background: #f1f1f4; }
.product-miniature .product-thumbnail img { transition: transform .35s ease; }
.product-miniature .thumbnail-container:hover .product-thumbnail img { transform: scale(1.045); }
.product-miniature .product-description { background: #fff; padding: 16px 13px 18px; }
.product-miniature .product-title a { color: #20202b; font-size: 15px; font-weight: 800; line-height: 1.35; }
.product-miniature .product-title a:hover { color: var(--ms-red); }
.product-miniature .product-price-and-shipping { color: var(--ms-red); font-size: 18px; font-weight: 900; }
.product-flags li.product-flag {
  background: var(--ms-red);
  border-radius: 0 7px 7px 0;
  box-shadow: none;
  font-weight: 900;
}
.product-flags li.product-flag.discount, .product-flags li.product-flag.on-sale { background: #151522; }
.highlighted-informations { border-radius: 10px 10px 0 0; }

/* Catégories et filtres */
.block-category {
  min-height: 0;
  margin-bottom: 24px;
  padding: 28px;
  background: linear-gradient(115deg, #11111b, #25253a);
  border: 0;
  border-left: 7px solid var(--ms-red);
  border-radius: 14px;
}
.block-category h1, .block-category .block-category-inner, .block-category .category-cover { color: #fff; }
.block-category .category-cover img { border-radius: 10px; }
#left-column .block, #search_filters {
  background: #fff;
  border-radius: 12px;
  padding: 18px;
  border: 1px solid rgba(0,0,0,.07);
}
#search_filters .facet .facet-title { color: #1c1c28; font-weight: 900; text-transform: uppercase; }
#search_filters .facet .facet-label a { color: #454553; }
#search_filters .facet .facet-label a:hover { color: var(--ms-red); }
.pagination .current a { background: var(--ms-red); color: #fff; border-radius: 6px; }

/* Fiche produit */
.product-cover img { border-radius: 14px; box-shadow: 0 10px 30px rgba(0,0,0,.12); }
.product-images > li.thumb-container > .thumb { border-radius: 9px; }
.product-images > li.thumb-container > .thumb.selected, .product-images > li.thumb-container > .thumb:hover {
  border: 3px solid var(--ms-red);
}
h1.h1.product-detail-name { color: #171722; font-size: clamp(27px, 3vw, 43px); font-weight: 900; line-height: 1.08; }
.product-price { color: var(--ms-red); font-size: 32px; font-weight: 900; }
.product-discount .regular-price { color: #777; }
.product-variants > .product-variants-item { margin: 20px 0; }
.product-variants .control-label { color: #20202c; font-weight: 900; }
.product-variants-item select, .product-variants-item .form-control-select {
  min-height: 46px;
  border: 2px solid #dedee7;
  border-radius: 9px;
}
.product-add-to-cart .add-to-cart { min-height: 54px; padding: 0 27px; font-size: 16px; font-weight: 900; }
.tabs { border-radius: 13px; overflow: hidden; }
.tabs .nav-tabs { background: #151522; }
.tabs .nav-tabs .nav-link { color: #d7d7df; font-weight: 800; }
.tabs .nav-tabs .nav-link.active, .tabs .nav-tabs .nav-link:hover { color: var(--ms-yellow); border-bottom-color: var(--ms-yellow); }

/* Panier, commande, compte */
.cart-grid-body h1, .cart-grid-right h1, #checkout h1, #my-account h1, .page-header h1 { font-weight: 900; text-transform: uppercase; }
.cart-summary-line .value { font-weight: 800; }
.checkout-step {
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 15px;
  border: 1px solid rgba(0,0,0,.08);
}
.checkout-step .step-title { font-weight: 900; }
.checkout-step.-current .step-title { color: var(--ms-red); }
.page-my-account #content .links a span.link-item {
  border-radius: 12px;
  box-shadow: 0 8px 22px rgba(0,0,0,.07);
}
.page-my-account #content .links a:hover span.link-item { background: #151522; color: #fff; transform: translateY(-3px); }

/* Formulaires */
.form-control, .input-group .form-control {
  min-height: 45px;
  border: 1px solid #d8d8e1;
  border-radius: 8px;
}
.form-control:focus {
  border-color: var(--ms-cyan);
  outline: 0;
  box-shadow: 0 0 0 4px rgba(57,217,255,.12);
}
.custom-checkbox input[type=checkbox] + span { border-radius: 4px; }

/* CMS / contact */
.page-cms .page-content, .contact-form { padding: clamp(20px, 4vw, 44px); }
.page-cms .page-content h1, .page-cms .page-content h2, .page-cms .page-content h3 { font-weight: 900; color: #191924; }

/* Footer */
#footer { margin-top: 50px; padding-top: 0; background: var(--ms-bg); color: var(--ms-muted); }
#footer .footer-container { background: var(--ms-bg); box-shadow: none; padding-top: 46px; }
#footer .footer-container h3, #footer .footer-container .h3, #footer .footer-container .h4 { color: #fff; font-weight: 900; text-transform: uppercase; }
#footer a { color: var(--ms-muted); }
#footer a:hover { color: var(--ms-yellow); }
#footer .block_newsletter { background: linear-gradient(110deg, #ff304f, #9d002c); color: #fff; padding: 28px; border-radius: 14px; }
#footer .block_newsletter p, #footer .block_newsletter label { color: #fff; }
#footer .block_newsletter form input[type=email] { border-radius: 8px 0 0 8px; }
#footer .block_newsletter form input[type=submit] { background: #151522; border-radius: 0 8px 8px 0; }

/* Mobile */
@media (max-width: 991px) {
  #header .header-top { padding: 10px 0; }
  #header .header-top .position-static { display: block; }
  #header .logo { max-height: 58px; }
  #carousel { border-radius: 0; }
  #carousel .caption { left: 5%; right: 5%; bottom: 8%; padding: 15px; }
  #carousel .caption h2 { font-size: 22px; }
  .product-miniature .thumbnail-container { margin: 0 auto; }
}
@media (max-width: 767px) {
  body { font-size: 15px; }
  #header .header-nav { background: #09090f; }
  #header .header-nav .top-logo a img { max-height: 48px; }
  #mobile_top_menu_wrapper { background: #11111b; }
  #mobile_top_menu_wrapper .top-menu a { color: #fff; }
  #mobile_top_menu_wrapper .top-menu .sub-menu a { color: #222 !important; }
  .block-category { padding: 20px; }
  h1.h1.product-detail-name { margin-top: 18px; }
  .product-price { font-size: 27px; }
  #custom-text { margin: 20px 10px; padding: 24px 18px; }
}

/* Accessibilité */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid var(--ms-cyan);
  outline-offset: 3px;
}


/* =========================================================
   CORRECTIONS DE LISIBILITÉ — v1.0.2
   ========================================================= */

/* Bandeau de catégorie : texte toujours lisible */
.block-category,
.block-category *,
.block-category h1,
.block-category .h1,
.block-category h2,
.block-category h3,
.block-category p,
.block-category a,
.block-category .block-category-inner,
.block-category #category-description,
.block-category #category-description p,
.block-category .category-description,
.block-category .category-description p {
  color: #ffffff !important;
}

.block-category h1,
.block-category .h1 {
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: 0 2px 6px rgba(0,0,0,.65);
}

.block-category #category-description,
.block-category #category-description p,
.block-category .category-description,
.block-category .category-description p {
  color: #ececf3 !important;
  opacity: 1 !important;
}

.block-category a:hover {
  color: var(--ms-yellow) !important;
}

/* Image de catégorie mieux intégrée */
.block-category .category-cover img {
  max-height: 180px;
  width: auto;
  object-fit: contain;
  background: transparent;
}

/* Sous-catégories : titres et cartes visibles */
#subcategories {
  background: #ffffff;
  border-radius: 14px;
  padding: 24px;
  border: 1px solid rgba(0,0,0,.07);
  box-shadow: 0 8px 24px rgba(12,12,24,.06);
}

#subcategories .subcategory-heading,
#subcategories h2,
#subcategories .subcategory-name {
  color: #171722 !important;
}

#subcategories ul li .subcategory-image a {
  border: 1px solid #e2e2ea;
  border-radius: 10px;
  overflow: hidden;
  background: #f7f7fa;
}

#subcategories ul li .subcategory-name {
  font-weight: 900;
}

#subcategories ul li .subcategory-name:hover {
  color: var(--ms-red) !important;
}

/* Liens et textes du listing */
#js-product-list-header,
#js-product-list-header *,
.products-selection,
.products-selection *,
.total-products,
.total-products p {
  color: #252532;
}

/* Fil d'Ariane */
.breadcrumb,
.breadcrumb a,
.breadcrumb li,
.breadcrumb li::after {
  color: #444452;
}

.breadcrumb a:hover {
  color: var(--ms-red);
}

/* Correction de certains textes trop sombres hérités du thème parent */
.page-content,
.page-content p,
.page-content li,
.product-description,
.product-description p,
.product-information,
.product-information p,
.tabs .tab-content,
.tabs .tab-content p {
  color: #2a2a36;
}

/* Le fond de bandeau reste sombre mais avec meilleur contraste */
.block-category {
  background:
    linear-gradient(115deg, rgba(13,13,23,.98), rgba(36,36,57,.98)),
    #171722 !important;
  border-left: 7px solid var(--ms-red) !important;
}


/* =========================================================
   MANGA STICKERS PREMIUM V2 — NOUVEAU THÈME / NOUVEAUX ASSETS
   ========================================================= */

/* Bandeau supérieur */
#header .header-nav {
  min-height: 46px !important;
  background: #050509 !important;
  border-bottom: 1px solid rgba(255,255,255,.10) !important;
}

#header .header-nav .container {
  max-width: 1380px !important;
}

/* Vraie ligne principale */
#header .header-top {
  padding: 18px 0 16px !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(255,41,76,.14), transparent 340px),
    linear-gradient(135deg, #0a0a10, #171722) !important;
  border-bottom: 3px solid #ff294c !important;
}

#header .header-top > .container {
  max-width: 1380px !important;
}

/* On conserve la grille Bootstrap native du Classic, donc stabilité maximale */
#header .header-top .row {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  min-height: 88px !important;
}

/* Logo clairement séparé */
#_desktop_logo {
  position: relative !important;
  z-index: 20 !important;
  padding-right: 26px !important;
}

#_desktop_logo::after {
  content: "" !important;
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  bottom: 8px !important;
  width: 1px !important;
  background: linear-gradient(transparent, rgba(255,255,255,.22), transparent) !important;
}

#header .logo {
  display: block !important;
  width: auto !important;
  max-width: 220px !important;
  max-height: 86px !important;
  margin: 0 !important;
  padding: 7px 10px !important;
  object-fit: contain !important;
  background: rgba(255,255,255,.97) !important;
  border-radius: 14px !important;
  box-shadow:
    0 14px 30px rgba(0,0,0,.28),
    0 0 0 1px rgba(255,255,255,.10) !important;
}

/* Zone menu/recherche native */
#header .header-top .position-static {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  min-width: 0 !important;
}

/* Menu visible sous forme de vrais onglets */
#_desktop_top_menu {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

#_desktop_top_menu .top-menu {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  flex-wrap: wrap !important;
}

#_desktop_top_menu .top-menu > li {
  display: block !important;
  margin: 0 !important;
}

#_desktop_top_menu .top-menu a[data-depth="0"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 48px !important;
  padding: 0 19px !important;
  color: #fff !important;
  background: rgba(255,255,255,.055) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 13px !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}

#_desktop_top_menu .top-menu a[data-depth="0"]:hover,
#_desktop_top_menu .top-menu > li.current > a {
  color: #fff !important;
  background: linear-gradient(135deg, #ff294c, #b90035) !important;
  border-color: rgba(255,255,255,.22) !important;
  box-shadow: 0 10px 24px rgba(255,41,76,.30) !important;
  transform: translateY(-2px) !important;
}

/* Recherche plus nette */
#search_widget {
  flex: 0 0 330px !important;
  width: 330px !important;
  max-width: 330px !important;
  margin: 0 !important;
}

#search_widget form input {
  height: 50px !important;
  padding: 0 54px 0 18px !important;
  border: 0 !important;
  border-radius: 13px !important;
  background: #fff !important;
  color: #171721 !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.20) !important;
}

#search_widget form button {
  top: 6px !important;
  right: 6px !important;
  width: 38px !important;
  height: 38px !important;
  padding: 0 !important;
  border-radius: 9px !important;
  background: linear-gradient(135deg, #ff294c, #bd0035) !important;
}

/* Sous-menu : part sous l'onglet, jamais sur le logo */
#_desktop_top_menu .top-menu > li {
  position: relative !important;
}

#_desktop_top_menu .top-menu .sub-menu {
  top: calc(100% + 12px) !important;
  left: 0 !important;
  right: auto !important;
  min-width: 620px !important;
  padding: 15px !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.99) !important;
  box-shadow: 0 24px 54px rgba(0,0,0,.30) !important;
  z-index: 9999 !important;
}

#_desktop_top_menu .top-menu .sub-menu ul[data-depth="1"] {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(170px, 1fr)) !important;
  gap: 10px !important;
}

#_desktop_top_menu .top-menu .sub-menu a[data-depth="1"] {
  display: flex !important;
  align-items: center !important;
  min-height: 50px !important;
  padding: 11px 13px !important;
  color: #1c1c27 !important;
  background: #f5f5f8 !important;
  border: 1px solid #e8e8ef !important;
  border-radius: 11px !important;
  font-weight: 850 !important;
}

#_desktop_top_menu .top-menu .sub-menu a[data-depth="1"]::before {
  content: "✦" !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 28px !important;
  width: 28px !important;
  height: 28px !important;
  margin-right: 10px !important;
  color: #fff !important;
  background: linear-gradient(135deg, #ff294c, #9d002f) !important;
  border-radius: 50% !important;
}

#_desktop_top_menu .top-menu .sub-menu a[data-depth="1"]:hover {
  color: #ff294c !important;
  background: #fff !important;
  border-color: rgba(255,41,76,.35) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 20px rgba(0,0,0,.09) !important;
}

/* Panier et compte */
#_desktop_user_info a,
#_desktop_cart .blockcart {
  border-radius: 11px !important;
}

#_desktop_cart .blockcart {
  min-height: 42px !important;
  padding: 0 15px !important;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.11) !important;
}

/* Titre accueil plus premium */
.featured-products .products-section-title {
  font-size: 27px !important;
  letter-spacing: .015em !important;
}

/* Produits : cartes plus grandes et moins perdues */
.featured-products .products,
.product-accessories .products {
  justify-content: flex-start !important;
  gap: 24px !important;
}

.product-miniature {
  margin: 0 0 28px !important;
}

.product-miniature .thumbnail-container {
  width: 280px !important;
  min-height: 430px !important;
  border-radius: 17px !important;
  border: 1px solid rgba(20,20,30,.08) !important;
  box-shadow: 0 14px 30px rgba(15,15,28,.11) !important;
}

.product-miniature .product-thumbnail img {
  width: 100% !important;
  min-height: 270px !important;
  object-fit: cover !important;
}

.product-miniature .product-description {
  min-height: 142px !important;
  padding: 18px 16px 20px !important;
}

/* Colonne catégories plus moderne */
#left-column .block-categories {
  overflow: hidden !important;
  border: 1px solid rgba(16,16,28,.08) !important;
  border-radius: 15px !important;
  box-shadow: 0 12px 26px rgba(15,15,28,.08) !important;
}

#left-column .block-categories .block-title,
#left-column .block-categories .h6 {
  margin: -18px -18px 12px !important;
  padding: 16px 18px !important;
  color: #fff !important;
  background: linear-gradient(135deg, #11111a, #252538) !important;
  border-bottom: 3px solid #ff294c !important;
}

#left-column .block-categories .category-sub-menu li > a {
  display: flex !important;
  align-items: center !important;
  min-height: 42px !important;
  padding: 9px 12px !important;
  border-radius: 9px !important;
  font-weight: 750 !important;
}

#left-column .block-categories .category-sub-menu li > a:hover {
  color: #ff294c !important;
  background: #fff0f4 !important;
  transform: translateX(4px) !important;
}

/* Responsive */
@media (max-width: 1199px) {
  #search_widget {
    flex-basis: 270px !important;
    width: 270px !important;
    max-width: 270px !important;
  }

  #header .logo {
    max-width: 185px !important;
  }

  #_desktop_top_menu .top-menu a[data-depth="0"] {
    padding: 0 12px !important;
    font-size: 12px !important;
  }
}

@media (max-width: 991px) {
  #header .header-top .row {
    display: block !important;
    min-height: auto !important;
  }

  #_desktop_logo {
    max-width: none !important;
    padding-right: 0 !important;
    text-align: center !important;
  }

  #_desktop_logo::after {
    display: none !important;
  }

  #header .logo {
    margin: 0 auto 12px !important;
    max-width: 180px !important;
  }

  #header .header-top .position-static {
    display: block !important;
  }

  #search_widget {
    width: 100% !important;
    max-width: none !important;
    margin-top: 10px !important;
  }

  #_desktop_top_menu .top-menu .sub-menu {
    min-width: 0 !important;
    width: 100% !important;
  }

  #_desktop_top_menu .top-menu .sub-menu ul[data-depth="1"] {
    display: block !important;
  }
}


/* =========================================================
   CORRECTION RECTANGLE BLANC DU MENU — v2.0.1
   ========================================================= */

/* Le sous-menu est totalement caché par défaut */
#_desktop_top_menu .top-menu .sub-menu {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: auto !important;
  max-width: 760px !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}

/* Il apparaît uniquement au survol d'une entrée qui possède un sous-menu */
#_desktop_top_menu .top-menu > li:hover > .sub-menu,
#_desktop_top_menu .top-menu > li.sfHover > .sub-menu {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  min-width: 520px !important;
  padding: 15px !important;
  top: calc(100% + 10px) !important;
  left: 0 !important;
  right: auto !important;
  background: #ffffff !important;
  border-radius: 14px !important;
  box-shadow: 0 22px 50px rgba(0,0,0,.28) !important;
  overflow: visible !important;
}

/* Aucun bloc blanc résiduel sous le header */
#header .header-top .menu,
#header .header-top .top-menu,
#header .header-top .position-static,
#_desktop_top_menu {
  background: transparent !important;
}

/* Supprime toute hauteur forcée du conteneur menu */
#header .header-top .position-static,
#_desktop_top_menu,
#_desktop_top_menu .top-menu {
  min-height: 0 !important;
  height: auto !important;
}

/* Sécurité : un sous-menu vide ne s'affiche jamais */
#_desktop_top_menu .top-menu .sub-menu:empty {
  display: none !important;
}

/* Mobile */
@media (max-width: 991px) {
  #_desktop_top_menu .top-menu .sub-menu {
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    box-shadow: none !important;
  }
}


/* =========================================================
   V2.0.2 — SUPPRESSION DÉFINITIVE DU RECTANGLE BLANC
   Ne touche pas au logo ni au header.
   Les catégories restent cliquables, sans menu déroulant.
   ========================================================= */

/* Désactive totalement tous les sous-menus du menu principal */
#_desktop_top_menu .top-menu .sub-menu,
#_desktop_top_menu .top-menu li:hover > .sub-menu,
#_desktop_top_menu .top-menu li.sfHover > .sub-menu,
#_desktop_top_menu .top-menu li.current > .sub-menu {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 0 !important;
  max-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

/* Supprime tout fond ou hauteur résiduelle sous les boutons */
#_desktop_top_menu,
#_desktop_top_menu .top-menu,
#_desktop_top_menu .top-menu > li,
#header .header-top .position-static {
  background: transparent !important;
  min-height: 0 !important;
  height: auto !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

/* Évite qu'un pseudo-élément ou conteneur vide crée une bande */
#_desktop_top_menu::before,
#_desktop_top_menu::after,
#_desktop_top_menu .top-menu::before,
#_desktop_top_menu .top-menu::after {
  content: none !important;
  display: none !important;
}

/* Garde le header compact */
#header .header-top {
  padding-bottom: 16px !important;
}


/* =========================================================
   V2.0.3 — SUPPRESSION RÉELLE DU GRAND BLOC BLANC
   ========================================================= */

/* On garde uniquement le niveau principal avec les deux boutons */
#_desktop_top_menu > ul.top-menu[data-depth="0"],
#_desktop_top_menu > .top-menu[data-depth="0"] {
  display: flex !important;
  background: transparent !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Masque absolument tous les niveaux secondaires */
#_desktop_top_menu ul[data-depth="1"],
#_desktop_top_menu ul[data-depth="2"],
#_desktop_top_menu ul[data-depth="3"],
#_desktop_top_menu .js-sub-menu,
#_desktop_top_menu .sub-menu,
#_desktop_top_menu .popover,
#_desktop_top_menu .collapse,
#_desktop_top_menu li > div,
#_desktop_top_menu li > ul {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 0 !important;
  max-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
  pointer-events: none !important;
  position: absolute !important;
}

/* Empêche le conteneur du module de créer une bande blanche */
#_desktop_top_menu,
#_desktop_top_menu.menu,
#header .header-top .menu,
#header .header-top .position-static {
  background: transparent !important;
  height: auto !important;
  min-height: 0 !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
  box-shadow: none !important;
}

/* Aucun élément blanc vide ne doit rester sous les boutons */
#_desktop_top_menu > div:empty,
#_desktop_top_menu > ul:empty {
  display: none !important;
}


/* =========================================================
   V2.1.0 — MENU SANS SOUS-MENU, RECTANGLE IMPOSSIBLE
   ========================================================= */
#_desktop_top_menu {
  background: transparent !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}

#_desktop_top_menu > .top-menu {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: transparent !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
}

#_desktop_top_menu .sub-menu,
#_desktop_top_menu ul[data-depth]:not([data-depth="0"]),
#_desktop_top_menu .popover,
#_desktop_top_menu .js-sub-menu {
  display: none !important;
}

#header .header-top {
  padding-bottom: 16px !important;
}


/* V2.1.1 — bloc blanc vide détecté automatiquement */
#header .ms-empty-header-block {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 0 !important;
  max-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
}


/* =========================================================
   V2.1.4 — HEADER PLUS BAS + BOUTONS CLIQUABLES
   ========================================================= */

/* Réduit réellement la hauteur du header */
#header .header-top {
  padding-top: 6px !important;
  padding-bottom: 6px !important;
  min-height: 0 !important;
}

#header .header-top .row {
  min-height: 64px !important;
  height: auto !important;
  align-items: center !important;
}

/* Conserve la taille actuelle du logo */
#_desktop_logo {
  padding-right: 18px !important;
}

#header .logo {
  max-width: 220px !important;
  max-height: 82px !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
}

/* Boutons normaux et cliquables */
#_desktop_top_menu {
  background: transparent !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
}

#_desktop_top_menu .ms-simple-menu {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}

#_desktop_top_menu .ms-simple-menu > li {
  display: block !important;
  margin: 0 !important;
}

#_desktop_top_menu .ms-simple-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 0 17px !important;
  color: #ffffff !important;
  background: rgba(255,255,255,.055) !important;
  border: 1px solid rgba(255,255,255,.11) !important;
  border-radius: 11px !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: .035em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  cursor: pointer !important;
}

#_desktop_top_menu .ms-simple-link:hover,
#_desktop_top_menu .ms-simple-link:focus {
  color: #ffffff !important;
  background: linear-gradient(135deg, #ff294c, #bd0035) !important;
  border-color: rgba(255,255,255,.20) !important;
  box-shadow: 0 9px 22px rgba(255,41,76,.28) !important;
  transform: translateY(-1px) !important;
}

/* Aucun sous-menu ni rectangle blanc */
#_desktop_top_menu .sub-menu,
#_desktop_top_menu .js-sub-menu,
#_desktop_top_menu .popover,
#_desktop_top_menu ul[data-depth]:not([data-depth="0"]),
#_desktop_top_menu li > ul,
#_desktop_top_menu li > div {
  display: none !important;
}

/* Garde le correctif automatique du bloc blanc */
#header .ms-empty-header-block {
  display: none !important;
}

/* Recherche alignée avec le header plus bas */
#search_widget form input {
  height: 44px !important;
}

#search_widget form button {
  top: 3px !important;
  right: 3px !important;
}

@media (max-width: 991px) {
  #header .header-top .row {
    min-height: 0 !important;
  }

  #header .logo {
    max-width: 185px !important;
    max-height: 68px !important;
  }
}


/* =========================================================
   V2.1.5 — HEADER VRAIMENT PLUS BAS + SOUS-CATÉGORIES AU SURVOL
   ========================================================= */

/* Fixe une hauteur réelle et compacte au header principal */
#header .header-top {
  height: 86px !important;
  min-height: 86px !important;
  max-height: 86px !important;
  padding: 0 !important;
  overflow: visible !important;
}

#header .header-top > .container,
#header .header-top > .container > .row {
  height: 86px !important;
  min-height: 86px !important;
  max-height: 86px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  align-items: center !important;
  overflow: visible !important;
}

#header .header-top .position-static {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  align-items: center !important;
  overflow: visible !important;
}

/* Garde le logo à sa taille actuelle, mais le centre dans le header réduit */
#_desktop_logo {
  height: 86px !important;
  min-height: 86px !important;
  display: flex !important;
  align-items: center !important;
}

#header .logo {
  max-width: 220px !important;
  max-height: 74px !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
}

/* Menu principal */
#_desktop_top_menu {
  position: relative !important;
  z-index: 1000 !important;
  overflow: visible !important;
  background: transparent !important;
  height: auto !important;
  min-height: 0 !important;
}

#_desktop_top_menu .ms-main-menu {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}

#_desktop_top_menu .ms-main-item {
  position: relative !important;
  display: block !important;
  margin: 0 !important;
}

#_desktop_top_menu .ms-main-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  min-height: 42px !important;
  padding: 0 17px !important;
  color: #fff !important;
  background: rgba(255,255,255,.055) !important;
  border: 1px solid rgba(255,255,255,.11) !important;
  border-radius: 11px !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

#_desktop_top_menu .ms-main-link:hover {
  background: linear-gradient(135deg, #ff294c, #bd0035) !important;
  box-shadow: 0 9px 22px rgba(255,41,76,.28) !important;
  transform: translateY(-1px) !important;
}

#_desktop_top_menu .ms-main-arrow {
  font-size: 15px !important;
  line-height: 1 !important;
}

/* Petit menu compact de sous-catégories, seulement au survol */
#_desktop_top_menu .ms-hover-subcategories {
  display: none !important;
  position: absolute !important;
  top: calc(100% + 8px) !important;
  left: 0 !important;
  z-index: 9999 !important;
  width: 235px !important;
  min-width: 235px !important;
  max-width: 280px !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 9px !important;
  margin: 0 !important;
  background: #fff !important;
  border: 1px solid rgba(20,20,30,.10) !important;
  border-radius: 12px !important;
  box-shadow: 0 18px 38px rgba(0,0,0,.24) !important;
  overflow: visible !important;
}

#_desktop_top_menu .ms-main-item:hover > .ms-hover-subcategories,
#_desktop_top_menu .ms-main-item:focus-within > .ms-hover-subcategories {
  display: block !important;
}

#_desktop_top_menu .ms-hover-subcategories li {
  display: block !important;
  width: 100% !important;
  margin: 0 0 5px !important;
}

#_desktop_top_menu .ms-hover-subcategories li:last-child {
  margin-bottom: 0 !important;
}

#_desktop_top_menu .ms-hover-subcategories a {
  display: block !important;
  width: 100% !important;
  padding: 10px 12px !important;
  color: #1c1c27 !important;
  background: #f5f5f8 !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

#_desktop_top_menu .ms-hover-subcategories a:hover {
  color: #ff294c !important;
  background: #fff0f4 !important;
}

/* Neutralise uniquement les anciens sous-menus Classic */
#_desktop_top_menu .sub-menu,
#_desktop_top_menu .js-sub-menu,
#_desktop_top_menu .popover {
  display: none !important;
}

/* Recherche alignée dans le header compact */
#search_widget form input {
  height: 44px !important;
}

#search_widget form button {
  top: 3px !important;
  right: 3px !important;
}

/* Le correctif du bloc blanc reste actif */
#header .ms-empty-header-block {
  display: none !important;
}

@media (max-width: 991px) {
  #header .header-top,
  #header .header-top > .container,
  #header .header-top > .container > .row {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }
}


/* =========================================================
   V2.1.7 — BANDE BLANCHE SUPPRIMÉE + BOUTONS SANS SYMBOLE
   ========================================================= */

/* Aucun symbole ajouté dans les boutons */
#_desktop_top_menu .ms-main-arrow,
#_desktop_top_menu .ms-main-link::after,
#_desktop_top_menu .ms-main-link::before {
  content: none !important;
  display: none !important;
}

/* Suppression totale de l'espace entre le header et le slider */
body#index #header {
  margin-bottom: 0 !important;
}

body#index #wrapper {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

body#index #wrapper > .container,
body#index #wrapper .container,
body#index #content-wrapper,
body#index #content,
body#index #main,
body#index #main .page-content,
body#index .hook-display-home,
body#index #content > section:first-child,
body#index #main > section:first-child {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Le slider commence immédiatement sous le header */
body#index #carousel,
body#index .carousel,
body#index .carousel.slide,
body#index .carousel-inner,
body#index .homeslider-container,
body#index .homeslider {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Neutralise les espacements verticaux du thème Classic autour du hook accueil */
body#index .page-home,
body#index .page-home > div:first-child,
body#index #content-hook_order-confirmation,
body#index [id^="displayHome"] {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Sécurité visuelle : remonte précisément le premier grand bloc du contenu */
body#index #wrapper {
  transform: translateY(0) !important;
}

/* Si un module ajoute encore un espace vide avant le carousel, on le retire */
body#index #content > *:first-child:not(#carousel),
body#index #main > *:first-child:not(#carousel) {
  margin-top: 0 !important;
}

/* Header compact conservé */
#header .header-top,
#header .header-top > .container,
#header .header-top > .container > .row {
  height: 86px !important;
  min-height: 86px !important;
  max-height: 86px !important;
}

/* Sous-catégories compactes au survol */
#_desktop_top_menu .ms-main-item:hover > .ms-hover-subcategories,
#_desktop_top_menu .ms-main-item:focus-within > .ms-hover-subcategories {
  display: block !important;
}


/* V2.1.8 — suppression dynamique de la bande blanche */
body#index #carousel {
  transition: none !important;
}

body#index.ms-gap-fixed #wrapper,
body#index.ms-gap-fixed #content-wrapper,
body#index.ms-gap-fixed #content,
body#index.ms-gap-fixed #main {
  padding-top: 0 !important;
  margin-top: 0 !important;
}


/* =========================================================
   V2.1.9 — CORRECTION IDENTIFIÉE AVEC DEVTOOLS
   La bande blanche était #mobile_top_menu_wrapper.
   ========================================================= */

/* Sur ordinateur : le conteneur du menu mobile ne doit occuper aucun espace */
@media (min-width: 768px) {
  #header #mobile_top_menu_wrapper,
  #header div#mobile_top_menu_wrapper.row.hidden-md-up {
    display: none !important;
    visibility: hidden !important;
    position: absolute !important;
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 0 !important;
    max-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }

  /* La hauteur de 86 px ne s'applique qu'à la vraie ligne du header */
  #header .header-top > .container > .row:not(#mobile_top_menu_wrapper) {
    height: 86px !important;
    min-height: 86px !important;
    max-height: 86px !important;
  }
}

/* Sur mobile : le menu mobile garde son fonctionnement normal */
@media (max-width: 767px) {
  #header #mobile_top_menu_wrapper {
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 15px !important;
    margin: 0 0 15px !important;
    position: static !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
}


/* =========================================================
   V2.2.0 — GRANDES CARTES DE SOUS-CATÉGORIES
   + SOUS-MENUS AUTOMATIQUES AU SURVOL
   ========================================================= */

/* Cartes de sous-catégories sur les pages de catégorie */
#subcategories {
  display: block !important;
  margin: 24px 0 30px !important;
  padding: 26px !important;
  background: #fff !important;
  border: 1px solid rgba(18,18,30,.08) !important;
  border-radius: 16px !important;
  box-shadow: 0 12px 30px rgba(18,18,30,.08) !important;
}

#subcategories .subcategory-heading,
#subcategories h2 {
  margin: 0 0 20px !important;
  color: #181824 !important;
  font-size: 24px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

#subcategories ul {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(220px, 1fr)) !important;
  gap: 20px !important;
  margin: 0 !important;
}

#subcategories ul li {
  width: auto !important;
  margin: 0 !important;
  text-align: center !important;
}

#subcategories ul li .subcategory-image {
  width: 100% !important;
  margin: 0 0 12px !important;
}

#subcategories ul li .subcategory-image a {
  display: block !important;
  width: 100% !important;
  height: 175px !important;
  min-height: 175px !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #f3f3f7 !important;
  border: 1px solid #e4e4ec !important;
  border-radius: 14px !important;
  box-shadow: 0 10px 24px rgba(18,18,30,.09) !important;
}

#subcategories ul li .subcategory-image img {
  display: block !important;
  width: 100% !important;
  height: 175px !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center !important;
  transition: transform .3s ease !important;
}

#subcategories ul li:hover .subcategory-image img {
  transform: scale(1.05) !important;
}

#subcategories ul li .subcategory-name {
  display: inline-block !important;
  color: #1c1c28 !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

#subcategories ul li .subcategory-name:hover {
  color: #ff294c !important;
}

/* Sous-menu compact chargé automatiquement au survol */
#_desktop_top_menu .ms-main-item {
  position: relative !important;
}

#_desktop_top_menu .ms-hover-subcategories {
  display: none !important;
  position: absolute !important;
  top: calc(100% + 8px) !important;
  left: 0 !important;
  z-index: 99999 !important;
  width: 255px !important;
  min-width: 255px !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 9px !important;
  margin: 0 !important;
  background: #fff !important;
  border: 1px solid rgba(20,20,30,.10) !important;
  border-radius: 12px !important;
  box-shadow: 0 18px 40px rgba(0,0,0,.25) !important;
}

#_desktop_top_menu .ms-main-item:hover > .ms-hover-subcategories:not(:empty),
#_desktop_top_menu .ms-main-item:focus-within > .ms-hover-subcategories:not(:empty) {
  display: block !important;
}

#_desktop_top_menu .ms-hover-subcategories li {
  display: block !important;
  width: 100% !important;
  margin: 0 0 5px !important;
}

#_desktop_top_menu .ms-hover-subcategories li:last-child {
  margin-bottom: 0 !important;
}

#_desktop_top_menu .ms-hover-subcategories a {
  display: block !important;
  width: 100% !important;
  padding: 10px 12px !important;
  color: #1c1c27 !important;
  background: #f5f5f8 !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

#_desktop_top_menu .ms-hover-subcategories a:hover {
  color: #ff294c !important;
  background: #fff0f4 !important;
}

@media (max-width: 1199px) {
  #subcategories ul {
    grid-template-columns: repeat(2, minmax(200px, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  #subcategories ul {
    grid-template-columns: 1fr !important;
  }
}


/* =========================================================
   V2.2.1 — SOUS-CATÉGORIES COMPACTES
   + GRANDE IMAGE DE CATÉGORIE
   + MENU AU SURVOL FIABLE
   ========================================================= */

/* Bandeau de catégorie : image beaucoup plus grande */
.block-category {
  min-height: 230px !important;
  padding: 24px 28px !important;
}

.block-category .block-category-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 28px !important;
  min-height: 180px !important;
}

.block-category .block-category-inner > div:first-child {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.block-category .category-cover {
  position: static !important;
  flex: 0 0 340px !important;
  width: 340px !important;
  max-width: 340px !important;
  height: 180px !important;
  margin: 0 !important;
}

.block-category .category-cover img {
  display: block !important;
  width: 340px !important;
  max-width: 340px !important;
  height: 180px !important;
  max-height: 180px !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 26px rgba(0,0,0,.28) !important;
}

/* Bloc sous-catégories beaucoup plus petit */
#subcategories {
  margin: 14px 0 20px !important;
  padding: 14px 16px !important;
  border-radius: 12px !important;
}

#subcategories .subcategory-heading,
#subcategories h2 {
  margin: 0 0 12px !important;
  font-size: 18px !important;
  line-height: 1.1 !important;
}

#subcategories ul {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  gap: 12px !important;
}

#subcategories ul li {
  flex: 0 0 180px !important;
  width: 180px !important;
  max-width: 180px !important;
}

#subcategories ul li .subcategory-image {
  margin: 0 0 7px !important;
}

#subcategories ul li .subcategory-image a {
  width: 180px !important;
  height: 105px !important;
  min-height: 105px !important;
  border-radius: 9px !important;
}

#subcategories ul li .subcategory-image img {
  width: 180px !important;
  height: 105px !important;
  max-width: 180px !important;
  object-fit: cover !important;
}

#subcategories ul li .subcategory-name {
  font-size: 13px !important;
  line-height: 1.2 !important;
}

/* Sous-menu visible au survol dès qu'il contient des liens */
#_desktop_top_menu .ms-hover-subcategories {
  display: none !important;
}

#_desktop_top_menu .ms-main-item.ms-has-subcategories:hover > .ms-hover-subcategories,
#_desktop_top_menu .ms-main-item.ms-has-subcategories:focus-within > .ms-hover-subcategories {
  display: block !important;
}

/* Indicateur de chargement discret */
#_desktop_top_menu .ms-hover-subcategories.ms-loading::before {
  content: "Chargement..." !important;
  display: block !important;
  padding: 9px 11px !important;
  color: #666 !important;
  font-size: 12px !important;
}

@media (max-width: 1199px) {
  .block-category .category-cover {
    flex-basis: 280px !important;
    width: 280px !important;
    max-width: 280px !important;
  }

  .block-category .category-cover img {
    width: 280px !important;
    max-width: 280px !important;
  }
}

@media (max-width: 767px) {
  .block-category .block-category-inner {
    display: block !important;
  }

  .block-category .category-cover,
  .block-category .category-cover img {
    width: 100% !important;
    max-width: 100% !important;
    height: 150px !important;
    margin-top: 16px !important;
  }

  #subcategories ul li {
    flex-basis: calc(50% - 6px) !important;
    width: calc(50% - 6px) !important;
    max-width: none !important;
  }

  #subcategories ul li .subcategory-image a,
  #subcategories ul li .subcategory-image img {
    width: 100% !important;
  }
}


/* =========================================================
   V2.2.2 — PAGE CATÉGORIE ULTRA COMPACTE
   ========================================================= */

/* Bandeau Plaques Manga beaucoup plus bas */
.block-category {
  min-height: 135px !important;
  height: 135px !important;
  padding: 14px 18px !important;
  overflow: hidden !important;
}

.block-category .block-category-inner {
  min-height: 107px !important;
  height: 107px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
}

.block-category .block-category-inner > div:first-child {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.block-category h1,
.block-category .h1 {
  margin: 0 0 8px !important;
  font-size: 29px !important;
  line-height: 1 !important;
}

.block-category #category-description,
.block-category #category-description p {
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
}

/* Image plus grande dans un bandeau plus petit */
.block-category .category-cover {
  position: static !important;
  flex: 0 0 430px !important;
  width: 430px !important;
  max-width: 430px !important;
  height: 108px !important;
  margin: 0 !important;
}

.block-category .category-cover img {
  display: block !important;
  width: 430px !important;
  max-width: 430px !important;
  height: 108px !important;
  max-height: 108px !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 9px !important;
  box-shadow: 0 7px 18px rgba(0,0,0,.25) !important;
  image-rendering: auto !important;
}

/* Bloc sous-catégories réduit au minimum */
#subcategories {
  margin: 10px 0 14px !important;
  padding: 10px 12px !important;
  min-height: 0 !important;
  border-radius: 10px !important;
}

#subcategories .subcategory-heading,
#subcategories h2 {
  margin: 0 0 8px !important;
  font-size: 15px !important;
  line-height: 1 !important;
}

#subcategories ul {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  gap: 10px !important;
  margin: 0 !important;
}

#subcategories ul li {
  flex: 0 0 120px !important;
  width: 120px !important;
  max-width: 120px !important;
  margin: 0 !important;
}

#subcategories ul li .subcategory-image {
  margin: 0 0 5px !important;
}

#subcategories ul li .subcategory-image a {
  display: block !important;
  width: 120px !important;
  height: 66px !important;
  min-height: 66px !important;
  border-radius: 7px !important;
  overflow: hidden !important;
}

#subcategories ul li .subcategory-image img {
  display: block !important;
  width: 120px !important;
  height: 66px !important;
  max-width: 120px !important;
  object-fit: cover !important;
  object-position: center !important;
}

#subcategories ul li .subcategory-name {
  font-size: 11px !important;
  line-height: 1.1 !important;
  white-space: normal !important;
}

/* Remonte immédiatement la liste produits */
#js-product-list-top {
  margin-top: 6px !important;
}

@media (max-width: 1199px) {
  .block-category .category-cover {
    flex-basis: 340px !important;
    width: 340px !important;
    max-width: 340px !important;
  }

  .block-category .category-cover img {
    width: 340px !important;
    max-width: 340px !important;
  }
}

@media (max-width: 767px) {
  .block-category {
    height: auto !important;
    min-height: 0 !important;
  }

  .block-category .block-category-inner {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .block-category .category-cover,
  .block-category .category-cover img {
    width: 100% !important;
    max-width: 100% !important;
    height: 120px !important;
    margin-top: 10px !important;
  }
}


/* =========================================================
   V2.2.3 — MENU NATIF PRESTASHOP RÉTABLI
   Sous-catégories visibles au survol comme dans Classic
   ========================================================= */

/* Menu principal */
#_desktop_top_menu {
  position: relative !important;
  z-index: 1000 !important;
  overflow: visible !important;
}

#_desktop_top_menu > #top-menu,
#_desktop_top_menu > .top-menu {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

#_desktop_top_menu > .top-menu > li {
  position: relative !important;
  display: block !important;
  margin: 0 !important;
}

#_desktop_top_menu > .top-menu > li > a[data-depth="0"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 0 17px !important;
  color: #fff !important;
  background: rgba(255,255,255,.055) !important;
  border: 1px solid rgba(255,255,255,.11) !important;
  border-radius: 11px !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: .035em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

#_desktop_top_menu > .top-menu > li > a[data-depth="0"]:hover,
#_desktop_top_menu > .top-menu > li.current > a[data-depth="0"] {
  color: #fff !important;
  background: linear-gradient(135deg, #ff294c, #bd0035) !important;
  border-color: rgba(255,255,255,.20) !important;
  box-shadow: 0 9px 22px rgba(255,41,76,.28) !important;
  transform: translateY(-1px) !important;
}

/* Sous-menu natif : caché par défaut */
#_desktop_top_menu .sub-menu {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  position: absolute !important;
  top: calc(100% + 8px) !important;
  left: 0 !important;
  right: auto !important;
  z-index: 99999 !important;
  width: 245px !important;
  min-width: 245px !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 9px !important;
  margin: 0 !important;
  background: #fff !important;
  border: 1px solid rgba(20,20,30,.10) !important;
  border-radius: 12px !important;
  box-shadow: 0 18px 40px rgba(0,0,0,.25) !important;
  pointer-events: none !important;
  overflow: visible !important;
}

/* Affichage réel au survol, exactement comme demandé */
#_desktop_top_menu > .top-menu > li:hover > .sub-menu,
#_desktop_top_menu > .top-menu > li:focus-within > .sub-menu,
#_desktop_top_menu > .top-menu > li.sfHover > .sub-menu {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* Liste des sous-catégories */
#_desktop_top_menu .sub-menu .top-menu[data-depth="1"] {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

#_desktop_top_menu .sub-menu .top-menu[data-depth="1"] > li {
  display: block !important;
  width: 100% !important;
  margin: 0 0 5px !important;
}

#_desktop_top_menu .sub-menu .top-menu[data-depth="1"] > li:last-child {
  margin-bottom: 0 !important;
}

#_desktop_top_menu .sub-menu a[data-depth="1"] {
  display: block !important;
  width: 100% !important;
  padding: 10px 12px !important;
  color: #1c1c27 !important;
  background: #f5f5f8 !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

#_desktop_top_menu .sub-menu a[data-depth="1"]:hover {
  color: #ff294c !important;
  background: #fff0f4 !important;
}

/* Aucun grand méga-menu blanc */
#_desktop_top_menu .sub-menu .top-menu[data-depth="2"],
#_desktop_top_menu .sub-menu .top-menu[data-depth="3"] {
  display: none !important;
}

/* Mobile conserve le comportement natif */
@media (max-width: 767px) {
  #_desktop_top_menu .sub-menu {
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    box-shadow: none !important;
  }
}


/* =========================================================
   V2.2.4 — SUPPRESSION DE L'IMAGE FLOUE DE CATÉGORIE
   ========================================================= */

/* Masque totalement l'image de catégorie */
.block-category .category-cover,
.block-category .category-cover img,
.block-category img.category-cover {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Bandeau compact : uniquement titre + description */
.block-category {
  min-height: 0 !important;
  height: auto !important;
  padding: 18px 22px !important;
}

.block-category .block-category-inner {
  display: block !important;
  min-height: 0 !important;
  height: auto !important;
}

.block-category .block-category-inner > div:first-child {
  width: 100% !important;
  max-width: 100% !important;
}

.block-category h1,
.block-category .h1 {
  margin: 0 0 8px !important;
  font-size: 30px !important;
  line-height: 1.05 !important;
}

.block-category #category-description,
.block-category #category-description p,
.block-category .category-description,
.block-category .category-description p {
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
}

/* Resserre encore l'espace avant les sous-catégories */
#subcategories {
  margin-top: 8px !important;
}


/* V2.2.6 — correction unique du menu déroulant */
@media (min-width: 768px) {
  #header,
  #header .header-top,
  #header .header-top .container,
  #header .header-top .row,
  #header .header-top .position-static,
  #_desktop_top_menu,
  #_desktop_top_menu .top-menu,
  #_desktop_top_menu .top-menu > li {
    overflow: visible !important;
  }

  #_desktop_top_menu {
    position: relative !important;
    z-index: 10000 !important;
  }

  #_desktop_top_menu > .top-menu > li {
    position: relative !important;
  }

  #_desktop_top_menu > .top-menu > li > .sub-menu {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    top: calc(100% + 8px) !important;
    left: 0 !important;
    right: auto !important;
    z-index: 999999 !important;
    width: 245px !important;
    min-width: 245px !important;
    max-width: 245px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 9px !important;
    margin: 0 !important;
    background: #fff !important;
    border: 1px solid rgba(20,20,30,.12) !important;
    border-radius: 12px !important;
    box-shadow: 0 18px 40px rgba(0,0,0,.25) !important;
    overflow: visible !important;
  }

  #_desktop_top_menu > .top-menu > li:hover > .sub-menu,
  #_desktop_top_menu > .top-menu > li:focus-within > .sub-menu,
  #_desktop_top_menu > .top-menu > li.ms-menu-open > .sub-menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  #_desktop_top_menu .sub-menu > .top-menu[data-depth="1"] {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    overflow: visible !important;
  }

  #_desktop_top_menu .sub-menu > .top-menu[data-depth="1"] > li {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 0 5px !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  #_desktop_top_menu .sub-menu a[data-depth="1"] {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    width: 100% !important;
    min-height: 38px !important;
    padding: 10px 12px !important;
    color: #1c1c27 !important;
    background: #f5f5f8 !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    text-decoration: none !important;
  }

  #_desktop_top_menu .sub-menu a[data-depth="1"]:hover {
    color: #ff294c !important;
    background: #fff0f4 !important;
  }
}


/* =========================================================
   V2.2.7 — BLOC CUSTOM TEXT BEAUCOUP PLUS COMPACT
   ========================================================= */

#custom-text {
  margin: 20px auto !important;
  padding: 18px 24px !important;
  min-height: 0 !important;
  height: auto !important;
  border-radius: 12px !important;
}

#custom-text h1,
#custom-text h2,
#custom-text h3 {
  margin: 0 0 12px !important;
  font-size: 26px !important;
  line-height: 1.1 !important;
}

#custom-text p {
  margin: 0 0 8px !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

#custom-text p:last-child {
  margin-bottom: 0 !important;
  font-size: 13px !important;
}

#custom-text br {
  line-height: 1.2 !important;
}

@media (max-width: 767px) {
  #custom-text {
    margin: 14px 10px !important;
    padding: 16px 14px !important;
  }

  #custom-text h1,
  #custom-text h2,
  #custom-text h3 {
    font-size: 22px !important;
  }

  #custom-text p {
    font-size: 13px !important;
  }
}


/* =========================================================
   V2.2.8 — IMAGE ET BLOC TEXTE BEAUCOUP PLUS PETITS
   ========================================================= */

/* Image située au-dessus du bloc custom-text */
#custom-text {
  max-width: 760px !important;
  margin: 10px auto 16px !important;
  padding: 10px 16px !important;
  min-height: 0 !important;
  border-radius: 10px !important;
}

/* Réduit fortement l'image/module juste avant le custom text */
#custom-text + *,
#custom-text ~ * {
  /* ne touche pas aux modules suivants */
}

#custom-text h1,
#custom-text h2,
#custom-text .h1,
#custom-text .h2 {
  margin: 0 0 8px !important;
  font-size: 20px !important;
  line-height: 1.05 !important;
  font-weight: 900 !important;
}

#custom-text p {
  margin: 2px 0 !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
}

#custom-text p:last-child {
  margin-top: 7px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

/* Slider / grande image d'accueil beaucoup plus basse */
body#index #carousel,
body#index .carousel,
body#index .homeslider-container,
body#index .homeslider {
  max-height: 220px !important;
  height: 220px !important;
  min-height: 220px !important;
  overflow: hidden !important;
}

body#index #carousel .carousel-inner,
body#index .carousel .carousel-inner,
body#index .homeslider-container .carousel-inner,
body#index #carousel .carousel-item,
body#index .carousel .carousel-item,
body#index .homeslider-container .carousel-item {
  height: 220px !important;
  min-height: 220px !important;
  max-height: 220px !important;
}

body#index #carousel img,
body#index .carousel img,
body#index .homeslider-container img,
body#index .homeslider img {
  display: block !important;
  width: 100% !important;
  height: 220px !important;
  min-height: 220px !important;
  max-height: 220px !important;
  object-fit: cover !important;
  object-position: center center !important;
}

/* Réduit aussi l'espace autour */
body#index #carousel,
body#index .carousel,
body#index .homeslider-container {
  margin-bottom: 10px !important;
}

@media (max-width: 767px) {
  body#index #carousel,
  body#index .carousel,
  body#index .homeslider-container,
  body#index .homeslider,
  body#index #carousel .carousel-inner,
  body#index .carousel .carousel-inner,
  body#index .homeslider-container .carousel-inner,
  body#index #carousel .carousel-item,
  body#index .carousel .carousel-item,
  body#index .homeslider-container .carousel-item,
  body#index #carousel img,
  body#index .carousel img,
  body#index .homeslider-container img,
  body#index .homeslider img {
    height: 160px !important;
    min-height: 160px !important;
    max-height: 160px !important;
  }

  #custom-text {
    max-width: calc(100% - 20px) !important;
    padding: 10px 12px !important;
  }

  #custom-text h1,
  #custom-text h2,
  #custom-text .h1,
  #custom-text .h2 {
    font-size: 18px !important;
  }

  #custom-text p {
    font-size: 11px !important;
  }
}


/* =========================================================
   V2.2.9 — SLIDER PLEINE LARGEUR + BLOC BAS ENCORE PLUS PETIT
   ========================================================= */

/* Le slider remplit bien toute la largeur, sans zone blanche */
body#index #carousel,
body#index .carousel,
body#index .homeslider-container,
body#index .homeslider {
  width: 100% !important;
  max-width: 100% !important;
  height: 220px !important;
  min-height: 220px !important;
  max-height: 220px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  overflow: hidden !important;
  background: transparent !important;
}

body#index #carousel .carousel-inner,
body#index .carousel .carousel-inner,
body#index .homeslider-container .carousel-inner,
body#index .homeslider .carousel-inner {
  width: 100% !important;
  height: 220px !important;
  min-height: 220px !important;
  max-height: 220px !important;
  overflow: hidden !important;
}

body#index #carousel .carousel-item,
body#index #carousel .carousel-item.active,
body#index .carousel .carousel-item,
body#index .carousel .carousel-item.active,
body#index .homeslider-container .carousel-item,
body#index .homeslider-container .carousel-item.active {
  display: block !important;
  width: 100% !important;
  height: 220px !important;
  min-height: 220px !important;
  max-height: 220px !important;
  overflow: hidden !important;
}

body#index #carousel .carousel-item a,
body#index .carousel .carousel-item a,
body#index .homeslider-container .carousel-item a {
  display: block !important;
  width: 100% !important;
  height: 220px !important;
}

body#index #carousel img,
body#index .carousel img,
body#index .homeslider-container img,
body#index .homeslider img {
  display: block !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: none !important;
  height: 220px !important;
  min-height: 220px !important;
  max-height: 220px !important;
  object-fit: cover !important;
  object-position: center center !important;
  margin: 0 !important;
}

/* Bloc rose encore beaucoup plus petit */
#custom-text {
  max-width: 620px !important;
  margin: 8px auto 12px !important;
  padding: 8px 12px !important;
  min-height: 0 !important;
  border-radius: 8px !important;
}

#custom-text h1,
#custom-text h2,
#custom-text .h1,
#custom-text .h2 {
  margin: 0 0 5px !important;
  font-size: 16px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
}

#custom-text p {
  margin: 1px 0 !important;
  font-size: 10px !important;
  line-height: 1.15 !important;
}

#custom-text p:last-child {
  margin-top: 5px !important;
  font-size: 10px !important;
  font-weight: 800 !important;
}

/* Réduit l'image située juste avant le bloc rose si ce n'est pas le slider */
#custom-text {
  clear: both !important;
}

body#index #custom-text {
  margin-top: 8px !important;
}

/* Réduit fortement la grande image secondaire située juste avant le custom text */
body#index #content > *:has(+ #custom-text),
body#index #main > *:has(+ #custom-text),
body#index .page-home > *:has(+ #custom-text) {
  max-height: 140px !important;
  overflow: hidden !important;
  margin-bottom: 8px !important;
}

body#index #content > *:has(+ #custom-text) img,
body#index #main > *:has(+ #custom-text) img,
body#index .page-home > *:has(+ #custom-text) img {
  width: 100% !important;
  height: 140px !important;
  object-fit: cover !important;
  object-position: center center !important;
}

@media (max-width: 767px) {
  body#index #carousel,
  body#index .carousel,
  body#index .homeslider-container,
  body#index .homeslider,
  body#index #carousel .carousel-inner,
  body#index .carousel .carousel-inner,
  body#index .homeslider-container .carousel-inner,
  body#index #carousel .carousel-item,
  body#index .carousel .carousel-item,
  body#index #carousel .carousel-item a,
  body#index .carousel .carousel-item a,
  body#index #carousel img,
  body#index .carousel img,
  body#index .homeslider-container img,
  body#index .homeslider img {
    height: 160px !important;
    min-height: 160px !important;
    max-height: 160px !important;
  }

  #custom-text {
    max-width: calc(100% - 20px) !important;
    padding: 7px 10px !important;
  }

  #custom-text h1,
  #custom-text h2,
  #custom-text .h1,
  #custom-text .h2 {
    font-size: 15px !important;
  }

  #custom-text p {
    font-size: 9px !important;
  }
}


/* =========================================================
   V2.3.0 — SLIDER REMPLI RÉELLEMENT + TEXTE UN PEU PLUS GROS
   ========================================================= */

/* Tous les niveaux internes du slider occupent 100 % de la largeur */
body#index #carousel,
body#index #carousel .carousel-inner,
body#index #carousel .carousel-item,
body#index #carousel .carousel-item > a,
body#index #carousel .carousel-item figure,
body#index #carousel .carousel-item picture,
body#index .homeslider-container,
body#index .homeslider-container .carousel-inner,
body#index .homeslider-container .carousel-item,
body#index .homeslider-container .carousel-item > a,
body#index .homeslider-container figure,
body#index .homeslider-container picture {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Chaque diapositive est remplie par une image de fond générée par le JS */
body#index #carousel .carousel-item,
body#index .homeslider-container .carousel-item {
  height: 220px !important;
  min-height: 220px !important;
  max-height: 220px !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: cover !important;
  background-color: #111 !important;
  overflow: hidden !important;
}

/* L'image HTML reste disponible mais devient transparente :
   le fond couvre toujours toute la diapositive, quelle que soit sa taille native */
body#index #carousel .carousel-item.ms-slide-background-ready img,
body#index .homeslider-container .carousel-item.ms-slide-background-ready img {
  width: 100% !important;
  height: 220px !important;
  opacity: 0 !important;
  object-fit: cover !important;
}

/* Annule toute largeur imposée par le module sur figure/picture/li */
body#index #carousel .carousel-item > *,
body#index .homeslider-container .carousel-item > * {
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Texte du bloc rose légèrement plus grand, sans regrossir le bloc */
#custom-text {
  max-width: 650px !important;
  padding: 10px 14px !important;
}

#custom-text h1,
#custom-text h2,
#custom-text .h1,
#custom-text .h2 {
  font-size: 20px !important;
  line-height: 1.05 !important;
  margin-bottom: 7px !important;
}

#custom-text p {
  font-size: 12px !important;
  line-height: 1.25 !important;
  margin: 2px 0 !important;
}

#custom-text p:last-child {
  font-size: 12px !important;
  margin-top: 7px !important;
}

@media (max-width: 767px) {
  body#index #carousel .carousel-item,
  body#index .homeslider-container .carousel-item {
    height: 160px !important;
    min-height: 160px !important;
    max-height: 160px !important;
  }

  body#index #carousel .carousel-item.ms-slide-background-ready img,
  body#index .homeslider-container .carousel-item.ms-slide-background-ready img {
    height: 160px !important;
  }

  #custom-text h1,
  #custom-text h2,
  #custom-text .h1,
  #custom-text .h2 {
    font-size: 18px !important;
  }

  #custom-text p,
  #custom-text p:last-child {
    font-size: 11px !important;
  }
}


/* =========================================================
   V2.3.1 — IMAGE BAS +40 PX ET SOUS-MENU AU SURVOL
   ========================================================= */

/* Image secondaire juste avant le bloc rose : légèrement plus haute */
body#index #content > *:has(+ #custom-text),
body#index #main > *:has(+ #custom-text),
body#index .page-home > *:has(+ #custom-text) {
  max-height: 180px !important;
  overflow: hidden !important;
  margin-bottom: 8px !important;
}

body#index #content > *:has(+ #custom-text) img,
body#index #main > *:has(+ #custom-text) img,
body#index .page-home > *:has(+ #custom-text) img {
  width: 100% !important;
  height: 180px !important;
  object-fit: cover !important;
  object-position: center center !important;
}

/* Le menu doit pouvoir déborder du header */
@media (min-width: 768px) {
  #header,
  #header .header-top,
  #header .header-top > .container,
  #header .header-top > .container > .row,
  #header .header-top .position-static,
  #_desktop_top_menu,
  #_desktop_top_menu > .top-menu,
  #_desktop_top_menu > .top-menu > li {
    overflow: visible !important;
  }

  #_desktop_top_menu {
    position: relative !important;
    z-index: 100000 !important;
  }

  #_desktop_top_menu > .top-menu > li {
    position: relative !important;
  }

  /* Sous-menu natif complètement rétabli */
  #_desktop_top_menu > .top-menu > li > .sub-menu {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;

    position: absolute !important;
    top: calc(100% + 6px) !important;
    left: 0 !important;
    right: auto !important;
    z-index: 999999 !important;

    width: 250px !important;
    min-width: 250px !important;
    max-width: 250px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    padding: 9px !important;
    margin: 0 !important;
    border: 1px solid rgba(20,20,30,.12) !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 18px 40px rgba(0,0,0,.26) !important;
    overflow: visible !important;
  }

  #_desktop_top_menu > .top-menu > li:hover > .sub-menu,
  #_desktop_top_menu > .top-menu > li:focus-within > .sub-menu,
  #_desktop_top_menu > .top-menu > li.ms-menu-open > .sub-menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  #_desktop_top_menu .sub-menu > ul.top-menu[data-depth="1"] {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;

    width: 100% !important;
    min-width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    overflow: visible !important;
  }

  #_desktop_top_menu .sub-menu > ul.top-menu[data-depth="1"] > li {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;

    width: 100% !important;
    min-width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    margin: 0 0 5px !important;
    padding: 0 !important;
  }

  #_desktop_top_menu .sub-menu a[data-depth="1"] {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 38px !important;

    padding: 10px 12px !important;
    margin: 0 !important;
    color: #1c1c27 !important;
    background: #f5f5f8 !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    text-decoration: none !important;
  }

  #_desktop_top_menu .sub-menu a[data-depth="1"]:hover {
    color: #ff294c !important;
    background: #fff0f4 !important;
  }
}


/* =========================================================
   V2.3.2 — MENU DÉROULANT ISOLÉ DES ANCIENNES RÈGLES
   ========================================================= */

@media (min-width: 768px) {
  #header,
  #header .header-top,
  #header .header-top > .container,
  #header .header-top > .container > .row,
  #header .header-top .position-static,
  #_desktop_top_menu {
    overflow: visible !important;
  }

  #_desktop_top_menu {
    position: relative !important;
    z-index: 100000 !important;
    background: transparent !important;
  }

  #_desktop_top_menu > ul.msx-main-menu {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    gap: 10px !important;
    align-items: center !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    overflow: visible !important;
    list-style: none !important;
  }

  #_desktop_top_menu > ul.msx-main-menu > li.msx-main-item {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
  }

  #_desktop_top_menu a.msx-main-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 42px !important;
    padding: 0 17px !important;
    color: #fff !important;
    background: rgba(255,255,255,.055) !important;
    border: 1px solid rgba(255,255,255,.11) !important;
    border-radius: 11px !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    letter-spacing: .035em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    cursor: pointer !important;
  }

  #_desktop_top_menu a.msx-main-link:hover {
    color: #fff !important;
    background: linear-gradient(135deg, #ff294c, #bd0035) !important;
    box-shadow: 0 9px 22px rgba(255,41,76,.28) !important;
    transform: translateY(-1px) !important;
  }

  /* Dropdown unique — closed */
  #_desktop_top_menu li.msx-main-item > div.msx-dropdown {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    top: calc(100% + 6px) !important;
    left: 0 !important;
    right: auto !important;
    z-index: 9999999 !important;
    width: 250px !important;
    min-width: 250px !important;
    max-width: 250px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 9px !important;
    margin: 0 !important;
    background: #fff !important;
    border: 1px solid rgba(20,20,30,.12) !important;
    border-radius: 12px !important;
    box-shadow: 0 18px 40px rgba(0,0,0,.26) !important;
    overflow: visible !important;
  }

  /* Dropdown unique — open */
  #_desktop_top_menu li.msx-main-item:hover > div.msx-dropdown,
  #_desktop_top_menu li.msx-main-item:focus-within > div.msx-dropdown,
  #_desktop_top_menu li.msx-main-item.msx-open > div.msx-dropdown {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  #_desktop_top_menu div.msx-dropdown > ul.msx-dropdown-list {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    list-style: none !important;
    overflow: visible !important;
  }

  #_desktop_top_menu ul.msx-dropdown-list > li.msx-dropdown-item {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 0 !important;
    margin: 0 0 5px !important;
    overflow: visible !important;
  }

  #_desktop_top_menu a.msx-dropdown-link {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 38px !important;
    max-height: none !important;
    padding: 10px 12px !important;
    margin: 0 !important;
    color: #1c1c27 !important;
    background: #f5f5f8 !important;
    border: 0 !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    text-decoration: none !important;
    overflow: visible !important;
  }

  #_desktop_top_menu a.msx-dropdown-link:hover {
    color: #ff294c !important;
    background: #fff0f4 !important;
  }
}


/* =========================================================
   V2.3.3 — SOUS-MENU CLIQUABLE SANS COUPURE AU SURVOL
   ========================================================= */

@media (min-width: 768px) {
  /* Colle le sous-menu directement au bouton */
  #_desktop_top_menu li.msx-main-item > div.msx-dropdown {
    top: 100% !important;
    margin-top: 0 !important;
  }

  /* Zone invisible de liaison entre le bouton et le sous-menu */
  #_desktop_top_menu li.msx-main-item.msx-has-children::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    top: 100% !important;
    width: 250px !important;
    height: 12px !important;
    background: transparent !important;
    pointer-events: auto !important;
    z-index: 9999998 !important;
  }

  /* Maintient l'ouverture quand la souris est sur le sous-menu */
  #_desktop_top_menu li.msx-main-item:hover > div.msx-dropdown,
  #_desktop_top_menu li.msx-main-item:focus-within > div.msx-dropdown,
  #_desktop_top_menu li.msx-main-item.msx-open > div.msx-dropdown,
  #_desktop_top_menu li.msx-main-item > div.msx-dropdown:hover {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
}


/* =========================================================
   V2.3.4 — SOUS-MENU QUI RESTE OUVERT PLUS LONGTEMPS
   ========================================================= */

@media (min-width: 768px) {
  #_desktop_top_menu li.msx-main-item.msx-has-children::after {
    height: 20px !important;
  }

  #_desktop_top_menu li.msx-main-item > div.msx-dropdown {
    top: 100% !important;
  }
}


/* V2.3.6 — sous-menus plus compacts */
@media (min-width: 768px) {
  #_desktop_top_menu li.msx-main-item > div.msx-dropdown {
    width: 175px !important;
    min-width: 175px !important;
    max-width: 175px !important;
    padding: 6px !important;
    border-radius: 9px !important;
    left: 0 !important;
    right: auto !important;
  }

  #_desktop_top_menu li.msx-main-item.msx-has-children::after {
    width: 175px !important;
  }

  #_desktop_top_menu a.msx-dropdown-link {
    min-height: 32px !important;
    padding: 7px 9px !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    line-height: 1.15 !important;
    white-space: normal !important;
  }

  #_desktop_top_menu ul.msx-dropdown-list > li.msx-dropdown-item {
    margin-bottom: 4px !important;
  }
}


/* =========================================================
   V2.3.7 — LOUPE À DROITE DANS LA BARRE DE RECHERCHE
   ========================================================= */

#search_widget,
.search-widget {
  position: relative !important;
}

#search_widget form,
.search-widget form {
  position: relative !important;
}

#search_widget input[type="text"],
#search_widget input[type="search"],
.search-widget input[type="text"],
.search-widget input[type="search"] {
  padding-left: 16px !important;
  padding-right: 48px !important;
}

#search_widget button[type="submit"],
.search-widget button[type="submit"] {
  position: absolute !important;
  top: 50% !important;
  right: 10px !important;
  left: auto !important;
  transform: translateY(-50%) !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #6b6b75 !important;
  z-index: 3 !important;
}

#search_widget button[type="submit"] i,
#search_widget button[type="submit"] .material-icons,
.search-widget button[type="submit"] i,
.search-widget button[type="submit"] .material-icons {
  position: static !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  transform: none !important;
  margin: 0 !important;
  font-size: 21px !important;
  line-height: 1 !important;
}


/* =========================================================
   V2.3.8 — UNE SEULE LOUPE, À DROITE
   ========================================================= */

#search_widget form,
.search-widget form {
  position: relative !important;
}

/* Retire toutes les anciennes icônes de loupe à gauche */
#search_widget form::before,
#search_widget form::after,
.search-widget form::before,
.search-widget form::after,
#search_widget input::before,
#search_widget input::after,
.search-widget input::before,
.search-widget input::after {
  content: none !important;
  display: none !important;
}

#search_widget .search-icon,
#search_widget .material-icons,
#search_widget i,
.search-widget .search-icon,
.search-widget .material-icons,
.search-widget i {
  display: none !important;
}

/* Cache le bouton natif et ses icônes */
#search_widget button[type="submit"],
.search-widget button[type="submit"] {
  position: absolute !important;
  right: 0 !important;
  left: auto !important;
  top: 0 !important;
  width: 46px !important;
  height: 100% !important;
  opacity: 0 !important;
  z-index: 5 !important;
}

/* Champ sans icône à gauche, espace réservé à droite */
#search_widget input[type="text"],
#search_widget input[type="search"],
.search-widget input[type="text"],
.search-widget input[type="search"] {
  padding-left: 16px !important;
  padding-right: 48px !important;
  background-image: none !important;
  text-indent: 0 !important;
}

/* Nouvelle loupe unique à droite */
#search_widget form::after,
.search-widget form::after {
  content: "⌕" !important;
  display: flex !important;
  position: absolute !important;
  top: 50% !important;
  right: 15px !important;
  left: auto !important;
  transform: translateY(-50%) !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
  color: #6b6b75 !important;
  font-size: 24px !important;
  font-family: Arial, sans-serif !important;
  line-height: 1 !important;
  pointer-events: none !important;
  z-index: 4 !important;
}


/* =========================================================
   V3.0.0 — PAGE D'ACCUEIL MOBILE INDÉPENDANTE
   Le site ordinateur reste strictement inchangé.
   ========================================================= */

.msm300-mobile-home {
  display: none;
}

@media (max-width: 767px) {
  html,
  body,
  #page {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }

  /* Header mobile simple */
  #header .header-nav {
    height: 78px !important;
    min-height: 78px !important;
    max-height: 78px !important;
    padding: 0 !important;
  }

  #header .header-nav .top-logo,
  #header .header-nav .top-logo a {
    height: 78px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  #header .header-nav .top-logo img,
  #header .logo {
    width: auto !important;
    max-width: 145px !important;
    max-height: 68px !important;
    object-fit: contain !important;
  }

  /* Aucun menu Classic, aucune recherche et aucune seconde ligne */
  #menu-icon,
  #mobile_top_menu_wrapper,
  #_mobile_search_widget,
  #header .header-top,
  #header #search_widget,
  #header .search-widget {
    display: none !important;
  }

  /* Sur l'accueil mobile, l'ancien contenu est masqué.
     La page mobile propre est injectée juste après le header. */
  body#index #wrapper {
    display: none !important;
  }

  body#index .msm300-mobile-home {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 14px 14px 24px !important;
    box-sizing: border-box !important;
    background:
      radial-gradient(circle at 10% 0%, rgba(255,48,79,.08), transparent 32%),
      #f5f5f8 !important;
  }

  .msm300-nav {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 0 20px !important;
  }

  .msm300-nav-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 46px !important;
    padding: 10px 8px !important;
    color: #fff !important;
    background: linear-gradient(135deg, #191923, #282838) !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 10px !important;
    box-shadow: 0 7px 16px rgba(15,15,28,.14) !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
  }

  .msm300-section-title {
    margin: 0 0 16px !important;
    color: #151521 !important;
    font-size: 23px !important;
    font-weight: 950 !important;
    line-height: 1.05 !important;
    text-align: center !important;
    text-transform: uppercase !important;
  }

  .msm300-section-title::after {
    content: "" !important;
    display: block !important;
    width: 82px !important;
    height: 5px !important;
    margin: 10px auto 0 !important;
    border-radius: 10px !important;
    background: linear-gradient(90deg, #ff304f, #ffd33d) !important;
  }

  .msm300-product-card {
    display: block !important;
    width: 100% !important;
    max-width: 330px !important;
    margin: 0 auto !important;
    overflow: hidden !important;
    color: #171722 !important;
    background: #fff !important;
    border: 1px solid rgba(20,20,30,.08) !important;
    border-radius: 16px !important;
    box-shadow: 0 16px 34px rgba(15,15,28,.13) !important;
    text-decoration: none !important;
  }

  .msm300-product-image-wrap {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
    background: #f6f6f8 !important;
  }

  .msm300-product-image {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  .msm300-badge {
    position: absolute !important;
    top: 12px !important;
    left: 12px !important;
    z-index: 2 !important;
    padding: 7px 10px !important;
    color: #fff !important;
    background: #ff304f !important;
    border-radius: 7px !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
  }

  .msm300-product-info {
    display: block !important;
    padding: 17px 16px 20px !important;
    text-align: center !important;
  }

  .msm300-product-name {
    display: block !important;
    margin: 0 0 9px !important;
    color: #171722 !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
  }

  .msm300-product-price {
    display: block !important;
    margin: 0 !important;
    color: #ff304f !important;
    font-size: 21px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
  }

  .msm300-buy-button {
    display: block !important;
    width: calc(100% - 32px) !important;
    margin: 16px auto 0 !important;
    padding: 13px 12px !important;
    color: #fff !important;
    background: linear-gradient(135deg, #ff304f, #d8003e) !important;
    border-radius: 9px !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-transform: uppercase !important;
  }

  /* Footer compact */
  body#index #footer .block_newsletter,
  body#index #footer .footer-container {
    display: none !important;
  }

  body#index #footer {
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #0e0e15 !important;
  }

  body#index #footer::after {
    content: "© 2026 — JM Deco" !important;
    display: block !important;
    padding: 16px 10px !important;
    color: #8e8e99 !important;
    font-size: 12px !important;
    text-align: center !important;
  }
}


/* =========================================================
   V3.0.1 — RECHERCHE + SOUS-MENUS SUR LA PAGE MOBILE
   ========================================================= */
@media (max-width: 767px) {

  .msm301-search {
    display: flex !important;
    width: 100% !important;
    max-width: 520px !important;
    height: 44px !important;
    margin: 0 auto 18px !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 1px solid rgba(20,20,30,.10) !important;
    border-radius: 10px !important;
    box-shadow: 0 7px 18px rgba(15,15,28,.08) !important;
  }

  .msm301-search-input {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: 44px !important;
    padding: 0 13px !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    color: #222 !important;
    font-size: 15px !important;
    box-sizing: border-box !important;
  }

  .msm301-search-button {
    flex: 0 0 52px !important;
    width: 52px !important;
    height: 44px !important;
    padding: 0 !important;
    border: 0 !important;
    background: #1d1d29 !important;
    color: #fff !important;
    font-size: 19px !important;
    line-height: 44px !important;
  }

  .msm300-nav {
    display: block !important;
    margin-bottom: 10px !important;
  }

  .msm301-nav-group {
    width: 100% !important;
    margin: 0 0 8px !important;
  }

  .msm301-nav-row {
    display: flex !important;
    width: 100% !important;
    align-items: stretch !important;
  }

  .msm301-nav-row .msm300-nav-link {
    flex: 1 1 auto !important;
    min-height: 46px !important;
    border-radius: 10px 0 0 10px !important;
  }

  .msm301-nav-toggle {
    flex: 0 0 48px !important;
    width: 48px !important;
    min-height: 46px !important;
    padding: 0 !important;
    border: 0 !important;
    border-left: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 0 10px 10px 0 !important;
    background: #282838 !important;
    color: #fff !important;
    font-size: 22px !important;
    font-weight: 700 !important;
  }

  .msm301-submenu {
    display: none !important;
    width: 100% !important;
    padding: 6px 0 0 8px !important;
    box-sizing: border-box !important;
  }

  .msm301-nav-group.is-open .msm301-submenu {
    display: block !important;
  }

  .msm301-submenu-link {
    display: block !important;
    width: 100% !important;
    margin: 0 0 5px !important;
    padding: 10px 12px !important;
    color: #fff !important;
    background: #30303d !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
  }
}


/* =========================================================
   V3.0.2 — CENTRAGE HEADER + PAGES INTERNES MOBILE
   ========================================================= */
@media (max-width: 767px) {

  /* Header : logo réellement centré dans l'écran */
  #header .header-nav .container,
  #header .header-nav .row {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 78px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #header .header-nav .top-logo,
  #header .header-nav .top-logo a {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    transform: translate(-50%, -50%) !important;
    z-index: 3 !important;
  }

  #header .header-nav .top-logo img,
  #header .logo {
    display: block !important;
    width: auto !important;
    max-width: 145px !important;
    max-height: 68px !important;
    margin: 0 !important;
    object-fit: contain !important;
  }

  #header .header-nav .mobile,
  #header .header-nav #_mobile_user_info,
  #header .header-nav #_mobile_cart {
    position: relative !important;
    z-index: 4 !important;
  }

  /* Pages internes : même largeur et centrage partout */
  body:not(#index) #wrapper,
  body:not(#index) #content-wrapper,
  body:not(#index) #content,
  body:not(#index) #main,
  body:not(#index) .page-content,
  body:not(#index) .page-header,
  body:not(#index) .breadcrumb,
  body:not(#index) .login-form,
  body:not(#index) .register-form,
  body:not(#index) .forgotten-password,
  body:not(#index) .card,
  body:not(#index) .cart-grid,
  body:not(#index) .checkout-step,
  body:not(#index) .contact-form {
    width: calc(100% - 24px) !important;
    max-width: 520px !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

  body:not(#index) #wrapper {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body:not(#index) .breadcrumb {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body:not(#index) .page-header,
  body:not(#index) h1,
  body:not(#index) .h1 {
    text-align: left !important;
  }

  /* Formulaires internes bien contenus */
  body:not(#index) form,
  body:not(#index) .form-control,
  body:not(#index) input,
  body:not(#index) select,
  body:not(#index) textarea {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body:not(#index) .form-control {
    width: 100% !important;
  }

  body:not(#index) .btn,
  body:not(#index) button,
  body:not(#index) input[type="submit"] {
    max-width: 100% !important;
  }

  /* Carte de connexion mieux équilibrée */
  body#authentication .login-form,
  body#authentication .register-form,
  body#authentication .page-content {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  body#authentication .form-group,
  body#authentication .form-control-label,
  body#authentication .forgot-password,
  body#authentication .no-account {
    width: 100% !important;
    max-width: 100% !important;
  }
}


/* =========================================================
   V3.0.3 — FORMULAIRE CONNEXION MOBILE CENTRÉ ET AGRANDI
   ========================================================= */
@media (max-width: 767px) {

  body#authentication .page-header,
  body#authentication .page-content,
  body#authentication .login-form,
  body#authentication .register-form {
    text-align: center !important;
  }

  body#authentication .page-content,
  body#authentication .login-form,
  body#authentication .register-form {
    width: calc(100% - 24px) !important;
    max-width: 560px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    box-sizing: border-box !important;
  }

  body#authentication .form-group,
  body#authentication .form-control-label,
  body#authentication .col-md-3,
  body#authentication .col-md-6,
  body#authentication .col-md-9,
  body#authentication .form-control-comment,
  body#authentication .forgot-password,
  body#authentication .no-account,
  body#authentication .form-footer {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    float: none !important;
  }

  body#authentication .form-control-label,
  body#authentication label {
    display: block !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-align: center !important;
  }

  body#authentication input.form-control,
  body#authentication input[type="email"],
  body#authentication input[type="password"],
  body#authentication input[type="text"] {
    display: block !important;
    width: 94% !important;
    max-width: 480px !important;
    min-width: 0 !important;
    height: 58px !important;
    margin: 0 auto 22px !important;
    padding: 0 16px !important;
    border-radius: 12px !important;
    font-size: 18px !important;
    line-height: 58px !important;
    text-align: left !important;
    box-sizing: border-box !important;
  }

  body#authentication .input-group {
    display: flex !important;
    width: 94% !important;
    max-width: 480px !important;
    margin: 0 auto 22px !important;
  }

  body#authentication .input-group .form-control {
    flex: 1 1 auto !important;
    width: auto !important;
    height: 58px !important;
    margin: 0 !important;
    border-radius: 12px 0 0 12px !important;
  }

  body#authentication .input-group-btn,
  body#authentication .input-group .input-group-btn {
    display: flex !important;
    flex: 0 0 auto !important;
  }

  body#authentication .input-group-btn .btn,
  body#authentication .input-group button,
  body#authentication button[data-action="show-password"] {
    height: 58px !important;
    min-width: 118px !important;
    padding: 0 16px !important;
    border-radius: 0 12px 12px 0 !important;
    font-size: 15px !important;
    line-height: 58px !important;
  }

  body#authentication .forgot-password {
    margin-top: 2px !important;
    margin-bottom: 24px !important;
    font-size: 17px !important;
    line-height: 1.3 !important;
    text-align: center !important;
  }

  body#authentication .forgot-password a,
  body#authentication .no-account a {
    display: inline-block !important;
    text-align: center !important;
  }

  body#authentication .form-footer {
    display: flex !important;
    justify-content: center !important;
    margin-top: 4px !important;
  }

  body#authentication .form-footer .btn,
  body#authentication button[type="submit"],
  body#authentication input[type="submit"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 210px !important;
    min-height: 54px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
    border-radius: 10px !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    text-align: center !important;
  }

  body#authentication .no-account {
    margin-top: 22px !important;
    padding-top: 18px !important;
    border-top: 1px solid rgba(20,20,30,.12) !important;
    font-size: 17px !important;
    line-height: 1.35 !important;
    text-align: center !important;
  }
}


/* =========================================================
   V3.0.4 — CHAMPS CONNEXION MOBILE PLUS FINS
   ========================================================= */
@media (max-width: 767px) {

  body#authentication input.form-control,
  body#authentication input[type="email"],
  body#authentication input[type="password"],
  body#authentication input[type="text"] {
    height: 46px !important;
    min-height: 46px !important;
    line-height: 46px !important;
    padding: 0 14px !important;
    font-size: 16px !important;
    border-radius: 10px !important;
  }

  body#authentication .input-group {
    height: 46px !important;
    min-height: 46px !important;
  }

  body#authentication .input-group .form-control {
    height: 46px !important;
    min-height: 46px !important;
    line-height: 46px !important;
    border-radius: 10px 0 0 10px !important;
  }

  body#authentication .input-group-btn .btn,
  body#authentication .input-group button,
  body#authentication button[data-action="show-password"] {
    height: 46px !important;
    min-height: 46px !important;
    min-width: 92px !important;
    padding: 0 12px !important;
    border-radius: 0 10px 10px 0 !important;
    font-size: 14px !important;
    line-height: 46px !important;
  }
}


/* =========================================================
   V3.0.8 — CONNEXION MOBILE PLUS FINE
   ========================================================= */
@media (max-width: 767px) {
  body#authentication input.form-control,
  body#authentication input[type="email"],
  body#authentication input[type="password"],
  body#authentication input[type="text"] {
    height: 44px !important;
    min-height: 44px !important;
    line-height: 44px !important;
    padding: 0 13px !important;
    font-size: 16px !important;
    border-radius: 9px !important;
  }

  body#authentication .input-group {
    height: 44px !important;
    min-height: 44px !important;
  }

  body#authentication .input-group .form-control {
    height: 44px !important;
    min-height: 44px !important;
    line-height: 44px !important;
    border-radius: 9px 0 0 9px !important;
  }

  body#authentication .input-group-btn .btn,
  body#authentication .input-group button,
  body#authentication button[data-action="show-password"] {
    height: 44px !important;
    min-height: 44px !important;
    min-width: 82px !important;
    padding: 0 10px !important;
    border-radius: 0 9px 9px 0 !important;
    font-size: 13px !important;
    line-height: 44px !important;
  }
}


/* =========================================================
   V3.0.8 — LARGEUR RÉELLE DES CHAMPS DE CONNEXION MOBILE
   ========================================================= */
@media (max-width: 767px) {

  /* La carte garde une largeur confortable */
  body#authentication .login-form,
  body#authentication .page-content {
    width: calc(100% - 24px) !important;
    max-width: 560px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 28px 20px !important;
    box-sizing: border-box !important;
  }

  /* Annule les colonnes Bootstrap à 50 % qui rétrécissaient les champs */
  body#authentication .login-form .form-group.row,
  body#authentication .login-form .form-group,
  body#authentication .login-form .form-group.row > [class*="col-"],
  body#authentication .login-form .form-group > [class*="col-"],
  body#authentication .login-form .col-md-3,
  body#authentication .login-form .col-md-6,
  body#authentication .login-form .col-md-9 {
    display: block !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    float: none !important;
    box-sizing: border-box !important;
  }

  body#authentication .login-form .form-group {
    margin-bottom: 24px !important;
  }

  /* Libellés centrés */
  body#authentication .login-form label,
  body#authentication .login-form .form-control-label {
    display: block !important;
    width: 100% !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-align: center !important;
  }

  /* Champ e-mail : large, mais fin */
  body#authentication .login-form input.form-control,
  body#authentication .login-form input[type="email"],
  body#authentication .login-form input[type="text"] {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 46px !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    border-radius: 10px !important;
    font-size: 16px !important;
    line-height: 46px !important;
    box-sizing: border-box !important;
  }

  /* Ligne mot de passe sur toute la largeur */
  body#authentication .login-form .input-group {
    display: flex !important;
    width: 100% !important;
    max-width: none !important;
    height: 46px !important;
    min-height: 46px !important;
    margin: 0 !important;
  }

  body#authentication .login-form .input-group input.form-control,
  body#authentication .login-form .input-group input[type="password"],
  body#authentication .login-form .input-group input[type="text"] {
    flex: 1 1 auto !important;
    width: 1% !important;
    min-width: 0 !important;
    height: 46px !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    border-radius: 10px 0 0 10px !important;
    font-size: 16px !important;
    line-height: 46px !important;
  }

  body#authentication .login-form .input-group-btn,
  body#authentication .login-form .input-group-append {
    display: flex !important;
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
  }

  body#authentication .login-form button[data-action="show-password"],
  body#authentication .login-form .input-group-btn .btn,
  body#authentication .login-form .input-group-append .btn {
    width: auto !important;
    min-width: 96px !important;
    height: 46px !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    border-radius: 0 10px 10px 0 !important;
    font-size: 13px !important;
    line-height: 46px !important;
    white-space: nowrap !important;
  }

  /* Éléments inférieurs centrés */
  body#authentication .forgot-password,
  body#authentication .form-footer,
  body#authentication .no-account {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  body#authentication .form-footer {
    display: flex !important;
    justify-content: center !important;
  }
}


/* =========================================================
   V3.0.8 — CHAMPS LARGES ET PARFAITEMENT ALIGNÉS
   ========================================================= */
@media (max-width: 767px) {

  body#authentication .login-form,
  body#authentication .page-content {
    width: calc(100% - 24px) !important;
    max-width: 580px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 22px !important;
    padding-right: 22px !important;
    box-sizing: border-box !important;
  }

  body#authentication .login-form .form-group,
  body#authentication .login-form .form-group.row,
  body#authentication .login-form .form-group > [class*="col-"],
  body#authentication .login-form .form-group.row > [class*="col-"] {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    float: none !important;
    box-sizing: border-box !important;
  }

  body#authentication .login-form label,
  body#authentication .login-form .form-control-label {
    display: block !important;
    width: 100% !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    text-align: center !important;
  }

  /* E-mail : large et centré */
  body#authentication .login-form input.form-control,
  body#authentication .login-form input[type="email"] {
    display: block !important;
    width: 92% !important;
    max-width: 500px !important;
    height: 48px !important;
    min-height: 48px !important;
    margin: 0 auto !important;
    padding: 0 15px !important;
    border-radius: 10px !important;
    font-size: 16px !important;
    line-height: 48px !important;
    box-sizing: border-box !important;
  }

  /* Mot de passe : un seul bloc horizontal centré */
  body#authentication .login-form .input-group {
    display: flex !important;
    align-items: stretch !important;
    justify-content: center !important;
    width: 92% !important;
    max-width: 500px !important;
    height: 48px !important;
    min-height: 48px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  body#authentication .login-form .input-group .form-control,
  body#authentication .login-form .input-group input[type="password"],
  body#authentication .login-form .input-group input[type="text"] {
    flex: 1 1 auto !important;
    width: 1% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 48px !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 15px !important;
    border-radius: 10px 0 0 10px !important;
    font-size: 16px !important;
    line-height: 48px !important;
    box-sizing: border-box !important;
  }

  body#authentication .login-form .input-group-btn,
  body#authentication .login-form .input-group-append {
    display: flex !important;
    align-items: stretch !important;
    flex: 0 0 110px !important;
    width: 110px !important;
    height: 48px !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body#authentication .login-form button[data-action="show-password"],
  body#authentication .login-form .input-group-btn .btn,
  body#authentication .login-form .input-group-append .btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 110px !important;
    min-width: 110px !important;
    max-width: 110px !important;
    height: 48px !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 10px !important;
    border-radius: 0 10px 10px 0 !important;
    font-size: 13px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
  }

  body#authentication .forgot-password,
  body#authentication .form-footer,
  body#authentication .no-account {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }
}

@media (max-width:767px){
  body#authentication .login-form{padding-left:18px!important;padding-right:18px!important}
}


/* =========================================================
   V3.0.10 — CHAMPS PRESQUE PLEINE LARGEUR + PETIT BOUTON
   ========================================================= */
@media (max-width: 767px) {
  body#authentication .login-form,
  body#authentication .login-form form,
  body#authentication .login-form .form-group,
  body#authentication .login-form .form-group.row,
  body#authentication .login-form .form-group > [class*="col-"],
  body#authentication .login-form .form-group.row > [class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    float: none !important;
    box-sizing: border-box !important;
  }

  body#authentication .login-form input[type="email"],
  body#authentication .login-form input[name="email"] {
    width: 100% !important;
    max-width: none !important;
    height: 50px !important;
    min-height: 50px !important;
    margin: 0 auto !important;
    padding: 0 15px !important;
    font-size: 17px !important;
    line-height: 50px !important;
    box-sizing: border-box !important;
  }

  body#authentication .login-form .input-group {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 72px !important;
    width: 100% !important;
    max-width: none !important;
    height: 50px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  body#authentication .login-form .input-group input {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 50px !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 0 15px !important;
    font-size: 17px !important;
    line-height: 50px !important;
    box-sizing: border-box !important;
  }

  body#authentication .login-form .input-group-btn,
  body#authentication .login-form .input-group-append {
    width: 72px !important;
    max-width: 72px !important;
    height: 50px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body#authentication .login-form button[data-action="show-password"],
  body#authentication .login-form .input-group-btn .btn,
  body#authentication .login-form .input-group-append .btn {
    width: 72px !important;
    min-width: 72px !important;
    max-width: 72px !important;
    height: 50px !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 0 4px !important;
    font-size: 10px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
  }
}


/* =========================================================
   V3.0.11 — RESTAURATION DES BOUTONS CATÉGORIES MOBILE
   ========================================================= */
@media (max-width: 767px) {
  .msm3011-nav {
    display: block !important;
    width: 100% !important;
    margin: 0 0 12px !important;
  }

  .msm3011-group {
    width: 100% !important;
    margin: 0 0 8px !important;
  }

  .msm3011-row {
    display: flex !important;
    width: 100% !important;
    min-height: 46px !important;
    align-items: stretch !important;
  }

  .msm3011-main {
    display: flex !important;
    flex: 1 1 auto !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px 12px !important;
    color: #fff !important;
    background: linear-gradient(135deg, #191923, #282838) !important;
    border-radius: 10px 0 0 10px !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
  }

  .msm3011-toggle {
    flex: 0 0 48px !important;
    width: 48px !important;
    min-height: 46px !important;
    padding: 0 !important;
    border: 0 !important;
    border-left: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 0 10px 10px 0 !important;
    background: #282838 !important;
    color: #fff !important;
    font-size: 22px !important;
    font-weight: 700 !important;
  }

  .msm3011-submenu {
    display: none !important;
    width: 100% !important;
    padding: 6px 0 0 8px !important;
    box-sizing: border-box !important;
  }

  .msm3011-group.is-open .msm3011-submenu {
    display: block !important;
  }

  .msm3011-child {
    display: block !important;
    width: 100% !important;
    margin: 0 0 5px !important;
    padding: 10px 12px !important;
    color: #fff !important;
    background: #30303d !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
  }
}


/* V3.0.12 — boutons catégories garantis sur l'accueil mobile */
@media (max-width:767px){
  body#index .msm3012-nav{
    display:block!important;
    width:100%!important;
    margin:0 0 14px!important;
    position:relative!important;
    z-index:20!important;
  }
  body#index .msm3012-group{width:100%!important;margin:0 0 8px!important}
  body#index .msm3012-row{display:flex!important;width:100%!important;min-height:48px!important}
  body#index .msm3012-main{
    display:flex!important;flex:1 1 auto!important;align-items:center!important;justify-content:center!important;
    padding:10px 12px!important;color:#fff!important;background:linear-gradient(135deg,#191923,#282838)!important;
    border-radius:10px 0 0 10px!important;font-size:14px!important;font-weight:900!important;
    text-transform:uppercase!important;text-decoration:none!important;text-align:center!important
  }
  body#index .msm3012-toggle{
    flex:0 0 48px!important;width:48px!important;border:0!important;border-left:1px solid rgba(255,255,255,.12)!important;
    border-radius:0 10px 10px 0!important;background:#282838!important;color:#fff!important;font-size:22px!important
  }
  body#index .msm3012-submenu{display:none!important;padding:6px 0 0 8px!important}
  body#index .msm3012-group.is-open .msm3012-submenu{display:block!important}
  body#index .msm3012-child{
    display:block!important;width:100%!important;margin:0 0 5px!important;padding:10px 12px!important;
    color:#fff!important;background:#30303d!important;border-radius:8px!important;
    font-size:14px!important;text-decoration:none!important;box-sizing:border-box!important
  }
}


/* =========================================================
   V3.0.13 — FOOTER COMPLET UNIQUEMENT SUR LES PAGES INTERNES
   ========================================================= */
@media (max-width: 767px) {

  /* Accueil : conserve le footer minimal déjà en place */
  body#index #footer .footer-container,
  body#index #footer .block_newsletter {
    display: none !important;
  }

  /* Pages internes : footer complet restauré */
  body:not(#index) #footer {
    display: block !important;
    clear: both !important;
    width: 100% !important;
    margin-top: 28px !important;
    padding: 0 !important;
    background: #0d0d14 !important;
  }

  body:not(#index) #footer .footer-container {
    display: block !important;
    width: 100% !important;
    padding: 18px 0 12px !important;
    background: #0d0d14 !important;
    box-sizing: border-box !important;
  }

  body:not(#index) #footer .block_newsletter {
    display: block !important;
    width: calc(100% - 24px) !important;
    max-width: 580px !important;
    margin: 0 auto 22px !important;
    padding: 22px 18px !important;
    border-radius: 14px !important;
    box-sizing: border-box !important;
  }

  body:not(#index) #footer .footer-container .container,
  body:not(#index) #footer .footer-container .row {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body:not(#index) #footer .footer-container .links,
  body:not(#index) #footer .footer-container .block-contact,
  body:not(#index) #footer .footer-container [class*="col-"] {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
    float: none !important;
  }

  body:not(#index) #footer .footer-container .links .title {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 56px !important;
    margin: 0 !important;
    padding: 13px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.75) !important;
    box-sizing: border-box !important;
  }

  body:not(#index) #footer .footer-container .links .h3,
  body:not(#index) #footer .footer-container .links .h3 a,
  body:not(#index) #footer .footer-container .links .title span {
    color: #fff !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
  }

  body:not(#index) #footer .footer-container .links .collapse {
    width: 100% !important;
    padding: 8px 0 12px !important;
  }

  body:not(#index) #footer .footer-container .links .collapse:not(.show) {
    display: none !important;
  }

  body:not(#index) #footer .footer-container .links .collapse.show {
    display: block !important;
  }

  body:not(#index) #footer .footer-container .links ul,
  body:not(#index) #footer .footer-container .links li {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  body:not(#index) #footer .footer-container .links a {
    display: block !important;
    padding: 8px 0 !important;
    color: #c8c8d2 !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
  }

  body:not(#index) #footer .copyright-container,
  body:not(#index) #footer .copyright {
    display: block !important;
    width: 100% !important;
    padding: 12px 20px 8px !important;
    color: #8f8f9a !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }
}


/* =========================================================
   V3.0.14 — FOOTER COMPLET AUSSI SUR L'ACCUEIL MOBILE
   ========================================================= */
@media (max-width: 767px) {

  /* Accueil : on garde seulement la newsletter masquée */
  body#index #footer .block_newsletter {
    display: none !important;
  }

  /* Réaffiche le vrai footer sur l'accueil */
  body#index #footer {
    display: block !important;
    width: 100% !important;
    margin-top: 22px !important;
    padding: 0 !important;
    background: #0d0d14 !important;
  }

  body#index #footer .footer-container {
    display: block !important;
    width: 100% !important;
    padding: 16px 0 12px !important;
    background: #0d0d14 !important;
    box-sizing: border-box !important;
  }

  body#index #footer .footer-container .container,
  body#index #footer .footer-container .row {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body#index #footer .footer-container .links,
  body#index #footer .footer-container .block-contact,
  body#index #footer .footer-container [class*="col-"] {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
    float: none !important;
  }

  body#index #footer .footer-container .links .title {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 56px !important;
    margin: 0 !important;
    padding: 13px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.72) !important;
    box-sizing: border-box !important;
  }

  body#index #footer .footer-container .links .h3,
  body#index #footer .footer-container .links .h3 a,
  body#index #footer .footer-container .links .title span {
    color: #fff !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
  }

  body#index #footer .footer-container .links .collapse {
    width: 100% !important;
    padding: 8px 0 12px !important;
  }

  body#index #footer .footer-container .links .collapse:not(.show) {
    display: none !important;
  }

  body#index #footer .footer-container .links .collapse.show {
    display: block !important;
  }

  body#index #footer .footer-container .links ul,
  body#index #footer .footer-container .links li {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  body#index #footer .footer-container .links a {
    display: block !important;
    padding: 8px 0 !important;
    color: #c8c8d2 !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
  }

  body#index #footer .copyright-container,
  body#index #footer .copyright {
    display: block !important;
    width: 100% !important;
    padding: 12px 20px 8px !important;
    color: #8f8f9a !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  /* Supprime le faux copyright ajouté par l'ancien footer minimal */
  body#index #footer::after {
    content: none !important;
    display: none !important;
  }
}


/* =========================================================
   V3.0.25 — CATÉGORIES MOBILE VRAIMENT COMPACTES
   ========================================================= */
@media (max-width: 767px) {
  body#category #left-column,
  body.page-category #left-column {
    width: calc(100% - 28px) !important;
    max-width: 560px !important;
    margin: 10px auto 14px !important;
    padding: 0 !important;
  }

  body#category .block-categories,
  body.page-category .block-categories {
    width: 100% !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    border-radius: 12px !important;
    box-sizing: border-box !important;
  }

  body#category .block-categories .category-top-menu > li > a,
  body.page-category .block-categories .category-top-menu > li > a {
    min-width: 100px !important;
    min-height: 36px !important;
    margin: 0 0 8px !important;
    padding: 7px 12px !important;
    font-size: 14px !important;
    border-radius: 7px !important;
  }

  body#category .block-categories .category-sub-menu,
  body.page-category .block-categories .category-sub-menu {
    margin: 0 !important;
    padding: 0 !important;
  }

  body#category .block-categories .category-sub-menu li,
  body.page-category .block-categories .category-sub-menu li {
    margin: 0 0 2px !important;
    padding: 0 !important;
  }

  body#category .block-categories .category-sub-menu li > a,
  body.page-category .block-categories .category-sub-menu li > a {
    min-height: 32px !important;
    margin: 0 !important;
    padding: 5px 8px !important;
    font-size: 13px !important;
    line-height: 1.1 !important;
    border-radius: 7px !important;
  }

  body#category .block-categories .collapse-icons,
  body#category .block-categories .navbar-toggler,
  body#category .block-categories .category-sub-menu .arrows,
  body.page-category .block-categories .collapse-icons,
  body.page-category .block-categories .navbar-toggler {
    width: 26px !important;
    min-width: 26px !important;
    height: 26px !important;
    min-height: 26px !important;
  }

  body#category .block-categories .material-icons,
  body#category .block-categories .collapse-icons i,
  body#category .block-categories .navbar-toggler i,
  body.page-category .block-categories .material-icons {
    font-size: 17px !important;
    line-height: 26px !important;
  }
}

/* =========================================================
   V3.0.25 — NOUVEAU FOOTER MOBILE PROPRE
   ========================================================= */
@media (max-width: 767px) {
  #footer .pmd-footer-clean {
    width: 100% !important;
    margin: 0 !important;
    padding: 12px 18px 8px !important;
    background: #0d0d14 !important;
    box-sizing: border-box !important;
  }

  #footer .pmd-footer-section {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.65) !important;
  }

  #footer .pmd-footer-toggle {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 40px !important;
    border: 0 !important;
    background: transparent !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    box-sizing: border-box !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  #footer .pmd-footer-toggle::after {
    content: "⌄";
    position: absolute;
    top: 50%;
    right: 12px;
    width: 20px;
    height: 20px;
    transform: translateY(-50%);
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    line-height: 20px;
    text-align: center;
  }

  #footer .pmd-footer-section.is-open .pmd-footer-toggle::after {
    content: "⌃";
  }

  #footer .pmd-footer-panel {
    display: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 6px 0 9px !important;
    box-sizing: border-box !important;
  }

  #footer .pmd-footer-section.is-open .pmd-footer-panel {
    display: block !important;
  }

  #footer .pmd-footer-panel a {
    display: block !important;
    padding: 6px 0 !important;
    color: #c8c8d2 !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    text-align: center !important;
    text-decoration: none !important;
  }

  #footer .pmd-footer-copyright {
    padding: 10px 0 4px !important;
    color: #8f8f9a !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    text-align: center !important;
  }

  /* Cache entièrement l'ancien footer mobile après reconstruction */
  #footer.pmd-footer-rebuilt .footer-container,
  #footer.pmd-footer-rebuilt > .container {
    display: none !important;
  }
}


/* =========================================================
   V3.0.26 — UN SEUL FOOTER MOBILE
   ========================================================= */
@media (max-width: 767px) {
  /* Quand le footer propre est construit, tout l'ancien contenu disparaît. */
  #footer.pmd-footer-rebuilt > *:not(.pmd-footer-clean) {
    display: none !important;
  }

  #footer.pmd-footer-rebuilt {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #0d0d14 !important;
  }

  #footer.pmd-footer-rebuilt .pmd-footer-clean {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 12px 18px 8px !important;
    background: #0d0d14 !important;
    box-sizing: border-box !important;
  }
}


/* =========================================================
   V3.0.27 — PAGE CATÉGORIE MOBILE AJUSTÉE
   ========================================================= */
@media (max-width: 767px) {

  /* Plus d'espace sous le bouton Accueil */
  body#category .block-categories .category-top-menu > li > a,
  body.page-category .block-categories .category-top-menu > li > a {
    margin-bottom: 14px !important;
  }

  /* Décale légèrement les lignes Stickers/Plaques sous Accueil */
  body#category .block-categories .category-sub-menu,
  body.page-category .block-categories .category-sub-menu {
    padding-top: 4px !important;
  }

  /* Grand bandeau STICKERS MANGA beaucoup plus compact */
  body#category .block-category,
  body#category .category-header,
  body.page-category .block-category,
  body.page-category .category-header {
    width: calc(100% - 44px) !important;
    max-width: 500px !important;
    min-height: 0 !important;
    margin: 0 auto 18px !important;
    padding: 12px 18px !important;
    border-radius: 13px !important;
    box-sizing: border-box !important;
  }

  body#category .block-category h1,
  body#category .category-header h1,
  body#category h1.h1,
  body.page-category .block-category h1,
  body.page-category .category-header h1 {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 24px !important;
    line-height: 1.02 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
  }

  /* Zone sous-catégories centrée */
  body#category .subcategory-heading,
  body#category .subcategories-title,
  body#category #subcategories h2,
  body.page-category .subcategory-heading,
  body.page-category .subcategories-title,
  body.page-category #subcategories h2 {
    text-align: center !important;
  }

  body#category #subcategories,
  body.page-category #subcategories {
    width: calc(100% - 44px) !important;
    max-width: 500px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  body#category #subcategories ul,
  body.page-category #subcategories ul {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body#category #subcategories ul li,
  body.page-category #subcategories ul li {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 320px !important;
    margin: 0 auto 14px !important;
    padding: 0 !important;
    float: none !important;
  }

  body#category #subcategories ul li .subcategory-image,
  body#category #subcategories ul li .subcategory-name,
  body.page-category #subcategories ul li .subcategory-image,
  body.page-category #subcategories ul li .subcategory-name {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  body#category #subcategories ul li a,
  body.page-category #subcategories ul li a {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    text-align: center !important;
  }

  body#category #subcategories ul li img,
  body.page-category #subcategories ul li img {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body#category #subcategories ul li .subcategory-name,
  body#category #subcategories ul li h5,
  body#category #subcategories ul li h5 a,
  body.page-category #subcategories ul li .subcategory-name,
  body.page-category #subcategories ul li h5,
  body.page-category #subcategories ul li h5 a {
    display: block !important;
    width: 100% !important;
    margin: 8px auto 0 !important;
    text-align: center !important;
  }
}


/* =========================================================
   V3.0.28 — SOUS-CATÉGORIES MOBILE : LOGO AU-DESSUS, NOM EN DESSOUS
   ========================================================= */
@media (max-width: 767px) {

  body#category #subcategories ul,
  body.page-category #subcategories ul {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
  }

  body#category #subcategories ul li,
  body.page-category #subcategories ul li {
    display: block !important;
    width: 100% !important;
    max-width: 320px !important;
    margin: 0 auto 18px !important;
    padding: 0 !important;
    text-align: center !important;
    float: none !important;
  }

  body#category #subcategories ul li > a,
  body.page-category #subcategories ul li > a {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    text-align: center !important;
  }

  body#category #subcategories ul li .subcategory-image,
  body.page-category #subcategories ul li .subcategory-image {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 0 auto !important;
    text-align: center !important;
  }

  body#category #subcategories ul li .subcategory-image a,
  body.page-category #subcategories ul li .subcategory-image a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    margin: 0 auto !important;
  }

  body#category #subcategories ul li img,
  body.page-category #subcategories ul li img {
    display: block !important;
    margin: 0 auto !important;
  }

  body#category #subcategories ul li .subcategory-name,
  body#category #subcategories ul li h5,
  body#category #subcategories ul li h5 a,
  body.page-category #subcategories ul li .subcategory-name,
  body.page-category #subcategories ul li h5,
  body.page-category #subcategories ul li h5 a {
    display: block !important;
    width: 100% !important;
    margin: 8px auto 0 !important;
    padding: 0 !important;
    text-align: center !important;
    line-height: 1.2 !important;
  }
}


/* V3.0.29 - Mobile catégorie uniquement */
@media (max-width:767px){

/* Centre le bouton Accueil */
body#category .category-top-menu>li:first-child>a{
 display:block!important;
 width:fit-content!important;
 margin:0 auto 18px auto!important;
}

/* Plus d'espace avant Stickers Manga */
body#category .category-sub-menu{
 margin-top:8px!important;
}

/* Sous-catégories : logo au-dessus, texte dessous */
body#category #subcategories ul li a{
 display:flex!important;
 flex-direction:column!important;
 align-items:center!important;
 justify-content:center!important;
 text-align:center!important;
}

body#category #subcategories ul li img{
 display:block!important;
 margin:0 auto 8px!important;
}

body#category #subcategories .subcategory-name,
body#category #subcategories h5,
body#category #subcategories h5 a{
 display:block!important;
 width:100%!important;
 text-align:center!important;
 margin:0 auto!important;
}
}


/* =========================================================
   V3.0.31 — 2 PRODUITS PAR LIGNE SUR MOBILE UNIQUEMENT
   ========================================================= */
@media (max-width: 767px) {

  /* Grille produits */
  #products .products,
  .featured-products .products,
  .product-accessories .products,
  .product-miniature-list,
  .products.row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 0 !important;
  }

  /* Chaque produit prend une seule case */
  #products .product-miniature,
  .featured-products .product-miniature,
  .product-accessories .product-miniature,
  .product-miniature-list .product-miniature,
  .products.row > .product-miniature,
  .products.row > article {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
  }

  /* Carte plus compacte */
  .product-miniature .thumbnail-container,
  .product-miniature .product-container,
  .product-miniature .card {
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
  }

  /* Image réduite */
  .product-miniature .product-thumbnail,
  .product-miniature .thumbnail,
  .product-miniature .product-image {
    display: block !important;
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    overflow: hidden !important;
  }

  .product-miniature .product-thumbnail img,
  .product-miniature .thumbnail img,
  .product-miniature .product-image img,
  .product-miniature img {
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  /* Informations produit plus serrées */
  .product-miniature .product-description,
  .product-miniature .product-meta,
  .product-miniature .product-info {
    min-height: 0 !important;
    height: auto !important;
    padding: 10px 8px 12px !important;
    text-align: center !important;
  }

  .product-miniature .product-title,
  .product-miniature .product-title a,
  .product-miniature h3,
  .product-miniature h3 a {
    display: -webkit-box !important;
    margin: 0 0 6px !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    text-align: center !important;
  }

  .product-miniature .product-price-and-shipping,
  .product-miniature .price {
    margin: 0 0 8px !important;
    font-size: 17px !important;
    line-height: 1.1 !important;
    text-align: center !important;
  }

  /* Bouton plus petit */
  .product-miniature .btn,
  .product-miniature .product-actions .btn,
  .product-miniature .view-product,
  .product-miniature .button {
    width: calc(100% - 12px) !important;
    min-height: 38px !important;
    margin: 0 6px 8px !important;
    padding: 8px 6px !important;
    font-size: 12px !important;
    line-height: 1.1 !important;
    white-space: normal !important;
  }

  /* Badges adaptés */
  .product-miniature .product-flags,
  .product-miniature .product-flag {
    font-size: 11px !important;
  }

  /* Réduit les grands espaces éventuels */
  .featured-products,
  #products {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}


/* =========================================================
   V3.0.32 — VRAIE GRILLE PRODUITS POPULAIRES MOBILE
   ========================================================= */
@media (max-width: 767px) {
  body#index .msm300-products-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0 !important;
  }

  body#index .msm300-products-grid .msm300-product-card {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    border-radius: 12px !important;
  }

  body#index .msm300-products-grid .msm300-product-image-wrap {
    aspect-ratio: 1 / 1 !important;
  }

  body#index .msm300-products-grid .msm300-badge {
    top: 7px !important;
    left: 7px !important;
    padding: 5px 7px !important;
    font-size: 10px !important;
    border-radius: 6px !important;
  }

  body#index .msm300-products-grid .msm300-product-info {
    padding: 10px 7px 11px !important;
  }

  body#index .msm300-products-grid .msm300-product-name {
    display: -webkit-box !important;
    min-height: 34px !important;
    margin: 0 0 6px !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
  }

  body#index .msm300-products-grid .msm300-product-price {
    font-size: 16px !important;
  }

  body#index .msm300-products-grid .msm300-buy-button {
    width: 100% !important;
    margin: 10px auto 0 !important;
    padding: 9px 5px !important;
    font-size: 11px !important;
    line-height: 1.1 !important;
  }
}


/* =========================================================
   V3.0.33 — CARTES PRODUITS DES SOUS-CATÉGORIES MOBILE
   ========================================================= */
@media (max-width: 767px) {

  /* Uniquement les pages catégories / sous-catégories */
  body#category #js-product-list .products,
  body#category #products .products,
  body.page-category #js-product-list .products,
  body.page-category #products .products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;
  }

  body#category #js-product-list .product-miniature,
  body#category #products .product-miniature,
  body.page-category #js-product-list .product-miniature,
  body.page-category #products .product-miniature {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
  }

  body#category .product-miniature .thumbnail-container,
  body.page-category .product-miniature .thumbnail-container {
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    box-shadow: 0 8px 20px rgba(20,20,35,.10) !important;
    background: #fff !important;
  }

  /* Image horizontale, plus grande et mieux visible */
  body#category .product-miniature .product-thumbnail,
  body.page-category .product-miniature .product-thumbnail {
    display: block !important;
    width: 100% !important;
    aspect-ratio: 4 / 3 !important;
    height: auto !important;
    overflow: hidden !important;
    background: #f7f7f7 !important;
  }

  body#category .product-miniature .product-thumbnail img,
  body.page-category .product-miniature .product-thumbnail img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  /* Zone texte compacte */
  body#category .product-miniature .product-description,
  body.page-category .product-miniature .product-description {
    position: static !important;
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 10px 8px 12px !important;
    text-align: center !important;
    background: #fff !important;
    box-sizing: border-box !important;
  }

  body#category .product-miniature .product-title,
  body#category .product-miniature .product-title a,
  body.page-category .product-miniature .product-title,
  body.page-category .product-miniature .product-title a {
    display: -webkit-box !important;
    min-height: 34px !important;
    margin: 0 0 7px !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-align: center !important;
  }

  body#category .product-miniature .product-price-and-shipping,
  body#category .product-miniature .price,
  body.page-category .product-miniature .product-price-and-shipping,
  body.page-category .product-miniature .price {
    margin: 0 !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    text-align: center !important;
  }

  /* Badges et cœur adaptés */
  body#category .product-miniature .product-flags,
  body.page-category .product-miniature .product-flags {
    top: 8px !important;
    left: 8px !important;
  }

  body#category .product-miniature .product-flag,
  body.page-category .product-miniature .product-flag {
    padding: 5px 8px !important;
    font-size: 10px !important;
    line-height: 1 !important;
  }

  body#category .product-miniature .wishlist-button-add,
  body.page-category .product-miniature .wishlist-button-add {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
  }

  /* Réduit l'espace sous la grille */
  body#category #js-product-list,
  body.page-category #js-product-list {
    margin-bottom: 18px !important;
  }
}


/* =========================================================
   V3.0.34 — CORRECTION DÉFINITIVE PRODUITS SOUS-CATÉGORIES MOBILE
   ========================================================= */
@media (max-width: 767px) {

  /* Grille uniquement sur les pages catégories */
  body#category #js-product-list .products,
  body.page-category #js-product-list .products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 6px !important;
    box-sizing: border-box !important;
  }

  body#category #js-product-list .products > article,
  body#category #js-product-list .product-miniature,
  body.page-category #js-product-list .products > article,
  body.page-category #js-product-list .product-miniature {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
  }

  body#category .product-miniature .thumbnail-container,
  body.page-category .product-miniature .thumbnail-container {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 13px !important;
    background: #fff !important;
  }

  /* Image entièrement visible : annule le min-height 270 px du thème */
  body#category .product-miniature .product-thumbnail,
  body.page-category .product-miniature .product-thumbnail {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 112px !important;
    min-height: 112px !important;
    aspect-ratio: auto !important;
    overflow: hidden !important;
    background: #f5f5f7 !important;
  }

  body#category .product-miniature .product-thumbnail img,
  body.page-category .product-miniature .product-thumbnail img,
  body#category .product-miniature img,
  body.page-category .product-miniature img {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: 112px !important;
    min-height: 0 !important;
    max-height: 112px !important;
    margin: 0 !important;
    object-fit: cover !important;
    object-position: center !important;
    transform: none !important;
  }

  body#category .product-miniature .product-description,
  body.page-category .product-miniature .product-description {
    position: static !important;
    inset: auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 108px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 10px 7px 11px !important;
    box-sizing: border-box !important;
    background: #fff !important;
    text-align: center !important;
  }

  body#category .product-miniature .product-title,
  body#category .product-miniature .product-title a,
  body.page-category .product-miniature .product-title,
  body.page-category .product-miniature .product-title a {
    display: -webkit-box !important;
    min-height: 34px !important;
    margin: 0 0 8px !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    text-align: center !important;
  }

  body#category .product-miniature .product-price-and-shipping,
  body#category .product-miniature .price,
  body.page-category .product-miniature .product-price-and-shipping,
  body.page-category .product-miniature .price {
    margin: auto 0 0 !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    text-align: center !important;
  }

  /* Badge et cœur sans chevauchement */
  body#category .product-miniature .product-flags,
  body.page-category .product-miniature .product-flags {
    top: 7px !important;
    left: 7px !important;
    max-width: calc(100% - 48px) !important;
  }

  body#category .product-miniature .product-flag,
  body.page-category .product-miniature .product-flag {
    padding: 5px 6px !important;
    font-size: 9px !important;
    line-height: 1 !important;
  }

  body#category .product-miniature .wishlist-button-add,
  body.page-category .product-miniature .wishlist-button-add {
    top: 7px !important;
    right: 7px !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    transform: none !important;
  }
}


/* =========================================================
   V3.0.35 — SOUS-CATÉGORIES MOBILE PLUS GRANDES ET PLUS COMPACTES
   ========================================================= */
@media (max-width: 767px) {

  /* Cartes légèrement plus larges */
  body#category #js-product-list .products,
  body.page-category #js-product-list .products {
    gap: 10px !important;
    padding: 0 2px !important;
  }

  /* Image plus grande */
  body#category .product-miniature .product-thumbnail,
  body.page-category .product-miniature .product-thumbnail {
    height: 138px !important;
    min-height: 138px !important;
  }

  body#category .product-miniature .product-thumbnail img,
  body.page-category .product-miniature .product-thumbnail img,
  body#category .product-miniature img,
  body.page-category .product-miniature img {
    height: 138px !important;
    max-height: 138px !important;
    min-height: 0 !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  /* Supprime le grand vide blanc */
  body#category .product-miniature .product-description,
  body.page-category .product-miniature .product-description {
    display: block !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 10px 8px 12px !important;
  }

  body#category .product-miniature .product-title,
  body#category .product-miniature .product-title a,
  body.page-category .product-miniature .product-title,
  body.page-category .product-miniature .product-title a {
    min-height: 0 !important;
    margin: 0 0 8px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
  }

  body#category .product-miniature .product-price-and-shipping,
  body#category .product-miniature .price,
  body.page-category .product-miniature .product-price-and-shipping,
  body.page-category .product-miniature .price {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 18px !important;
    line-height: 1.1 !important;
  }

  /* Carte moins haute, rendu plus net */
  body#category .product-miniature .thumbnail-container,
  body.page-category .product-miniature .thumbnail-container {
    min-height: 0 !important;
    height: auto !important;
    border-radius: 14px !important;
  }
}


/* =========================================================
   V3.0.36 — CARTES SOUS-CATÉGORIES MOBILE REFAITES PROPREMENT
   ========================================================= */
@media (max-width: 767px) {

  /* La liste utilise réellement toute la largeur disponible */
  body#category #js-product-list,
  body.page-category #js-product-list {
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto 16px !important;
    padding: 0 10px !important;
    box-sizing: border-box !important;
  }

  body#category #js-product-list .products,
  body.page-category #js-product-list .products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 10px !important;
    row-gap: 12px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: start !important;
    box-sizing: border-box !important;
  }

  body#category #js-product-list .products > article,
  body#category #js-product-list article.product-miniature,
  body.page-category #js-product-list .products > article,
  body.page-category #js-product-list article.product-miniature {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    align-self: start !important;
  }

  /* Carte sans hauteur forcée */
  body#category #js-product-list .thumbnail-container,
  body.page-category #js-product-list .thumbnail-container {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 8px 20px rgba(18,18,30,.11) !important;
    transform: none !important;
  }

  /* Image grande et lisible */
  body#category #js-product-list .product-thumbnail,
  body.page-category #js-product-list .product-thumbnail {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 150px !important;
    min-height: 150px !important;
    max-height: 150px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #f5f5f7 !important;
  }

  body#category #js-product-list .product-thumbnail img,
  body.page-category #js-product-list .product-thumbnail img {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: 150px !important;
    min-height: 0 !important;
    max-height: 150px !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: cover !important;
    object-position: center !important;
    transform: none !important;
  }

  /* Zone texte totalement remise à zéro */
  body#category #js-product-list .product-description,
  body.page-category #js-product-list .product-description {
    position: static !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 8px 8px 10px !important;
    background: #fff !important;
    text-align: center !important;
    box-sizing: border-box !important;
    transform: none !important;
  }

  body#category #js-product-list .product-title,
  body#category #js-product-list .product-title a,
  body.page-category #js-product-list .product-title,
  body.page-category #js-product-list .product-title a {
    position: static !important;
    display: -webkit-box !important;
    width: 100% !important;
    min-height: 0 !important;
    max-height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    color: #20202b !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    text-align: center !important;
    transform: none !important;
  }

  body#category #js-product-list .product-price-and-shipping,
  body#category #js-product-list .price,
  body.page-category #js-product-list .product-price-and-shipping,
  body.page-category #js-product-list .price {
    position: static !important;
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 5px 0 0 !important;
    padding: 0 !important;
    color: #ff3557 !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    text-align: center !important;
    transform: none !important;
  }

  /* Cache les zones invisibles qui conservaient de la hauteur */
  body#category #js-product-list .highlighted-informations,
  body#category #js-product-list .product-functional-buttons,
  body#category #js-product-list .quick-view,
  body.page-category #js-product-list .highlighted-informations,
  body.page-category #js-product-list .product-functional-buttons,
  body.page-category #js-product-list .quick-view {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Badge et cœur proportionnés */
  body#category #js-product-list .product-flags,
  body.page-category #js-product-list .product-flags {
    top: 7px !important;
    left: 7px !important;
    max-width: calc(100% - 48px) !important;
  }

  body#category #js-product-list .product-flag,
  body.page-category #js-product-list .product-flag {
    padding: 5px 7px !important;
    font-size: 9px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  body#category #js-product-list .wishlist-button-add,
  body.page-category #js-product-list .wishlist-button-add {
    top: 7px !important;
    right: 7px !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    margin: 0 !important;
    transform: none !important;
  }
}


/* =========================================================
   V3.0.37 — NOUVELLES CARTES CATÉGORIE MOBILE
   ========================================================= */
@media (max-width: 767px) {
  body#category #js-product-list .products.msm-category-source-hidden,
  body.page-category #js-product-list .products.msm-category-source-hidden {
    display: none !important;
  }

  body#category .msm-category-grid,
  body.page-category .msm-category-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 0 auto 18px !important;
    padding: 0 10px !important;
    box-sizing: border-box !important;
  }

  body#category .msm-category-card,
  body.page-category .msm-category-card {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    overflow: hidden !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 9px 22px rgba(18,18,30,.12) !important;
    color: #20202b !important;
    text-decoration: none !important;
  }

  body#category .msm-category-image-wrap,
  body.page-category .msm-category-image-wrap {
    position: relative !important;
    width: 100% !important;
    height: 150px !important;
    overflow: hidden !important;
    background: #f4f4f6 !important;
  }

  body#category .msm-category-image,
  body.page-category .msm-category-image {
    display: block !important;
    width: 100% !important;
    height: 150px !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  body#category .msm-category-badge,
  body.page-category .msm-category-badge {
    position: absolute !important;
    top: 8px !important;
    left: 8px !important;
    z-index: 2 !important;
    padding: 5px 7px !important;
    border-radius: 7px !important;
    background: #ff3155 !important;
    color: #fff !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
  }

  body#category .msm-category-info,
  body.page-category .msm-category-info {
    display: block !important;
    padding: 9px 8px 11px !important;
    text-align: center !important;
  }

  body#category .msm-category-name,
  body.page-category .msm-category-name {
    display: -webkit-box !important;
    min-height: 34px !important;
    max-height: 34px !important;
    margin: 0 !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    color: #20202b !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
    text-align: center !important;
  }

  body#category .msm-category-price,
  body.page-category .msm-category-price {
    display: block !important;
    margin: 5px 0 0 !important;
    color: #ff3155 !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    text-align: center !important;
  }
}


/* =========================================================
   V3.0.38 — SOUS-CATÉGORIES MOBILE PLUS GRANDES
   ========================================================= */
@media (max-width: 767px) {

  /* Les cartes occupent davantage la largeur */
  body#category .msm-category-grid,
  body.page-category .msm-category-grid {
    gap: 10px !important;
    padding: 0 4px !important;
  }

  body#category .msm-category-card,
  body.page-category .msm-category-card {
    border-radius: 14px !important;
  }

  /* Image plus haute, proche de Produits populaires */
  body#category .msm-category-image-wrap,
  body.page-category .msm-category-image-wrap,
  body#category .msm-category-image,
  body.page-category .msm-category-image {
    height: 170px !important;
  }

  /* Zone texte plus lisible et plus compacte */
  body#category .msm-category-info,
  body.page-category .msm-category-info {
    padding: 9px 8px 10px !important;
  }

  body#category .msm-category-name,
  body.page-category .msm-category-name {
    min-height: 36px !important;
    max-height: 36px !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
  }

  body#category .msm-category-price,
  body.page-category .msm-category-price {
    margin-top: 4px !important;
    font-size: 21px !important;
    line-height: 1.05 !important;
  }

  body#category .msm-category-badge,
  body.page-category .msm-category-badge {
    top: 7px !important;
    left: 7px !important;
    padding: 5px 8px !important;
    font-size: 10px !important;
  }
}


/* V3.0.39 - Sous-catégories mobile plus compactes */
@media (max-width:767px){
body#category .msm-category-image-wrap,
body.page-category .msm-category-image-wrap,
body#category .msm-category-image,
body.page-category .msm-category-image{
height:182px!important;
}
body#category .msm-category-info,
body.page-category .msm-category-info{
padding:4px 8px 10px!important;
}
body#category .msm-category-name,
body.page-category .msm-category-name{
margin-top:2px!important;
min-height:auto!important;
line-height:1.15!important;
font-size:16px!important;
}
body#category .msm-category-price,
body.page-category .msm-category-price{
margin-top:2px!important;
font-size:22px!important;
}
}


/* =========================================================
   V3.0.40 — MÊME RENDU QUE PRODUITS POPULAIRES DANS LES CATÉGORIES
   ========================================================= */
@media (max-width: 767px) {
  body#category .msm300-category-products-grid,
  body.page-category .msm300-category-products-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0 0 18px !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;
  }

  body#category .msm300-category-products-grid .msm300-product-card,
  body.page-category .msm300-category-products-grid .msm300-product-card {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    border-radius: 12px !important;
  }

  body#category .msm300-category-products-grid .msm300-product-image-wrap,
  body.page-category .msm300-category-products-grid .msm300-product-image-wrap {
    aspect-ratio: 1 / 1 !important;
  }

  body#category .msm300-category-products-grid .msm300-badge,
  body.page-category .msm300-category-products-grid .msm300-badge {
    top: 7px !important;
    left: 7px !important;
    padding: 5px 7px !important;
    font-size: 10px !important;
    border-radius: 6px !important;
  }

  body#category .msm300-category-products-grid .msm300-product-info,
  body.page-category .msm300-category-products-grid .msm300-product-info {
    padding: 10px 7px 11px !important;
  }

  body#category .msm300-category-products-grid .msm300-product-name,
  body.page-category .msm300-category-products-grid .msm300-product-name {
    display: -webkit-box !important;
    min-height: 34px !important;
    margin: 0 0 6px !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
  }

  body#category .msm300-category-products-grid .msm300-product-price,
  body.page-category .msm300-category-products-grid .msm300-product-price {
    font-size: 16px !important;
  }

  body#category .msm300-category-products-grid .msm300-buy-button,
  body.page-category .msm300-category-products-grid .msm300-buy-button {
    width: 100% !important;
    margin: 10px auto 0 !important;
    padding: 9px 5px !important;
    font-size: 11px !important;
    line-height: 1.1 !important;
  }
}


/* =========================================================
   V3.0.41 — CATÉGORIES MOBILE : GRANDES CARTES, IMAGE SANS BLANC
   ========================================================= */
@media (max-width: 767px) {

  /* Sort la grille du petit conteneur central et utilise presque tout l'écran */
  body#category .msm300-category-products-grid,
  body.page-category .msm300-category-products-grid {
    position: relative !important;
    left: 50% !important;
    width: calc(100vw - 20px) !important;
    max-width: none !important;
    margin: 0 0 20px calc(-50vw + 10px) !important;
    padding: 0 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    box-sizing: border-box !important;
  }

  body#category .msm300-category-products-grid .msm300-product-card,
  body.page-category .msm300-category-products-grid .msm300-product-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    border-radius: 16px !important;
    overflow: hidden !important;
  }

  /* Image horizontale, sans zone blanche artificielle */
  body#category .msm300-category-products-grid .msm300-product-image-wrap,
  body.page-category .msm300-category-products-grid .msm300-product-image-wrap {
    width: 100% !important;
    height: 178px !important;
    aspect-ratio: auto !important;
    overflow: hidden !important;
    background: #f5f5f7 !important;
  }

  body#category .msm300-category-products-grid .msm300-product-image,
  body.page-category .msm300-category-products-grid .msm300-product-image {
    width: 100% !important;
    height: 178px !important;
    object-fit: cover !important;
    object-position: center !important;
    transform: none !important;
  }

  /* Titre et prix immédiatement sous l'image */
  body#category .msm300-category-products-grid .msm300-product-info,
  body.page-category .msm300-category-products-grid .msm300-product-info {
    min-height: 0 !important;
    height: auto !important;
    padding: 8px 9px 11px !important;
  }

  body#category .msm300-category-products-grid .msm300-product-name,
  body.page-category .msm300-category-products-grid .msm300-product-name {
    display: -webkit-box !important;
    min-height: 38px !important;
    max-height: 38px !important;
    margin: 0 0 5px !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
  }

  body#category .msm300-category-products-grid .msm300-product-price,
  body.page-category .msm300-category-products-grid .msm300-product-price {
    margin: 0 !important;
    font-size: 21px !important;
    line-height: 1.05 !important;
  }

  body#category .msm300-category-products-grid .msm300-buy-button,
  body.page-category .msm300-category-products-grid .msm300-buy-button {
    width: 100% !important;
    margin: 9px 0 0 !important;
    padding: 11px 6px !important;
    font-size: 12px !important;
    line-height: 1.1 !important;
  }

  body#category .msm300-category-products-grid .msm300-badge,
  body.page-category .msm300-category-products-grid .msm300-badge {
    top: 9px !important;
    left: 9px !important;
    padding: 6px 8px !important;
    font-size: 10px !important;
  }
}


/* v3.0.42 - Center category product cards on mobile */
@media (max-width:767px){
.category-products .products,
.js-product-list .products{
display:flex!important;
flex-wrap:wrap;
justify-content:center!important;
gap:12px!important;
padding-left:12px!important;
padding-right:12px!important;
box-sizing:border-box;
}
.category-products .product-miniature,
.js-product-list .product-miniature{
width:calc(50% - 18px)!important;
max-width:170px!important;
margin:0!important;
}
}


/* =========================================================
   V3.0.43 — CENTRAGE RÉEL DES CARTES CATÉGORIE MOBILE
   ========================================================= */
@media (max-width: 767px) {

  body#category .msm300-category-products-grid,
  body.page-category .msm300-category-products-grid {
    position: relative !important;
    left: 50% !important;

    /* 16 px de marge visible de chaque côté */
    width: calc(100vw - 32px) !important;
    max-width: none !important;
    margin-left: calc(-50vw + 16px) !important;
    margin-right: 0 !important;

    /* espace propre entre les deux cartes */
    column-gap: 12px !important;
    row-gap: 14px !important;

    padding: 0 !important;
    box-sizing: border-box !important;
    justify-items: stretch !important;
  }

  body#category .msm300-category-products-grid .msm300-product-card,
  body.page-category .msm300-category-products-grid .msm300-product-card {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
  }
}


/* =========================================================
   V3.0.44 — CENTRAGE FINAL DE LA GRILLE MOBILE
   ========================================================= */
@media (max-width: 767px) {

  body#category .msm300-category-products-grid,
  body.page-category .msm300-category-products-grid {
    position: static !important;
    left: auto !important;

    width: calc(100vw - 28px) !important;
    max-width: none !important;

    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 20px !important;

    padding: 0 !important;

    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 12px !important;
    row-gap: 14px !important;

    box-sizing: border-box !important;
    justify-content: center !important;
    justify-items: stretch !important;
  }

  body#category .msm300-category-products-grid .msm300-product-card,
  body.page-category .msm300-category-products-grid .msm300-product-card {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
  }
}


/* =========================================================
   V3.0.45 — CENTRAGE PAR RAPPORT À L'ÉCRAN MOBILE
   ========================================================= */
@media (max-width: 767px) {

  body#category .msm300-category-products-grid,
  body.page-category .msm300-category-products-grid {
    position: relative !important;
    left: 50% !important;
    transform: translateX(-50%) !important;

    width: calc(100vw - 32px) !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 20px !important;

    padding: 0 !important;

    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 12px !important;
    row-gap: 14px !important;

    box-sizing: border-box !important;
    justify-content: center !important;
    justify-items: stretch !important;
  }

  body#category .msm300-category-products-grid .msm300-product-card,
  body.page-category .msm300-category-products-grid .msm300-product-card {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
  }
}


/* =========================================================
   V3.0.46 — SOUS-CATÉGORIES MOBILE EN 2 COLONNES
   ========================================================= */
@media (max-width: 767px) {

  /* Bloc sous-catégories uniquement */
  body#category #subcategories,
  body.page-category #subcategories {
    width: calc(100% - 28px) !important;
    max-width: 560px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 14px 10px 16px !important;
    box-sizing: border-box !important;
  }

  body#category #subcategories ul,
  body.page-category #subcategories ul {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 12px !important;
    row-gap: 14px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: start !important;
  }

  body#category #subcategories ul li,
  body.page-category #subcategories ul li {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    text-align: center !important;
  }

  body#category #subcategories ul li > a,
  body.page-category #subcategories ul li > a,
  body#category #subcategories ul li .subcategory-image a,
  body.page-category #subcategories ul li .subcategory-image a {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    margin: 0 !important;
    text-align: center !important;
  }

  /* Logo plus compact pour tenir proprement à deux */
  body#category #subcategories ul li .subcategory-image,
  body.page-category #subcategories ul li .subcategory-image {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 92px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 10px !important;
  }

  body#category #subcategories ul li .subcategory-image img,
  body.page-category #subcategories ul li .subcategory-image img,
  body#category #subcategories ul li img,
  body.page-category #subcategories ul li img {
    display: block !important;
    width: 100% !important;
    height: 92px !important;
    max-width: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 0 auto !important;
  }

  /* Nom juste sous le logo */
  body#category #subcategories ul li .subcategory-name,
  body#category #subcategories ul li h5,
  body#category #subcategories ul li h5 a,
  body.page-category #subcategories ul li .subcategory-name,
  body.page-category #subcategories ul li h5,
  body.page-category #subcategories ul li h5 a {
    display: block !important;
    width: 100% !important;
    margin: 6px auto 0 !important;
    padding: 0 !important;
    min-height: 32px !important;
    color: #20202b !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-align: center !important;
  }

  /* Titre SOUS-CATÉGORIES plus compact */
  body#category #subcategories h2,
  body#category .subcategory-heading,
  body#category .subcategories-title,
  body.page-category #subcategories h2,
  body.page-category .subcategory-heading,
  body.page-category .subcategories-title {
    margin: 0 0 12px !important;
    text-align: center !important;
  }
}


/* =========================================================
   V3.0.47 — SOUS-CATÉGORIES MOBILE : 2 COLONNES SANS CHEVAUCHEMENT
   ========================================================= */
@media (max-width: 767px) {

  body#category #subcategories,
  body.page-category #subcategories {
    width: calc(100% - 24px) !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 14px 10px 16px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  body#category #subcategories ul,
  body.page-category #subcategories ul {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  body#category #subcategories ul > li,
  body.page-category #subcategories ul > li {
    position: static !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    transform: none !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    text-align: center !important;
  }

  body#category #subcategories ul > li > a,
  body.page-category #subcategories ul > li > a,
  body#category #subcategories .subcategory-image,
  body.page-category #subcategories .subcategory-image,
  body#category #subcategories .subcategory-image > a,
  body.page-category #subcategories .subcategory-image > a {
    position: static !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  body#category #subcategories .subcategory-image,
  body.page-category #subcategories .subcategory-image {
    height: 84px !important;
    min-height: 84px !important;
    border-radius: 9px !important;
  }

  body#category #subcategories .subcategory-image img,
  body.page-category #subcategories .subcategory-image img,
  body#category #subcategories ul > li img,
  body.page-category #subcategories ul > li img {
    position: static !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 84px !important;
    max-height: 84px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: none !important;
    box-sizing: border-box !important;
  }

  body#category #subcategories .subcategory-name,
  body#category #subcategories h5,
  body#category #subcategories h5 a,
  body.page-category #subcategories .subcategory-name,
  body.page-category #subcategories h5,
  body.page-category #subcategories h5 a {
    position: static !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 6px 0 0 !important;
    padding: 0 !important;
    min-height: 30px !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    text-align: center !important;
    transform: none !important;
    box-sizing: border-box !important;
    overflow-wrap: anywhere !important;
  }
}


/* =========================================================
   V3.0.48 — SOUS-CATÉGORIES MOBILE : IMAGE PLEINE SANS CHEVAUCHEMENT
   ========================================================= */
@media (max-width: 767px) {

  /* On garde exactement la grille 2 colonnes actuelle */
  body#category #subcategories ul,
  body.page-category #subcategories ul {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px 10px !important;
  }

  body#category #subcategories ul > li,
  body.page-category #subcategories ul > li {
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    transform: none !important;
  }

  /* Rectangle image propre dans chaque colonne */
  body#category #subcategories .subcategory-image,
  body.page-category #subcategories .subcategory-image {
    position: relative !important;
    width: 100% !important;
    height: 84px !important;
    min-height: 84px !important;
    max-height: 84px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 9px !important;
    transform: none !important;
  }

  body#category #subcategories .subcategory-image > a,
  body.page-category #subcategories .subcategory-image > a {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: 84px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    transform: none !important;
  }

  /* Image pleine comme dans l'ancienne version */
  body#category #subcategories .subcategory-image img,
  body.page-category #subcategories .subcategory-image img,
  body#category #subcategories ul > li img,
  body.page-category #subcategories ul > li img {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: 84px !important;
    max-width: 100% !important;
    min-width: 0 !important;
    max-height: 84px !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: cover !important;
    object-position: center !important;
    transform: none !important;
  }

  /* Titre bien centré sous le logo */
  body#category #subcategories .subcategory-name,
  body#category #subcategories h5,
  body#category #subcategories h5 a,
  body.page-category #subcategories .subcategory-name,
  body.page-category #subcategories h5,
  body.page-category #subcategories h5 a {
    position: static !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 6px 0 0 !important;
    padding: 0 !important;
    min-height: 30px !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    text-align: center !important;
    overflow-wrap: anywhere !important;
    transform: none !important;
  }
}


/* =========================================================
   V3.0.51 — PC UNIQUEMENT
   1) Accueil : Produits populaires centrés
   2) Catégories : sous-catégories logo + nom centrés
   ========================================================= */
@media (min-width: 992px) {

  /* 1) ACCUEIL UNIQUEMENT : centre la grille Produits populaires */
  body#index .featured-products .products,
  body#index .featured-products .products.row {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 24px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body#index .featured-products .product-miniature {
    float: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* 2) PAGES CATÉGORIE UNIQUEMENT : sous-catégories parfaitement centrées */
  body#category #subcategories ul,
  body.page-category #subcategories ul {
    display: grid !important;
    grid-template-columns: repeat(3, 180px) !important;
    justify-content: center !important;
    align-items: start !important;
    column-gap: 36px !important;
    row-gap: 24px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  body#category #subcategories ul > li,
  body.page-category #subcategories ul > li {
    float: none !important;
    display: block !important;
    width: 180px !important;
    max-width: 180px !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
  }

  body#category #subcategories .subcategory-image,
  body.page-category #subcategories .subcategory-image {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 180px !important;
    height: 84px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
  }

  body#category #subcategories .subcategory-image a,
  body.page-category #subcategories .subcategory-image a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 180px !important;
    height: 84px !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  body#category #subcategories .subcategory-image img,
  body.page-category #subcategories .subcategory-image img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 160px !important;
    max-height: 72px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
  }

  body#category #subcategories .subcategory-name,
  body#category #subcategories h5,
  body#category #subcategories h5 a,
  body.page-category #subcategories .subcategory-name,
  body.page-category #subcategories h5,
  body.page-category #subcategories h5 a {
    display: block !important;
    width: 180px !important;
    margin: 8px auto 0 !important;
    padding: 0 !important;
    text-align: center !important;
    line-height: 1.25 !important;
  }
}
