/* ============================================================
   MLF — Warehouse theme overrides
   Restyles the PrestaShop Warehouse theme header, footer,
   and general chrome to match the MLF editorial maquette.
   ============================================================ */

:root {
  --mlf-navy: #212f37;
  --mlf-navy-800: #1a242b;
  --mlf-navy-700: #2b3a44;
  --mlf-red: #e51a26;
  --mlf-blue: #3065af;
  --mlf-cream: #ffffff;
  --mlf-ink: #1a1f24;
  --mlf-muted: #7c8088;
  --mlf-line: #e9e5dc;
  --mlf-ff-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* Mobile menu root pictograms: dedicated SVG icons per category. */
@media (max-width: 991.98px) {
  body #_mobile_iqitmegamenu-mobile .mobile-menu__scroller > .mobile-menu__tab::before {
    content: "" !important;
    background-color: rgba(33, 47, 55, .055) !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 18px 18px !important;
    font-size: 0 !important;
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__scroller > .mobile-menu__tab--id-1::before {
    content: none !important;
    display: none !important;
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__scroller > .mobile-menu__tab--id-3::before {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%2317242c' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='8' width='18' height='8' rx='2'/%3E%3Cpath d='M5 16v2M19 16v2M7 8V6.8A2.8 2.8 0 0 1 9.8 4h4.4A2.8 2.8 0 0 1 17 6.8V8'/%3E%3C/svg%3E") !important;
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__scroller > .mobile-menu__tab--id-4::before {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%2317242c' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16'/%3E%3Cpath d='M5 7v10M19 7v10'/%3E%3Cpath d='M7 10h10M7 13h10M7 16h10'/%3E%3Cpath d='M4 19h16'/%3E%3C/svg%3E") !important;
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__scroller > .mobile-menu__tab--id-5::before {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%2317242c' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='5' width='14' height='14' rx='2'/%3E%3Cpath d='M8 19V9a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v10'/%3E%3Cpath d='M9 12h6'/%3E%3C/svg%3E") !important;
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__scroller > .mobile-menu__tab--id-6::before {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%2317242c' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 5h12l-1.5 6H7.5L6 5Z'/%3E%3Cpath d='M8 11c0 3.5 1.4 6 4 8 2.6-2 4-4.5 4-8'/%3E%3Cpath d='M9 8h6'/%3E%3C/svg%3E") !important;
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__scroller > .mobile-menu__tab--id-8::before {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%2317242c' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 11V9a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v2'/%3E%3Cpath d='M4 13a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5H4v-5Z'/%3E%3Cpath d='M7 18v2M17 18v2M8 11v7M16 11v7'/%3E%3C/svg%3E") !important;
  }
}

/* Category mobile hero: compact the top area under the header. */
@media (max-width: 767px) {
  body.page-category .cat-hero {
    min-height: 0 !important;
    height: auto !important;
    padding: 18px 0 20px !important;
  }

  body.page-category .cat-hero__inner {
    min-height: 0 !important;
    height: auto !important;
    width: min(100% - 32px, 430px) !important;
    padding: 0 !important;
    display: grid !important;
    gap: 14px !important;
  }

  body.page-category .cat-hero__breadcrumb {
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    justify-content: center !important;
  }

  body.page-category .cat-hero__copy {
    margin: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    display: grid !important;
    gap: 12px !important;
  }

  body#category .cat-hero__title,
  body.page-category .cat-hero__title {
    margin: 0 !important;
    font-size: clamp(38px, 12vw, 48px) !important;
    line-height: .95 !important;
  }

  body.page-category .cat-hero__description {
    margin: 0 auto !important;
    max-width: 31ch !important;
    font-size: 16px !important;
    line-height: 1.28 !important;
  }

  body.page-category .cat-hero__description p {
    margin: 0 !important;
    max-height: 42px !important;
    overflow: hidden !important;
  }

  body.page-category .cat-hero__readmore {
    min-height: 0 !important;
    height: auto !important;
    margin: 0 auto !important;
    padding: 0 0 2px !important;
    font-size: 15px !important;
    line-height: 1.1 !important;
  }
}

/* ---------- Announcement bar ---------- */
.mlf-announce {
  background: var(--mlf-navy);
  color: #fff;
  overflow: hidden;
  font-family: var(--mlf-ff-sans);
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 500;
  height: 36px;
  display: flex;
  align-items: center;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.mlf-announce__track {
  display: inline-flex;
  white-space: nowrap;
  gap: 32px;
  animation: mlf-marquee 38s linear infinite;
  padding-left: 32px;
}
.mlf-announce__dot { opacity: .4; }
@keyframes mlf-marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
@media (max-width: 640px) {
  .mlf-announce { font-size: 10.5px; }
}

/* ---------- Global: Typography & Colors ---------- */
body {
  -webkit-font-smoothing: antialiased;
}

/* ---------- Top bar (header-nav) ---------- */
.header-nav {
  background: var(--mlf-cream) !important;
  border-bottom: 1px solid var(--mlf-line);
}
.header-nav a {
  color: var(--mlf-ink) !important;
  font-family: var(--mlf-ff-sans);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .06em;
  text-transform: uppercase;
}

/* ---------- Header desktop ---------- */
#desktop-header,
.desktop-header-style-1,
.desktop-header-style-2,
.desktop-header-style-3,
.desktop-header-style-4 {
  background: #fff !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-bottom: 1px solid var(--mlf-line) !important;
  font-family: var(--mlf-ff-sans);
}

#desktop-header .header-top {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body:not(#index) #desktop-header,
body:not(#index) #desktop-header .header-top,
body:not(#index) #desktop-header #desktop-header-container,
body:not(#index) #desktop-header .iqit-megamenu-container,
body:not(#index) #desktop-header .container-iqitmegamenu,
body:not(#index) #desktop-header #iqitmegamenu-wrapper,
body:not(#index) #desktop-header #iqitmegamenu-horizontal,
body:not(#index) #desktop-header #cbp-hrmenu {
  background: #fff !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  filter: none !important;
}

body#index #desktop-header,
body#index #desktop-header .header-top,
body#index #desktop-header #desktop-header-container,
body#index #desktop-header .iqit-megamenu-container,
body#index #desktop-header .container-iqitmegamenu,
body#index #desktop-header #iqitmegamenu-wrapper,
body#index #desktop-header #iqitmegamenu-horizontal,
body#index #desktop-header #cbp-hrmenu {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body#index #desktop-header:not(.is-scrolled):not(:hover),
body#index #desktop-header:not(.is-scrolled):not(:hover) .header-top,
body#index #desktop-header:not(.is-scrolled):not(:hover) #desktop-header-container,
body#index #desktop-header:not(.is-scrolled):not(:hover) .iqit-megamenu-container,
body#index #desktop-header:not(.is-scrolled):not(:hover) .container-iqitmegamenu,
body#index #desktop-header:not(.is-scrolled):not(:hover) #iqitmegamenu-wrapper,
body#index #desktop-header:not(.is-scrolled):not(:hover) #iqitmegamenu-horizontal,
body#index #desktop-header:not(.is-scrolled):not(:hover) #cbp-hrmenu {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

body#index #desktop-header:not(.is-scrolled):not(:hover) {
  background: rgba(14, 20, 24, .14) !important;
}

body#index #desktop-header .header-top {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
/* ---------- iqitmegamenu cleanup ---------- */
/* Hide the floating red "legend" badges that duplicate each tab label */
.cbp-hrmenu .cbp-legend,
.cbp-hrmenu .cbp-legend-main,
.cbp-hrmenu .cbp-legend-arrow,
#iqitmegamenu-horizontal .cbp-legend,
#iqitmegamenu-horizontal .cbp-legend-main,
#iqitmegamenu-horizontal .cbp-legend-arrow {
  display: none !important;
}
/* Make sure the tab text is visible even when theme hides .cbp-tab-title on tab #7 */
.cbp-hrmenu li#cbp-hrmenu-tab-7.cbp-onlyicon .cbp-tab-title { display: inline-block !important; }


/* Keep desktop megamenu below the sticky header after scroll-up hover. */
@media (min-width: 992px) {
  :root { --mlf-header-sticky-height: 160px; }

  body:not(#index) #desktop-header {
    z-index: 6500 !important;
  }

  body:not(#index) #desktop-header #cbp-hrmenu .cbp-hrmenu-tab.cbp-hropen > .cbp-hrsub {
    top: var(--mlf-megamenu-top, var(--mlf-header-sticky-height)) !important;
    z-index: 6490 !important;
  }

  body#index #desktop-header.is-scrolled,
  body#index #desktop-header.stuck,
  body#index #desktop-header.stuck-header,
  body#index #desktop-header.stuck-header-element {
    z-index: 6500 !important;
  }

  body#index #desktop-header.is-scrolled #cbp-hrmenu .cbp-hrmenu-tab.cbp-hropen > .cbp-hrsub,
  body#index #desktop-header.stuck #cbp-hrmenu .cbp-hrmenu-tab.cbp-hropen > .cbp-hrsub,
  body#index #desktop-header.stuck-header #cbp-hrmenu .cbp-hrmenu-tab.cbp-hropen > .cbp-hrsub,
  body#index #desktop-header.stuck-header-element #cbp-hrmenu .cbp-hrmenu-tab.cbp-hropen > .cbp-hrsub {
    top: var(--mlf-megamenu-top, var(--mlf-header-sticky-height)) !important;
    z-index: 6490 !important;
  }
}

/* Logo */
#desktop_logo .logo,
#desktop_logo .logo.img-fluid,
.col-mobile-logo .logo,
.col-mobile-logo .logo.img-fluid,
.header-logo img,
.logo.img-responsive,
.logo.img-fluid {
  max-width: 220px !important;
  max-height: 100px !important;
  width: auto !important;
  height: auto !important;
  transition: max-width .3s ease, max-height .3s ease;
}

/* Navigation links */
#desktop-header .menu-overlay,
#desktop-header .mmui-menu,
#desktop-header .main-navigation a,
#desktop-header nav a,
.header-menu a,
.iqitmegamenu-wrapper a {
  font-family: var(--mlf-ff-sans) !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  letter-spacing: .04em !important;
  color: var(--mlf-navy) !important;
  text-transform: none !important;
}

/* Search bar */
#desktop-header .search-widget input[type="text"],
#desktop-header .search-widget input[type="search"],
.header-search input {
  font-family: var(--mlf-ff-sans);
  border-color: var(--mlf-line);
  background: #fff;
}

/* Cart / Account icons */
#desktop-header .cart-preview,
#desktop-header .user-info,
.header-buttons a,
.header-buttons button {
  font-family: var(--mlf-ff-sans);
  color: var(--mlf-navy) !important;
  font-weight: 500;
}

/* ---------- Mobile header ---------- */
#mobile-header {
  font-family: var(--mlf-ff-sans);
  background: var(--mlf-cream) !important;
}

/* ---------- Homepage content area ---------- */
.page-home .page-content {
  padding: 0 !important;
  max-width: 100% !important;
}
.page-home #content {
  padding: 0 !important;
}

/* Remove default page wrapper padding on homepage */
.page-home .page-wrapper > .container,
.page-home #main .page-content > .container {
  max-width: 100% !important;
  padding: 0 !important;
}

/* ---------- Footer ---------- */
.footer-container,
#footer {
  background: var(--mlf-navy) !important;
  color: rgba(255,255,255,.78) !important;
  font-family: var(--mlf-ff-sans);
}
.footer-container a,
#footer a {
  color: rgba(255,255,255,.78) !important;
  font-family: var(--mlf-ff-sans);
  font-size: 14px;
  transition: color .2s ease;
}
.footer-container a:hover,
#footer a:hover {
  color: #fff !important;
}
.footer-container h3,
.footer-container h4,
.footer-container h5,
#footer h3,
#footer h4,
#footer h5 {
  color: #fff !important;
  font-family: var(--mlf-ff-sans);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

/* Footer bottom / payments */
.footer-container .payment-links,
#footer .payment-links {
  border-top: 1px solid rgba(255,255,255,.08);
  padding-top: 24px;
}

/* ---------- Cookie law ---------- */
.iqitcookielaw {
  background: var(--mlf-navy) !important;
  color: rgba(255,255,255,.78) !important;
  font-family: var(--mlf-ff-sans);
  font-size: 14px;
}
.iqitcookielaw .btn {
  background: var(--mlf-red) !important;
  border: none;
  border-radius: 8px;
  color: #fff !important;
  font-family: var(--mlf-ff-sans);
  font-weight: 600;
}

/* ---------- Popup / newsletter modal ---------- */
.iqitpopup {
  font-family: var(--mlf-ff-sans);
}

/* ---------- Product flags / badges ---------- */
.product-flag .new,
.product-flag .online-only {
  background: var(--mlf-blue);
}

/* ---------- Scroll to top ---------- */
.scroll-top {
  background: var(--mlf-navy) !important;
  border-radius: 50% !important;
}

/* ---------- General button overrides ---------- */
.add-to-cart,
.btn-primary {
  background: var(--mlf-red) !important;
  border-color: var(--mlf-red) !important;
  border-radius: 10px !important;
  font-family: var(--mlf-ff-sans) !important;
  font-weight: 600 !important;
  transition: background .2s ease !important;
}
.add-to-cart:hover,
.btn-primary:hover {
  background: var(--mlf-navy) !important;
  border-color: var(--mlf-navy) !important;
}

/* ---------- Homepage-specific: remove Warehouse's default home block spacing ---------- */
.page-home .home-section,
.page-home .featured-products,
.page-home .block-home {
  padding: 0;
  margin: 0;
}

/* ---------- Mobile header refinement ---------- */
@media (max-width: 767px) {
  .header-banner { position: relative; z-index: 30; }

  .mlf-announce {
    min-height: 42px;
    height: auto;
    padding: 6px 8px;
    font-size: 9px;
    letter-spacing: .055em;
    line-height: 1.15;
  }

  .mlf-announce__track {
    animation: none !important;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    padding-left: 0;
    width: 100%;
    transform: none !important;
  }

  .mlf-announce__track > span {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: 30px;
    padding: 0 6px;
    text-align: center;
    white-space: normal;
  }

  .mlf-announce__track > .mlf-announce__dot,
  .mlf-announce__track > span:nth-child(n+6) {
    display: none !important;
  }

  #mobile-header,
  #mobile-header-sticky {
    background: #fff !important;
    border-bottom: 1px solid rgba(33,47,55,.08) !important;
    box-shadow: 0 2px 12px rgba(33,47,55,.06) !important;
    width: 100% !important;
    left: 0 !important;
    right: 0 !important;
  }

  #mobile-header .container,
  #mobile-header-sticky .container {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  #mobile-header .mobile-main-bar,
  #mobile-header-sticky .mobile-main-bar {
    padding: 8px 0 !important;
    width: 100% !important;
  }

  #mobile-header .row-mobile-header {
    align-items: center !important;
    display: grid !important;
    grid-template-columns: 44px 44px minmax(0, 1fr) 44px 44px !important;
    gap: 0 !important;
    margin: 0 !important;
    width: 100% !important;
  }

  #mobile-header .col-mobile-btn,
  #mobile-header .col-mobile-logo {
    padding: 0 !important;
  }

  #mobile-header .col-mobile-btn-menu  { grid-column: 1 !important; }
  #mobile-header .col-mobile-btn-search { grid-column: 2 !important; }
  #mobile-header .col-mobile-logo      { grid-column: 3 !important; min-width: 0 !important; }
  #mobile-header .col-mobile-btn-account { grid-column: 4 !important; }
  #mobile-header .col-mobile-btn-cart  { grid-column: 5 !important; }

  #mobile-header .m-nav-btn {
    align-items: center !important;
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #212f37 !important;
    display: flex !important;
    height: 44px !important;
    justify-content: center !important;
    line-height: 1 !important;
    width: 44px !important;
    padding: 0 !important;
    transition: opacity 0.15s !important;
  }

  #mobile-header .m-nav-btn:hover,
  #mobile-header .m-nav-btn:active {
    opacity: 0.55 !important;
    background: none !important;
  }

  #mobile-header .m-nav-btn svg {
    display: block !important;
    flex-shrink: 0 !important;
    color: #212f37 !important;
    stroke: #212f37 !important;
  }

  #mobile-header .m-nav-btn .fa,
  #mobile-header .m-nav-btn i.fa {
    display: none !important;
  }

  /* Hide only the text "Cart" / "Menu" / "Search" labels, not the icon wrapper */
  #mobile-header .m-nav-btn > span:not(.cart-products-count):not(.cart-products-count-btn):not(.mlf-mobile-cart-wrap):not(.info-wrapper) {
    display: none !important;
  }

  #mobile-header .col-mobile-logo a {
    align-items: center !important;
    display: flex !important;
    justify-content: center !important;
    min-height: 44px !important;
  }

  #mobile-header .col-mobile-logo .logo,
  #mobile-header .col-mobile-logo .logo.img-fluid {
    height: 44px !important;
    max-height: 44px !important;
    max-width: min(160px, 100%) !important;
    object-fit: contain !important;
    width: auto !important;
  }

  /* Cart icon + badge wrapper */
  #mobile-header .col-mobile-btn-cart .m-nav-btn {
    position: relative !important;
  }
  .mlf-mobile-cart-wrap {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  #mobile-cart-products-count.cart-products-count-btn {
    position: absolute !important;
    top: 6px !important;
    right: 4px !important;
    background: #e51a26 !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    min-width: 17px !important;
    height: 17px !important;
    border-radius: 999px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 3px !important;
    border: 2px solid #fff !important;
    box-shadow: none !important;
    line-height: 1 !important;
  }
}


