body[data-app="public"] { min-height:100vh; min-height:100dvh; display:flex; flex-direction:column; }
body[data-app="public"] > main { flex:1; width:100%; box-sizing:border-box; }
body[data-app="public"] > #pied { margin-top:auto; }
body[data-app="public"] .esd-footer { padding:1rem; background:#fff; }
body[data-app="public"] .esd-wordmark { white-space:nowrap; padding:.6rem; border:1px solid #ffffff66; border-radius:12px; }
body[data-app="public"] .esd-header nav { flex:1; gap:.4rem; }
body[data-app="public"] .esd-header nav button { font-size:.85rem; padding:.6rem; }
body[data-app="public"] .esd-header .spacer { display:none; }
body[data-app="public"] .esd-header .user { flex-shrink:0; }
body[data-app="public"].page-accueil > main { display:flex; max-width:none; padding:0; margin:0; background:transparent; }
.accueil-photo { position:relative; width:100%; min-height:60vh; flex:1; display:grid; place-items:center; overflow:hidden; }
.accueil-photo > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.accueil-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(transparent,#102d3266); }
.accueil-photo-contenu { position:relative; z-index:1; text-align:center; padding:2rem; }
.accueil-photo-contenu h1 { color:white; text-shadow:0 2px 12px #102d32; font-size:clamp(2rem,5vw,4rem); }
.accueil-photo-contenu .btn { font-size:1.15rem; padding:1rem 1.5rem; }
@media(max-width:1200px) {
 body[data-app="public"] .esd-header nav { order:3; flex-basis:100%; width:100%; max-height:none; overflow:visible; }
 body[data-app="public"] .esd-header .user { margin-left:auto; }
}

/* Accueil V5 : actions lisibles avant le visuel, dans le flux de page. */
body[data-app="public"].page-accueil > main { display:block; padding:1rem; }
.esd-home-intro { max-width:72rem; margin:0 auto 1rem; text-align:center; padding:1.5rem 1rem; }
.esd-home-intro h1 { color:#17324d; text-shadow:none; }
.esd-home-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:.75rem; }
.esd-home-actions .btn { max-width:100%; white-space:normal; min-height:44px; }
.esd-home-photo { margin:0 auto; max-width:72rem; }
.esd-home-photo img { display:block; width:100%; height:auto; }
