/*
 * App-level layout fixes (not theme-related).
 */

/*
 * MalioDrawer : donne au corps scrollable un peu d'espace vertical.
 *
 * Le body du drawer est `overflow-y-auto` sans padding vertical. Or le label
 * flottant d'un champ Malio remonte (-1.25rem) au focus/remplissage : pour le
 * PREMIER champ, collé en haut du body, ce label dépasse le bord supérieur et
 * se fait rogner (il « grossit et passe sous l'entête »). Le dernier champ
 * (popover de date, hint) souffre du même rognage en bas.
 *
 * On ajoute donc un padding vertical au body de TOUS les drawers via l'API de
 * test stable de la lib (@malio/layer-ui), sans la modifier ni toucher chaque
 * drawer un par un. Le sélecteur reste limité au panneau du drawer.
 */
[data-test="panel"] > [data-test="body"] {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

/*
 * Champs Malio (@malio/layer-ui >= 1.7.5) : depuis cette version, la ligne de
 * message sous chaque champ est toujours rendue (`reserveMessageSpace` à `true`
 * par défaut) et réserve ~1rem (16px) même sans erreur/hint, ce qui décale les
 * formulaires denses. On retire cette réserve et on masque la ligne quand elle
 * est vide, sans désactiver l'option champ par champ ni perdre l'affichage des
 * vraies erreurs/hints.
 *
 * Hook stable : la ligne de message a un id se terminant par "-describedby".
 */
[id$="-describedby"] {
    min-height: 0;
}
[id$="-describedby"]:empty {
    display: none;
}