@media (max-width: 767px) {
  body #mobile-header,
  body #mobile-header-sticky,
  body #mobile-header .mobile-main-bar {
    background: #fff !important;
  }

  body #mobile-header .m-nav-btn,
  body #mobile-header .m-nav-btn i,
  body #mobile-header .m-nav-btn .fa,
  body #mobile-header .mobile-bag-icon {
    color: #212f37 !important;
  }
}

/* ============================================================
   MLF mobile template polish - category/product/cart/checkout/account/CMS
   ============================================================ */
@media (max-width: 767px) {
  html,
  body,
  #wrapper,
  #inner-wrapper,
  #content-wrapper,
  #main,
  #content {
    max-width: 100%;
  }

  body:not(.page-index) {
    overflow-x: hidden;
    background: #faf8f4;
  }

  body:not(.page-index) #wrapper,
  body:not(.page-index) #inner-wrapper,
  body:not(.page-index) #content-wrapper,
  body:not(.page-index) #main,
  body:not(.page-index) #content {
    width: 100%;
  }

  body:not(.page-index):not(.page-category):not(.page-product):not(.page-contact) #wrapper {
    padding: 0 0 56px !important;
  }

  body:not(.page-index):not(.page-category):not(.page-product):not(.page-contact):not(.cms-id-13):not(.cms-id-14):not(.cms-id-7):not(.cms-id-12):not(.cms-id-15) #content-wrapper,
  body:not(.page-index):not(.page-category):not(.page-product):not(.page-contact):not(.cms-id-13):not(.cms-id-14):not(.cms-id-7):not(.cms-id-12):not(.cms-id-15) #main {
    width: min(100% - 22px, 560px) !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  body:not(.page-index):not(.page-category):not(.page-product):not(.page-contact):not(.cms-id-13):not(.cms-id-14):not(.cms-id-7):not(.cms-id-12):not(.cms-id-15) .page-header {
    margin: 0 !important;
    padding: 34px 0 18px !important;
  }

  body:not(.page-index) .page-title,
  body:not(.page-index) .page-header h1,
  body:not(.page-index) h1.h1 {
    font-family: var(--mlf-ff-display, "Fraunces", Georgia, serif) !important;
    font-size: clamp(32px, 9vw, 44px) !important;
    line-height: 1.04 !important;
    letter-spacing: 0 !important;
    color: var(--mlf-navy, #212f37) !important;
    overflow-wrap: anywhere;
  }

  body:not(.page-index) .page-content,
  body.page-cms #content,
  body.page-customer-account #content,
  body.page-authentication #content,
  body.page-password #content,
  body.page-cart #content {
    background: #fff !important;
    border: 1px solid rgba(33,47,55,.08) !important;
    border-radius: 18px !important;
    box-shadow: 0 12px 34px rgba(33,47,55,.06) !important;
    padding: 20px !important;
    overflow: hidden;
  }

  body:not(.page-index) .form-group,
  body:not(.page-index) .form-footer,
  body:not(.page-index) .form-group.row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body:not(.page-index) .form-control,
  body:not(.page-index) .custom-select,
  body:not(.page-index) select,
  body:not(.page-index) textarea,
  body:not(.page-index) input[type="text"],
  body:not(.page-index) input[type="email"],
  body:not(.page-index) input[type="password"],
  body:not(.page-index) input[type="tel"],
  body:not(.page-index) input[type="number"] {
    width: 100% !important;
    min-height: 46px !important;
    border-radius: 12px !important;
    font-size: 16px !important;
    max-width: 100% !important;
  }

  body:not(.page-index) label,
  body:not(.page-index) .form-control-label {
    max-width: 100%;
    font-size: 13px !important;
    line-height: 1.35 !important;
  }

  body:not(.page-index) .btn,
  body:not(.page-index) button,
  body:not(.page-index) .button,
  body:not(.page-index) .btn-primary {
    min-height: 44px;
    white-space: normal;
  }

  body:not(.page-index) .btn-primary,
  body:not(.page-index) input[type="submit"].btn-primary {
    width: 100%;
    justify-content: center;
    border-radius: 999px !important;
    padding: 14px 18px !important;
  }

  body .quizz-floating-btn {
    right: max(12px, env(safe-area-inset-right)) !important;
    bottom: max(12px, env(safe-area-inset-bottom)) !important;
    left: auto !important;
    max-width: 62px !important;
  }

  body .quizz-fab {
    width: 58px !important;
    min-width: 58px !important;
    height: 58px !important;
    min-height: 58px !important;
    justify-content: center !important;
    gap: 0 !important;
    padding: 0 !important;
  }

  body .quizz-fab__copy,
  body .quizz-fab__arrow {
    display: none !important;
  }

  body .quizz-fab__icon {
    width: 42px !important;
    height: 42px !important;
  }

  body:not(.page-index) .table-responsive,
  body:not(.page-index) .table-wrapper {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  body:not(.page-index) table {
    max-width: 100%;
  }

  body.page-cart .cart-grid,
  body.page-cart .cart-grid-body,
  body.page-cart .cart-grid-right {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.page-cart .cart-grid-right {
    margin-top: 18px !important;
  }

  body.page-cart .cart-summary,
  body.page-cart .cart-detailed,
  body.page-cart .cart-overview,
  body.page-cart .cart-item {
    border-radius: 18px !important;
    max-width: 100% !important;
    overflow: hidden;
  }

  body.page-cart .cart-item,
  body.page-cart .cart-detailed-product-line {
    display: grid !important;
    grid-template-columns: 82px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: start !important;
  }

  body.page-cart .product-line-grid-left,
  body.page-cart .product-line-grid-body,
  body.page-cart .product-line-grid-right {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
  }

  body.page-order #checkout,
  body.page-order .thecheckout-main,
  body.page-order .checkout-step,
  body.page-order .delivery-options,
  body.page-order .payment-options,
  body.page-order .cart-summary {
    max-width: 100% !important;
    overflow-x: hidden;
  }

  body.page-order #checkout {
    padding: 0 !important;
  }

  body.page-order #checkout .container,
  body.page-order #checkout .row {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.page-order .checkout-step {
    border-radius: 18px !important;
    padding: 18px !important;
  }

  body.page-my-account .links,
  body.page-customer-account .links,
  body.page-history .orders,
  body.page-addresses .addresses {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  body.page-my-account .links a,
  body.page-customer-account .links a,
  body.page-addresses .address,
  body.page-history .order,
  body.page-order-detail .box {
    border-radius: 16px !important;
    min-height: 54px;
    overflow: hidden;
  }

  body.page-cms #content img,
  body.page-contact #content img,
  body.page-stores #content img {
    height: auto !important;
    max-width: 100% !important;
  }

  body.page-cms #content iframe,
  body.page-contact #content iframe,
  body.page-stores #content iframe {
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 390px) {
  body:not(.page-index):not(.page-category):not(.page-product):not(.page-contact):not(.cms-id-13):not(.cms-id-14):not(.cms-id-7):not(.cms-id-12):not(.cms-id-15) #content-wrapper,
  body:not(.page-index):not(.page-category):not(.page-product):not(.page-contact):not(.cms-id-13):not(.cms-id-14):not(.cms-id-7):not(.cms-id-12):not(.cms-id-15) #main {
    width: min(100% - 18px, 390px) !important;
  }

  body:not(.page-index) .page-content,
  body.page-cms #content,
  body.page-customer-account #content,
  body.page-authentication #content,
  body.page-password #content,
  body.page-cart #content {
    padding: 18px !important;
  }
}

