/* One shared header contract, loaded after page styles. */
.navbar .nav-container { flex-wrap:nowrap; gap:16px; }
.navbar .logo { flex:0 0 auto; height:36px; }
.navbar .logo img { width:160px; height:36px; max-width:160px; object-fit:contain; }
.navbar .public-language-selector { position:relative; flex:0 0 128px; order:3; margin:0; color:var(--gray-700); }
.public-language-selector summary { display:flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:8px 10px; border:1px solid var(--gray-200); border-radius:999px; background:var(--white); font-size:.85rem; font-weight:600; cursor:pointer; list-style:none; white-space:nowrap; }
.public-language-current-code { display:none; }
.public-language-selector summary::-webkit-details-marker { display:none; }
.language-chevron { width:6px; height:6px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); margin-left:2px; margin-top:-3px; }
.public-language-selector[open] .language-chevron { transform:rotate(225deg); margin-top:3px; }
.public-language-options { position:absolute; top:calc(100% + 8px); right:0; width:168px; padding:6px; border:1px solid var(--gray-200); border-radius:14px; box-shadow:var(--shadow-lg); background:var(--white); z-index:1200; }
.public-language-options a { display:flex; align-items:center; justify-content:space-between; min-height:44px; padding:10px 12px; border-radius:9px; color:var(--gray-700); font-size:.88rem; text-decoration:none; }
.public-language-options a:hover,.public-language-options a[aria-current="page"] { background:var(--primary-light); color:var(--primary); }
.public-language-selector summary:focus-visible,.public-language-options a:focus-visible { outline:3px solid var(--primary); outline-offset:2px; }
.navbar .menu-toggle:focus-visible { outline:3px solid var(--primary); outline-offset:2px; }
.mobile-menu-icon,.mobile-menu-icon::before,.mobile-menu-icon::after { display:block; width:18px; height:2px; border-radius:2px; background:currentColor; }
.mobile-menu-icon { position:relative; transition:background-color .16s ease; }
.mobile-menu-icon::before,.mobile-menu-icon::after { position:absolute; left:0; content:""; transition:transform .16s ease,top .16s ease; }
.mobile-menu-icon::before { top:-6px; }
.mobile-menu-icon::after { top:6px; }
.menu-toggle[aria-expanded="true"] .mobile-menu-icon { background:transparent; }
.menu-toggle[aria-expanded="true"] .mobile-menu-icon::before { top:0; transform:rotate(45deg); }
.menu-toggle[aria-expanded="true"] .mobile-menu-icon::after { top:0; transform:rotate(-45deg); }
.public-english-destination { display:inline-flex; align-items:center; margin-inline-start:3px; font-size:.6rem; line-height:1.2; letter-spacing:.02em; vertical-align:middle; color:inherit; opacity:.85; }
.public-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
@media(min-width:1366px) {
    .navbar .nav-menu { flex:1 1 auto; min-width:0; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; }
    .navbar .nav-links { justify-content:center; gap:2px; white-space:nowrap; }
    .navbar .nav-links > a,.navbar .nav-link-button { padding-inline:7px; font-size:.875rem; }
    .navbar .nav-cta { gap:8px; }
    .navbar .nav-cta .btn { font-size:.875rem; padding-inline:12px; white-space:nowrap; }
    .navbar .nav-login-button { width:104px; }
    .navbar .nav-register-button { width:208px; min-width:208px; }
}
@media(max-width:1365px) {
    .navbar .public-language-selector { flex:0 0 auto; order:1; margin-left:auto; }
    .navbar .menu-toggle { flex:0 0 44px; order:2; }
    .public-language-current-full { display:none; }
    .public-language-current-code { display:inline; }
    .public-language-selector summary { min-width:72px; }
    .navbar .nav-menu { transform:none; clip-path:inset(0 0 0 100%); transition:clip-path .2s ease; }
    .navbar .nav-menu:not(.active) { visibility:hidden; pointer-events:none; }
    .navbar .nav-menu.active { visibility:visible; clip-path:inset(0); }
    .navbar .public-mobile-menu-header { width:100%; }
    .navbar .public-mobile-menu-header .public-language-selector { flex-basis:auto; order:0; }
    .navbar .public-mobile-menu-logo { margin-right:auto; }
    .navbar .public-mobile-menu-logo img { max-width:120px; }
    .navbar .nav-links,.navbar .nav-cta { flex-shrink:0; }
}
@media(max-width:420px) {
    .navbar .nav-container { gap:8px; }
    .navbar .logo img { width:136px; max-width:136px; }
    .public-language-selector summary { gap:6px; padding-inline:8px; }
    .navbar .public-mobile-menu-header { gap:8px; }
    .navbar .public-mobile-menu-logo img { max-width:100px; }
}
@media(prefers-reduced-motion:reduce) { .navbar .nav-menu,.mobile-menu-icon,.mobile-menu-icon::before,.mobile-menu-icon::after { transition:none; } }
