/* Pas de cadre autour des liens ; le clavier conserve un repère souligné. */
body a:focus,body a:active{outline:none!important;box-shadow:none!important}
body a:focus-visible{text-decoration:underline!important;text-underline-offset:3px}
body .cat-page .cat-card .cat-buy>a,
body .cat-page .cat-card:hover .cat-buy>a,
body .cat-page .cat-card .cat-buy>a:hover,
body .cat-page .cat-card .cat-buy>a:focus,
body .cat-page .cat-card .cat-buy>a:active{color:#fff!important;background:#568b18;text-decoration:none}
body button:focus:not(:focus-visible),body .btn:focus:not(:focus-visible),body button:active,body .btn:active{outline:none!important;box-shadow:none!important}
body .add-to-cart:focus,body .add-to-cart:active{outline:none!important;box-shadow:none!important}
body .add-to-cart:focus-visible{text-decoration:underline;text-underline-offset:3px}
/* Fil d’Ariane sur une ligne, défilable au besoin. */
body .breadcrumb{max-width:100%;overflow-x:auto;overflow-y:hidden;white-space:nowrap}
body .breadcrumb ol,body .breadcrumb ul{display:flex;flex-wrap:nowrap;align-items:center;white-space:nowrap;width:max-content;min-width:100%;margin-bottom:0}
body .breadcrumb li{flex:0 0 auto;white-space:nowrap}
/* Neutraliser les pictogrammes hérités du thème sur le lien Facebook validé. */
body .foot .social a.facebook{display:inline-flex;align-items:center;gap:10px;width:auto;height:auto;background:none!important;padding:8px 0;color:#fff;line-height:1.4;font-family:inherit;font-size:14px}
body .foot .social a.facebook::before,body .foot .social a.facebook::after{content:none!important;display:none!important}
body .foot .social a.facebook>span{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex:0 0 24px;background:none;border:0}
body .foot .social a.facebook svg{display:block;width:24px;height:24px;fill:currentColor}
body .cat-crumb{display:flex;flex-wrap:nowrap;align-items:center;white-space:nowrap;overflow-x:auto;overflow-y:hidden;max-width:100%;gap:10px}
body .cat-crumb>*{flex:0 0 auto;white-space:nowrap}
/* Le menu modal garde le défilement dans ses colonnes, pas dans la page derrière. */
html:has(#menu-demo[open]){overflow:auto!important;overscroll-behavior:auto}body:has(#menu-demo[open]){overflow:visible!important;overscroll-behavior:auto}
#menu-demo .md-col,#menu-demo .md-results{overscroll-behavior:auto}

/* Retrait Instagram du menu partagé ; Facebook conservé. */
#mobile_menu .mobile_menu_social_links>a:has(svg[viewBox="0 0 29 30"]){display:none!important}

/* Le thème fournit déjà Service Client et Mon Compte dans le bandeau principal.
   Les blocs natifs dupliqués déséquilibrent l'en-tête sur les pages de modules. */
#header #_desktop_contact_link,
#header #_desktop_user_info{display:none!important}

@media(min-width:768px){#lpd-menu-page-backdrop{position:fixed;inset:0;z-index:100001;background:#18231b42;pointer-events:none}#lpd-menu-page-backdrop[hidden]{display:none}#menu-demo[open]{z-index:100002}#menu-demo::backdrop{display:none}}

/* Les zones longues du menu restent défilables ; au bord, la molette est transmise à la page. */
@media(min-width:768px){
  #menu-demo .md-layout{min-height:0;overflow:hidden}
  #menu-demo .md-col,
  #menu-demo .md-models,
  #menu-demo .md-results{min-height:0}
  #menu-demo .md-col,
  #menu-demo .md-results{
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:auto;
    scrollbar-gutter:stable
  }
}

/* Menu desktop ouvert : le header et le menu restent solidaires et immobiles.
   Le pseudo-élément remplace la place du header dans le flux afin que l'arrière-plan ne saute pas. */
@media(min-width:768px){
  body:has(#menu-demo[open])::before{
    content:"";
    display:block;
    height:var(--lpd-menu-header-height,230px)
  }
  body:has(#menu-demo[open]) #header{
    position:fixed!important;
    inset:0 0 auto 0!important;
    width:100%!important;
    z-index:100003!important
  }
  #menu-demo[open]{
    position:fixed!important
  }
}
