<template>
    <!-- Entête de page standard : source unique du style des titres.
         Toujours sticky en haut du <main> scrollable : reste visible au scroll.
         Fond blanc + pt-[38px]/pb-[30px] (au lieu de marges) pour que le contenu
         défilant soit masqué sous l'entête (espaces haut ET bas compris) et que
         l'entête soit collée sous l'AppTopNav sans trou.
         Slots :
           - défaut   : texte du titre
           - #actions : boutons à droite du titre
           - #subheader : barre de filtres / onglets rendue SOUS le titre, dans le
                          même bloc sticky (reste donc collée avec le titre). La
                          marge titre -> sous-entête est portée par le contenu passé
                          (ex. mt-4) pour laisser chaque page régler son cas. -->
    <div class="sticky top-0 z-20 bg-white pt-[38px] pb-[30px]">
        <div class="flex items-center justify-between gap-4">
            <h1 class="text-[30px] font-semibold text-primary-500">
                <slot/>
            </h1>
            <div v-if="$slots.actions" class="shrink-0">
                <slot name="actions"/>
            </div>
        </div>
        <slot name="subheader"/>
    </div>
</template>
