/* ==========================================================
   LUDORUM — MEGA MENU CATALOGUE v2.0.0
   Desktop natif Max Mega Menu + responsive autonome Ludorum
   ========================================================== */

html body #mega-menu-wrap-max_mega_menu_1 {
  --lud-mm-navy: #061a38;
  --lud-mm-blue: #0b4dbb;
  --lud-mm-blue-light: #1762d0;
  --lud-mm-yellow: #ffc21e;
  --lud-mm-red: #cf0215;
  --lud-mm-gold: #d99500;
  --lud-mm-text: #102a43;
  --lud-mm-muted: #607086;
  --lud-mm-border: #e1e7ef;
  --lud-mm-soft: #f6f8fb;
}

html body #mega-menu-wrap-max_mega_menu_1 *,
html body #mega-menu-wrap-max_mega_menu_1 *::before,
html body #mega-menu-wrap-max_mega_menu_1 *::after,
html body .lud-mm-mobile-drawer *,
html body .lud-mm-mobile-drawer *::before,
html body .lud-mm-mobile-drawer *::after {
  box-sizing: border-box !important;
}

/* Les éléments responsive Ludorum sont invisibles sur desktop. */
html body .lud-mm-mobile-launcher,
html body .lud-mm-mobile-overlay,
html body .lud-mm-mobile-drawer {
  display: none !important;
}

/* ==========================================================
   DESKTOP > 1024 px
   ========================================================== */