/* ============================================================
   MLF spacing system - homogeneous page rhythm
   ============================================================ */
:root {
  --mlf-rhythm-2xs: 8px;
  --mlf-rhythm-xs: 12px;
  --mlf-rhythm-sm: 18px;
  --mlf-rhythm-md: 28px;
  --mlf-rhythm-lg: 44px;
  --mlf-rhythm-xl: 64px;
  --mlf-rhythm-2xl: 92px;
  --mlf-page-gutter: clamp(18px, 4vw, 40px);
  --mlf-page-max: 1180px;
}

html,
body {
  max-width: 100%;
}

html {
  overflow-x: clip;
  overflow-y: visible;
}

body {
  overflow-y: visible;
  height: auto;
}

@supports not (overflow: clip) {
  html {
    overflow-x: hidden;
  }
}

#header,
#wrapper,
#footer,
.footer-container,
.mlf-announce {
  max-width: 100vw;
  overflow-x: clip;
}

@supports not (overflow: clip) {
  #header,
  #wrapper,
  #footer,
  .footer-container,
  .mlf-announce {
    overflow-x: hidden;
  }
}

body:not(.page-index):not(.page-category):not(.page-product):not(.page-contact):not(.cms-id-13):not(.cms-id-14):not(.cms-id-7):not(.cms-id-12):not(.cms-id-15) #content-wrapper,
body:not(.page-index):not(.page-category):not(.page-product):not(.page-contact):not(.cms-id-13):not(.cms-id-14):not(.cms-id-7):not(.cms-id-12):not(.cms-id-15) #main {
  max-width: var(--mlf-page-max);
}

