/* REGINE : menu (fragments/sidebar.html, js/menu.js). Classe menu-horizontal posée sur <html> avant l'affichage (fragments/head.html). */
#menu-nav [hidden] { display: none !important; } /* l'attribut hidden doit l'emporter sur les classes flex des entrées */
.menu-groupe-titre { cursor: pointer; user-select: none; display: flex; align-items: center; gap: .5rem; }
.menu-groupe-titre:hover { color: #fff; }
.menu-groupe-titre:focus-visible, .menu-bouton:focus-visible { outline: 2px solid #00C8FF; outline-offset: 2px; border-radius: .375rem; }
.menu-chevron { margin-left: auto; font-size: 9px; opacity: .6; transition: transform .15s; }
.menu-groupe-titre[aria-expanded="false"] .menu-chevron { transform: rotate(-90deg); }
.menu-bouton { color: rgba(255, 255, 255, .6); padding: .125rem .375rem; border-radius: .375rem; }
.menu-bouton:hover { color: #fff; background: rgba(255, 255, 255, .1); }

/* Menu horizontal : barre fixe en haut, un menu déroulant par groupe */
html.menu-horizontal #menu { right: 0; bottom: auto; width: auto; min-height: 0; flex-direction: row; align-items: center; flex-wrap: wrap; }
html.menu-horizontal #menu .menu-logo, html.menu-horizontal #menu .menu-pied { display: none; }
html.menu-horizontal #menu .menu-outils, html.menu-horizontal #menu .menu-sortie { border: 0; order: 2; }
html.menu-horizontal #menu-nav { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem; overflow: visible; padding: .375rem .75rem; }
html.menu-horizontal #menu-nav > * + * { margin-top: 0; }
html.menu-horizontal #menu-nav > a { padding: .375rem .625rem; }
html.menu-horizontal .menu-groupe { position: relative; }
html.menu-horizontal .menu-groupe > .menu-groupe-titre { margin: 0; padding: .5rem .625rem; border-radius: .5rem; font-size: .75rem; color: rgba(255, 255, 255, .8); }
html.menu-horizontal .menu-groupe.ouvert > .menu-groupe-titre { background: rgba(255, 255, 255, .1); color: #fff; }
html.menu-horizontal .menu-groupe > .menu-groupe-titre .menu-chevron { transform: none; }
html.menu-horizontal .menu-corps { display: none; position: absolute; top: 100%; left: 0; z-index: 50; min-width: 16rem; max-height: 75vh;
    overflow-y: auto; padding: .5rem; background: #1A365D; border-radius: .5rem; box-shadow: 0 12px 28px rgba(15, 23, 42, .35); }
html.menu-horizontal .menu-groupe.ouvert > .menu-corps { display: block; }
html.menu-horizontal .menu-corps > * + * { margin-top: .125rem; }
html.menu-horizontal .menu-sortie button span { display: none; }
html.menu-horizontal main.ml-64 { margin-left: 0; padding-top: var(--menu-h, 0px); }
html.menu-horizontal header.sticky { top: var(--menu-h, 0px); }
