/* doc-project | public/assets/css/layout-public.css | Définit la navigation, le pied de page et le comportement responsive communs aux vues publiques. | Expose: layout public | Dépend de: base.css, buttons.css | Impacte: toutes les pages publiques | Tables: aucune */
.public-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:1rem;min-height:76px;padding:0 max(1.2rem,calc((100vw - var(--content))/2));border-bottom:1px solid var(--ink-200);background:rgba(255,255,255,.97);backdrop-filter:blur(12px)}
.public-header .brand{display:flex;align-items:center;gap:.7rem;margin-right:auto;font-weight:800}.brand__mark{display:grid;place-items:center;width:42px;height:42px;border-radius:.55rem;background:var(--ink-950);color:#fff;letter-spacing:-.08em}.brand strong{color:var(--accent)}
.public-nav{display:flex;align-items:center;gap:.25rem}.public-nav>a:not(.button){padding:.6rem .72rem;border-radius:.4rem}.public-nav>a:not(.button):hover,.public-nav>a:not(.button):focus-visible{background:var(--ink-100)}.nav-toggle{display:none;min-height:42px;padding:.45rem .8rem;border:1px solid var(--ink-200);border-radius:.45rem;background:#fff;font-weight:800}
.public-main{min-height:55vh}.public-footer{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:2rem;padding:4rem max(2rem,calc((100vw - var(--content))/2));background:var(--ink-950);color:#d8dfe3}.public-footer>div{display:grid;align-content:start;gap:.45rem}.public-footer p{max-width:360px;color:#aeb9c0}.public-footer a:hover,.public-footer a:focus-visible{color:#fff;text-decoration:underline}.public-footer small{color:#8997a0}
@media(max-width:850px){.public-header{flex-wrap:wrap;padding:.8rem 1rem}.nav-toggle{display:block}.public-nav{display:none;order:3;flex-direction:column;align-items:stretch;width:100%;padding:.5rem 0}.public-nav.is-open{display:flex}.public-footer{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.public-footer{grid-template-columns:1fr;padding:3rem 1.2rem}.brand>span:last-child{font-size:.9rem}}