body:not(.page-index):not(.page-category):not(.page-product):not(.page-contact):not(.cms-id-13):not(.cms-id-14):not(.cms-id-7):not(.cms-id-12):not(.cms-id-15) .page-header {
  padding-top: clamp(42px, 5vw, 72px) !important;
  padding-bottom: var(--mlf-rhythm-md) !important;
}

body:not(.page-index):not(.page-category):not(.page-product):not(.page-contact) .page-header + .page-content,
body:not(.page-index):not(.page-category):not(.page-product):not(.page-contact) #content > .page-content:first-child {
  margin-top: 0 !important;
}

body:not(.page-index):not(.page-category):not(.page-product):not(.page-contact) .page-content,
body.page-cart .cart-grid,
body.page-order #checkout {
  margin-bottom: var(--mlf-rhythm-lg) !important;
}

body .page-not-found,
body.page-category .page-not-found,
body.page-contact .page-not-found {
  margin-bottom: var(--mlf-rhythm-lg) !important;
}

body:not(.page-index):not(.page-category):not(.page-product):not(.page-contact) .footer-container,
body.page-cart .footer-container,
body.page-order .footer-container {
  margin-top: var(--mlf-rhythm-md) !important;
}

body:not(.page-index) .form-group,
body:not(.page-index) .form-group.row {
  margin-bottom: var(--mlf-rhythm-sm) !important;
}