@media (min-width: 1025px) {

  html body #mega-menu-wrap-max_mega_menu_1 {
    position: relative !important;
    z-index: 99990 !important;
    width: min(1140px, calc(100% - 24px)) !important;
    max-width: 1140px !important;
    margin-inline: auto !important;
    overflow: visible !important;
    border-radius: 15px !important;
    background: linear-gradient(105deg, #061a38 0%, #08377b 48%, #0b4dbb 100%) !important;
    box-shadow: 0 10px 28px rgba(6,26,56,.20) !important;
    opacity: 1 !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .mega-menu-toggle,
  html body #mega-menu-wrap-max_mega_menu_1 .mega-close,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-mm-close-button {
    display: none !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    width: 100% !important;
    min-height: 57px !important;
    margin: 0 !important;
    padding: 4px 12px !important;
    border-radius: 14px !important;
    background: transparent !important;
    opacity: 1 !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    float: none !important;
    clear: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item > a.mega-menu-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-height: 45px !important;
    padding: 10px 18px !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    border-bottom: 3px solid rgba(3,23,54,.42) !important;
    border-radius: 10px !important;
    background: linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.055)) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-shadow: 0 1px 2px rgba(0,0,0,.22) !important;
    white-space: nowrap !important;
    box-shadow: 0 3px 0 rgba(4,28,67,.24), inset 0 1px 0 rgba(255,255,255,.16) !important;
    transform: none !important;
    transition: transform .15s ease, background .15s ease, box-shadow .15s ease !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item > a.mega-menu-link:hover,
  html body #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item > a.mega-menu-link:focus-visible {
    background: linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,.09)) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 0 rgba(4,28,67,.26), 0 7px 12px rgba(0,0,0,.10), inset 0 1px 0 rgba(255,255,255,.22) !important;
  }

  /* Catalogue */
  html body #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-megamenu > a.mega-menu-link {
    min-width: 155px !important;
    border: 1px solid #ffc21e !important;
    border-bottom: 4px solid #d99500 !important;
    background: linear-gradient(180deg, #ffd95c 0%, #ffc21e 100%) !important;
    color: #102a43 !important;
    -webkit-text-fill-color: #102a43 !important;
    text-shadow: none !important;
    box-shadow: 0 4px 0 rgba(217,149,0,.27), inset 0 1px 0 rgba(255,255,255,.55) !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-megamenu > a.mega-menu-link > .mega-indicator {
    display: none !important;
  }

  /* LudoMatch */
  html body #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item.ludomatch-nav > a.mega-menu-link {
    border: 2px solid #ffc21e !important;
    border-bottom: 3px solid #99101d !important;
    background: #cf0215 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-weight: 900 !important;
    text-shadow: none !important;
    box-shadow: 0 4px 0 rgba(133,12,23,.24), inset 0 1px 0 rgba(255,255,255,.18) !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item.ludomatch-nav > a.mega-menu-link::before {
    content: "✦" !important;
    display: inline-block !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin-right: 7px !important;
    background: none !important;
    color: #ffc21e !important;
    -webkit-text-fill-color: #ffc21e !important;
    font-size: 15px !important;
    box-shadow: none !important;
    transform: none !important;
  }

  /* Panneau Catalogue */
  html body #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-megamenu {
    position: static !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-megamenu > ul.mega-sub-menu {
    position: absolute !important;
    z-index: 99999 !important;
    top: calc(100% + 8px) !important;
    left: 50% !important;
    right: auto !important;
    display: none !important;
    width: min(1060px, calc(100vw - 40px)) !important;
    min-width: min(1060px, calc(100vw - 40px)) !important;
    max-width: min(1060px, calc(100vw - 40px)) !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid rgba(16,42,67,.08) !important;
    border-radius: 0 0 22px 22px !important;
    background: #fff !important;
    background-image: none !important;
    box-shadow: 0 34px 80px rgba(6,26,56,.16), 0 12px 30px rgba(6,26,56,.06) !important;
    transform: translateX(-50%) !important;
    opacity: 1 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-megamenu > ul.mega-sub-menu::before {
    content: "" !important;
    position: absolute !important;
    z-index: 5 !important;
    inset: 0 0 auto 0 !important;
    height: 5px !important;
    background: linear-gradient(90deg,#d62828 0 33.333%,#0b4dbb 33.333% 66.666%,#d99500 66.666% 100%) !important;
    pointer-events: none !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-megamenu:hover > ul.mega-sub-menu,
  html body #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-megamenu.mega-toggle-on > ul.mega-sub-menu {
    display: block !important;
    animation: ludMmDesktopOpen .18s ease-out both !important;
  }

  @keyframes ludMmDesktopOpen {
    from { opacity: 0; transform: translateX(-50%) translateY(-5px); }
    to { opacity: 1; transform: translateX(-50%) translateY(0); }
  }

  html body #mega-menu-wrap-max_mega_menu_1 li.mega-menu-row,
  html body #mega-menu-wrap-max_mega_menu_1 li.mega-menu-row > ul.mega-sub-menu {
    position: relative !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 li.mega-menu-row > ul.mega-sub-menu {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
    padding: 18px !important;
    background: linear-gradient(180deg,#fff,#fbfcfe) !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 li.mega-menu-row > ul.mega-sub-menu > li.mega-menu-column,
  html body #mega-menu-wrap-max_mega_menu_1 li.mega-menu-row > ul.mega-sub-menu > li[class*="mega-menu-columns-"] {
    display: flex !important;
    flex-direction: column !important;
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 16px !important;
    border: 1px solid #e8edf3 !important;
    border-radius: 20px !important;
    background: #fff !important;
    box-shadow: 0 14px 34px rgba(16,42,67,.05) !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 li.mega-menu-row > ul.mega-sub-menu > li:nth-child(1) { box-shadow: inset 0 4px 0 #d62828, 0 14px 34px rgba(16,42,67,.05) !important; }
  html body #mega-menu-wrap-max_mega_menu_1 li.mega-menu-row > ul.mega-sub-menu > li:nth-child(2) { box-shadow: inset 0 4px 0 #0b4dbb, 0 14px 34px rgba(16,42,67,.05) !important; }
  html body #mega-menu-wrap-max_mega_menu_1 li.mega-menu-row > ul.mega-sub-menu > li:nth-child(3) { box-shadow: inset 0 4px 0 #d99500, 0 14px 34px rgba(16,42,67,.05) !important; }
  html body #mega-menu-wrap-max_mega_menu_1 li.mega-menu-row > ul.mega-sub-menu > li:nth-child(4) { display: none !important; }

  /* En-têtes des 3 univers */
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > a.mega-menu-link,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-cartes > a.mega-menu-link,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > a.mega-menu-link {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 76px !important;
    margin: 0 0 14px !important;
    padding: 12px 16px !important;
    border: 1px solid #e9eef4 !important;
    border-radius: 16px !important;
    background: #fff !important;
    color: #08244f !important;
    -webkit-text-fill-color: #08244f !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    text-shadow: none !important;
    box-shadow: 0 8px 18px rgba(16,42,67,.04) !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > a.mega-menu-link { border-color: rgba(214,40,40,.18) !important; background: linear-gradient(180deg,#fff8f8,#fff) !important; }
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-cartes > a.mega-menu-link { border-color: rgba(11,77,187,.18) !important; background: linear-gradient(180deg,#f7fbff,#fff) !important; }
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > a.mega-menu-link { border-color: rgba(217,149,0,.20) !important; background: linear-gradient(180deg,#fffbf3,#fff) !important; }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > a.mega-menu-link::before,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-cartes > a.mega-menu-link::before,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > a.mega-menu-link::before {
    display: none !important;
    content: none !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > a.mega-menu-link::after,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-cartes > a.mega-menu-link::after,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > a.mega-menu-link::after {
    display: block !important;
    position: static !important;
    width: 100% !important;
    margin-top: 7px !important;
    color: #718197 !important;
    -webkit-text-fill-color: #718197 !important;
    font-size: 11px !important;
    font-weight: 650 !important;
    line-height: 1.35 !important;
    text-align: center !important;
    text-transform: none !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > a.mega-menu-link::after { content: "Famille, ambiance, stratégie, expert et plus" !important; }
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-cartes > a.mega-menu-link::after { content: "Pokémon, Lorcana, One Piece, Riftbound" !important; }
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > a.mega-menu-link::after { content: "Protection, rangement et matériel de jeu" !important; }

  /* Sous-catégories */
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > ul.mega-sub-menu,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-cartes > ul.mega-sub-menu,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > ul.mega-sub-menu {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > ul.mega-sub-menu > li,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-cartes > ul.mega-sub-menu > li,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > ul.mega-sub-menu > li {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > ul.mega-sub-menu > li > a.mega-menu-link,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-cartes > ul.mega-sub-menu > li > a.mega-menu-link,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > ul.mega-sub-menu > li > a.mega-menu-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 48px !important;
    padding: 10px 14px !important;
    border: 1px solid #e9eef4 !important;
    border-radius: 14px !important;
    background: linear-gradient(180deg,#fff,#fbfcff) !important;
    color: #16314f !important;
    -webkit-text-fill-color: #16314f !important;
    font-size: 12.5px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    text-align: center !important;
    text-shadow: none !important;
    white-space: normal !important;
    transition: transform .16s ease, border-color .16s ease, background .16s ease !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > ul.mega-sub-menu > li > a.mega-menu-link::before,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-cartes > ul.mega-sub-menu > li > a.mega-menu-link::before,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > ul.mega-sub-menu > li > a.mega-menu-link::before,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > ul.mega-sub-menu > li > a.mega-menu-link::after,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-cartes > ul.mega-sub-menu > li > a.mega-menu-link::after,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > ul.mega-sub-menu > li > a.mega-menu-link::after {
    display: none !important;
    content: none !important;
  }

  /* Nos Packs */
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > ul.mega-sub-menu > li.lud-pack-societe > a.mega-menu-link,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > ul.mega-sub-menu > li.lud-pack-accessoires > a.mega-menu-link {
    border: 2px solid #ffc21e !important;
    border-bottom: 3px solid #d99500 !important;
    background: linear-gradient(180deg,#fff8ce,#ffe77f) !important;
    color: #08244f !important;
    -webkit-text-fill-color: #08244f !important;
    font-weight: 900 !important;
    box-shadow: 0 3px 0 rgba(217,149,0,.20) !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > ul.mega-sub-menu > li.lud-pack-societe > a.mega-menu-link::before,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > ul.mega-sub-menu > li.lud-pack-accessoires > a.mega-menu-link::before {
    content: "🎁" !important;
    display: inline-block !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin-right: 6px !important;
    background: transparent !important;
  }
}

/* ==========================================================
   TABLETTE + MOBILE <= 1024 px
   Le menu Max Mega Menu natif est masqué. Le tiroir est autonome.
   ========================================================== */
@media (max-width: 1024px) {
  html body #mega-menu-wrap-max_mega_menu_1 {
    position: relative !important;
    z-index: 99990 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  /* Neutralise entièrement l'interface mobile native Max Mega Menu. */
  html body #mega-menu-wrap-max_mega_menu_1 > .mega-menu-toggle,
  html body #mega-menu-wrap-max_mega_menu_1 > #mega-menu-max_mega_menu_1,
  html body #mega-menu-wrap-max_mega_menu_1 .mega-close,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-mm-close-button {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-mm-mobile-launcher {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 52px !important;
    height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    border-radius: 12px !important;
    background: linear-gradient(180deg,#0a315f,#061a38) !important;
    color: #fff !important;
    box-shadow: 0 5px 12px rgba(6,26,56,.20), inset 0 1px 0 rgba(255,255,255,.10) !important;
    cursor: pointer !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-mm-mobile-launcher-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-mm-mobile-launcher-icon {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 4px !important;
    width: 23px !important;
    height: 20px !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-mm-mobile-launcher-icon > i {
    display: block !important;
    width: 23px !important;
    height: 2px !important;
    border-radius: 2px !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  html body .lud-mm-mobile-overlay {
    display: block !important;
    position: fixed !important;
    z-index: 2147483200 !important;
    inset: 0 !important;
    background: rgba(6,18,38,.48) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity .22s ease, visibility 0s linear .22s !important;
  }

  html body .lud-mm-mobile-drawer {
    display: flex !important;
    position: fixed !important;
    z-index: 2147483300 !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    flex-direction: column !important;
    width: min(88vw, 390px) !important;
    max-width: calc(100vw - 24px) !important;
    height: 100dvh !important;
    min-height: 100vh !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 18px 18px 0 !important;
    background: linear-gradient(180deg,#061a38 0%,#08377b 56%,#0b4dbb 100%) !important;
    box-shadow: 24px 0 55px rgba(6,26,56,.28) !important;
    transform: translate3d(-105%,0,0) !important;
    opacity: 1 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: transform .26s cubic-bezier(.22,.8,.3,1), visibility 0s linear .26s !important;
    isolation: isolate !important;
  }

  html.lud-mm-mobile-is-open body .lud-mm-mobile-overlay {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transition-delay: 0s !important;
  }

  html.lud-mm-mobile-is-open body .lud-mm-mobile-drawer {
    transform: translate3d(0,0,0) !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transition-delay: 0s !important;
  }

  html.lud-mm-mobile-is-open,
  html.lud-mm-mobile-is-open body {
    overflow: hidden !important;
    overscroll-behavior: none !important;
  }

  html body .lud-mm-mobile-drawer-header {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 66px !important;
    padding: 10px 12px 10px 18px !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
    background: #061a38 !important;
  }

  html body .lud-mm-mobile-drawer-title {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
  }

  html body .lud-mm-mobile-drawer-dot {
    width: 10px !important;
    height: 10px !important;
    border-radius: 50% !important;
    background: #ffc21e !important;
    box-shadow: 0 0 0 4px rgba(255,194,30,.12) !important;
  }

  html body .lud-mm-mobile-close {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    border: 1px solid rgba(255,255,255,.24) !important;
    border-radius: 13px !important;
    background: rgba(255,255,255,.08) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font: 700 32px/1 Arial,sans-serif !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12) !important;
    cursor: pointer !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    touch-action: manipulation !important;
  }

  html body .lud-mm-mobile-close:hover,
  html body .lud-mm-mobile-close:focus-visible {
    background: rgba(255,255,255,.16) !important;
    outline: 2px solid rgba(255,194,30,.8) !important;
    outline-offset: 2px !important;
  }

  html body .lud-mm-mobile-scroll {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    width: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    padding: 10px 8px 24px !important;
    scrollbar-width: thin !important;
  }

  /* Racine du clone */
  html body .lud-mm-mobile-drawer .lud-mm-mobile-nav {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    background: transparent !important;
  }

  html body .lud-mm-mobile-drawer .lud-mm-mobile-nav > li.mega-menu-item {
    display: block !important;
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 0 7px !important;
    padding: 0 !important;
    list-style: none !important;
  }

  html body .lud-mm-mobile-drawer .lud-mm-mobile-nav > li.mega-menu-item > a.mega-menu-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 48px !important;
    padding: 10px 14px !important;
    border: 1px solid rgba(255,255,255,.15) !important;
    border-bottom: 3px solid rgba(2,19,45,.46) !important;
    border-radius: 10px !important;
    background: linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,.045)) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-shadow: 0 1px 2px rgba(0,0,0,.18) !important;
    text-decoration: none !important;
    box-shadow: 0 3px 0 rgba(2,19,45,.22), inset 0 1px 0 rgba(255,255,255,.12) !important;
  }

  /* Catalogue */
  html body .lud-mm-mobile-drawer .lud-mm-mobile-nav > li.mega-menu-megamenu > a.mega-menu-link {
    border: 1px solid #ffc21e !important;
    border-bottom: 4px solid #d99500 !important;
    background: linear-gradient(180deg,#ffd95c,#ffc21e) !important;
    color: #102a43 !important;
    -webkit-text-fill-color: #102a43 !important;
    text-shadow: none !important;
    box-shadow: 0 4px 0 rgba(217,149,0,.28), inset 0 1px 0 rgba(255,255,255,.55) !important;
  }

  html body .lud-mm-mobile-drawer .lud-mm-mobile-nav > li.mega-menu-megamenu > a.mega-menu-link .mega-indicator {
    display: none !important;
  }

  /* LudoMatch */
  html body .lud-mm-mobile-drawer .lud-mm-mobile-nav > li.ludomatch-nav > a.mega-menu-link {
    border: 2px solid #ffc21e !important;
    border-bottom: 3px solid #99101d !important;
    background: #cf0215 !important;
    color: #111827 !important;
    -webkit-text-fill-color: #111827 !important;
    font-weight: 900 !important;
  }

  html body .lud-mm-mobile-drawer .lud-mm-mobile-nav > li.ludomatch-nav > a.mega-menu-link::before {
    content: "✦" !important;
    display: inline-block !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin-right: 7px !important;
    background: none !important;
    color: #ffc21e !important;
    -webkit-text-fill-color: #ffc21e !important;
    font-size: 15px !important;
    box-shadow: none !important;
    transform: none !important;
  }

  /* Le mega catalogue du clone est un accordéon simple. */
  html body .lud-mm-mobile-drawer .lud-mm-mobile-nav > li.mega-menu-megamenu > ul.mega-sub-menu {
    display: none !important;
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 8px 0 0 !important;
    padding: 8px !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: #f4f7fb !important;
    box-shadow: inset 0 0 0 1px rgba(16,42,67,.06) !important;
    transform: none !important;
    opacity: 1 !important;
  }

  html body .lud-mm-mobile-drawer .lud-mm-mobile-nav > li.mega-menu-megamenu.lud-mm-catalogue-open > ul.mega-sub-menu {
    display: block !important;
  }

  html body .lud-mm-mobile-drawer li.mega-menu-row,
  html body .lud-mm-mobile-drawer li.mega-menu-row > ul.mega-sub-menu {
    display: block !important;
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  html body .lud-mm-mobile-drawer li.mega-menu-row > ul.mega-sub-menu > li.mega-menu-column,
  html body .lud-mm-mobile-drawer li.mega-menu-row > ul.mega-sub-menu > li[class*="mega-menu-columns-"] {
    display: block !important;
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 0 9px !important;
    padding: 10px !important;
    border: 1px solid #dfe7f0 !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 4px 12px rgba(16,42,67,.05) !important;
  }

  html body .lud-mm-mobile-drawer li.mega-menu-row > ul.mega-sub-menu > li:nth-child(4) {
    display: none !important;
  }

  /* Titres univers */
  html body .lud-mm-mobile-drawer .lud-col-societe > a.mega-menu-link,
  html body .lud-mm-mobile-drawer .lud-col-cartes > a.mega-menu-link,
  html body .lud-mm-mobile-drawer .lud-col-accessoires > a.mega-menu-link {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 58px !important;
    margin: 0 0 8px !important;
    padding: 9px 10px !important;
    border: 1px solid #e5eaf0 !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #08244f !important;
    -webkit-text-fill-color: #08244f !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    text-shadow: none !important;
    text-decoration: none !important;
  }

  html body .lud-mm-mobile-drawer .lud-col-societe > a.mega-menu-link { border-top: 3px solid #d62828 !important; }
  html body .lud-mm-mobile-drawer .lud-col-cartes > a.mega-menu-link { border-top: 3px solid #0b4dbb !important; }
  html body .lud-mm-mobile-drawer .lud-col-accessoires > a.mega-menu-link { border-top: 3px solid #d99500 !important; }

  html body .lud-mm-mobile-drawer .lud-col-societe > a.mega-menu-link::before,
  html body .lud-mm-mobile-drawer .lud-col-cartes > a.mega-menu-link::before,
  html body .lud-mm-mobile-drawer .lud-col-accessoires > a.mega-menu-link::before {
    display: none !important;
    content: none !important;
  }

  html body .lud-mm-mobile-drawer .lud-col-societe > a.mega-menu-link::after,
  html body .lud-mm-mobile-drawer .lud-col-cartes > a.mega-menu-link::after,
  html body .lud-mm-mobile-drawer .lud-col-accessoires > a.mega-menu-link::after {
    display: none !important;
    content: none !important;
  }

  /* Sous-catégories en 2 colonnes */
  html body .lud-mm-mobile-drawer .lud-col-societe > ul.mega-sub-menu,
  html body .lud-mm-mobile-drawer .lud-col-cartes > ul.mega-sub-menu,
  html body .lud-mm-mobile-drawer .lud-col-accessoires > ul.mega-sub-menu {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 6px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  html body .lud-mm-mobile-drawer .lud-col-societe > ul.mega-sub-menu > li,
  html body .lud-mm-mobile-drawer .lud-col-cartes > ul.mega-sub-menu > li,
  html body .lud-mm-mobile-drawer .lud-col-accessoires > ul.mega-sub-menu > li {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html body .lud-mm-mobile-drawer .lud-col-societe > ul.mega-sub-menu > li > a.mega-menu-link,
  html body .lud-mm-mobile-drawer .lud-col-cartes > ul.mega-sub-menu > li > a.mega-menu-link,
  html body .lud-mm-mobile-drawer .lud-col-accessoires > ul.mega-sub-menu > li > a.mega-menu-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 42px !important;
    padding: 7px 8px !important;
    border: 1px solid #e8edf3 !important;
    border-radius: 8px !important;
    background: #f8fafc !important;
    color: #16314f !important;
    -webkit-text-fill-color: #16314f !important;
    font-size: 10.5px !important;
    font-weight: 750 !important;
    line-height: 1.25 !important;
    text-align: center !important;
    text-shadow: none !important;
    text-decoration: none !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  html body .lud-mm-mobile-drawer .lud-pack-societe > a.mega-menu-link,
  html body .lud-mm-mobile-drawer .lud-pack-accessoires > a.mega-menu-link {
    border: 2px solid #ffc21e !important;
    background: linear-gradient(180deg,#fff8ce,#ffe77f) !important;
    color: #08244f !important;
    -webkit-text-fill-color: #08244f !important;
    font-weight: 900 !important;
  }

  html body .lud-mm-mobile-drawer .lud-pack-societe > a.mega-menu-link::before,
  html body .lud-mm-mobile-drawer .lud-pack-accessoires > a.mega-menu-link::before {
    content: "🎁" !important;
    display: inline-block !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin-right: 5px !important;
    background: transparent !important;
  }
}

@media (min-width: 700px) and (max-width: 1024px) {
  html body .lud-mm-mobile-drawer {
    width: min(62vw, 460px) !important;
  }

  html body .lud-mm-mobile-drawer .lud-col-societe > ul.mega-sub-menu,
  html body .lud-mm-mobile-drawer .lud-col-cartes > ul.mega-sub-menu,
  html body .lud-mm-mobile-drawer .lud-col-accessoires > ul.mega-sub-menu {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width: 430px) {
  html body .lud-mm-mobile-drawer {
    width: min(90vw, 360px) !important;
  }

  html body .lud-mm-mobile-drawer-header {
    min-height: 60px !important;
  }

  html body .lud-mm-mobile-scroll {
    padding-inline: 7px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body .lud-mm-mobile-overlay,
  html body .lud-mm-mobile-drawer,
  html body #mega-menu-wrap-max_mega_menu_1 a.mega-menu-link {
    transition: none !important;
    animation: none !important;
  }
}

/* Le header/menu reste au-dessus du contenu de page sur desktop. */
@media (min-width: 1025px) {
  html body .elementor-location-header,
  html body .site-header,
  html body header {
    position: relative !important;
    z-index: 99980 !important;
    overflow: visible !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1,
  html body #mega-menu-wrap-max_mega_menu_1 .mega-sub-menu {
    z-index: 99999 !important;
    opacity: 1 !important;
  }
}


/* ==========================================================
   LUDORUM — PASSE GRAPHIQUE v2.0.1
   Aucun changement fonctionnel, uniquement respiration/UI
   ========================================================== */

@media (min-width: 1025px) {
  html body #mega-menu-wrap-max_mega_menu_1 {
    border-radius: 16px !important;
    box-shadow: 0 14px 34px rgba(6,26,56,.18) !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 {
    gap: 10px !important;
    padding: 5px 14px !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item > a.mega-menu-link {
    min-height: 46px !important;
    padding: 11px 19px !important;
    border-radius: 11px !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 li.mega-menu-row > ul.mega-sub-menu {
    gap: 18px !important;
    padding: 22px !important;
    background: linear-gradient(180deg,#ffffff,#f8fbff) !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 li.mega-menu-row > ul.mega-sub-menu > li.mega-menu-column,
  html body #mega-menu-wrap-max_mega_menu_1 li.mega-menu-row > ul.mega-sub-menu > li[class*="mega-menu-columns-"] {
    padding: 18px !important;
    border-radius: 22px !important;
    box-shadow: 0 16px 38px rgba(16,42,67,.055) !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > a.mega-menu-link,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-cartes > a.mega-menu-link,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > a.mega-menu-link {
    min-height: 82px !important;
    margin-bottom: 16px !important;
    padding: 14px 18px !important;
    border-radius: 17px !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > ul.mega-sub-menu,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-cartes > ul.mega-sub-menu,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > ul.mega-sub-menu {
    gap: 12px !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > ul.mega-sub-menu > li > a.mega-menu-link,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-cartes > ul.mega-sub-menu > li > a.mega-menu-link,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > ul.mega-sub-menu > li > a.mega-menu-link {
    min-height: 52px !important;
    padding: 11px 14px !important;
    border-radius: 15px !important;
    font-size: 13px !important;
    box-shadow: 0 6px 14px rgba(16,42,67,.04) !important;
  }
}

@media (max-width: 1024px) {
  html body .lud-mm-mobile-drawer,
  html body .lud-mm-mobile-drawer ul,
  html body .lud-mm-mobile-drawer li {
    list-style: none !important;
  }

  html body .lud-mm-mobile-drawer li::marker,
  html body .lud-mm-mobile-drawer ul::marker {
    content: '' !important;
    display: none !important;
  }

  html body .lud-mm-mobile-drawer li::before,
  html body .lud-mm-mobile-drawer li::after,
  html body .lud-mm-mobile-drawer ul::before,
  html body .lud-mm-mobile-drawer ul::after {
    box-sizing: border-box !important;
  }

  html body .lud-mm-mobile-drawer {
    width: min(92vw, 392px) !important;
    border-radius: 0 22px 22px 0 !important;
    background: linear-gradient(180deg,#061a38 0%,#0a2a60 38%,#0b4dbb 100%) !important;
    box-shadow: 24px 0 60px rgba(6,26,56,.28) !important;
  }

  html body .lud-mm-mobile-drawer-header {
    min-height: 74px !important;
    padding: 14px 16px 14px 18px !important;
    border-bottom: 1px solid rgba(255,255,255,.10) !important;
    background: linear-gradient(180deg,#05162f,#08214a) !important;
  }

  html body .lud-mm-mobile-drawer-title {
    gap: 10px !important;
    font-size: 15px !important;
    letter-spacing: .05em !important;
  }

  html body .lud-mm-mobile-close {
    width: 42px !important;
    height: 42px !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,.10) !important;
    font: 700 30px/1 Arial,sans-serif !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.13), 0 4px 10px rgba(0,0,0,.12) !important;
  }

  html body .lud-mm-mobile-scroll {
    padding: 14px 12px 28px !important;
  }

  html body .lud-mm-mobile-drawer .lud-mm-mobile-nav > li.mega-menu-item {
    margin: 0 0 10px !important;
  }

  html body .lud-mm-mobile-drawer .lud-mm-mobile-nav > li.mega-menu-item > a.mega-menu-link {
    min-height: 50px !important;
    padding: 12px 16px !important;
    border-radius: 13px !important;
    font-size: 14px !important;
    box-shadow: 0 4px 0 rgba(2,19,45,.20), inset 0 1px 0 rgba(255,255,255,.14) !important;
  }

  html body .lud-mm-mobile-drawer .lud-mm-mobile-nav > li.mega-menu-megamenu > ul.mega-sub-menu {
    margin-top: 12px !important;
    padding: 14px !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg,#f8fbff,#f1f6fc) !important;
    box-shadow: inset 0 0 0 1px rgba(16,42,67,.06), 0 8px 20px rgba(6,26,56,.08) !important;
  }

  html body .lud-mm-mobile-drawer li.mega-menu-row > ul.mega-sub-menu > li.mega-menu-column,
  html body .lud-mm-mobile-drawer li.mega-menu-row > ul.mega-sub-menu > li[class*="mega-menu-columns-"] {
    margin: 0 0 14px !important;
    padding: 14px !important;
    border-radius: 18px !important;
    border-color: #e7edf4 !important;
    box-shadow: 0 10px 24px rgba(16,42,67,.06) !important;
  }

  html body .lud-mm-mobile-drawer li.mega-menu-row > ul.mega-sub-menu > li[class*="mega-menu-columns-"]:last-child,
  html body .lud-mm-mobile-drawer li.mega-menu-row > ul.mega-sub-menu > li.mega-menu-column:last-child {
    margin-bottom: 0 !important;
  }

  html body .lud-mm-mobile-drawer .lud-col-societe > a.mega-menu-link,
  html body .lud-mm-mobile-drawer .lud-col-cartes > a.mega-menu-link,
  html body .lud-mm-mobile-drawer .lud-col-accessoires > a.mega-menu-link {
    min-height: 62px !important;
    margin-bottom: 12px !important;
    padding: 12px 14px !important;
    border-radius: 14px !important;
    font-size: 14px !important;
    box-shadow: 0 4px 10px rgba(16,42,67,.04) !important;
  }

  html body .lud-mm-mobile-drawer .lud-col-societe > ul.mega-sub-menu,
  html body .lud-mm-mobile-drawer .lud-col-cartes > ul.mega-sub-menu,
  html body .lud-mm-mobile-drawer .lud-col-accessoires > ul.mega-sub-menu {
    gap: 10px !important;
  }

  html body .lud-mm-mobile-drawer .lud-col-societe > ul.mega-sub-menu > li > a.mega-menu-link,
  html body .lud-mm-mobile-drawer .lud-col-cartes > ul.mega-sub-menu > li > a.mega-menu-link,
  html body .lud-mm-mobile-drawer .lud-col-accessoires > ul.mega-sub-menu > li > a.mega-menu-link {
    min-height: 46px !important;
    padding: 9px 10px !important;
    border-radius: 11px !important;
    background: linear-gradient(180deg,#ffffff,#f7fafc) !important;
    font-size: 11.2px !important;
    font-weight: 800 !important;
    line-height: 1.28 !important;
    box-shadow: 0 4px 10px rgba(16,42,67,.035) !important;
  }

  html body .lud-mm-mobile-drawer .lud-pack-societe > a.mega-menu-link,
  html body .lud-mm-mobile-drawer .lud-pack-accessoires > a.mega-menu-link {
    box-shadow: 0 4px 0 rgba(217,149,0,.18), inset 0 1px 0 rgba(255,255,255,.35) !important;
  }
}

@media (min-width: 700px) and (max-width: 1024px) {
  html body .lud-mm-mobile-drawer {
    width: min(64vw, 470px) !important;
  }

  html body .lud-mm-mobile-scroll {
    padding-inline: 14px !important;
  }
}

@media (max-width: 430px) {
  html body .lud-mm-mobile-drawer {
    width: min(92vw, 372px) !important;
  }

  html body .lud-mm-mobile-drawer-header {
    min-height: 70px !important;
  }

  html body .lud-mm-mobile-scroll {
    padding-inline: 10px !important;
  }
}


/* ==========================================================
   LUDORUM — DESKTOP BREATHING PATCH v2.0.2
   Objectif: corriger l'affichage ordinateur uniquement.
   Mobile/tablette inchangés.
   ========================================================== */
@media (min-width: 1025px) {
  html body #mega-menu-wrap-max_mega_menu_1 {
    width: min(1240px, calc(100% - 36px)) !important;
    max-width: 1240px !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 {
    gap: 12px !important;
    padding: 6px 16px !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item > a.mega-menu-link {
    min-height: 48px !important;
    padding: 12px 22px !important;
    font-size: 15px !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-megamenu > a.mega-menu-link {
    min-width: 170px !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-megamenu > ul.mega-sub-menu {
    width: min(1220px, calc(100vw - 56px)) !important;
    min-width: min(1220px, calc(100vw - 56px)) !important;
    max-width: min(1220px, calc(100vw - 56px)) !important;
    border-radius: 0 0 24px 24px !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 li.mega-menu-row > ul.mega-sub-menu {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.92fr) minmax(0, 1.15fr) !important;
    gap: 22px !important;
    padding: 24px !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 li.mega-menu-row > ul.mega-sub-menu > li.mega-menu-column,
  html body #mega-menu-wrap-max_mega_menu_1 li.mega-menu-row > ul.mega-sub-menu > li[class*="mega-menu-columns-"] {
    padding: 22px 22px 20px !important;
    min-width: 0 !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > a.mega-menu-link,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-cartes > a.mega-menu-link,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > a.mega-menu-link {
    min-height: 92px !important;
    padding: 16px 20px !important;
    margin-bottom: 18px !important;
    font-size: 17px !important;
    line-height: 1.18 !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > a.mega-menu-link::after,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-cartes > a.mega-menu-link::after,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > a.mega-menu-link::after {
    margin-top: 8px !important;
    font-size: 12px !important;
    line-height: 1.42 !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > ul.mega-sub-menu,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-cartes > ul.mega-sub-menu,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > ul.mega-sub-menu {
    grid-template-columns: repeat(2, minmax(145px, 1fr)) !important;
    gap: 13px !important;
    align-content: start !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > ul.mega-sub-menu > li > a.mega-menu-link,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-cartes > ul.mega-sub-menu > li > a.mega-menu-link,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > ul.mega-sub-menu > li > a.mega-menu-link {
    min-height: 58px !important;
    padding: 12px 16px !important;
    border-radius: 16px !important;
    font-size: 13.5px !important;
    line-height: 1.34 !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    box-shadow: 0 8px 16px rgba(16,42,67,.05) !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-cartes > ul.mega-sub-menu > li > a.mega-menu-link {
    min-height: 56px !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > ul.mega-sub-menu > li.lud-pack-societe > a.mega-menu-link,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > ul.mega-sub-menu > li.lud-pack-accessoires > a.mega-menu-link {
    justify-content: center !important;
    gap: 6px !important;
  }
}

@media (min-width: 1025px) and (max-width: 1260px) {
  html body #mega-menu-wrap-max_mega_menu_1 {
    width: min(1140px, calc(100% - 32px)) !important;
    max-width: 1140px !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-megamenu > ul.mega-sub-menu {
    width: min(1120px, calc(100vw - 44px)) !important;
    min-width: min(1120px, calc(100vw - 44px)) !important;
    max-width: min(1120px, calc(100vw - 44px)) !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 li.mega-menu-row > ul.mega-sub-menu {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
    padding: 20px !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > ul.mega-sub-menu,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-cartes > ul.mega-sub-menu,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > ul.mega-sub-menu {
    grid-template-columns: repeat(2, minmax(130px, 1fr)) !important;
    gap: 11px !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > ul.mega-sub-menu > li > a.mega-menu-link,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-cartes > ul.mega-sub-menu > li > a.mega-menu-link,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > ul.mega-sub-menu > li > a.mega-menu-link {
    font-size: 13px !important;
  }
}


/* ==========================================================
   LUDORUM — DESKTOP CATEGORY BUBBLES FIX v2.0.3
   Corrige les bulles desktop pour qu'elles entourent bien le texte.
   ========================================================== */
@media (min-width: 1025px) {
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > ul.mega-sub-menu,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-cartes > ul.mega-sub-menu,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > ul.mega-sub-menu {
    grid-template-columns: repeat(2, minmax(175px, 1fr)) !important;
    gap: 14px !important;
    align-items: stretch !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > ul.mega-sub-menu > li,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-cartes > ul.mega-sub-menu > li,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > ul.mega-sub-menu > li {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    display: block !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > ul.mega-sub-menu > li > a.mega-menu-link,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-cartes > ul.mega-sub-menu > li > a.mega-menu-link,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > ul.mega-sub-menu > li > a.mega-menu-link {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 64px !important;
    height: auto !important;
    padding: 14px 16px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    hyphens: auto !important;
    line-height: 1.28 !important;
    box-sizing: border-box !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > ul.mega-sub-menu > li.lud-pack-societe > a.mega-menu-link,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > ul.mega-sub-menu > li.lud-pack-accessoires > a.mega-menu-link {
    min-height: 64px !important;
    padding: 14px 16px !important;
  }
}

@media (min-width: 1025px) and (max-width: 1260px) {
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > ul.mega-sub-menu,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-cartes > ul.mega-sub-menu,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > ul.mega-sub-menu {
    grid-template-columns: repeat(2, minmax(155px, 1fr)) !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > ul.mega-sub-menu > li > a.mega-menu-link,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-cartes > ul.mega-sub-menu > li > a.mega-menu-link,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > ul.mega-sub-menu > li > a.mega-menu-link {
    font-size: 13px !important;
    padding: 13px 14px !important;
  }
}


/* ==========================================================
   LUDORUM — DESKTOP LAYER + BUBBLES FIX v2.0.4
   Corrige le z-index desktop et empêche les textes de déborder.
   ========================================================== */
@media (min-width: 1025px) {
  html body #mega-menu-wrap-max_mega_menu_1 {
    z-index: 2147482000 !important;
    isolation: isolate !important;
    width: min(1240px, calc(100% - 24px)) !important;
    max-width: 1240px !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-megamenu > ul.mega-sub-menu {
    z-index: 2147483000 !important;
    width: min(1180px, calc(100vw - 40px)) !important;
    min-width: min(1180px, calc(100vw - 40px)) !important;
    max-width: min(1180px, calc(100vw - 40px)) !important;
    background: #ffffff !important;
    overflow: hidden !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 li.mega-menu-row,
  html body #mega-menu-wrap-max_mega_menu_1 li.mega-menu-row > ul.mega-sub-menu,
  html body #mega-menu-wrap-max_mega_menu_1 li.mega-menu-row > ul.mega-sub-menu > li.mega-menu-column,
  html body #mega-menu-wrap-max_mega_menu_1 li.mega-menu-row > ul.mega-sub-menu > li[class*="mega-menu-columns-"] {
    position: relative !important;
    z-index: 2 !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 li.mega-menu-row > ul.mega-sub-menu {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, .95fr) minmax(0, 1.15fr) !important;
    gap: 18px !important;
    padding: 20px !important 20px 22px !important;
    background: #ffffff !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 li.mega-menu-row > ul.mega-sub-menu > li.mega-menu-column,
  html body #mega-menu-wrap-max_mega_menu_1 li.mega-menu-row > ul.mega-sub-menu > li[class*="mega-menu-columns-"] {
    padding: 18px !important;
    overflow: hidden !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > ul.mega-sub-menu,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > ul.mega-sub-menu {
    grid-template-columns: repeat(2, minmax(175px, 1fr)) !important;
    gap: 12px !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-cartes > ul.mega-sub-menu {
    grid-template-columns: repeat(2, minmax(150px, 1fr)) !important;
    gap: 12px !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > ul.mega-sub-menu > li,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-cartes > ul.mega-sub-menu > li,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > ul.mega-sub-menu > li {
    min-width: 0 !important;
    max-width: none !important;
    width: 100% !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > ul.mega-sub-menu > li > a.mega-menu-link,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-cartes > ul.mega-sub-menu > li > a.mega-menu-link,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > ul.mega-sub-menu > li > a.mega-menu-link {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 58px !important;
    height: auto !important;
    padding: 12px 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    overflow: hidden !important;
    line-height: 1.24 !important;
    font-size: 13px !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > ul.mega-sub-menu > li.lud-pack-societe > a.mega-menu-link,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > ul.mega-sub-menu > li.lud-pack-accessoires > a.mega-menu-link {
    min-height: 58px !important;
    padding: 12px 16px !important;
  }
}

@media (min-width: 1025px) and (max-width: 1280px) {
  html body #mega-menu-wrap-max_mega_menu_1 {
    width: min(1180px, calc(100% - 24px)) !important;
    max-width: 1180px !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-megamenu > ul.mega-sub-menu {
    width: min(1120px, calc(100vw - 34px)) !important;
    min-width: min(1120px, calc(100vw - 34px)) !important;
    max-width: min(1120px, calc(100vw - 34px)) !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > ul.mega-sub-menu,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > ul.mega-sub-menu {
    grid-template-columns: repeat(2, minmax(155px, 1fr)) !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-cartes > ul.mega-sub-menu {
    grid-template-columns: repeat(2, minmax(135px, 1fr)) !important;
  }
}


/* ==========================================================
   LUDORUM — DESKTOP SPACING REWORK v2.0.5
   Bulles plus larges, moins de vide, meilleure occupation de l'espace.
   Mobile / tablette inchangés.
   ========================================================== */
@media (min-width: 1025px) {
  html body #mega-menu-wrap-max_mega_menu_1 {
    width: min(1320px, calc(100% - 24px)) !important;
    max-width: 1320px !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-megamenu > ul.mega-sub-menu {
    width: min(1245px, calc(100vw - 34px)) !important;
    min-width: min(1245px, calc(100vw - 34px)) !important;
    max-width: min(1245px, calc(100vw - 34px)) !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 li.mega-menu-row > ul.mega-sub-menu {
    grid-template-columns: minmax(0, 1.22fr) minmax(0, 0.92fr) minmax(0, 1.22fr) !important;
    gap: 14px !important;
    padding: 16px !important;
    align-items: start !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 li.mega-menu-row > ul.mega-sub-menu > li.mega-menu-column,
  html body #mega-menu-wrap-max_mega_menu_1 li.mega-menu-row > ul.mega-sub-menu > li[class*="mega-menu-columns-"] {
    padding: 14px !important;
    border-radius: 20px !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > ul.mega-sub-menu,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > ul.mega-sub-menu {
    grid-template-columns: repeat(2, minmax(190px, 1fr)) !important;
    gap: 10px !important;
    align-items: stretch !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-cartes > ul.mega-sub-menu {
    grid-template-columns: repeat(2, minmax(165px, 1fr)) !important;
    gap: 10px !important;
    align-items: stretch !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > ul.mega-sub-menu > li > a.mega-menu-link,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-cartes > ul.mega-sub-menu > li > a.mega-menu-link,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > ul.mega-sub-menu > li > a.mega-menu-link {
    min-height: 50px !important;
    padding: 11px 16px !important;
    font-size: 12.75px !important;
    line-height: 1.2 !important;
    border-radius: 13px !important;
    overflow: hidden !important;
    text-overflow: clip !important;
    white-space: normal !important;
    hyphens: none !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > a.mega-menu-link,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-cartes > a.mega-menu-link,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > a.mega-menu-link {
    margin-bottom: 14px !important;
  }
}

@media (min-width: 1025px) and (max-width: 1366px) {
  html body #mega-menu-wrap-max_mega_menu_1 {
    width: min(1240px, calc(100% - 24px)) !important;
    max-width: 1240px !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-megamenu > ul.mega-sub-menu {
    width: min(1170px, calc(100vw - 30px)) !important;
    min-width: min(1170px, calc(100vw - 30px)) !important;
    max-width: min(1170px, calc(100vw - 30px)) !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > ul.mega-sub-menu,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > ul.mega-sub-menu {
    grid-template-columns: repeat(2, minmax(175px, 1fr)) !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-cartes > ul.mega-sub-menu {
    grid-template-columns: repeat(2, minmax(152px, 1fr)) !important;
  }
}


/* ==========================================================
   LUDORUM MEGA MENU — MAJOR DESKTOP BUBBLE REBUILD v2.1.0
   Objectif : bulles nettement plus grosses, meilleure occupation
   de l'espace, plus aucun texte qui déborde.
   ========================================================== */
@media (min-width: 1025px) {
  html body #mega-menu-wrap-max_mega_menu_1 {
    width: min(1360px, calc(100% - 24px)) !important;
    max-width: 1360px !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-megamenu {
    position: static !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-megamenu > ul.mega-sub-menu {
    width: min(1290px, calc(100vw - 28px)) !important;
    min-width: min(1290px, calc(100vw - 28px)) !important;
    max-width: min(1290px, calc(100vw - 28px)) !important;
    z-index: 999999 !important;
    overflow: visible !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 li.mega-menu-row > ul.mega-sub-menu {
    grid-template-columns: minmax(0, 1.42fr) minmax(0, 1fr) minmax(0, 1.42fr) !important;
    gap: 16px !important;
    padding: 18px !important;
    align-items: stretch !important;
    background: #ffffff !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 li.mega-menu-row > ul.mega-sub-menu > li.mega-menu-column,
  html body #mega-menu-wrap-max_mega_menu_1 li.mega-menu-row > ul.mega-sub-menu > li[class*="mega-menu-columns-"] {
    min-width: 0 !important;
    padding: 18px 16px !important;
    border-radius: 22px !important;
    overflow: hidden !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > a.mega-menu-link,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-cartes > a.mega-menu-link,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > a.mega-menu-link {
    margin-bottom: 16px !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > ul.mega-sub-menu,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > ul.mega-sub-menu {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    width: 100% !important;
    justify-items: stretch !important;
    align-items: stretch !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-cartes > ul.mega-sub-menu {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    width: 100% !important;
    justify-items: stretch !important;
    align-items: stretch !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > ul.mega-sub-menu > li,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-cartes > ul.mega-sub-menu > li,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > ul.mega-sub-menu > li {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    align-self: stretch !important;
    justify-self: stretch !important;
    overflow: hidden !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > ul.mega-sub-menu > li > a.mega-menu-link,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-cartes > ul.mega-sub-menu > li > a.mega-menu-link,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > ul.mega-sub-menu > li > a.mega-menu-link {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 60px !important;
    height: auto !important;
    padding: 14px 16px !important;
    box-sizing: border-box !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    border-radius: 14px !important;
    white-space: normal !important;
    overflow: hidden !important;
    text-overflow: clip !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    hyphens: none !important;
    line-height: 1.18 !important;
    font-size: 13.5px !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > ul.mega-sub-menu > li.lud-pack-societe > a.mega-menu-link,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > ul.mega-sub-menu > li.lud-pack-accessoires > a.mega-menu-link {
    min-height: 60px !important;
    padding: 14px 16px !important;
  }
}

@media (min-width: 1025px) and (max-width: 1366px) {
  html body #mega-menu-wrap-max_mega_menu_1 {
    width: min(1260px, calc(100% - 22px)) !important;
    max-width: 1260px !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-megamenu > ul.mega-sub-menu {
    width: min(1200px, calc(100vw - 24px)) !important;
    min-width: min(1200px, calc(100vw - 24px)) !important;
    max-width: min(1200px, calc(100vw - 24px)) !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 li.mega-menu-row > ul.mega-sub-menu {
    grid-template-columns: minmax(0, 1.34fr) minmax(0, 1fr) minmax(0, 1.34fr) !important;
  }
}


/* ==========================================================
   LUDORUM — DESKTOP CLEAN RESTART v2.1.1
   Objectifs :
   1) menu complètement opaque (rien visible dessous)
   2) utiliser la largeur des colonnes pour les sous-catégories
   3) bulles plus larges et texte contenu proprement
   ========================================================== */
@media (min-width: 1025px) {
  /* couche desktop opaque */
  html body #mega-menu-wrap-max_mega_menu_1,
  html body #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1,
  html body #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-megamenu,
  html body #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-megamenu > ul.mega-sub-menu {
    isolation: isolate !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-megamenu > ul.mega-sub-menu {
    position: absolute !important;
    top: calc(100% + 10px) !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: min(1320px, calc(100vw - 32px)) !important;
    min-width: min(1320px, calc(100vw - 32px)) !important;
    max-width: min(1320px, calc(100vw - 32px)) !important;
    padding: 18px !important;
    border-radius: 26px !important;
    border: 1px solid #e4ebf5 !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    box-shadow: 0 20px 44px rgba(13, 26, 64, 0.18) !important;
    opacity: 1 !important;
    overflow: hidden !important;
    z-index: 2147483500 !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-megamenu > ul.mega-sub-menu::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    border-radius: 26px !important;
    background: #ffffff !important;
    z-index: -1 !important;
  }

  /* conteneur 3 colonnes bien rempli */
  html body #mega-menu-wrap-max_mega_menu_1 li.mega-menu-row > ul.mega-sub-menu {
    display: grid !important;
    grid-template-columns: minmax(0, 1.18fr) minmax(0, 0.92fr) minmax(0, 1.18fr) !important;
    gap: 18px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    align-items: stretch !important;
    position: relative !important;
    z-index: 2 !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 li.mega-menu-row > ul.mega-sub-menu > li.mega-menu-column,
  html body #mega-menu-wrap-max_mega_menu_1 li.mega-menu-row > ul.mega-sub-menu > li[class*="mega-menu-columns-"] {
    min-width: 0 !important;
    width: 100% !important;
    padding: 20px 18px !important;
    border-radius: 22px !important;
    background: #fbfdff !important;
    border: 1px solid #e7eef8 !important;
    overflow: hidden !important;
  }

  /* titres de colonnes */
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > a.mega-menu-link,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-cartes > a.mega-menu-link,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > a.mega-menu-link {
    margin: 0 0 16px 0 !important;
    padding: 16px 18px !important;
    min-height: 74px !important;
    border-radius: 18px !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* sous-listes : on exploite vraiment la largeur */
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > ul.mega-sub-menu,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > ul.mega-sub-menu {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: stretch !important;
    justify-items: stretch !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-cartes > ul.mega-sub-menu {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: stretch !important;
    justify-items: stretch !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > ul.mega-sub-menu > li,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-cartes > ul.mega-sub-menu > li,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > ul.mega-sub-menu > li {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    display: block !important;
  }

  /* bulles larges, avec texte contenu */
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > ul.mega-sub-menu > li > a.mega-menu-link,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-cartes > ul.mega-sub-menu > li > a.mega-menu-link,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > ul.mega-sub-menu > li > a.mega-menu-link {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 64px !important;
    padding: 15px 14px !important;
    border-radius: 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1.2 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    white-space: normal !important;
    overflow: hidden !important;
    text-overflow: clip !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    hyphens: auto !important;
    box-sizing: border-box !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > ul.mega-sub-menu > li.lud-pack-societe > a.mega-menu-link,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > ul.mega-sub-menu > li.lud-pack-accessoires > a.mega-menu-link {
    min-height: 64px !important;
  }
}

@media (min-width: 1025px) and (max-width: 1366px) {
  html body #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-megamenu > ul.mega-sub-menu {
    width: min(1220px, calc(100vw - 24px)) !important;
    min-width: min(1220px, calc(100vw - 24px)) !important;
    max-width: min(1220px, calc(100vw - 24px)) !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 li.mega-menu-row > ul.mega-sub-menu {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr) minmax(0, 1.1fr) !important;
    gap: 14px !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 li.mega-menu-row > ul.mega-sub-menu > li.mega-menu-column,
  html body #mega-menu-wrap-max_mega_menu_1 li.mega-menu-row > ul.mega-sub-menu > li[class*="mega-menu-columns-"] {
    padding: 16px 14px !important;
  }
}


/* ==========================================================
   LUDORUM — DESKTOP STACKING / OPACITY FIX v2.1.2
   Le contenu des pages ne doit jamais passer au-dessus du mega menu.
   Mobile/tablette inchangés.
   ========================================================== */
@media (min-width: 1025px) {
  /* Le problème principal est le contexte d'empilement du header. */
  html body .elementor-location-header,
  html body .site-header,
  html body header {
    position: relative !important;
    z-index: 2147482000 !important;
    isolation: isolate !important;
    overflow: visible !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 {
    position: relative !important;
    z-index: 2147483000 !important;
    isolation: isolate !important;
    overflow: visible !important;
    opacity: 1 !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 {
    position: relative !important;
    z-index: 2147483100 !important;
    opacity: 1 !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-megamenu,
  html body #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-megamenu > ul.mega-sub-menu {
    opacity: 1 !important;
    isolation: isolate !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-megamenu > ul.mega-sub-menu {
    z-index: 2147483600 !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
    mix-blend-mode: normal !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    overflow: hidden !important;
  }

  /* Une vraie couche blanche derrière TOUT le contenu du panneau. */
  html body #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-megamenu > ul.mega-sub-menu::after {
    content: "" !important;
    position: absolute !important;
    z-index: 0 !important;
    inset: 0 !important;
    display: block !important;
    border-radius: inherit !important;
    background: #ffffff !important;
    opacity: 1 !important;
    pointer-events: none !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 li.mega-menu-row,
  html body #mega-menu-wrap-max_mega_menu_1 li.mega-menu-row > ul.mega-sub-menu {
    position: relative !important;
    z-index: 2 !important;
    opacity: 1 !important;
    background-color: #ffffff !important;
    mix-blend-mode: normal !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1 li.mega-menu-row > ul.mega-sub-menu > li.mega-menu-column,
  html body #mega-menu-wrap-max_mega_menu_1 li.mega-menu-row > ul.mega-sub-menu > li[class*="mega-menu-columns-"] {
    position: relative !important;
    z-index: 3 !important;
    opacity: 1 !important;
    background-color: #fbfdff !important;
    mix-blend-mode: normal !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  /* Le contenu principal reste explicitement sous le header/menu. */
  html body main,
  html body .site-main,
  html body .elementor-location-single,
  html body .elementor-location-archive,
  html body .lud-accueil-v2 {
    position: relative !important;
    z-index: 1 !important;
  }
}




/* ==========================================================
   LUDORUM — COMPACTAGE PANNEAU CATALOGUE DÉPLOYÉ v2.1.4
   Desktop uniquement.
   La barre principale RESTE à sa taille validée précédente.
   Objectif : environ -10 % de hauteur sur le grand panneau ouvert.
   ========================================================== */
@media (min-width: 1025px) {

  /* Barre fermée : restauration explicite de la taille précédente. */
  html body #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 {
    min-height: 57px !important;
    gap: 10px !important;
    padding: 5px 14px !important;
    border-radius: 14px !important;
  }

  html body #mega-menu-wrap-max_mega_menu_1
  #mega-menu-max_mega_menu_1 > li.mega-menu-item > a.mega-menu-link {
    min-height: 46px !important;
    padding: 11px 19px !important;
    border-radius: 11px !important;
  }

  /*
   * Panneau ouvert :
   * - padding global 22 -> 19 px
   * - gap colonnes 18 -> 16 px
   */
  html body #mega-menu-wrap-max_mega_menu_1
  li.mega-menu-row > ul.mega-sub-menu {
    gap: 16px !important;
    padding: 19px !important;
  }

  /*
   * Cartes des 3 univers :
   * padding interne 18 -> 16 px.
   */
  html body #mega-menu-wrap-max_mega_menu_1
  li.mega-menu-row > ul.mega-sub-menu > li.mega-menu-column,
  html body #mega-menu-wrap-max_mega_menu_1
  li.mega-menu-row > ul.mega-sub-menu > li[class*="mega-menu-columns-"] {
    padding: 16px !important;
    border-radius: 20px !important;
  }

  /*
   * En-têtes Jeux de société / Jeux de cartes / Accessoires :
   * 82 -> 74 px (~ -10 %)
   * marge sous l'en-tête 16 -> 13 px
   */
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > a.mega-menu-link,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-cartes > a.mega-menu-link,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > a.mega-menu-link {
    min-height: 74px !important;
    margin-bottom: 13px !important;
    padding: 11px 16px !important;
    border-radius: 15px !important;
  }

  /*
   * Les sous-catégories restent sur 2 colonnes,
   * mais l'espace vertical passe de 12 -> 10 px.
   */
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > ul.mega-sub-menu,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-cartes > ul.mega-sub-menu,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > ul.mega-sub-menu {
    gap: 10px !important;
  }

  /*
   * Cases sous-catégories :
   * 52 -> 47 px (~ -10 %)
   * police volontairement conservée à 13 px.
   */
  html body #mega-menu-wrap-max_mega_menu_1
  .lud-col-societe > ul.mega-sub-menu > li > a.mega-menu-link,
  html body #mega-menu-wrap-max_mega_menu_1
  .lud-col-cartes > ul.mega-sub-menu > li > a.mega-menu-link,
  html body #mega-menu-wrap-max_mega_menu_1
  .lud-col-accessoires > ul.mega-sub-menu > li > a.mega-menu-link {
    min-height: 47px !important;
    padding: 9px 13px !important;
    border-radius: 14px !important;
    font-size: 13px !important;
  }

  /*
   * Le descriptif sous le titre des 3 univers prend un peu moins de place,
   * sans changer sa police.
   */
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-societe > a.mega-menu-link::after,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-cartes > a.mega-menu-link::after,
  html body #mega-menu-wrap-max_mega_menu_1 .lud-col-accessoires > a.mega-menu-link::after {
    margin-top: 5px !important;
  }
}


/* ==========================================================
   LUDORUM — MEGA MENU v2.2.1
   HABILLAGE SOFT — base v2.1.4 validée
   Aucun ajout de bloc, aucun ajout de texte.
   ========================================================== */
@media (min-width: 1025px) {

  /*
   * Le panneau reste clair, mais le blanc pur devient légèrement cassé.
   * Pas de motif visible, pas de dégradé fort.
   */
  html body #mega-menu-wrap-max_mega_menu_1
  li.mega-menu-row > ul.mega-sub-menu {
    background:
      linear-gradient(180deg, #FCFDFE 0%, #F9FBFD 100%) !important;
  }

  /*
   * Chaque colonne garde exactement sa structure et sa hauteur.
   * On ajoute uniquement un halo extrêmement discret dans l'angle bas droit.
   */
  html body #mega-menu-wrap-max_mega_menu_1
  li.mega-menu-row > ul.mega-sub-menu > li.mega-menu-column,
  html body #mega-menu-wrap-max_mega_menu_1
  li.mega-menu-row > ul.mega-sub-menu > li[class*="mega-menu-columns-"] {
    background-color: rgba(255,255,255,.88) !important;
    background-repeat: no-repeat !important;
    background-size: 100% 100% !important;
  }

  /* Jeux de société — rouge très discret */
  html body #mega-menu-wrap-max_mega_menu_1
  li.mega-menu-row > ul.mega-sub-menu > li:nth-child(1) {
    background-image:
      radial-gradient(circle at 108% 106%,
        rgba(215,38,38,.050) 0%,
        rgba(215,38,38,.024) 24%,
        transparent 48%) !important;
  }

  /* Jeux de cartes — bleu très discret */
  html body #mega-menu-wrap-max_mega_menu_1
  li.mega-menu-row > ul.mega-sub-menu > li:nth-child(2) {
    background-image:
      radial-gradient(circle at 108% 106%,
        rgba(11,77,187,.055) 0%,
        rgba(11,77,187,.026) 24%,
        transparent 48%) !important;
  }

  /* Accessoires — jaune très discret */
  html body #mega-menu-wrap-max_mega_menu_1
  li.mega-menu-row > ul.mega-sub-menu > li:nth-child(3) {
    background-image:
      radial-gradient(circle at 108% 106%,
        rgba(245,197,24,.075) 0%,
        rgba(245,197,24,.030) 24%,
        transparent 50%) !important;
  }

  /*
   * Légère séparation visuelle des colonnes sans les rendre plus lourdes.
   */
  html body #mega-menu-wrap-max_mega_menu_1
  li.mega-menu-row > ul.mega-sub-menu > li.mega-menu-column,
  html body #mega-menu-wrap-max_mega_menu_1
  li.mega-menu-row > ul.mega-sub-menu > li[class*="mega-menu-columns-"] {
    border-color: rgba(11,77,187,.090) !important;
    box-shadow:
      0 6px 18px rgba(7,26,51,.035),
      inset 0 1px 0 rgba(255,255,255,.75) !important;
  }
}

/* Aucun changement tablette / téléphone. */
