/* Copie légère de /assets/phare-menu.css (commentaires retirés) — tools/prod-css-purge.mjs — source-sha1:10eadef8c2114060fa35b7981af368f74ee04e6d — ne pas éditer, relancer l'outil. */
@media (max-width: 1040px){
body.labo .nav-burger{display: inline-flex !important;}
body.labo .nav-sit,body.labo .nav-links > a:not(.nav-cta){display: none !important;}
body.labo .phn-scene{display: none;}
body.labo .nav-inner{display: flex;
        align-items: center;
        
        padding-inline: min(var(--p-marge), 24px);
        gap: 8px;}
body.labo .nav-actions{display: contents;}
body.labo .nav-links{display: contents;}
body.labo .nav-burger{order: -2; margin: 0 -2px 0 -11px;}
body.labo .nav-bg{height: 14px;}
body.labo .nav-burger[aria-expanded="true"] .nav-bb:nth-child(1){translate: 0 6px;}
body.labo .nav-burger[aria-expanded="true"] .nav-bb:nth-child(3){translate: 0 -6px;}
body.labo .nav-logo{order: -1; margin-right: auto;}
body.labo .nav-phone{order: 1;}
body.labo .nav-espace{order: 2;}
body.labo .nav-cta{order: 3;}
}
@media (max-width: 860px){
body.labo .nav-espace{display: none !important;}
}
@media (max-width: 560px){
body.labo .nav-phone span{display: none;}
body.labo .nav-links > a.nav-cta{padding: 0 16px !important;}
body.labo .nav-word{display: none;}
}
.phm .nav-drawer-panel{top: 0;
    left: 0;
    right: auto;
    bottom: 0;
    width: min(420px, 100vw);
    max-width: 100vw;
    border-radius: 0;

    display: flex;
    flex-direction: column;
    
    overflow: hidden;

    background: #FFFFFF;
    padding-top: env(safe-area-inset-top);

    
    --dr-txt: 0.9375rem;
    --dr-poids: 500;
    --dr-serre: -0.011em;

    
    transform: translateX(calc(-100% - 16px));
    
    transition: transform 0.3s cubic-bezier(0.32, 0.72, 0.24, 1);

    
    box-shadow:
        1px 0 0 rgba(17, 17, 17, 0.06),
        14px 0 26px -14px rgba(17, 17, 17, 0.18),
        40px 0 70px -36px rgba(17, 17, 17, 0.30);}
.phm.nav-drawer.open .nav-drawer-panel{transform: none;
    transition: transform 0.34s cubic-bezier(0.22, 0.68, 0.24, 1);}