body:not(.page-index) .form-footer {
  margin-top: var(--mlf-rhythm-md) !important;
}

@media (max-width: 767px) {
  :root {
    --mlf-rhythm-md: 24px;
    --mlf-rhythm-lg: 36px;
    --mlf-rhythm-xl: 52px;
    --mlf-rhythm-2xl: 68px;
    --mlf-page-gutter: 18px;
  }

  body:not(.page-index):not(.page-category):not(.page-product):not(.page-contact) #wrapper {
    padding-bottom: var(--mlf-rhythm-xl) !important;
  }

  body:not(.page-index):not(.page-category):not(.page-product):not(.page-contact):not(.cms-id-13):not(.cms-id-14):not(.cms-id-7):not(.cms-id-12):not(.cms-id-15) .page-header {
    padding-top: var(--mlf-rhythm-lg) !important;
    padding-bottom: var(--mlf-rhythm-sm) !important;
  }

  body:not(.page-index):not(.page-category):not(.page-product):not(.page-contact) .page-content,
  body.page-cart .cart-grid,
  body.page-order #checkout {
    margin-bottom: var(--mlf-rhythm-lg) !important;
  }

  body:not(.page-index):not(.page-category):not(.page-product):not(.page-contact) .footer-container,
  body.page-cart .footer-container,
  body.page-order .footer-container {
    margin-top: var(--mlf-rhythm-md) !important;
  }

  body.page-cart .cart-grid-right {
    margin-top: var(--mlf-rhythm-sm) !important;
  }
}

/* Hide default PS page-header on store locator (module has its own hero) */
body.page-module-mlf_storelocator-list .page-header {
  display: none !important;
}

/* ── JoliSearch header integration ── */
.header-jolisearch-w {
    display: flex;
    align-items: center;
}
.header-jolisearch-w #search_widget {
    display: flex;
    align-items: center;
}
.header-jolisearch-w #search_widget form {
    display: flex;
    align-items: center;
    gap: 0;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    overflow: hidden;
    background: #f8f7f4;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.header-jolisearch-w #search_widget form:focus-within {
    border-color: var(--navy, #212f37);
    box-shadow: 0 0 0 3px rgba(33,47,55,0.08);
    background: #fff;
}
.header-jolisearch-w #search_widget input[type="text"] {
    border: none;
    background: transparent;
    padding: 8px 14px;
    font-size: 14px;
    color: var(--navy, #212f37);
    width: 220px;
    outline: none;
}
.header-jolisearch-w #search_widget input[type="text"]::placeholder {
    color: #9ca3af;
}
.header-jolisearch-w #search_widget button {
    border: none;
    background: transparent;
    padding: 8px 12px;
    cursor: pointer;
    color: var(--navy, #212f37);
    display: flex;
    align-items: center;
}
.header-jolisearch-w #search_widget button i.material-icons {
    font-size: 20px;
    line-height: 1;
}
.header-jolisearch-w #search_widget button span {
    display: none;
}
@media (max-width: 1200px) {
    .header-jolisearch-w #search_widget input[type="text"] {
        width: 160px;
    }
}
@media (max-width: 991px) {
    .header-jolisearch-w {
        display: none;
    }
}

/* JoliSearch — curseur pointer sur input et bouton */
.header-jolisearch-w #search_widget input[type=text] {
    cursor: text;
}
.header-jolisearch-w #search_widget button {
    cursor: pointer;
}
.header-jolisearch-w #search_widget form {
    cursor: text;
}

/* ── Search trigger: white on transparent hero, dark on sticky ── */
body#index #desktop-header:not(.is-scrolled):not(:hover) #mlf-search-trigger,
body#index #desktop-header:not(.is-scrolled):not(:hover) #mlf-search-trigger .title {
  color: #fff !important;
}
body#index #desktop-header:not(.is-scrolled):not(:hover) #mlf-search-trigger svg {
  stroke: #fff !important;
}
body#index #desktop-header:not(.is-scrolled):not(:hover) #mlf-search-trigger:hover {
  color: rgba(255,255,255,0.7) !important;
}
body#index #desktop-header:not(.is-scrolled):not(:hover) #mlf-search-trigger:hover svg {
  stroke: rgba(255,255,255,0.7) !important;
}
/* Sticky / scrolled state: same as other buttons */
#desktop-header.is-scrolled #mlf-search-trigger,
#desktop-header:hover #mlf-search-trigger {
  color: #2a2a2a !important;
}
#desktop-header.is-scrolled #mlf-search-trigger svg,
#desktop-header:hover #mlf-search-trigger svg {
  stroke: #2a2a2a !important;
}



