html { visibility: visible !important; }

/* lazysizes est mort sur le miroir : sans ça les visuels restent opacity:0
   jusqu’à ce que runtime.js ait fini de fetcher pdp-media.json. */
img.lazyload,
img.lazyloading {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Hero durable (shop49) : UNE slide, desktop + mobile, avec OU sans JS.
   Relapse shop47 : le track passait en flex AVANT runtime.js, mais
   flex:0 0 100% n’existait qu’en max-width:991px ET seulement tant que
   html:not(.mm-carousels-ready). Sur desktop les ~14 slides 1440px
   prenaient flex-shrink:1 et se comprimaient en lamelles. Ensuite
   .mm-carousels-ready retirait le filet CSS. */
html body .hero-slider-wrapper,
html body .hero-slider-wrapper .slick-slider,
html body .hero-slider-wrapper .slick-list,
html body .slick-hero,
html body [data-slick-init="hero-slick"] {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
}
html body .hero-slider-wrapper .slick-list,
html body .slick-hero .slick-list,
html body [data-slick-init="hero-slick"] .slick-list {
  overflow: hidden !important;
  width: 100% !important;
  max-width: 100% !important;
  position: relative !important;
}
html body .hero-slider-wrapper .slick-track,
html body .slick-hero .slick-track,
html body [data-slick-init="hero-slick"] .slick-track {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
}
html body .hero-slider-wrapper:not(.mm-hero-bound) .slick-track,
html body .slick-hero:not(.mm-hero-bound) .slick-track,
html body [data-slick-init="hero-slick"]:not(.mm-hero-bound) .slick-track {
  transform: none !important;
}
html body .hero-slider-wrapper .slick-slide,
html body .slick-hero .slick-slide,
html body [data-slick-init="hero-slick"] .slick-slide {
  float: none !important;
  box-sizing: border-box !important;
  flex: 0 0 100% !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
}
html body .hero-slider-wrapper .slick-cloned,
html body .slick-hero .slick-cloned,
html body [data-slick-init="hero-slick"] .slick-cloned {
  display: none !important;
  width: 0 !important;
  min-width: 0 !important;
  max-width: 0 !important;
  flex: 0 0 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

/* MAGASINS : barre verte (nav + store locator homepage). Pas le checkout. */
html body .magasins-global-cat,
html body a#magasins,
html body .push-content-magasin,
html body .hp-side-pushes > .row:first-child {
  display: none !important;
}

/* PayPal / Cofidis « Paiement en 4 X » + Jouez A — pas le checkout HeyPay. */
html body:not(.page__checkout) .payment-installments,
html body:not(.page__checkout) .payment-simulator,
html body:not(.page__checkout) .js-payment-simulator,
html body:not(.page__checkout) [data-reinsurance-id="paypal-reinsurance"],
html body:not(.page__checkout) [data-reinsurance-id="confidis-reinsurance"],
html body:not(.page__checkout) [data-pp-message],
html body:not(.page__checkout) img[src*="reinsurance/paypal"],
html body:not(.page__checkout) img[src*="logo-cofidis"],
html body .product-detail .payment-installments,
html body .product-detail [data-reinsurance-id="paypal-reinsurance"],
html body .pdp-main [data-reinsurance-id="paypal-reinsurance"],
html body .offer-button,
html body #offers-modal-cta,
html body #offers-modal,
html body #custom-product-modal,
html body .product-ribbon-jouez,
html body .ins-jouez-element,
html body .ins-custom-badge,
html body a[href="/joueza"],
html body a[href*="/joueza"],
html body a[href*="payez-en-2-fois"],
html body a[href*="paiement-plusieurs-fois"],
html body .reinsurance-item[data-target="#custom-product-modal"],
html body [data-target="#custom-product-modal"] {
  display: none !important;
}

/* Mega Carte : plus vendue — ne pas 404 les URLs restantes. */
html body .loyalty-push-block,
html body .hp-mega-push,
html body [data-reinsurance-id="megacarte-reinsurance"],
html body a[href="/fidelite.html"],
html body a[href*="/account/megacard"],
html body li:has(> a[href="/fidelite.html"]),
html body li:has(> a[href*="fidelite.html"]) {
  display: none !important;
}
.hero-slider-wrapper .hero-item {
  position: relative !important;
  overflow: hidden !important;
}
.hero-slider-wrapper .push-overlay-flex,
.hero-slider-wrapper .hero-push {
  position: absolute !important;
  inset: 0;
  pointer-events: none;
}
.hero-slider-wrapper .push-overlay-flex a,
.hero-slider-wrapper .hero-push a,
.hero-slider-wrapper .push-overlay-flex .button,
.hero-slider-wrapper .hero-push .button {
  pointer-events: auto;
}
#footer-payment-methods,
footer .payment-methods,
.content-asset .payment-methods,
a[href*="paiement-plusieurs-fois"] { display: none !important; }
#onetrust-banner-sdk,
#onetrust-consent-sdk,
#didomi-host,
iframe[src*="useinsider"],
.ins-preview-wrapper,
.ins-content-wrapper,
[id^="ins-"]:not(#ins-frameless-css),
#criteoData,
.home-page-criteo { display: none !important; }

/* Navbar locale */
.mm-local-menu {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  z-index: 80;
  background: #0b1f4b;
  box-shadow: 0 12px 28px rgba(0,0,0,.25);
  padding: 18px 32px 22px;
}
.global-navbar { position: relative; }
@media (min-width: 992px) {
  .global-nav-item.has-submenu.is-open > .mm-local-menu,
  .global-nav-item.has-submenu:hover > .mm-local-menu,
  .mm-local-menu.is-open { display: flex; flex-wrap: wrap; gap: 10px 28px; }
}
.mm-local-menu a,
.mm-local-menu-link {
  color: #fff !important;
  font-size: 14px;
  text-decoration: none;
  padding: 6px 0;
  white-space: nowrap;
}
.mm-local-menu a:hover { text-decoration: underline; }

.mm-local-note {
  position: fixed;
  right: 16px;
  bottom: 16px;
  background: #111;
  color: #fff;
  padding: 10px 14px;
  border-radius: 8px;
  font: 13px/1.3 system-ui, sans-serif;
  z-index: 9999;
  display: none;
}

/* Quantité panier si vide */
.minicart-quantity:empty::after { content: "0"; }

.hamburger-menu.is-open .bar1 { transform: rotate(45deg) translate(5px, 5px); }
.hamburger-menu.is-open .bar3 { transform: rotate(-45deg) translate(5px, -5px); }
.hamburger-menu.is-open .bar2 { opacity: 0; }

.mm-gen-main { max-width: 1180px; margin: 0 auto; padding: 24px 16px 48px; }
.mm-gen-title { font-size: 28px; color: #0b1f4b; margin: 0 0 8px; }
.mm-gen-lead { color: #444; margin: 0 0 24px; }
.mm-generated .product-tile { background: #fff; border: 1px solid #e6e6e6; padding: 12px; height: 100%; }
.mm-generated .product-image { max-width: 100%; height: auto; }
.mm-generated .add-to-cart { margin-top: 8px; background: #0b1f4b; color: #fff; border: 0; padding: 8px 12px; }
.mm-cart-list { padding-left: 18px; }
.mm-oos-badge {
  display: inline-block;
  background: #5a6a8a;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
  padding: 3px 8px;
  border-radius: 2px;
  margin: 0 6px 6px 0;
  line-height: 1.3;
}
.mm-oos .add-to-cart,
.mm-oos .add-to-cart-plp,
button.mm-oos-btn,
a.mm-oos-btn {
  background: #8b95a8 !important;
  border-color: #8b95a8 !important;
  color: #fff !important;
  pointer-events: none !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
}
.mm-oos .btn-get-in-store-inventory,
.mm-pdp-oos .btn-get-in-store-inventory {
  opacity: .45;
  pointer-events: none !important;
  cursor: not-allowed !important;
}
.mm-empty-carousel { display: none !important; }

/* Licences : éviter le grand trou blanc si seules les logos restent */
.logos-carousel .slick-list,
.licenses-landing .slick-list {
  min-height: 0 !important;
  height: auto !important;
}
.logos-carousel .slick-slide,
.licenses-landing .slick-slide {
  height: auto !important;
}
.logos-carousel .licenses-wrap,
.licenses-landing .licenses-wrap {
  min-height: 0 !important;
  background: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 12px !important;
}
.logos-carousel .license-image,
.logos-carousel img.lazyload,
.licenses-landing .license-image,
.licenses-landing img.lazyload {
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
  max-height: 48px !important;
  width: auto !important;
  margin: 0 auto !important;
}

.slick-arrow,
.hero-slick-nav,
.hero-slick-nav button,
.custom-medias-arrow,
.medias-arrow-up,
.medias-arrow-down {
  pointer-events: auto !important;
  cursor: pointer !important;
  z-index: 40 !important;
}
.hero-slick-nav { position: relative; z-index: 40; }
.slick-track { will-change: transform; }

html.mm-mobile,
html.mm-mobile body {
  overflow-x: hidden !important;
  max-width: 100vw;
}

/* Live = header fixed + padding-top 60px sur .page — miroir = sticky, pas de bande blanche */
.page,
.page.page-container {
  padding-top: 0 !important;
}
header,
.global-navbar {
  position: sticky !important;
  top: 0 !important;
  z-index: 120 !important;
}

@media (max-width: 991px) {
  html, body { overflow-x: hidden; max-width: 100vw; }

  header,
  .global-navbar {
    position: sticky !important;
    top: 0 !important;
    z-index: 120 !important;
  }

  /* Nav desktop cachée → tiroir mobile */
  .global-nav-wrap {
    display: none !important;
    position: fixed !important;
    inset: 0 auto 0 0;
    width: min(88vw, 360px);
    max-width: 100%;
    height: 100vh;
    height: 100dvh;
    background: #0b1f4b !important;
    z-index: 200 !important;
    overflow-y: auto;
    padding: 56px 0 32px;
    box-shadow: 8px 0 28px rgba(0,0,0,.35);
  }
  .global-nav-wrap.mm-open {
    display: block !important;
  }
  .global-nav-wrap .icon-close.close-menu-button {
    display: block !important;
    position: absolute;
    top: 14px;
    right: 16px;
    color: #fff;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    z-index: 2;
  }
  .global-nav-wrap .global-nav,
  .global-nav.mm-open {
    display: flex !important;
    flex-direction: column !important;
    width: 100%;
    background: transparent;
    position: static;
    padding: 0;
  }
  .global-nav-item {
    border-bottom: 1px solid rgba(0,0,0,.08);
  }
  .global-nav-wrap .global-nav-link,
  .global-nav-wrap .level-1-link,
  .global-nav-wrap .global-nav-item > a,
  .global-nav-wrap .level-1-item,
  .global-nav-wrap span,
  .global-nav-wrap .nav-link-label,
  .global-nav-wrap .icon-box,
  .global-nav-wrap .icon-box::before {
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
    opacity: 1 !important;
  }
  .global-nav-item .level-1-link,
  .global-nav-item > a {
    display: flex !important;
    align-items: center;
    gap: 10px;
    color: #111 !important;
    padding: 14px 20px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
  }
  .mm-local-menu {
    position: static !important;
    display: none !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    background: #071536 !important;
    box-shadow: none !important;
    padding: 4px 12px 14px 28px !important;
    gap: 0 !important;
  }
  .mm-local-menu[hidden] { display: none !important; }
  .global-nav-item.has-submenu.is-open > .mm-local-menu {
    display: flex !important;
  }
  .mm-local-menu a {
    display: block !important;
    width: 100% !important;
    color: #d7e3ff !important;
    padding: 10px 8px !important;
    white-space: normal !important;
    border-bottom: 1px solid rgba(255,255,255,.08);
    font-size: 14px !important;
    font-weight: 500 !important;
  }

  /* Panneaux AJAX SFCC (Menu-Get) — doublons qui collaient les libellés */
  .mm-local-menu-panel,
  .global-nav-item > .level-2-nav,
  .global-nav-item > .dropdown-menu,
  .global-nav-item .popover,
  .nav-cat-url {
    display: none !important;
  }

  /* Placeholders Einstein / slots vides */
  .mm-empty-carousel,
  .experience-component:empty,
  .einstein-recommendations:empty {
    display: none !important;
  }
  body.mm-menu-open::after {
    content: "";
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.45);
    z-index: 190;
  }

  /* Header icons spacing (legacy) — remplacé par le bloc header mobile ci-dessous */
  .global-navbar .header-links,
  .global-navbar .nav-icons,
  .header-link-items {
    gap: 0 !important;
  }

  /* Carrousels mobile */
  .slick-slider,
  .slick-list {
    max-width: 100%;
    overflow: hidden !important;
  }
  /* Pas de padding sur la piste : la largeur de slide est calculée par
     runtime.js à partir de .slick-list, la gouttière va sur le contenu. */
  .slick-slider-products .slick-list,
  .slick-slider-highlight .slick-list,
  .slick-slider-overflow .slick-list {
    padding: 0 !important;
  }
  .slick-slider-products .slick-slide > div,
  .slick-slider-highlight .slick-slide > div,
  .slick-slider-overflow .slick-slide > div {
    padding: 0 5px !important;
    box-sizing: border-box !important;
  }

  /* Hero = 1 slide plein écran, images mobile */
  .hero-slider-wrapper,
  .hero-slider-wrapper .slick-slider,
  .hero-slider-wrapper .slick-list,
  .slick-hero,
  [data-slick-init="hero-slick"] {
    width: 100% !important;
    max-width: 100vw !important;
    overflow: hidden !important;
  }
  .hero-slider-wrapper .slick-track,
  .slick-hero .slick-track,
  [data-slick-init="hero-slick"] .slick-track {
    display: flex !important;
    align-items: stretch;
  }
  .hero-slider-wrapper .slick-slide,
  .hero-slider-wrapper .hero-item,
  .slick-hero .slick-slide,
  [data-slick-init="hero-slick"] .slick-slide {
    height: auto !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }
  .hero-slider-wrapper picture,
  .hero-slider-wrapper .hero-item,
  .hero-slider-wrapper .hero-content {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
  }
  .hero-slider-wrapper img,
  .hero-slider-wrapper .hero-img,
  .slick-hero img,
  [data-slick-init="hero-slick"] img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
    object-fit: cover;
  }
  .hero-slider-wrapper .hero-caption,
  .hero-slider-wrapper .hero-text,
  .hero-slider-wrapper .hero-copy,
  .hero-slider-wrapper .banner-text,
  .hero-slider-wrapper .position-absolute:not(.hero-slick-nav):not(.slick-arrow) {
    /* overlays desktop souvent hors cadre sur image mobile */
    max-width: 92% !important;
  }
  .hero-slick-nav {
    position: absolute !important;
    inset: 0;
    pointer-events: none;
    z-index: 5;
  }
  .hero-slick-nav button,
  .hero-slider-wrapper > .slick-arrow,
  .hero-slider-wrapper .slick-arrow {
    pointer-events: auto !important;
    position: absolute !important;
    top: 50% !important;
    margin-top: -18px !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    border-radius: 50% !important;
    transform: none !important;
    opacity: .92;
    z-index: 6;
  }
  .hero-slick-nav .slick-prev,
  .hero-slider-wrapper .slick-prev { left: 8px !important; }
  .hero-slick-nav .slick-next,
  .hero-slider-wrapper .slick-next { right: 8px !important; }

  .slick-arrow,
  .hero-slick-nav button.slick-arrow {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    border-radius: 50% !important;
    transform: none !important;
  }
  .slick-slider-products > .slick-arrow,
  .slick-slider-highlight > .slick-arrow,
  .slick-slider-overflow > .slick-arrow {
    top: 42% !important;
    margin-top: -18px;
  }
  .slick-prev { left: 4px !important; }
  .slick-next { right: 4px !important; }

  /* Header mobile : une rangée, icônes MM alignées */
  .global-navbar,
  .global-navbar > .d-flex,
  .global-navbar .container-fluid,
  header .global-navbar {
    min-height: 60px !important;
    height: 60px !important;
    align-items: center !important;
  }
  .global-navbar .global-logo,
  .global-navbar .global-nav-logo,
  .global-navbar .logos {
    height: 60px !important;
    display: flex !important;
    align-items: center !important;
    overflow: visible !important;
    flex: 1 1 auto !important;
    min-width: 132px !important;
    max-width: none !important;
  }
  .global-navbar .global-logo-wrap {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    overflow: visible !important;
  }
  .global-navbar .global-search {
    display: none !important;
  }
  .global-navbar .title-logo {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    border: 0 !important;
  }
  .global-navbar .global-nav-logo-svg,
  .global-navbar .global-nav-logo img {
    display: block !important;
    height: 22px !important;
    max-height: 22px !important;
    width: auto !important;
    max-width: 170px !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  .global-navbar .global-nav-links,
  .global-navbar .header-links-wrapper {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    height: 60px !important;
    gap: 0 !important;
    padding-right: 6px !important;
    margin: 0 !important;
    background: transparent !important;
  }
  .global-navbar .account-link-wrapper-wishlist { order: 1 !important; }
  .global-navbar .account-link-wrapper { order: 2 !important; }
  .global-navbar .search-link-wrapper { order: 3 !important; }
  .global-navbar .minicart-link-wrapper { order: 4 !important; }
  .global-navbar .link-wrapper,
  .global-navbar .account-link-wrapper-wishlist,
  .global-navbar .account-link-wrapper,
  .global-navbar .search-link-wrapper,
  .global-navbar .minicart-link-wrapper {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 60px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    position: relative !important;
  }
  .global-navbar .headerwrapper,
  .global-navbar .user {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .global-navbar .header-link-item,
  .global-navbar .icon-search,
  .global-navbar .icon-account,
  .global-navbar .sidebar-login,
  .global-navbar .minicart-link,
  .global-navbar .header-link-item-wishlist {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
    max-height: 28px !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    font-size: 22px !important;
    color: #111 !important;
    overflow: hidden !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    position: relative !important;
  }
  /* Police d’icônes Micromania — pas d’emojis de secours */
  .global-navbar .icon-search::before {
    content: "\E832" !important;
    font-family: mm-icons !important;
    font-size: 22px !important;
    line-height: 1 !important;
    color: #111 !important;
    speak: none;
  }
  .global-navbar .icon-account::before,
  .global-navbar .sidebar-login::before {
    content: "\E801" !important;
    font-family: mm-icons !important;
    font-size: 22px !important;
    line-height: 1 !important;
    color: #111 !important;
    background: none !important;
    -webkit-text-fill-color: #111 !important;
  }
  .global-navbar .header-link-item-wishlist::before,
  .global-navbar .header-link-item-wishlist::after,
  .global-navbar .wishlist-hearth-icon::before,
  .global-navbar .wishlist-hearth-icon::after {
    content: none !important;
    display: none !important;
  }
  .global-navbar .wishlist-hearth-icon {
    display: block !important;
    width: 22px !important;
    height: 22px !important;
    margin: 0 !important;
    padding: 0 !important;
    background-image: url("/on/demandware.static/Sites-Micromania-Site/-/fr_FR/v1787356887463/images/icons/wishlist-hearth-icon.svg") !important;
    background-size: 22px 22px !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    position: static !important;
  }
  .global-navbar .minicart-total,
  .global-navbar .cart-icon-container {
    transform: scale(0.95);
    transform-origin: center;
  }
  .global-navbar .minicart-quantity {
    font-size: 11px !important;
    line-height: 1 !important;
  }
  .global-menu.icon-box,
  .hamburger-menu {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .hamburger-menu {
    width: 28px !important;
    height: 26px !important;
  }

  /* Tuiles produit : 1 visible + peek */
  .product-column,
  .slick-slide .product-padding {
    max-width: 100%;
  }
  .product-tile .add-to-cart,
  .product-tile button.add-to-cart {
    width: 100%;
    font-size: 13px;
  }

  /* Sections vides après filtrage catalogue */
  .mm-empty-carousel {
    display: none !important;
  }

  /* PDP sticky CTA */
  .sticky-cta-block {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
  }
}

/* Promo locale -40% FC27 / GTA VI */
.mm-promo-badge {
  display: inline-block;
  background: #e31c23;
  color: #fff !important;
  font-weight: 700;
  font-size: 12px;
  line-height: 1;
  padding: 4px 7px;
  margin-right: 8px;
  border-radius: 2px;
  vertical-align: middle;
}
.mm-promo-was {
  display: inline-block;
  text-decoration: line-through;
  color: #888 !important;
  font-size: 0.9em;
  margin-right: 8px;
  font-weight: 500;
}
.mm-promo-now,
.mm-promo .sales .value.mm-promo-now {
  color: #e31c23 !important;
  font-weight: 700 !important;
}
.product-tile.mm-promo,
.product-detail.mm-promo {
  position: relative;
}
.product-tile.mm-promo::after {
  content: "-40%";
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 5;
  background: #e31c23;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  padding: 4px 6px;
  border-radius: 2px;
  pointer-events: none;
}
/* Le badge est posé en absolu au-dessus de la ligne de rubans : on lui
   réserve sa place, sinon il recouvre "Bonus offert". */
.product-tile.mm-promo .product-ribbon {
  padding-left: 46px;
}

/* ===== Boutique locale ===== */
.mm-shop-main { max-width: 1100px; margin: 0 auto; }
.mm-shop-panel { background: #fff; padding: 8px 0 40px; }
.mm-shop-title { color: #0b1f4b; font-size: 28px; margin: 0 0 8px; }
.mm-shop-lead { color: #666; margin: 0 0 20px; }
.mm-shop-empty { color: #444; font-size: 16px; }
.mm-shop-btn {
  display: inline-block;
  background: #0b1f4b;
  color: #fff !important;
  text-decoration: none !important;
  border: 0;
  padding: 12px 18px;
  font-weight: 700;
  cursor: pointer;
  border-radius: 2px;
}
.mm-shop-btn-ghost { background: #fff; color: #0b1f4b !important; border: 1px solid #0b1f4b; }
.mm-shop-btn:disabled { opacity: .6; cursor: wait; }
.mm-cart-table { display: flex; flex-direction: column; gap: 14px; }
.mm-cart-row {
  display: grid;
  grid-template-columns: 72px 1fr auto auto auto;
  gap: 14px;
  align-items: center;
  border-bottom: 1px solid #e8e8e8;
  padding-bottom: 14px;
}
.mm-cart-thumb img { width: 72px; height: 72px; object-fit: contain; background: #f6f6f6; }
.mm-cart-info a { color: #0b1f4b; text-decoration: none; }
.mm-cart-unit { margin-top: 6px; }
.mm-cart-qty { display: flex; align-items: center; gap: 8px; }
.mm-cart-qty button {
  width: 28px; height: 28px; border: 1px solid #0b1f4b; background: #fff; cursor: pointer;
}
.mm-cart-line { font-weight: 700; color: #0b1f4b; min-width: 80px; text-align: right; }
.mm-cart-remove { border: 0; background: transparent; color: #888; cursor: pointer; text-decoration: underline; }
.mm-cart-footer {
  display: flex; justify-content: space-between; gap: 24px; flex-wrap: wrap;
  margin-top: 24px; padding-top: 16px; border-top: 2px solid #0b1f4b;
}
.mm-cart-totals { min-width: 240px; }
.mm-cart-totals > div { display: flex; justify-content: space-between; gap: 24px; margin: 6px 0; }
.mm-cart-total { font-size: 18px; color: #0b1f4b; }
.mm-cart-actions { display: flex; gap: 12px; align-items: flex-start; flex-wrap: wrap; }
.mm-shop-grid { display: grid; grid-template-columns: 1.4fr .9fr; gap: 28px; }
@media (max-width: 900px) {
  .mm-shop-grid { grid-template-columns: 1fr; }
  .mm-cart-row { grid-template-columns: 64px 1fr; }
  .mm-cart-qty, .mm-cart-line, .mm-cart-remove { grid-column: 2; }
}
.mm-shop-form { display: flex; flex-direction: column; gap: 10px; }
.mm-shop-form h2 { margin: 16px 0 4px; font-size: 18px; color: #0b1f4b; }
.mm-shop-form label { display: flex; flex-direction: column; gap: 4px; font-size: 13px; color: #333; }
.mm-shop-form input, .mm-shop-form select {
  border: 1px solid #ccd; padding: 10px 12px; font-size: 15px;
}
.mm-shop-summary {
  background: #f5f7fb; border: 1px solid #e2e8f3; padding: 16px 18px; height: fit-content;
}
.mm-shop-summary-list { list-style: none; padding: 0; margin: 0 0 12px; }
.mm-shop-summary-list li {
  display: flex; justify-content: space-between; gap: 12px;
  padding: 8px 0; border-bottom: 1px solid #e6e6e6; font-size: 14px;
}
.mm-order-ok { font-size: 18px; color: #0b1f4b; }

/* Checkout Micromania (4 étapes) */
.mm-checkout-header { background: #fff; border-bottom: 1px solid #e6e6e6; }
.mm-checkout-header-bar {
  background: #d4d7de;
  padding: 10px 16px;
  min-height: 52px;
  display: flex;
  align-items: center;
}
.mm-checkout-logo {
  display: flex !important;
  align-items: center;
  flex: 0 0 170px;
  height: 22px;
  width: 170px;
}
.mm-checkout-logo img {
  display: block !important;
  width: 170px !important;
  height: auto !important;
  max-width: 170px !important;
  object-fit: contain !important;
  object-position: left center !important;
  aspect-ratio: 242 / 28 !important;
  filter: none;
}
.page__checkout { background: #f8f8f8; }
.page__checkout .checkout-main-row { align-items: flex-start !important; }
.page__checkout .checkout__container { padding-bottom: 16px; min-height: 0 !important; }
.page__checkout .checkout-main,
.page__checkout .checkout-aside { align-self: flex-start; }
.page__checkout .mm-billing-card { margin-bottom: 0; }
.page__checkout .mm-checkout-services { margin-top: 0; }
.page__checkout .checkout-page-title { font-family: Jost-Bold, sans-serif; color: #164094 !important; }
.page__checkout .mm-summary-total { color: #164094; font-size: 1.25rem; }
.mm-order-summary .order-summary { border: 1px solid #e6e6e6; border-radius: 4px; }
.mm-order-summary .order-summary-line { font-size: 0.875rem; text-transform: uppercase; }
.mm-shipping-option.is-selected { border-color: #164094 !important; box-shadow: 0 0 0 1px #164094; }
.mm-shipping-option .custom-control-label { cursor: pointer; width: 100%; }
.page__checkout .payment-methods,
.page__checkout .mm-payment-option { display: none !important; }
.page__checkout .mm-heypay-method { border: 1px solid #164094; }
.page__checkout [data-heypay],
.page__checkout .mm-heypay-btn {
  display: block;
  width: 100%;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.04em;
  cursor: pointer;
}
.mm-heypay-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 4000;
  background: rgba(11, 31, 75, 0.55);
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.mm-heypay-overlay-card {
  background: #fff;
  max-width: 420px;
  width: 100%;
  padding: 24px;
  border-radius: 4px;
  color: #0b1f4b;
  font-size: 15px;
  line-height: 1.45;
}
.mm-heypay-overlay-card .button { margin-top: 12px; width: 100%; }
.mm-checkout-footer-bar { background: linear-gradient(90deg, #164094 40%, #00a651 100%); color: #fff; }
.mm-checkout-footer-links a { color: #fff; margin-left: 16px; font-size: 12px; text-decoration: none; }
.mm-checkout-services .service-block { font-size: 12px; font-weight: 600; text-transform: uppercase; min-height: 72px; }
.mm-social-login { gap: 12px; }
.mm-social-btn { width: 44px; height: 44px; border-radius: 50%; border: 1px solid #ddd; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; background: #fff; }

/* Livraison — formulaire adresse */
.page__checkout .mm-page-title { margin-bottom: 16px; }
.page__checkout .mm-shipping-methods { display: flex; flex-direction: column; gap: 12px; margin-bottom: 8px; }
.page__checkout .mm-shipping-option {
  display: block;
  padding: 14px 16px;
  margin: 0;
  cursor: default;
  border: 1px solid #ddd;
  border-radius: 4px;
}
.page__checkout .mm-shipping-option-select {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 0;
  cursor: pointer;
}
.page__checkout .mm-shipping-option-select .mm-shipping-option-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  flex: 1;
  width: calc(100% - 28px);
}
.page__checkout .mm-shipping-option-content { padding-left: 28px; }
.page__checkout .mm-shipping-radio { margin-right: 0; flex: 0 0 auto; margin-top: 4px; }
.page__checkout .mm-relay-search-btn { position: relative; z-index: 2; pointer-events: auto; }
.mm-relay-drawer .mm-relay-search-form { position: relative; z-index: 2; }
.page__checkout .mm-shipping-option.is-selected { border-color: #164094; box-shadow: inset 0 0 0 1px #164094; }
.page__checkout .mm-shipping-only { cursor: default; }
.page__checkout .mm-shipping-only .mm-shipping-option-body { width: 100%; }
.page__checkout .mm-shipping-radio { margin-right: 8px; vertical-align: top; margin-top: 4px; }
.page__checkout .mm-shipping-option-body { display: inline-block; width: calc(100% - 28px); vertical-align: top; }
.page__checkout .mm-shipping-option-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  flex-wrap: wrap;
}
.page__checkout .mm-shipping-price { white-space: nowrap; font-weight: 700; }
.page__checkout .mm-shipping-note {
  display: block;
  margin: 10px 0 0;
  font-size: 12px;
  line-height: 1.45;
  color: #666;
}
.page__checkout .mm-store-btn { margin-top: 10px; }
.page__checkout .mm-customer-title,
.page__checkout .mm-billing-title {
  margin: 16px 0 6px;
  font-size: 1.05rem;
  color: #164094;
  font-weight: 700;
  clear: both;
}
.page__checkout .mm-customer-lead,
.page__checkout .mm-billing-lead { font-size: 13px; color: #666; margin-bottom: 12px; }
.page__checkout .mm-customer-card,
.page__checkout .mm-billing-card { padding: 16px; border: 1px solid #e6e6e6; }
.page__checkout .mm-customer-fields { margin-top: 12px; }
.page__checkout .mm-address-preview { display: none !important; }
.page__checkout .mm-field { margin-bottom: 14px; }
.page__checkout .mm-field-label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: #333;
  margin-bottom: 6px;
  text-transform: uppercase;
  letter-spacing: 0.4px;
}
.page__checkout .mm-field-input {
  width: 100%;
  min-height: 44px;
  font-size: 16px;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 10px 12px;
  box-sizing: border-box;
}
.page__checkout .mm-field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
@media (max-width: 767.98px) {
  .page__checkout .mm-field-row { grid-template-columns: 1fr; }
  .page__checkout .mm-shipping-option-head { flex-direction: column; align-items: flex-start; gap: 4px; }
}

/* Panier — cacher l’assurance / extension de garantie (SFCC + ancien drawer) */
.extensions-container,
.sidebar-product-discount-section,
.mm-warranty-row,
.mm-warranty-add,
[data-mm-warranty] {
  display: none !important;
}

/* Panier sidebar — boutons */
.page__checkout .mm-relay-open,
.page__checkout .mm-pickup-open { margin-top: 10px; }
.page__checkout .mm-relay-selected,
.page__checkout .mm-pickup-selected { margin-top: 12px; background: #f8fbff; border-color: #c5d9ff !important; }
.page__checkout .mm-shipping-extra { margin-top: 8px; }

.mm-colissimo-brand { display: inline-flex; align-items: center; gap: 8px; }
.mm-colissimo-logo {
  display: inline-block;
  width: 28px;
  height: 28px;
  border-radius: 4px;
  background: linear-gradient(135deg, #f5a623 0%, #ffcc00 55%, #e87722 100%);
  box-shadow: inset 0 0 0 1px rgba(0,0,0,0.08);
}
.mm-colissimo-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  margin: 12px 0 0;
  border: 1px solid #164094;
  border-radius: 2px;
  overflow: hidden;
}
.mm-colissimo-tab {
  appearance: none;
  border: 0;
  border-right: 1px solid #164094;
  background: #fff;
  color: #164094;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 10px 6px;
  line-height: 1.2;
  cursor: pointer;
}
.mm-colissimo-tab:last-child { border-right: 0; }
.mm-colissimo-tab.is-active {
  background: #164094;
  color: #fff;
}
.mm-colissimo-panels { margin-top: 14px; }
.mm-address-preview {
  padding: 12px 0;
  border-bottom: 1px solid #e6e6e6;
}
.mm-address-preview:last-child { border-bottom: 0; }
.mm-address-preview-title {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  color: #333;
  margin-bottom: 6px;
}
.mm-address-preview-body { font-size: 13px; line-height: 1.45; color: #333; }
.mm-relay-drawer-kicker {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: #164094;
  margin: 16px 0 10px;
}
.page__checkout .mm-relay-selected-head .btn-link { color: #164094; font-weight: 600; text-transform: uppercase; font-size: 11px; }

#sidebar.custom-sidebar.relay-sidebar { width: min(480px, 100vw); max-width: 100%; }
#mm-sidebar-backdrop.mm-sidebar-backdrop,
#sidebar-backdrop.mm-sidebar-backdrop { top: 0; }
.mm-relay-drawer { padding: 8px 16px 24px; height: 100%; overflow-y: auto; }
.mm-relay-drawer-title { font-size: 1.35rem; margin: 0 32px 8px 0; font-weight: 700; }
.mm-relay-drawer-lead { font-size: 13px; color: #666; margin-bottom: 16px; }
.mm-relay-search-row { display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: end; margin-bottom: 16px; }
.mm-relay-search-btn { white-space: nowrap; min-height: 44px; }
.mm-relay-results-lead { font-size: 12px; font-weight: 700; color: #164094; text-transform: uppercase; margin-bottom: 12px; }
.mm-relay-item-name { font-size: 13px; line-height: 1.3; text-transform: uppercase; }
.mm-relay-distance { font-size: 12px; color: #164094; white-space: nowrap; padding-left: 8px; }
.mm-relay-empty, .mm-relay-loading { font-size: 14px; color: #666; padding: 12px 0; }
.mm-order-relay { background: #f8fbff; border: 1px solid #c5d9ff; border-radius: 4px; padding: 12px 14px; margin: 12px 0; font-size: 14px; }
.mm-warranty-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px 12px;
  align-items: center;
}
.mm-warranty-label {
  grid-column: 1 / -1;
  font-size: 13px;
  line-height: 1.35;
  white-space: normal;
  word-break: normal;
}
.mm-warranty-price { grid-column: 1; font-size: 1rem; }
.mm-warranty-add { grid-column: 2; white-space: nowrap; min-width: 88px; }
.mm-minicart-cta .button,
.mm-minicart-cta .mm-btn-primary,
.mm-minicart-cta .mm-btn-secondary {
  display: block;
  width: 100%;
  box-sizing: border-box;
  margin: 0 0 10px;
  padding: 14px 12px;
  font-size: 13px;
  line-height: 1.2;
  white-space: normal;
  text-align: center;
}
.mm-minicart-cta .button:last-child,
.mm-minicart-cta .mm-btn-secondary:last-child { margin-bottom: 0; }
.mm-order-ok { font-size: 1.1rem; color: #164094; font-weight: 700; margin-bottom: 12px; }
.mm-order-email { background: #eef4ff; border: 1px solid #c5d9ff; border-radius: 4px; padding: 12px 14px; margin: 12px 0 16px; font-size: 14px; line-height: 1.45; }

/* Checkout mobile */
@media (max-width: 991.98px) {
  .page__checkout header.mm-checkout-header {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 200 !important;
  }
  .page__checkout .checkout__container { padding-left: 16px; padding-right: 16px; }
  .page__checkout .checkout-main-row { flex-direction: column; margin: 0; align-items: stretch !important; }
  .page__checkout .checkout-main,
  .page__checkout .checkout-aside { max-width: 100%; flex: 0 0 auto; padding: 0 0 16px; align-self: stretch; }
  .page__checkout .mm-order-summary { margin-bottom: 8px; }
  .page__checkout .mm-order-summary .order-summary { margin-bottom: 0; }
  .page__checkout #sticky-total .mm-checkout-continue { position: sticky; bottom: 12px; z-index: 5; }
  .page__checkout .checkout-steps-wrapper { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; padding: 0 8px; }
  .page__checkout .step-no { flex: 0 0 auto; min-width: 88px; font-size: 10px; }
  .page__checkout .checkout__step { font-size: 9px; letter-spacing: 0.8px; white-space: nowrap; }
  .page__checkout .mm-shipping-option,
  .page__checkout .mm-payment-option { padding: 14px !important; }
  .page__checkout .form-row { margin-left: 0; margin-right: 0; }
  .page__checkout .form-row > [class*="col-"] { padding-left: 0; padding-right: 0; flex: 0 0 100%; max-width: 100%; }
  .page__checkout .mm-checkout-services .col-md-3 { margin-bottom: 10px; }
  .page__checkout .mm-checkout-footer-bar { flex-direction: column; gap: 8px; text-align: center; }
  .page__checkout .mm-checkout-footer-links a { margin: 0 8px; }
}
@media (max-width: 767.98px) {
  .page__checkout .checkout-page-title { font-size: 1.35rem; margin-top: 8px; }
  .mm-cart-checkout-steps .checkout-steps-wrapper { width: 100%; overflow-x: auto; }
  #mm-cart-page .row { flex-direction: column-reverse; }
  #mm-cart-page .col-lg-4,
  #mm-cart-page .col-lg-8 { max-width: 100%; flex: 0 0 100%; }
  #mm-cart-page .mm-cart-row { flex-wrap: wrap; gap: 10px; }
  #mm-cart-page .mm-cart-thumb img { width: 64px; height: 64px; }
}

/* Sidebar panier / compte (flux Micromania) */
#mm-sidebar-backdrop,
#sidebar-backdrop.mm-sidebar-backdrop {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: rgba(51, 51, 51, 0.45);
  z-index: 1097;
  cursor: pointer;
}
body.hidden-overflow,
html.hidden-overflow { overflow: hidden !important; }
body.mm-sidebar-open #sidebar,
body.mm-sidebar-open #sidebar .sidebar-content {
  opacity: 1 !important;
  filter: none !important;
}
#sidebar.custom-sidebar {
  position: fixed;
  top: 0;
  right: 0;
  height: 100%;
  z-index: 1102 !important;
  background: #fff !important;
  box-shadow: -4px 0 24px rgba(0, 0, 0, 0.12);
  margin-top: 0 !important;
}
#sidebar.custom-sidebar.sidebar-minicart {
  width: min(420px, 100vw);
  max-width: 100%;
}
#sidebar.custom-sidebar .sidebar-content,
#sidebar.custom-sidebar .mm-minicart-drawer {
  position: relative;
  z-index: 1103;
  background: #fff;
  height: 100%;
  max-height: 100vh;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 8px 16px 20px;
  display: flex;
  flex-direction: column;
}
#sidebar.custom-sidebar .mm-minicart-head {
  padding: 8px 52px 10px 0;
  flex: 0 0 auto;
}
#sidebar.custom-sidebar .mm-minicart-list,
#sidebar.custom-sidebar .minicart-products,
#sidebar.custom-sidebar .gz-minicart-upsell {
  flex: 0 0 auto;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
#sidebar.custom-sidebar .mm-minicart-cta,
#sidebar.custom-sidebar .minicart-footer {
  flex: 0 0 auto;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #e6e6e6;
  background: #fff;
}
#sidebar.custom-sidebar .re-close,
#sidebar.custom-sidebar .mon-miboard__close-sidebar {
  position: absolute;
  top: 8px;
  right: 10px;
  z-index: 20;
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 1px solid #164094;
  border-radius: 4px;
  color: #164094;
  font-size: 1.75rem;
  line-height: 1;
  cursor: pointer;
}
#sidebar.custom-sidebar .minicart-product {
  padding: 14px 0;
  gap: 10px;
  border-bottom: 1px solid #e6e6e6;
}
#sidebar.custom-sidebar .minicart-product:last-child {
  border-bottom: 0;
}
#sidebar.custom-sidebar .mm-line-total {
  font-size: 0.875rem;
  font-weight: 700;
  color: #164094;
  white-space: nowrap;
}
#sidebar.custom-sidebar .product-name {
  font-size: 0.875rem;
  line-height: 1.25;
  word-break: break-word;
}
#sidebar .sidebar-overlay:not(.mm-sidebar-backdrop) { display: none !important; }
#sidebar.custom-sidebar.login-sidebar,
#sidebar.custom-sidebar.account-sidebar { width: 420px; max-width: 100%; top: 0; }
@media (max-width: 767.98px) {
  body.mm-sidebar-open header,
  body.mm-sidebar-open .global-navbar {
    z-index: 1205 !important;
  }
  #sidebar.custom-sidebar,
  #sidebar.custom-sidebar.sidebar-minicart,
  #sidebar.custom-sidebar.login-sidebar,
  #sidebar.custom-sidebar.account-sidebar,
  #sidebar.custom-sidebar.relay-sidebar {
    width: 100% !important;
    max-width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    top: 60px !important;
    height: calc(100% - 60px) !important;
    height: calc(100dvh - 60px) !important;
    transform: none !important;
  }
  #sidebar.custom-sidebar .sidebar-content,
  #sidebar.custom-sidebar .mm-minicart-drawer {
    height: 100% !important;
    max-height: 100% !important;
    padding: 16px 16px calc(16px + env(safe-area-inset-bottom, 0px)) !important;
  }
  #sidebar.custom-sidebar .mm-minicart-list,
  #sidebar.custom-sidebar .minicart-products {
    flex: 1 1 auto !important;
  }
  #sidebar.custom-sidebar .mm-minicart-cta,
  #sidebar.custom-sidebar .minicart-footer {
    margin-top: auto !important;
    position: sticky;
    bottom: 0;
    padding-bottom: 8px;
  }
  #sidebar-backdrop.mm-sidebar-backdrop { top: 60px; }
}
#sidebar .sidebar-content:not(.mm-minicart-drawer) { padding: 0 20px 24px; max-height: calc(100vh - 60px); overflow-y: auto; }
#sidebar .sidebar-content.added-to-cart { padding-top: 8px; }
#sidebar .login-banner { margin: -15px -20px 20px; padding: 18px 20px; }
#sidebar .added-to-cart-header h2 { font-size: 1.35rem; }
#sidebar .minicart-product { padding: 16px 0; gap: 12px; align-items: flex-start; position: relative; }
#sidebar .minicart-product .item-image img { border-radius: 4px; object-fit: cover; }
#sidebar .mm-minicart-meta { display: grid; gap: 4px; font-size: 11px; margin: 0; }
#sidebar .mm-minicart-meta div { display: flex; gap: 8px; }
#sidebar .mm-minicart-meta dt { font-weight: 700; min-width: 72px; margin: 0; }
#sidebar .mm-minicart-meta dd { margin: 0; }
#sidebar .item-attributes { min-width: 0; padding-left: 4px; }
#sidebar .mm-line-actions { gap: 8px; }
#sidebar .mm-remove-line {
  display: inline-block;
  margin-top: 8px;
  padding: 6px 0;
  border: 0;
  background: transparent;
  color: #164094;
  font-size: 13px;
  font-weight: 700;
  text-decoration: underline;
  cursor: pointer;
}
#sidebar .mm-sidebar-qty {
  border: 1px solid #ccc;
  border-radius: 4px;
  overflow: hidden;
}
#sidebar .mm-sidebar-qty .mm-qty-minus,
#sidebar .mm-sidebar-qty .mm-qty-plus {
  border: 0;
  background: #f5f5f5;
  width: 44px;
  min-width: 44px;
  height: 44px;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  color: #164094;
}
#sidebar .mm-remove-line:disabled,
#sidebar .mm-qty-minus:disabled { opacity: 0.45; cursor: wait; }
#sidebar .mm-sidebar-qty .qty-value {
  min-width: 24px;
  text-align: center;
  font-weight: 700;
}
#sidebar .minicart-products .minicart-product + .minicart-product {
  border-top: 1px solid #e5e5e5;
}
#sidebar .minicart-footer .button { display: block; width: 100%; text-align: center; margin-bottom: 8px; text-transform: uppercase; font-weight: 700; }
#sidebar .button.outline,
#sidebar .button-primary.outline { background: #fff; color: #164094; border: 2px solid #164094; }
.mm-local-sidebar-hint { font-size: 12px; color: #666; }
#sidebar .mon-miboard__nav-link { color: #164094; text-decoration: none; font-weight: 500; }
#sidebar .mon-miboard__nav-link:hover { text-decoration: underline; }
#sidebar .fs-18 { font-size: 1.125rem; }

/* PDP gallery — one slide visible (no stacked absolute overlays) */
.pdp-carousel-wrapper .slick-slider-single .slick-list,
.pdp-main-gallery .slick-list {
  overflow: hidden !important;
}
.pdp-carousel-wrapper .slick-slider-single .slick-track,
.pdp-main-gallery .slick-track {
  display: block !important;
  width: 100% !important;
  transform: none !important;
}
.pdp-carousel-wrapper .slick-slider-single .slick-slide,
.pdp-main-gallery .slick-slide {
  float: none !important;
  position: relative !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
}
.pdp-carousel-wrapper .slick-slider-single .slick-slide:not(.slick-current),
.pdp-main-gallery .slick-slide:not(.slick-current) {
  display: none !important;
}
.pdp-carousel-wrapper .slick-slider-single .slick-cloned {
  display: none !important;
}
.pdp-carousel-wrapper img.mm-pdp-bg-fallback {
  display: none !important;
}
.pdp-main-gallery .slide-container,
.pdp-main-gallery .slick-slide.slide-container {
  position: relative;
  min-height: 320px;
}
.pdp-main-gallery .image-fit-block {
  display: block;
  min-height: 320px;
  width: 100%;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}
.pdp-main-gallery .image-fit-block.lazyloaded,
.pdp-main-gallery .image-fit-block[style*="background-image"] {
  background-color: #fff;
}
/* PDP: no product videos (gallery + Icecat blocks) */
.product-detail micro-video,
.product-detail .video-cover,
.product-detail .video-play,
.product-detail .main-video,
.pdp-carousel-wrapper .slick-slide:has(micro-video),
.pdp-carousel-wrapper .slick-slide:has(.video-cover),
.mm-pdp-video-modal {
  display: none !important;
}
.pdp-carousel-wrapper .slick-nav-item {
  cursor: pointer;
}
.pdp-carousel-wrapper .slick-nav-item.active {
  outline: 2px solid #164094;
  outline-offset: 1px;
}

/* Compte : e-mail seulement, pas Google / Facebook / Apple */
.mm-social-login,
.social-login,
.login-social,
.facebook-login,
.google-login,
.apple-login,
[class*="social-login"],
a[href*="Facebook-Login"],
a[href*="Google-Login"],
a[href*="Apple-Login"],
.mm-social-btn {
  display: none !important;
}

.mm-one-game-modal {
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.mm-one-game-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(11, 31, 75, 0.62);
}
.mm-one-game-box {
  position: relative;
  z-index: 1;
  width: min(440px, 94vw);
  background: #fff;
  color: #0b1f4b;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 22px 56px rgba(11, 31, 75, 0.32);
  font: 15px/1.45 "Jost", "Open Sans", system-ui, sans-serif;
}
.mm-one-game-brand {
  background: linear-gradient(135deg, #0b1f4b 0%, #164094 70%);
  color: #fff;
  padding: 14px 18px 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.mm-one-game-brand-logo {
  height: 22px;
  width: auto;
  max-width: min(190px, 56vw);
  display: block;
  flex: 0 1 auto;
}
.mm-one-game-chip {
  background: #f5c518;
  color: #0b1f4b;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 4px 8px;
  border-radius: 999px;
}
.mm-one-game-body { padding: 20px 20px 18px; }
.mm-one-game-box h3 {
  margin: 0 0 8px;
  font-size: 22px;
  line-height: 1.2;
  color: #164094;
}
.mm-one-game-box p { margin: 0 0 8px; color: #24355c; }
.mm-one-game-box p.mm-one-game-aside {
  font-size: 13px;
  color: #5a6a8a;
  margin-bottom: 18px;
}
.mm-one-game-actions {
  display: flex;
  gap: 10px;
  justify-content: stretch;
  flex-wrap: wrap;
}
.mm-one-game-ok,
.mm-one-game-cart {
  border: 0;
  border-radius: 8px;
  padding: 12px 16px;
  font-weight: 800;
  text-transform: uppercase;
  font-size: 13px;
  text-decoration: none;
  cursor: pointer;
  flex: 1 1 140px;
  text-align: center;
}
.mm-one-game-ok {
  background: #164094;
  color: #fff;
}
.mm-one-game-cart {
  background: #fff;
  color: #164094;
  box-shadow: inset 0 0 0 2px #164094;
}

/* ===================================================================
   Responsive mobile / tablette — doit rester en fin de fichier
   (les règles desktop plus haut sont volontairement écrasées ici)
   =================================================================== */

img,
picture,
video,
iframe,
svg {
  max-width: 100%;
}

/* ---- Pré-calage des carrousels ----
   Le HTML capturé contient le rendu Slick figé d'un viewport desktop
   (translate3d au milieu de la piste + slides clonées). Tant que
   runtime.js n'a pas mesuré la piste, on ramène tout à la slide 1 pour
   que l'accueil s'ouvre déjà aligné. La classe est posée par le JS. */
html:not(.mm-carousels-ready) .slick-cloned {
  display: none !important;
}
html:not(.mm-carousels-ready) .slick-slider-products .slick-track,
html:not(.mm-carousels-ready) .slick-slider-highlight .slick-track,
html:not(.mm-carousels-ready) .slick-slider-overflow .slick-track,
html:not(.mm-carousels-ready) .slick-slider-small .slick-track,
html:not(.mm-carousels-ready) .slick-hero .slick-track,
html:not(.mm-carousels-ready) [data-slick-init="hero-slick"] .slick-track {
  transform: translate3d(0, 0, 0) !important;
  width: auto !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
}
/* Desktop aussi : sans ça le hero en flex rétrécit toutes les slides. */
html:not(.mm-carousels-ready) .slick-hero .slick-slide,
html:not(.mm-carousels-ready) [data-slick-init="hero-slick"] .slick-slide,
html:not(.mm-carousels-ready) .hero-slider-wrapper .slick-slide {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  float: none !important;
}

@media (max-width: 991px) {
  html {
    -webkit-text-size-adjust: 100%;
  }

  /* largeurs de slide provisoires, alignées sur itemsPerView() du JS */
  html:not(.mm-carousels-ready) .slick-hero .slick-slide,
  html:not(.mm-carousels-ready) [data-slick-init="hero-slick"] .slick-slide {
    width: 100% !important;
    min-width: 100% !important;
    flex: 0 0 100% !important;
    float: none !important;
  }
  html:not(.mm-carousels-ready) .slick-slider-products .slick-slide,
  html:not(.mm-carousels-ready) .slick-slider-highlight .slick-slide,
  html:not(.mm-carousels-ready) .slick-slider-overflow .slick-slide {
    width: 50% !important;
    min-width: 50% !important;
    flex: 0 0 50% !important;
    float: none !important;
  }
}

@media (max-width: 575.98px) {
  html:not(.mm-carousels-ready) .slick-slider-products .slick-slide,
  html:not(.mm-carousels-ready) .slick-slider-highlight .slick-slide,
  html:not(.mm-carousels-ready) .slick-slider-overflow .slick-slide {
    width: 100% !important;
    min-width: 100% !important;
    flex: 0 0 100% !important;
  }
}

@media (max-width: 991px) {

  /* Le miroir garde des largeurs desktop qui débordent en portrait */
  .container,
  .container-fluid,
  .container-lg,
  .container-md,
  .container-sm {
    max-width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Titres de section + lien "Voir tout" sur une seule ligne.
     On exclut le bandeau Fanzone : display:flex !important
     réaffichait « Parlez-moi Pop Culture ! » (show-on-fanzone)
     à côté du titre, et le bouton débordait. */
  .section-heading-container:not(.fanzone-subtitle):not(.show-on-fanzone),
  .experience-component .section-heading-container:not(.fanzone-subtitle) {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 0 4px !important;
  }
  .section-heading-container h2,
  .section-heading-container .section-heading {
    font-size: clamp(18px, 4.8vw, 24px) !important;
    line-height: 1.15 !important;
    margin: 0 !important;
  }
  .section-heading-container a {
    flex: 0 0 auto !important;
    font-size: 13px !important;
    white-space: nowrap !important;
  }

  /* Accueil : ne pas recoller le sous-titre Fanzone à côté du titre */
  .home-main .fan-preview__container .show-on-fanzone {
    display: none !important;
  }
  .home-main .fan-subtitle__wrapper {
    display: block !important;
    width: 100% !important;
  }
  .home-main .show-on-homepage.fanzone-subtitle {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px 12px !important;
    width: 100% !important;
    height: auto !important;
  }
  .home-main .fanzone-home-cta {
    flex: 0 1 auto !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    white-space: nowrap !important;
  }

  /* ---- Tuile produit : typographie ---- */
  .product-tile .product-name h3,
  .product-tile .product-name {
    font-size: 14px !important;
    line-height: 1.3 !important;
    margin: 2px 0 0 !important;
  }
  /* hauteurs de cartes homogènes dans le carrousel */
  .product-tile .product-name h3 {
    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden !important;
  }
  .product-tile .product-price,
  .product-tile .pricing-container,
  .product-tile .tile-promo-wrapper {
    text-align: right !important;
  }
  .product-tile .price,
  .product-tile .sales .value {
    font-size: 18px !important;
  }
  .product-tile .tile-promo-block {
    font-size: 11px !important;
    line-height: 1.25 !important;
  }
  .product-tile .product-ratings .bv-stars {
    font-size: 12px !important;
  }
  .product-tile .add-to-cart,
  .product-tile .button,
  .product-tile button.add-to-cart {
    width: 100% !important;
    min-height: 44px !important;
    margin-top: 10px !important;
    font-size: 13px !important;
  }
  /* grille "product-column" des pages catégorie : 2 colonnes */
  .products-grid .row.product-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  .products-grid .row.product-grid > .product-column {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding: 0 !important;
  }

  /* Le miroir plafonne la tuile à 340px (calibrage desktop) : dans une
     slide plus large elle se retrouve collée à gauche. */
  .product-layout,
  .product-layout.h-100 {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* ---- Tuiles "hits" ----
     La tuile a une hauteur fixe (311px) calée sur l'image d'origine, large
     de 272px : l'étirer la ferait déborder. On élargit donc la carte et on
     centre le visuel dedans, sans y toucher. */
  .slick-slider-highlight .slick-slide > div {
    display: flex !important;
    justify-content: center !important;
  }
  .slick-slider-highlight .slick-slide,
  .slick-slider-highlight .slick-slide > div,
  .slick-slider-highlight .hits-tile-wrapper,
  .slick-slider-highlight .slide-item {
    height: auto !important;
  }
  .slick-slider-highlight .hits-tile-wrapper {
    display: block !important;
    width: 100% !important;
    max-width: 340px !important;
    margin: 0 auto !important;
  }
  .slick-slider-highlight .hits-tile-wrapper .product-tile,
  .slick-slider-highlight .slide-item,
  .slick-slider-highlight .hits-item-wrapper {
    width: 100% !important;
    max-width: 100% !important;
  }
  /* visuels paysage : on répartit le blanc au-dessus et en dessous */
  .slick-slider-highlight .hits-tile-wrapper .product-tile,
  .slick-slider-highlight .hits-item-wrapper {
    justify-content: center !important;
  }
  .slick-slider-highlight .hits-item-img {
    width: -moz-fit-content !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .slick-slider-highlight .hits-item-img picture,
  .slick-slider-highlight .hits-item-img img {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
  }

  /* ---- Flèches de carrousel : plus discrètes, hors du contenu ---- */
  .slick-slider-products > .slick-arrow,
  .slick-slider-highlight > .slick-arrow,
  .slick-slider-overflow > .slick-arrow {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    margin-top: -16px !important;
    top: 38% !important;
    opacity: .82 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .18) !important;
  }
  .slick-slider-products > .slick-prev,
  .slick-slider-highlight > .slick-prev,
  .slick-slider-overflow > .slick-prev {
    left: 0 !important;
  }
  .slick-slider-products > .slick-next,
  .slick-slider-highlight > .slick-next,
  .slick-slider-overflow > .slick-next {
    right: 0 !important;
  }
  .slick-arrow.slick-disabled {
    opacity: 0 !important;
    pointer-events: none !important;
  }
  .slick-slider-products .slick-dots,
  .slick-slider-highlight .slick-dots,
  .slick-slider-overflow .slick-dots,
  .slick-slider-small .slick-dots {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 2px 4px !important;
    padding: 8px 12px 0 !important;
    margin: 0 !important;
  }
  .slick-slider-products .slick-dots li,
  .slick-slider-highlight .slick-dots li,
  .slick-slider-overflow .slick-dots li,
  .slick-slider-small .slick-dots li {
    margin: 0 !important;
  }

  /* ---- Fiche produit ---- */
  .product-detail .primary-images img,
  .product-detail .mm-pdp-gallery img {
    width: 100% !important;
    height: auto !important;
  }
  .product-detail .product-name,
  .product-detail h1 {
    font-size: clamp(19px, 5vw, 24px) !important;
    line-height: 1.2 !important;
  }
  .product-detail .prices .price,
  .product-detail .price .sales .value {
    font-size: 22px !important;
  }
  .product-detail .attributes .button,
  .product-detail .add-to-cart {
    min-height: 46px !important;
  }

  /* Débordements horizontaux résiduels */
  table,
  .table-responsive,
  pre {
    display: block !important;
    max-width: 100% !important;
    overflow-x: auto !important;
  }
}

/* ---- Tuile produit en portrait : carte verticale, image en haut ----
   Le CSS d'origine passe .product-tile en flex-direction:row sous 768px
   avec une vignette bridée à 110px : illisible sur un carrousel large. */
@media (max-width: 767.98px) {
  .product-tile,
  .product-tile.h-100 {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    min-height: 0 !important;
    padding: 8px 10px 12px !important;
    box-sizing: border-box !important;
  }
  .product-image-container {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 6px 0 10px !important;
    margin-right: 0 !important;
  }
  .product-image-container .pdp-link,
  .product-image-container .product-image-link,
  .product-image-container picture {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    margin: 0 auto !important;
  }
  .product-image-container img.product-image {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: 190px !important;
    object-fit: contain !important;
    margin: 0 auto !important;
  }

  .product-tile-body {
    flex: 0 0 auto !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 0 !important;
    padding: 0 !important;
    gap: 4px !important;
  }
  .product-tile-left,
  .product-tile-right {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
  }

  /* le pied de tuile était en absolu : il chevauchait le prix */
  .product-tile-footer {
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
    margin: 10px 0 0 !important;
  }
  .product-ribbon {
    position: relative !important;
    z-index: 4 !important;
  }
}

@media (max-width: 767.98px) {
  .home-main .show-on-homepage.fanzone-subtitle {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .home-main .fanzone-home-cta,
  .home-main .section-heading-container .fanzone-home-cta {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 auto !important;
    box-sizing: border-box !important;
    text-align: center !important;
    justify-content: center !important;
  }
}

/* ---- Hero téléphone : visuel seul ----
   Le packshot mobile a déjà le titre incrusté. Le bloc HTML blanc
   (Nouvelle formule / Économisez… / CTA / puces) doublonnait. */
@media (max-width: 767.98px) {
  .hero-item {
    display: block !important;
  }
  html body .hero-item > .container,
  html body .hero-item .container,
  html body .hero-item .push-overlay-flex,
  html body .hero-item .hero-push,
  html body .slick-hero .hero-push,
  html body .hero-item .hero-push-content,
  html body .hero-item .hero-inner-info,
  html body .hero-item .hero-info-text,
  html body .hero-item .hero-button,
  html body .hero-slider-wrapper .slick-dots,
  html body .slick-hero .slick-dots,
  html body [data-slick-init="hero-slick"] .slick-dots,
  html body .hero-slick-nav {
    display: none !important;
    height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    background: none !important;
  }
  .hero-item .hero-img,
  .slick-hero .hero-img,
  .hero-slider-wrapper .hero-img {
    min-height: 0 !important;
    height: auto !important;
    object-fit: contain !important;
    width: 100% !important;
  }
  .hero-item > .stretched-link {
    z-index: 1 !important;
  }
  .slick-hero > .slick-arrow,
  .hero-slider-wrapper .slick-arrow {
    top: 48% !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    margin-top: -16px !important;
    opacity: .85 !important;
  }
}

@media (max-width: 575.98px) {
  .product-image-container img.product-image {
    max-height: 190px !important;
  }
  .product-tile .price,
  .product-tile .sales .value {
    font-size: 17px !important;
  }
  .promo-banner__text {
    font-size: 13px !important;
    line-height: 1.35 !important;
  }
  .products-grid .row.product-grid {
    gap: 8px !important;
  }
}

/* Fil d'Ariane mobile : ne pas empiler … / > dans la flèche retour.
   Ne PAS cibler .breadcrumb-container .container : #resumeBlock porte aussi
   cette classe et enveloppe .pdp-main-wrapper.container → gros trou à gauche. */
@media (max-width: 991.98px) {
  .product-breadcrumb .container,
  .plp-header .breadcrumb-container .container,
  .plp-header .container.justify-content-left {
    padding-left: 3.5rem !important;
    padding-right: 12px !important;
  }
  .breadcrumb-container#resumeBlock,
  .breadcrumb-container#resumeBlock > .container,
  .pdp-main-wrapper.container {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  .slick-vertical-nav-wrapper {
    display: block !important;
  }
  .pdp-carousel-wrapper .slick-slider-medias,
  .pdp-carousel-wrapper .slick-nav-vertical,
  .slick-vertical-nav-wrapper .slick-slider-medias,
  .slick-vertical-nav-wrapper .slick-nav-vertical {
    display: none !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    left: -9999px !important;
    pointer-events: none !important;
  }
  /* SFCC réserve 71px pour les miniatures desktop : ça décale l’image à droite. */
  .slick-vertical-nav-wrapper .pdp-main-gallery,
  .slick-vertical-nav-wrapper .slick-slider-single,
  .pdp-carousel-wrapper .pdp-main-gallery {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    height: auto !important;
    max-height: none !important;
  }
  .pdp-main-gallery .slick-list,
  .pdp-main-gallery .slick-track,
  .pdp-main-gallery .slick-slide,
  .pdp-main-gallery .slide-container,
  .pdp-carousel-wrapper .slick-slider-single .slick-slide {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .pdp-main-gallery img,
  .pdp-main-gallery .image-fit-block {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .breadcrumb li {
    display: none !important;
  }
  .breadcrumb .breadcrumb-item:nth-last-child(-n+2) {
    display: list-item !important;
  }
  .breadcrumb .more:nth-last-child(n+4) {
    display: inline-block !important;
  }
  .breadcrumb .bc-toggle:checked ~ .breadcrumb-item {
    display: list-item !important;
  }
  .breadcrumb .bc-toggle:checked + .more {
    display: none !important;
  }
  .js-mobile-btn-breadcrumb {
    left: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 3;
    pointer-events: auto !important;
  }
  .js-mobile-btn-breadcrumb.isDisabled,
  .js-mobile-btn-breadcrumb.jsIsDisabled {
    opacity: 1 !important;
  }
  .js-mobile-btn-breadcrumb.isDisabled > a,
  .js-mobile-btn-breadcrumb.jsIsDisabled > a {
    pointer-events: auto !important;
  }
  .js-mobile-btn-breadcrumb .breadcrumb-arrow-back {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    overflow: hidden !important;
    width: 32px;
    height: 32px;
    max-height: 36px;
    margin: 0 0 0 14px !important;
    padding: 0 !important;
    box-sizing: border-box;
    border: 1px solid #1a58aa;
    border-radius: 2px;
    background: #fff;
    color: #1a58aa;
    text-decoration: none !important;
  }
  .js-mobile-btn-breadcrumb .breadcrumb-arrow-back i,
  .js-mobile-btn-breadcrumb .breadcrumb-arrow-back .icon-arrow-left {
    display: block !important;
    margin: 0 !important;
    font-size: 1.25rem;
    line-height: 1;
  }
  .js-mobile-btn-breadcrumb .breadcrumb-arrow-back .breadcrumb-item,
  .js-mobile-btn-breadcrumb .breadcrumb-arrow-back .bc-more,
  .js-mobile-btn-breadcrumb .breadcrumb-arrow-back .icon-arrow-right {
    display: none !important;
  }
}

#sidebar .mm-continue-shopping {
  display: block;
  width: 100%;
  margin: 8px 0 0;
  padding: 12px 8px;
  background: transparent;
  border: 0;
  color: #164094;
  font-weight: 700;
  text-decoration: underline;
  cursor: pointer;
}
#sidebar .mm-minicart-cta .mm-continue-shopping:last-child {
  margin-bottom: 0;
}

.mm-delivery-banner {
  margin: 16px 0 24px;
  padding: 14px 16px;
  background: #eef4ff;
  border: 1px solid #c5d9ff;
  border-radius: 4px;
}
.mm-delivery-kicker {
  margin: 0 0 4px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #164094;
}
.mm-delivery-headline {
  margin: 0 0 6px;
  font-size: 1.05rem;
  font-weight: 700;
  color: #164094;
  line-height: 1.3;
}
.mm-delivery-detail {
  margin: 0;
  font-size: 13px;
  line-height: 1.45;
  color: #333;
}
.mm-summary-delivery {
  margin: 8px 0 0;
  font-size: 13px;
  line-height: 1.4;
  color: #164094;
  font-weight: 600;
}
.page__checkout .mm-delivery-banner--payment {
  margin-top: 0;
}

/* shop50 — wishlist: hide hearts + nav slot (no empty hole) */
html body .account-link-wrapper-wishlist,
html body .header-link-item-wishlist,
html body .wishlist-hearth-icon,
html body .wishlist-actions,
html body .product-wishlist,
html body .wishlist-btn,
html body .add-to-wish-list,
html body .remove-from-wish-list,
html body .icon-wishlist-1,
html body .icon-wishlist-full-1,
html body a[href*="Wishlist-Guest"],
html body a[href*="Wishlist-AddProduct"],
html body a[href*="Wishlist-RemoveProduct"],
html body [data-render-url*="Wishlist"] {
  display: none !important;
  width: 0 !important;
  min-width: 0 !important;
  max-width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
  position: absolute !important;
}

/* shop50 — autocomplete recherche header */
.mm-search-drop {
  position: fixed;
  z-index: 400;
  background: #fff;
  border: 1px solid #d0d6e2;
  box-shadow: 0 12px 28px rgba(11, 31, 75, .18);
  border-radius: 4px;
  max-height: min(70vh, 420px);
  overflow-y: auto;
  overflow-x: hidden;
}
.mm-search-drop[hidden] { display: none !important; }
.mm-search-item {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 8px 12px;
  color: #0b1f4b;
  text-decoration: none;
  border-bottom: 1px solid #eef1f6;
}
.mm-search-item:last-child { border-bottom: 0; }
.mm-search-item.is-active,
.mm-search-item:hover { background: #eef4ff; }
.mm-search-item img {
  width: 48px;
  height: 48px;
  object-fit: contain;
  background: #f4f6fa;
  flex: 0 0 48px;
}
.mm-search-item-meta { min-width: 0; flex: 1 1 auto; }
.mm-search-item-name {
  display: block;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.25;
  color: #0b1f4b;
}
.mm-search-item-price {
  display: block;
  font-size: 13px;
  color: #164094;
  margin-top: 2px;
}
.mm-search-empty {
  padding: 14px 16px;
  color: #666;
  font-size: 14px;
}
body.mm-search-open { overflow: hidden; }
html body.mm-search-open .search-suggestions,
html body.mm-search-open .search-suggestions.search-form-suggestions,
html body.mm-search-open .search-suggestions.d-none {
  display: block !important;
  position: fixed !important;
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 400 !important;
  padding: 48px 20px 24px !important;
  background: linear-gradient(180deg, #0b1f4b 0%, #164094 100%) !important;
  overflow: auto !important;
  pointer-events: auto !important;
  min-height: 100vh !important;
}
html body.mm-search-open .search-suggestions input.search-field,
html body.mm-search-open .search-suggestions input.search-suggestions__search-field {
  display: block !important;
  width: 100% !important;
  max-width: 920px;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 2px solid #fff !important;
  color: #fff !important;
  font-size: 28px !important;
  padding: 8px 0 !important;
  outline: none !important;
  height: auto !important;
  opacity: 1 !important;
}
html body.mm-search-open .search-suggestions textarea.search-field,
html body.mm-search-open .search-suggestions textarea.search-suggestions__search-field {
  display: none !important;
  height: 0 !important;
  visibility: hidden !important;
}
html body.mm-search-open .search-products__view-all-cta { display: none !important; }
html body .hero-slider-wrapper .slick-dots,
html body .slick-hero .slick-dots,
html body [data-slick-init="hero-slick"] .slick-dots,
html body .hero-slick-nav {
  display: none !important;
}

/* shop50 — logo checkout: ratio SVG 242×28, jamais ratatiné.
   Ne pas toucher au logo homepage (.global-nav-logo-svg). */
html body.page__checkout header.mm-checkout-header {
  height: auto !important;
  min-height: 0 !important;
  font-size: 16px !important;
  line-height: normal !important;
  letter-spacing: normal !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-grow: 0 !important;
  color: #fff !important;
  overflow: visible !important;
  font-family: inherit !important;
}
html body.page__checkout .mm-checkout-header-bar {
  min-height: 60px !important;
  height: 60px !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 20px !important;
  overflow: visible !important;
  background-color: #d4d7de !important;
  background-image: none !important;
  background-repeat: no-repeat !important;
  background-size: 100% 100% !important;
  background-position: 0 0 !important;
}
html body.page__checkout .mm-checkout-logo {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  height: auto !important;
  width: 195px !important;
  min-width: 195px !important;
  max-width: 195px !important;
  flex: 0 0 195px !important;
  padding: 0 !important;
}
html body.page__checkout .mm-checkout-logo img,
html body.page__checkout .mm-checkout-logo img.global-nav-logo-svg {
  display: block !important;
  box-sizing: content-box !important;
  width: 195px !important;
  height: auto !important;
  max-width: 195px !important;
  max-height: none !important;
  min-height: 0 !important;
  min-width: 0 !important;
  object-fit: contain !important;
  object-position: left center !important;
  aspect-ratio: 242 / 28 !important;
  flex: 0 0 auto !important;
  border: 0 !important;
  transform: none !important;
  padding: 0 !important;
}

.mm-thankyou {
  max-width: 640px;
  margin: 32px auto 64px;
  text-align: center;
  background: #fff;
  border-radius: 12px;
  padding: 40px 28px 36px;
  box-shadow: 0 8px 32px rgba(15, 35, 75, 0.08);
}
.mm-thankyou-check {
  width: 72px;
  height: 72px;
  margin: 0 auto 20px;
  border-radius: 50%;
  background: #1a8f4a;
  color: #fff;
  font-size: 36px;
  line-height: 72px;
  font-weight: 700;
}
.mm-thankyou h1 {
  color: #0b2a5b;
  font-size: 28px;
  margin: 0 0 12px;
}
.mm-thankyou-lead {
  color: #334;
  font-size: 16px;
  line-height: 1.5;
  margin: 0 0 24px;
}
.mm-thankyou-box {
  text-align: left;
  background: #f4f7fb;
  border-radius: 8px;
  padding: 16px 18px;
  margin: 0 0 24px;
  color: #1a2a44;
  font-size: 14px;
  line-height: 1.55;
}
.mm-thankyou-box strong { color: #0b2a5b; }
.mm-thankyou-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}
.mm-thankyou-actions .button { min-width: 200px; }
#mm-order-root:empty { display: none; }
#mm-order-root { margin-top: 20px; text-align: left; }

/* ---- Urgence promo PDP (timer 30 min dans le cadran ; stock + viewers hors cadran) ---- */
.mm-promo-stack {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  width: 100%;
  margin: 8px 0 12px;
  box-sizing: border-box;
}
.mm-promo-stack .mm-urgency { margin: 0; }
.mm-promo-stack .mm-urgency-stats { margin: 0; }
.mm-promo-stack .condition-section {
  margin: 0 !important;
  padding: 0 !important;
}
.mm-promo-stack .pdp-variation-block { display: none !important; }
.mm-promo-stack .add-to-cart-container {
  margin: 0 !important;
  width: 100%;
}
.mm-promo-stack .add-to-cart-container .pdp-action-buttons-container,
.mm-promo-stack .add-to-cart-container .product-cta-wrap,
.mm-promo-stack .add-to-cart-container .add-to-cart {
  width: 100% !important;
  max-width: none !important;
}
.mm-promo-stack .pdp-in-store-inventory {
  display: none !important;
}
.mm-promo-stack .pdp-action-buttons-container {
  display: block !important;
}

.mm-urgency {
  display: block;
  width: 100%;
  margin: 0;
  padding: 8px 12px;
  background: linear-gradient(165deg, #12284f 0%, #0b1f4b 58%, #1a1030 100%);
  color: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(11, 31, 75, 0.22);
  box-sizing: border-box;
}
.mm-urgency-row {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 22px;
}
.mm-urgency-kicker {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #ffd2d4;
  white-space: nowrap;
}
.mm-urgency-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #e31c23;
  box-shadow: 0 0 0 0 rgba(227, 28, 35, 0.7);
  animation: mm-urgency-pulse 1.4s ease-out infinite;
  flex-shrink: 0;
}
@keyframes mm-urgency-pulse {
  0% { box-shadow: 0 0 0 0 rgba(227, 28, 35, 0.65); }
  70% { box-shadow: 0 0 0 6px rgba(227, 28, 35, 0); }
  100% { box-shadow: 0 0 0 0 rgba(227, 28, 35, 0); }
}
.mm-urgency-ends {
  margin-left: auto;
  font-size: 12px;
  font-weight: 650;
  color: rgba(255, 255, 255, 0.88);
  white-space: nowrap;
}
.mm-urgency-clock {
  margin-left: 0;
  font-size: 18px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.04em;
  color: #fff;
  background: #e31c23;
  border-radius: 6px;
  padding: 3px 9px;
  line-height: 1.15;
}
.mm-urgency-clock b { font-weight: 800; }
.mm-urgency-stats {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
  margin: 0;
  padding: 0 2px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.25;
  color: #1a1a1a;
  box-sizing: border-box;
}
.mm-urgency-stat {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.mm-urgency-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  color: #0b1f4b;
}
.mm-urgency-svg {
  width: 18px;
  height: 18px;
  display: block;
}
.mm-urgency-stats strong {
  color: #e31c23;
  font-weight: 800;
}
.mm-urgency--hot .mm-urgency-clock {
  animation: mm-urgency-hot 0.9s ease-in-out infinite;
}
@keyframes mm-urgency-hot {
  50% { filter: brightness(1.12); }
}

.mm-urgency-dock {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 12px;
  background: #0b1f4b;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 1040 !important;
  box-shadow: 0 -6px 16px rgba(11, 31, 75, 0.25);
}
.mm-urgency-dock .mm-urgency-dot { width: 7px; height: 7px; }
.mm-urgency-dock .mm-urgency-ends {
  margin-left: 0;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.88);
}
.mm-urgency-dock-time {
  font-variant-numeric: tabular-nums;
  color: #fff;
  letter-spacing: 0.04em;
  background: #e31c23;
  border-radius: 5px;
  padding: 2px 8px;
  font-size: 14px;
}
.mm-urgency-dock-time b { font-weight: 800; }

@media (max-width: 991.98px) {
  .mm-promo-stack { gap: 8px; margin: 6px 0 10px; }
  .mm-urgency { padding: 7px 10px; border-radius: 8px; }
  .mm-urgency-clock { font-size: 16px; padding: 2px 8px; }
  .mm-urgency-ends { font-size: 11px; }
  .mm-urgency-stats { font-size: 12.5px; gap: 6px 14px; }
  body.mm-urgency-on .mm-urgency-dock {
    display: flex;
  }
  body.mm-urgency-on #sticky-cta-block {
    bottom: 34px !important;
  }
}

/* Stripe Embedded Checkout on /checkout/payment/ */
body.mm-stripe-embed #sticky-total { display: none !important; }
.mm-stripe-box {
  overflow: hidden;
}
#mm-stripe-embed {
  min-height: 320px;
}
.mm-stripe-error {
  color: #e31c23;
  margin-bottom: 8px;
}



.mm-cart-size { display:block; margin:8px 0 0; font-size:13px; color:#4a403a; }
.mm-cart-size select { margin-left:6px; padding:4px 8px; }