.phm .nav-dr-head{flex: none;
    display: flex;
    align-items: center;
    height: 56px;
    padding: 0 20px;
    border-bottom: 1px solid #EFEEEC;
    background: #FFFFFF;}
.phm .nav-dr-head img,.phm .nav-dr-head strong{display: none;}
.phm .nav-dr-close{margin: 0;
    width: auto;
    height: auto;
    display: inline-flex;
    align-items: center;
    padding: 6px 0;
    border: 0;
    border-radius: 4px;
    background: none;
    font-family: var(--font-nav);
    font-size: var(--dr-txt);
    font-weight: var(--dr-poids);
    letter-spacing: var(--dr-serre);
    color: var(--burgundy, #7B2D3B);
    cursor: pointer;
    transition: opacity 0.18s var(--p-survol-courbe, ease);}
.phm .nav-dr-close:hover{background: none; opacity: 0.7;}
.phm .nav-dr-close:focus-visible{outline: 2px solid var(--burgundy, #7B2D3B);
    outline-offset: 3px;}
.phm-piste{position: relative;
    flex: 1;
    min-height: 0;
    overflow: hidden;
    background: #FFFFFF;}
.phm-couche{position: absolute;
    inset: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    background: #FFFFFF;
    translate: 0 18px;
    opacity: 0;
    visibility: hidden;
    transition:
        translate 0.38s var(--p-courbe, cubic-bezier(0.22, 1, 0.36, 1)),
        opacity 0.26s var(--p-courbe, ease),
        visibility 0.38s;}
.phm-couche.phm-actif{translate: 0 0; opacity: 1; visibility: visible;}
.phm-racine{translate: 0 0; opacity: 1; visibility: visible;}
.phm-racine.phm-recule{translate: 0 -10px; opacity: 0; visibility: hidden;}
.phm-couche > *{opacity: 0;
    translate: 0 10px;
    transition:
        opacity 0.3s var(--p-courbe, ease) var(--d, 0s),
        translate 0.38s var(--p-courbe, ease) var(--d, 0s);}
.phm-couche.phm-actif > *,.phm-racine:not(.phm-recule) > *{opacity: 1; translate: 0 0;}
.phm-couche > *:nth-child(2){--d: 0.026s;}
.phm-couche > *:nth-child(3){--d: 0.052s;}
.phm-couche > *:nth-child(4){--d: 0.078s;}
.phm-couche > *:nth-child(5){--d: 0.104s;}
.phm-couche > *:nth-child(6){--d: 0.13s;}
.phm-couche > *:nth-child(7){--d: 0.156s;}
.phm-couche > *:nth-child(8){--d: 0.182s;}
.phm-couche > *:nth-child(n+9){--d: 0.208s;}
.phm-entree,.phm .nav-dr-link{position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-height: 52px;
    padding: 14px 20px;
    border: 0;
    background: none;
    font-family: var(--font-nav);
    font-size: var(--dr-txt);
    font-weight: var(--dr-poids);
    letter-spacing: var(--dr-serre);
    color: #0A0A0A;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.18s var(--p-survol-courbe, ease);}
.phm-entree .phm-ico,.phm .nav-dr-link .phm-ico{flex: none;
    font-size: 19px;
    color: #8A8987;}
.phm-entree .phm-lib,.phm-entree > span:not([class]){flex: 1;}
.phm .phm-entree .phn-vig,.phm .nav-dr-link .phn-vig{width: 38px; height: 38px; border-radius: 10px;}
.phm .phm-entree .phn-vig > svg,.phm .nav-dr-link .phn-vig > svg{width: 20px; height: 20px;}
.phm .nav-dr-link .phm-lib{flex: 1;}
.phm .phm-entree:has(> .phn-vig),.phm .nav-dr-link:has(> .phn-vig){gap: 13px; min-height: 58px; padding-block: 10px;}
.phm-entree::after,.phm .nav-dr-link::after{content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: #EFEEEC;}
.phm-entree:active,.phm .nav-dr-link:active{background: #F7F7F8;}
.phm-chev,.phm-fleche{width: 8px;
    height: 8px;
    flex: none;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    rotate: -45deg;
    color: var(--burgundy, #7B2D3B);
    transition: translate 0.22s var(--p-survol-courbe, ease);}
.phm-entree:active .phm-chev{translate: 3px 0;}
.phm-fleche{rotate: 135deg; margin-right: 2px;}
.phm-retour{display: flex;
    align-items: center;
    gap: 9px;
    width: 100%;
    min-height: 52px;
    padding: 14px 20px;
    border: 0;
    background: none;
    font-family: var(--font-nav);
    font-size: var(--dr-txt);
    font-weight: var(--dr-poids);
    letter-spacing: var(--dr-serre);
    color: var(--burgundy, #7B2D3B);
    cursor: pointer;}
.phm-retour:active .phm-fleche{translate: -3px 0;}
.phm-couche-t,.phm .nav-dr-cat{margin: 0;
    
    padding: 14px 20px 10px;
    background: none;
    border-bottom: 1px solid #EFEEEC;
    font-family: var(--font-nav);
    
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: #8A8987;}
.phm .nav-dr-cat{margin-top: -1px;}
.phm .nav-dr-row{position: relative;
    display: flex;
    align-items: center;
    gap: 13px;
    min-height: 58px;
    padding: 11px 20px;
    font-family: var(--font-nav);
    font-size: var(--dr-txt);
    font-weight: var(--dr-poids);
    letter-spacing: var(--dr-serre);
    line-height: 1.3;
    color: #0A0A0A;
    text-decoration: none;
    transition: background-color 0.18s var(--p-survol-courbe, ease);}
.phm .nav-dr-row::after{content: "";
    position: absolute;
    left: calc(20px + 38px + 13px);
    right: 0;
    bottom: 0;
    height: 1px;
    background: #EFEEEC;}
.phm .nav-dr-row:active{background: #F7F7F8;}
.phm .nav-dr-row .phn-vig{width: 38px; height: 38px; border-radius: 10px;}
.phm .nav-dr-row .phn-vig .epure-ico{font-size: 19px;}
.phm .nav-dr-row .phn-vig > svg{width: 20px; height: 20px;}
.phm .phm-ici .phm-lib::after,.phm .nav-dr-link[aria-current="page"] .phm-lib::after,.phm .phm-porte[aria-current="page"] .phm-porte-txt b::after{content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    margin-left: 8px;
    border-radius: 50%;
    background: var(--burgundy, #7B2D3B);
    vertical-align: middle;
    translate: 0 -1px;}
.phm .nav-dr-row[aria-current="page"]{color: var(--burgundy, #7B2D3B); font-weight: 600;}
.phm [aria-current="page"] > .phn-vig{box-shadow: inset 0 0 0 1px #E9D3DA;
    color: var(--burgundy, #7B2D3B);}
.phm-porte{display: flex;
    align-items: center;
    gap: 12px;
    margin: 12px 16px 8px;
    padding: 12px 14px;
    border-radius: 12px;
    background: #FFFFFF;
    box-shadow: inset 0 0 0 1px #E6E5E3, 0 1px 2px rgba(17, 17, 17, 0.04);
    color: #0A0A0A;
    text-decoration: none;
    transition: box-shadow 0.18s var(--p-survol-courbe, ease);}
.phm-porte:active{box-shadow: inset 0 0 0 1px #CFCDCA; background: #FAFAFA;}
.phm-porte .phn-porte-fav{width: 38px; height: 38px; border-radius: 10px;}
.phm-porte-txt{flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;}
.phm-porte-txt b{font-family: var(--font-nav);
    font-size: var(--dr-txt);
    font-weight: 600;
    letter-spacing: var(--dr-serre);}
.phm-porte-txt small{font-family: var(--font-nav);
    font-size: 0.8125rem;
    line-height: 1.35;
    color: #6B6A68;}
.phm-pied{flex: none;
    display: grid;
    
    gap: 6px;
    padding: 10px 20px calc(12px + env(safe-area-inset-bottom));
    background: #FFFFFF;
    box-shadow:
        0 -1px 0 #ECECEC,
        0 -16px 24px -18px rgba(17, 17, 17, 0.26);}
.phm-duo{display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 6px;}
.phm-pied .nav-dr-cta,.phm-pied .nav-dr-phone,.phm-pied .phm-espace{display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 44px;
    padding: 0 10px;
    border-radius: 10px;
    font-family: var(--font-nav);
    font-size: var(--dr-txt);
    font-weight: var(--dr-poids);
    letter-spacing: var(--dr-serre);
    text-decoration: none;
    white-space: nowrap;
    
    margin: 0;
    box-shadow: none;
    transition:
        background-color 0.2s var(--ease-out-soft, ease),
        border-color 0.2s var(--ease-out-soft, ease);}
.phm-pied .nav-dr-phone,.phm-pied .phm-espace{background: #FFFFFF !important;
    border: 1px solid #DCDBD9 !important;
    color: #0A0A0A !important;}
.phm-pied .nav-dr-phone:hover,.phm-pied .phm-espace:hover{border-color: #B4B2AF !important;}
.phm-pied .nav-dr-phone svg,.phm-pied .phm-espace svg{width: 16px; height: 16px; flex: none;}
.phm-pied .nav-dr-cta{background: var(--burgundy, #7B2D3B) !important;
    color: #FFFFFF !important;
    border: 0 !important;
    min-height: 46px;
    
    font-weight: 600;}
.phm-pied .nav-dr-cta:hover{background: var(--burgundy-dark, #5E1F2C) !important;}
.phm-pied a:focus-visible{outline: 2px solid var(--burgundy, #7B2D3B);
    outline-offset: 2px;}
@media (prefers-reduced-motion: reduce){
.phm-couche,.phm-couche > *{transition: opacity 0.12s linear;
        translate: none;}
}
html:has(body.labo.nav-drawer-lock){overflow: hidden;}
body.labo.nav-drawer-lock{overflow: hidden;
    overscroll-behavior: none;}
body.labo .nav-drawer-panel,body.labo .nav-dr-body{overscroll-behavior: contain;}