/* ── Trust strip — global (above footer on all pages) ── */
.trust--global {
  background: #fff;
  padding: 28px 0;
  border-top: 1px solid var(--mlf-line, #e9e5dc);
  border-bottom: 1px solid var(--mlf-line, #e9e5dc);
}
.trust--global .trust__grid {
  max-width: 1280px;
  width: calc(100% - 48px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}
.trust--global .trust__item {
  display: flex;
  align-items: center;
  gap: 14px;
  color: var(--mlf-navy, #212f37);
}
.trust--global .trust__item img,
.trust--global .trust__item svg {
  flex-shrink: 0;
}
.trust--global .trust__item strong {
  display: block;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .02em;
  margin-bottom: 2px;
}
.trust--global .trust__item span {
  font-size: 13px;
  color: var(--mlf-muted, #7c8088);
  line-height: 1.4;
}
.trust--global .mlf-mobile-trust {
  display: none;
}
@media (max-width: 991px) {
  .trust--global .trust__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 24px;
    width: calc(100% - 32px);
  }
}
@media (max-width: 767px) {
  .trust--global {
    padding: 24px 0;
    border-top: 0;
    border-bottom: 0;
  }

  .trust--global .trust__grid {
    display: none !important;
  }

  .trust--global .mlf-mobile-trust {
    display: grid !important;
    width: min(100% - 16px, 430px) !important;
    margin: 0 auto !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    align-items: stretch;
    color: #0f1820;
    text-align: center;
  }

  .trust--global .mlf-mobile-trust__item {
    position: relative;
    display: grid;
    grid-template-rows: 24px auto;
    justify-items: center;
    align-content: start;
    gap: 5px;
    min-width: 0;
    padding: 0 4px;
    font-family: var(--ff-sans, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif);
    line-height: 1.12;
  }

  .trust--global .mlf-mobile-trust__item + .mlf-mobile-trust__item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 2px;
    bottom: 2px;
    width: 1px;
    background: rgba(18, 26, 32, 0.12);
  }

  .trust--global .mlf-mobile-trust__item img,
  .trust--global .mlf-mobile-trust__item svg {
    display: block;
    width: 22px !important;
    height: 22px !important;
    max-width: 22px !important;
    object-fit: contain;
    color: #111820;
  }

  .trust--global .mlf-mobile-trust__item span {
    display: grid;
    gap: 3px;
    min-width: 0;
    width: 100%;
  }

  .trust--global .mlf-mobile-trust__item strong {
    display: block;
    font-size: clamp(8px, 2.12vw, 9.5px);
    font-weight: 780;
    line-height: 1.08;
    letter-spacing: 0;
    color: #111820;
    white-space: nowrap;
  }

  .trust--global .mlf-mobile-trust__item small {
    display: block;
    font-size: clamp(7px, 1.9vw, 8.4px);
    font-weight: 500;
    line-height: 1.12;
    letter-spacing: 0;
    color: #7b828a;
    white-space: nowrap;
  }
}

/* ── Force cart icon wrapper visible (overrides warehouse theme span:none rule) ── */
@media (max-width: 991px) {
  #mobile-header .m-nav-btn > span.mlf-mobile-cart-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: static !important;
  }
  #mobile-header .m-nav-btn > span.mlf-mobile-cart-wrap svg {
    display: block !important;
    width: 20px !important;
    height: 20px !important;
  }
}

/* ── Cart modal mobile overflow fix ── */
@media (max-width: 640px) {
  #_mobile_blockcart-content .pdp-cart-modal__added {
    grid-template-columns: 72px minmax(0, 1fr) !important;
    padding: 14px 16px !important;
    gap: 14px !important;
    overflow: hidden !important;
  }
  #_mobile_blockcart-content .pdp-cart-modal__added-info {
    min-width: 0 !important;
    overflow: hidden !important;
  }
  #_mobile_blockcart-content .pdp-cart-modal__added-name {
    max-width: 100% !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: block !important;
  }
  /* Checkout button must not overflow */
  #_mobile_blockcart-content .pdp-cart-modal__foot,
  #_mobile_blockcart-content .pdp-cart-modal__checkout {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }
  #_mobile_blockcart-content .pdp-cart-modal__checkout a,
  #_mobile_blockcart-content .pdp-cart-modal__checkout button {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  #_mobile_blockcart-content .pdp-cart-modal__reassurance--cards {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
  }
  #_mobile_blockcart-content .pdp-cart-modal__reassure-card {
    display: grid !important;
    grid-template-columns: 18px minmax(0, 1fr) !important;
    align-items: flex-start !important;
    gap: 6px !important;
    min-width: 0 !important;
    width: 100% !important;
    padding: 8px 7px !important;
    border: 1px solid rgba(17, 24, 39, 0.10) !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-sizing: border-box !important;
  }
  #_mobile_blockcart-content .pdp-cart-modal__reassure-card svg {
    width: 18px !important;
    height: 18px !important;
  }
  #_mobile_blockcart-content .pdp-cart-modal__reassure-text {
    min-width: 0 !important;
  }
  #_mobile_blockcart-content .pdp-cart-modal__reassure-text strong,
  #_mobile_blockcart-content .pdp-cart-modal__reassure-text small {
    display: block !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
  #_mobile_blockcart-content .pdp-cart-modal__reassure-text strong {
    font-size: 10.5px !important;
    line-height: 1.12 !important;
  }
  #_mobile_blockcart-content .pdp-cart-modal__reassure-text small {
    font-size: 8.8px !important;
    line-height: 1.12 !important;
  }
  /* Global overflow guard */
  #_mobile_blockcart-content .blockcart-content {
    overflow-x: hidden !important;
  }
  #_mobile_blockcart-content .pdp-cart-modal__main {
    overflow-x: hidden !important;
  }
  #_mobile_blockcart-content .pdp-cart-modal__summary {
    overflow-x: hidden !important;
  }
}

/* ── Fix: white-link hero rule must not affect cart modal dropdown ── */
#_mobile_blockcart-content .pdp-cart-modal__checkout,
#_desktop_blockcart-content .pdp-cart-modal__checkout {
  color: #ffffff !important;
}
#_mobile_blockcart-content .pdp-cart-modal__checkout span,
#_desktop_blockcart-content .pdp-cart-modal__checkout span {
  color: #ffffff !important;
}

/* ── Cart modal mobile: items scrollable, cross-sell hidden ── */
@media (max-width: 640px) {
  #_mobile_blockcart-content .pdp-cart-modal__items {
    overflow-y: auto !important;
    max-height: 36dvh !important;
    -webkit-overflow-scrolling: touch !important;
  }
  #_mobile_blockcart-content .pdp-cart-modal__summary {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    display: flex !important;
    flex-direction: column !important;
  }
  /* Hide empty cross-sell section on mobile */
  #_mobile_blockcart-content .pdp-cart-modal__cross {
    display: none !important;
  }
#_mobile_blockcart-content .pdp-cart-modal__main {
    grid-template-areas: summary !important;
    grid-template-rows: 1fr !important;
  }
}

/* Header logo size bump */
@media (min-width: 992px) {
  #desktop_logo,
  #desktop-header #desktop_logo {
    width: auto !important;
    max-width: none !important;
  }

  #desktop_logo img.logo,
  #desktop_logo .logo,
  #desktop_logo .logo.img-fluid,
  #desktop-header .header-logo img {
    width: auto !important;
    height: 92px !important;
    max-height: 92px !important;
    max-width: none !important;
    object-fit: contain !important;
  }
}

@media (max-width: 991px) {
  #mobile-header .col-mobile-logo .logo,
  #mobile-header .col-mobile-logo .logo.img-fluid {
    height: 52px !important;
    max-height: 52px !important;
    max-width: min(190px, 100%) !important;
  }
}

/* === Mega-menu hover bridge (fix 2026-05-28) ===
   The iqitmegamenu submenu (.cbp-hrsub) is position:fixed ~30px below the menu
   bar, leaving a dead gap. Moving the cursor from a parent item down to the
   submenu crossed that gap, fired mouseleave, and closed the submenu before any
   link could be clicked. This invisible ::before bridges the gap so the cursor
   stays "inside" the open submenu while crossing. Placed here (served separately,
   not in the CCC bundle) so it takes effect without bundle regeneration.
   Desktop only. */
@media (min-width: 768px) {
  #cbp-hrmenu .cbp-hrmenu-tab.cbp-hropen > .cbp-hrsub::before,
  .iqitmegamenu .cbp-hrmenu-tab.cbp-hropen > .cbp-hrsub::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -40px;
    height: 40px;
    background: transparent;
    pointer-events: auto;
  }
}

