/* Menu public commun : dimensions et typographie de l'accueil (main.css).
   La classe isole ces regles des anciennes variantes propres aux pages. */
body #menu.ase-public-menu {
    box-sizing: border-box;
    position: fixed;
    top: 0;
    right: 0;
    width: 22em;
    max-width: 80%;
    height: 100%;
    padding: 2.75em 1.75em 0;
    background: var(--ase-menu-bg, #7952cc) !important;
    box-shadow: 0 0 1.5em 0 rgba(0, 0, 0, 0.2);
    color: #fff;
    font-family: var(--ase-font-body, "Open Sans", Helvetica, sans-serif);
    font-size: 15pt;
    font-weight: 400;
    line-height: 1.65em;
    letter-spacing: 0.075em;
    text-align: left;
    overflow-y: auto;
    visibility: hidden;
    transform: translateX(22em);
    transition: transform 0.5s ease, visibility 0.5s;
    z-index: 10002;
}
body.is-menu-visible #menu.ase-public-menu {
    transform: translateX(0);
    visibility: visible;
}
#menu.ase-public-menu ul,
#menu.ase-public-menu ul > li {
    list-style: none !important;
    margin: 0;
    padding: 0;
}
#menu.ase-public-menu ul > li {
    border-top: solid 1px rgba(255, 255, 255, 0.15);
}
#menu.ase-public-menu ul > li:first-child { border-top: 0; }
#menu.ase-public-menu ul > li::before,
#menu.ase-public-menu ul > li::marker { content: none; }
#menu.ase-public-menu ul > li > a {
    display: block;
    margin: 0;
    padding: 0 !important;
    border: 0;
    color: #fff;
    background: transparent;
    font-family: var(--ase-font-button, "Open Sans", Helvetica, Arial, sans-serif) !important;
    font-size: 0.8em;
    font-weight: 400;
    line-height: inherit;
    letter-spacing: 0.225em;
    text-transform: uppercase;
    text-decoration: none;
    box-shadow: none;
}
#menu.ase-public-menu .lang-switch {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 0 !important;
}
#menu.ase-public-menu .lang-switch img {
    display: block;
    width: 25px;
    height: auto;
}
/* Fermeture identique, sans dependance a une version de Font Awesome. */
#menu.ase-public-menu .close {
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    width: 3em;
    height: 2.75em;
    padding: 0;
    border: 0;
    color: #fff;
    text-align: center;
    line-height: 2.75em;
    cursor: pointer;
}
#menu.ase-public-menu .close::before {
    content: '\00d7';
    font-family: Arial, sans-serif;
    font-size: 1.5em;
    font-weight: 400;
    line-height: inherit;
}
@media screen and (max-width: 1280px) {
    body #menu.ase-public-menu { font-size: 12pt; }
}
@media screen and (max-width: 736px) {
    body #menu.ase-public-menu {
        font-size: 11pt;
        letter-spacing: 0.0375em;
        padding: 2.5em 1.5em 0;
    }
}
