/* Menu principal : compléments au CSS de la boutique de référence (menu.css). */
.bp-mm { font-family: 'Nunito', system-ui, sans-serif; }
.bp-mm summary:focus, .bp-mm summary:focus-visible, .bp-mm a:focus-visible, .bp-mm button:focus-visible { outline: none; }
.bp-mm summary:focus-visible, .bp-mm a:focus-visible { box-shadow: 0 0 0 2px rgba(255, 255, 255, .6); }
@media (max-width: 989px) { body.overflow-hidden-tablet { overflow: hidden; } }
@media (min-width: 990px) { .bp-mm header-drawer { display: none; } }
@media (max-width: 989px) { .bp-mm .header__inline-menu { display: none; } }
.bp-mm button { border: 0; background: none; font: inherit; color: inherit; }
.bp-mm .menu-drawer__close-button, .bp-mm .pp-rail__btn { cursor: pointer; }
.bp-mm summary, .bp-mm summary:focus, .bp-mm summary:focus-visible, .bp-mm .menu-drawer__close-button, .bp-mm .menu-drawer__close-button:focus, .bp-mm .menu-drawer__menu-item:focus { outline: 0 !important; }

/* === Rails de raccourcis du tiroir mobile (« Nos sélections ») : cartes premium, accroche tactile, flèches et indicateur de défilement === */
@media screen and (max-width: 989px){
.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm .menu-drawer .pp-rail{ position: relative; padding-bottom: 4px; }
.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm .menu-drawer .pp-mega-panel__grid[data-pp-rail-track]{ gap: 10px; padding: 8px 16px 14px; scroll-snap-type: x mandatory; scroll-padding-inline: 16px; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; mask-image: linear-gradient(to right, transparent 0, #000 12px, #000 calc(100% - 28px), transparent 100%); }
.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm .menu-drawer .pp-mega-panel__tile{ flex: 0 0 94px !important; width: 94px !important; padding: 14px 8px 12px !important; gap: 10px !important; border: 1px solid rgba(56, 71, 153, .10) !important; border-radius: 20px !important; background: linear-gradient(180deg, #fff 0%, #f6f7fd 100%) !important; box-shadow: 0 8px 18px -10px rgba(28, 33, 71, .35), 0 1px 2px rgba(28, 33, 71, .06) !important; scroll-snap-align: start; transition: transform .18s ease, box-shadow .18s ease, background-color .18s; }
.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm .menu-drawer .pp-mega-panel__tile:active{ transform: scale(.96) !important; box-shadow: 0 3px 8px -6px rgba(28, 33, 71, .4) !important; background: #eef0fb !important; }
.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm .menu-drawer .pp-mega-panel__tile-icon{ width: 60px !important; height: 60px !important; background: #fff !important; box-shadow: 0 0 0 1px rgba(56, 71, 153, .10), 0 4px 10px -4px rgba(56, 71, 153, .35); }
.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm .menu-drawer .pp-mega-panel__tile-icon img{ width: 60px !important; height: 60px !important; }
.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm .menu-drawer .pp-mega-panel__tile-label{ font-size: 13px !important; font-weight: 700 !important; letter-spacing: .005em; line-height: 1.22 !important; min-height: 2.45em; color: var(--mm-ink, #1c2147) !important; }
.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm .menu-drawer .pp-rail__btn{ top: 44px !important; width: 34px !important; height: 34px !important; padding: 0 0 2px !important; background: #fff !important; color: #384799 !important; font-size: 22px !important; border: 1px solid rgba(56, 71, 153, .14) !important; box-shadow: 0 6px 16px -4px rgba(28, 33, 71, .38) !important; transition: transform .15s ease, background-color .15s; }
.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm .menu-drawer .pp-rail__btn:active{ background: #eef0fb !important; transform: scale(.92) !important; }
.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm .menu-drawer .pp-rail__btn--prev{ left: 6px !important; }
.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm .menu-drawer .pp-rail__btn--next{ right: 6px !important; }
.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm .menu-drawer .pp-rail__bar{ display: block; position: relative; height: 4px; width: 56px; margin: -2px auto 8px; border-radius: 999px; background: rgba(56, 71, 153, .14); overflow: hidden; }
.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm .menu-drawer .pp-rail__bar > i{ position: absolute; top: 0; bottom: 0; left: 0; width: 40%; border-radius: inherit; background: #384799; transition: left .12s linear; }
.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm .menu-drawer .pp-rail__bar[hidden]{ display: none; }
}
@media (prefers-reduced-motion: reduce){ .bp-mm .menu-drawer .pp-mega-panel__tile, .bp-mm .menu-drawer .pp-rail__btn, .bp-mm .menu-drawer .pp-rail__bar > i{ transition: none !important; } }
/* === fin rails de raccourcis === */
/* Le volet du méga-menu et le tiroir mobile doivent passer devant le contenu collant des pages (fil d'Ariane z-index 190, galerie de la fiche produit…) : l'en-tête forme son propre empilement. */
.bp-hdr { z-index: 200; }

/* mega_menu = false : liste déroulante simple. Le thème de référence ne posait pas la liste hors du flux (le panneau méga-menu le fait pour lui-même) : sans ces règles l'en-tête s'allonge de toute la liste à l'ouverture. */
.bp-mm header-menu > details > .header__submenu.bp-mm-simple { position: absolute; top: 100%; left: 0; z-index: 20; min-width: calc(22 * var(--bp-rem)); max-width: calc(30 * var(--bp-rem)); box-sizing: border-box; margin: 0; box-shadow: 0 10px 30px rgba(0, 0, 0, .15); }

/* Méga-menu sans raccourcis ni prix d'appel (classe posée par MegaMenu::mega_panel) : le panneau prend la largeur de ses entrées au lieu des 840 px de la mise en page à deux colonnes. */
@media screen and (min-width: 990px){
.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm .pp-mega-panel.pp-mega-panel--compact{ grid-template-columns: minmax(0, 1fr) !important; width: max-content !important; min-width: 320px !important; max-width: min(620px, calc(100vw - 48px)) !important; }
.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm .pp-mega-panel--compact > .header__submenu{ grid-template-columns: repeat(var(--bp-mm-cols, 2), minmax(150px, max-content)) !important; column-gap: 8px !important; max-width: none !important; min-width: 0 !important; width: auto !important; }
.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm .pp-mega-panel--cols-1{ --bp-mm-cols: 1; }
.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm .pp-mega-panel--cols-2{ --bp-mm-cols: 2; }
.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm .pp-mega-panel--cols-3{ --bp-mm-cols: 3; }
.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm .pp-mega-panel--compact .header__submenu .pp-menu-label{ overflow-wrap: break-word !important; hyphens: manual; }
.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm .pp-mega-panel--compact .header__submenu li{ max-width: 220px; }
.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm.bp-mm .pp-mega-panel--compact > .pp-mega-panel__visual{ grid-column: 1 !important; }
}