/* Homepage mobile header: match the compact reference layout. */
@media (max-width: 767px) {
  body#index #header .header-banner,
  body.page-index #header .header-banner {
    display: none !important;
  }

  body#index #mobile-header,
  body#index #mobile-header-sticky,
  body.page-index #mobile-header,
  body.page-index #mobile-header-sticky {
    min-height: 58px !important;
    height: 58px !important;
    background: #fff !important;
    box-shadow: 0 1px 8px rgba(18, 26, 32, .08) !important;
  }

  body#index #mobile-header .container,
  body.page-index #mobile-header .container {
    width: 100% !important;
    max-width: none !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  body#index #mobile-header .mobile-main-bar,
  body.page-index #mobile-header .mobile-main-bar {
    height: 58px !important;
    padding: 0 !important;
  }

  body#index #mobile-header .row-mobile-header,
  body.page-index #mobile-header .row-mobile-header {
    min-height: 58px !important;
    height: 58px !important;
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) 44px 44px !important;
    align-items: center !important;
    margin: 0 !important;
  }

  body#index #mobile-btn-search,
  body.page-index #mobile-btn-search {
    display: none !important;
  }

  body#index #mobile-header .col-mobile-btn-menu,
  body#index #mobile-header .col-mobile-btn-account,
  body#index #mobile-header .col-mobile-btn-cart,
  body.page-index #mobile-header .col-mobile-btn-menu,
  body.page-index #mobile-header .col-mobile-btn-account,
  body.page-index #mobile-header .col-mobile-btn-cart {
    width: 44px !important;
    max-width: 44px !important;
    height: 58px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body#index #mobile-header .col-mobile-btn-menu,
  body.page-index #mobile-header .col-mobile-btn-menu {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  body#index #mobile-header .col-mobile-logo,
  body.page-index #mobile-header .col-mobile-logo {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: auto !important;
    max-width: none !important;
    height: 58px !important;
    padding: 0 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }

  body#index #mobile-header .col-mobile-btn-cart,
  body.page-index #mobile-header .col-mobile-btn-cart {
    grid-column: 4 !important;
    grid-row: 1 !important;
  }

  body#index #mobile-header .col-mobile-btn-account,
  body.page-index #mobile-header .col-mobile-btn-account {
    grid-column: 3 !important;
    grid-row: 1 !important;
  }

  body#index #mobile-header .col-mobile-logo a,
  body.page-index #mobile-header .col-mobile-logo a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    height: 58px !important;
  }

  body#index #mobile-header .col-mobile-logo .logo,
  body#index #mobile-header .col-mobile-logo .logo.img-fluid,
  body.page-index #mobile-header .col-mobile-logo .logo,
  body.page-index #mobile-header .col-mobile-logo .logo.img-fluid {
    width: auto !important;
    height: 42px !important;
    max-height: 42px !important;
    max-width: 190px !important;
    object-fit: contain !important;
  }

  body#index #mobile-header .m-nav-btn,
  body.page-index #mobile-header .m-nav-btn {
    width: 44px !important;
    height: 58px !important;
    min-height: 58px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body#index #mobile-header .m-nav-btn svg,
  body.page-index #mobile-header .m-nav-btn svg {
    width: 22px !important;
    height: 22px !important;
  }

  html body#index header#header div#mobile-header,
  html body#index header#header div#mobile-header-sticky,
  html body.page-index header#header div#mobile-header,
  html body.page-index header#header div#mobile-header-sticky,
  html body#index header#header div#mobile-header .container,
  html body.page-index header#header div#mobile-header .container,
  html body#index header#header div#mobile-header .mobile-main-bar,
  html body.page-index header#header div#mobile-header .mobile-main-bar {
    min-height: 58px !important;
    height: 58px !important;
  }

  body#index .quizz-floating-btn,
  body.page-index .quizz-floating-btn {
    display: none !important;
  }
}
/* MLF responsive mobile menu polish - 2026-06-04 */
@media (max-width: 991.98px) {
  body .col-mobile-menu-push #_mobile_iqitmegamenu-mobile {
    position: fixed !important;
    inset: 0 auto auto 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    overflow: hidden !important;
    z-index: 2147483100 !important;
    transform: translate3d(-105vw, 0, 0) !important;
    transition: transform .32s cubic-bezier(.22, .61, .36, 1) !important;
  }

  body .col-mobile-menu-push #_mobile_iqitmegamenu-mobile.show {
    transform: translate3d(0, 0, 0) !important;
  }

  body .col-mobile-menu-push.show #mobile_menu_click_overlay {
    z-index: 2147483000 !important;
    background: rgba(33, 47, 55, .24) !important;
  }

  body #_mobile_iqitmegamenu-mobile #iqitmegamenu-mobile {
    width: 100% !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    background: #fff !important;
    color: #212f37 !important;
  }

  body #_mobile_iqitmegamenu-mobile .mm-panel__header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    width: 100% !important;
    min-height: 64px !important;
    padding: 10px 14px !important;
    margin: 0 !important;
    background: #fff !important;
    border-bottom: 1px solid rgba(33, 47, 55, .10) !important;
    box-shadow: 0 8px 20px rgba(33, 47, 55, .06) !important;
    position: relative !important;
    z-index: 930 !important;
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__header {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__header:not(.mobile-menu__header--active) {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__back-btn,
  body #_mobile_iqitmegamenu-mobile .mobile-menu__close {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 48px !important;
    height: 48px !important;
    padding: 0 16px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #212f37 !important;
    color: #fff !important;
    box-shadow: 0 8px 22px rgba(33, 47, 55, .14) !important;
    line-height: 1 !important;
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__back-btn {
    max-width: 100% !important;
    justify-content: flex-start !important;
    gap: 10px !important;
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__close {
    flex: 0 0 48px !important;
    width: 48px !important;
    padding: 0 !important;
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__back-btn .fa,
  body #_mobile_iqitmegamenu-mobile .mobile-menu__close .fa,
  body #_mobile_iqitmegamenu-mobile .mobile-menu__arrow .fa {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    font-style: normal !important;
    line-height: 1 !important;
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__back-btn .fa {
    margin: 0 !important;
    font-size: 20px !important;
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__close .fa {
    font-size: 20px !important;
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__title {
    display: block !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
    font-size: clamp(18px, 5vw, 22px) !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    color: #fff !important;
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__content {
    width: 100% !important;
    height: calc(100dvh - 64px) !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__scroller {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 10px 16px calc(26px + env(safe-area-inset-bottom, 0px)) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    background: #fff !important;
    list-style: none !important;
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__above-content:empty,
  body #_mobile_iqitmegamenu-mobile .mobile-menu__tab--id-1 {
    display: none !important;
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__tab {
    width: 100% !important;
    min-height: 58px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-bottom: 1px solid rgba(33, 47, 55, .10) !important;
    color: #212f37 !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__link {
    width: auto !important;
    min-width: 0 !important;
    padding: 17px 0 !important;
    color: #212f37 !important;
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
    font-size: clamp(17px, 4.5vw, 20px) !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__link:hover,
  body #_mobile_iqitmegamenu-mobile .mobile-menu__link:focus {
    opacity: .72 !important;
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__arrow {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 48px !important;
    width: 48px !important;
    height: 58px !important;
    margin-left: 8px !important;
    padding: 0 !important;
    color: #212f37 !important;
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__arrow .fa {
    font-size: 22px !important;
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__submenu--panel {
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 16px 18px calc(30px + env(safe-area-inset-bottom, 0px)) !important;
    background: #fff !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    z-index: 940 !important;
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__submenu--active {
    display: block !important;
    pointer-events: auto !important;
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__submenu--prev {
    overflow: hidden !important;
    pointer-events: none !important;
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__row,
  body #_mobile_iqitmegamenu-mobile .mobile-menu__column {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__column-title {
    display: block !important;
    margin: 22px 0 8px !important;
    color: #212f37 !important;
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
    font-size: clamp(17px, 4.6vw, 20px) !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    line-height: 1.18 !important;
    text-transform: none !important;
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__column:first-child .mobile-menu__column-title:first-child {
    margin-top: 0 !important;
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__links-list {
    margin: 0 0 18px !important;
    padding: 0 !important;
    list-style: none !important;
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__links-list-li {
    display: flex !important;
    align-items: center !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid rgba(33, 47, 55, .08) !important;
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__links-list-li > a {
    display: block !important;
    width: 100% !important;
    padding: 12px 0 !important;
    color: rgba(33, 47, 55, .82) !important;
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
    font-size: clamp(15px, 4vw, 17px) !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    line-height: 1.25 !important;
    text-decoration: none !important;
    overflow-wrap: anywhere !important;
  }
}

/* MLF mobile menu above cookie layer - 2026-06-04 */
@media (max-width: 991.98px) {
  body #mobile-header,
  body #mobile-header-sticky,
  body #mobile-header .col-mobile-menu-push {
    position: relative !important;
    z-index: 2147483200 !important;
  }
}

/* MLF hide cookie banner while mobile menu is open - 2026-06-04 */
@media (max-width: 991.98px) {
  body:has(#_mobile_iqitmegamenu-mobile.show) #mikecookies-root {
    display: none !important;
  }
}

/* Homepage mobile header: full-bleed bar. */
@media (max-width: 767px) {
  html body#index #mobile-header,
  html body#index #mobile-header-sticky,
  html body.page-index #mobile-header,
  html body.page-index #mobile-header-sticky {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    left: 0 !important;
    right: 0 !important;
  }

  html body#index #mobile-header .container,
  html body.page-index #mobile-header .container,
  html body#index #mobile-header-sticky .container,
  html body.page-index #mobile-header-sticky .container {
    width: 100vw !important;
    max-width: 100vw !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  html body#index #mobile-header .mobile-main-bar,
  html body.page-index #mobile-header .mobile-main-bar,
  html body#index #mobile-header .row-mobile-header,
  html body.page-index #mobile-header .row-mobile-header {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  html body#index #mobile-header .row-mobile-header,
  html body.page-index #mobile-header .row-mobile-header {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
}

/* Mobile menu root level polish only; submenu panels keep their own layout. */
@media (max-width: 991.98px) {
  body #_mobile_iqitmegamenu-mobile .mm-panel__header {
    min-height: 76px !important;
    padding: 12px 22px !important;
    border-bottom: 1px solid rgba(33, 47, 55, .08) !important;
    background: linear-gradient(180deg, #fff 0%, #fbfbfa 100%) !important;
    box-shadow: 0 10px 24px rgba(18, 26, 32, .06) !important;
  }

  body #_mobile_iqitmegamenu-mobile .mm-panel__header::before {
    content: "";
    display: block;
    width: 150px;
    height: 42px;
    background: url("/img/mlf-header-logo-selected-5.png?v=20260615-design") left center / contain no-repeat;
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__close {
    flex: 0 0 54px !important;
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    border-radius: 999px !important;
    background: #16232c !important;
    color: #fff !important;
    box-shadow: 0 14px 28px rgba(18, 26, 32, .18) !important;
    transform: translateZ(0) !important;
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__close .fa {
    font-size: 21px !important;
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__content {
    height: calc(100dvh - 76px) !important;
    background: linear-gradient(180deg, #fff 0%, #faf9f7 100%) !important;
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__scroller {
    padding: 22px 22px calc(34px + env(safe-area-inset-bottom, 0px)) !important;
    background: transparent !important;
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__scroller::before {
    content: "Nos univers literie";
    display: block;
    margin: 0 0 14px;
    color: rgba(23, 36, 44, .52);
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    font-size: 11px;
    font-weight: 750;
    letter-spacing: .16em;
    line-height: 1;
    text-transform: uppercase;
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__scroller::after {
    content: "Besoin d'un conseil ?  Trouver ma boutique";
    display: flex;
    align-items: center;
    min-height: 56px;
    margin-top: 26px;
    padding: 0 18px;
    border: 1px solid rgba(33, 47, 55, .10);
    border-radius: 14px;
    background: #f4efe8;
    color: #17242c;
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0;
    box-shadow: 0 10px 24px rgba(18, 26, 32, .06);
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__scroller > .mobile-menu__tab {
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) 46px !important;
    align-items: center !important;
    min-height: 62px !important;
    margin: 0 !important;
    border-bottom: 1px solid rgba(33, 47, 55, .09) !important;
    color: #17242c !important;
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__scroller > .mobile-menu__tab:last-child {
    border-bottom-color: rgba(33, 47, 55, .06) !important;
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__scroller > .mobile-menu__tab::before {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: rgba(33, 47, 55, .055);
    color: #17242c;
    font-family: "Font Awesome 6 Free";
    font-size: 14px;
    font-weight: 900;
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__scroller > .mobile-menu__tab--id-1 {
    display: none !important;
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__scroller > .mobile-menu__tab:nth-of-type(2)::before { content: "\f236"; }
  body #_mobile_iqitmegamenu-mobile .mobile-menu__scroller > .mobile-menu__tab:nth-of-type(3)::before { content: "\f4b8"; }
  body #_mobile_iqitmegamenu-mobile .mobile-menu__scroller > .mobile-menu__tab:nth-of-type(4)::before { content: "\f03e"; }
  body #_mobile_iqitmegamenu-mobile .mobile-menu__scroller > .mobile-menu__tab:nth-of-type(5)::before { content: "\f553"; }
  body #_mobile_iqitmegamenu-mobile .mobile-menu__scroller > .mobile-menu__tab:nth-of-type(6)::before { content: "\f4b8"; }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__scroller > .mobile-menu__tab > .mobile-menu__link {
    grid-column: 2 !important;
    padding: 18px 0 !important;
    font-size: clamp(18px, 5.2vw, 23px) !important;
    font-weight: 700 !important;
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
    color: #17242c !important;
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__scroller > .mobile-menu__tab > .mobile-menu__arrow {
    grid-column: 3 !important;
    width: 46px !important;
    height: 62px !important;
    margin: 0 !important;
    color: #17242c !important;
    opacity: .82 !important;
  }

  body #_mobile_iqitmegamenu-mobile .mobile-menu__scroller > .mobile-menu__tab > .mobile-menu__arrow .fa {
    font-size: 23px !important;
  }
}
