.entete-public,
.pied-public {
    background: var(--blanc);
    border-bottom: 1px solid var(--bordure);
}

.entete-public__interieur {
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 72px;
}

/* Logo texte de référence des headers Famyuni. */
.marque-famyuni {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    font-family: 'Inter', Arial, sans-serif;
    font-size: 27px;
    font-weight: 800;
    letter-spacing: -1px;
    line-height: 1.5;
    color: #244bc8;
    white-space: nowrap;
    text-decoration: none;
}

.marque-famyuni:hover {
    text-decoration: none;
}

.marque-famyuni__ponctuation {
    color: #72a9ff;
}

.marque-famyuni:focus-visible {
    outline: 3px solid #6295ef;
    outline-offset: 4px;
}

@media (max-width: 520px) {
    .marque-famyuni {
        font-size: 24px;
    }
}

.hero {
    padding: 72px 0;
}
a{
	text-decoration: none;
}
.pied-public { padding: 24px 16px; text-align: center; border-top: 1px solid var(--bordure); }
.pied-public p { margin: 0 0 12px; color: #617088; font-size: 13px; }
.liens-legaux { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 18px; font-size: 13px; line-height: 1.6; }
.liens-legaux a { padding: 6px 0; color: #425778; text-decoration: underline; text-underline-offset: 3px; }
.liens-legaux a:hover, .liens-legaux a[aria-current] { color: #2454d8; }
.liens-legaux a:focus-visible { outline: 3px solid #6295ef; outline-offset: 3px; }

/* Mention d’origine affichée uniquement dans le pied de page français. */
.pied-public .pied-public__origine { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 8px 12px; margin: 17px 0 0; font-size: 11px; line-height: 1.7; }
.pied-public__drapeaux { display: inline-flex; align-items: center; gap: 6px; flex: 0 0 auto; }
.pied-public__drapeaux svg { display: block; border-radius: 2px; box-shadow: 0 0 0 1px rgba(0,0,0,.08); }

/* La hauteur réelle du header fixe est ajustée par entete-public.js. */
body:has(> :is(.projet-entete, .legal-entete, .entete-authentification, .entete-public)) {
    padding-top: var(--hauteur-entete-public, 71px);
}
body > :is(.projet-entete, .legal-entete, .entete-authentification, .entete-public) {
    position: fixed;
    inset: 0 0 auto;
    z-index: 50;
}
body:has(> .entete-public) { --hauteur-entete-public: 73px; }
.bouton-entete-public {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    min-height: 42px; padding: 10px 16px; border: 1px solid #c9dbef; border-radius: 14px;
    background: rgba(255,255,255,.86); color: #194eb6;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
    font-size: .95rem; font-weight: 700; line-height: 1.25; text-align: center; text-decoration: none;
    transition: background 180ms ease, border-color 180ms ease;
}
.bouton-entete-public:hover { background: #f4f9ff; border-color: #b9cfe9; text-decoration: none; }
.bouton-entete-public:focus-visible { outline: 3px solid #6db2f3; outline-offset: 4px; }
.bouton-entete-public svg { width: 17px; height: 17px; flex-shrink: 0; }
@media (max-width: 640px) {
    body:has(> :is(.projet-entete, .legal-entete, .entete-authentification)) { --hauteur-entete-public: 65px; }
    .bouton-entete-public { min-height: 40px; padding: 8px 10px; font-size: .85rem; }
}
@media print {
    body:has(> :is(.projet-entete, .legal-entete, .entete-authentification, .entete-public)) { padding-top: 0; }
    body > :is(.projet-entete, .legal-entete, .entete-authentification, .entete-public) { display: none; }
}
