/* Scoped public navigation, matching the grouped admin menu. */
.public-header { display: block; position: static; }
.public-header-row { display: grid; grid-template-columns: minmax(160px, 1fr) auto auto; align-items: center; gap: 16px 24px; }
.public-header .brandmark { max-width: 230px; line-height: 1.15; }
.public-primary-nav { display: flex; align-items: center; gap: 6px; }
.public-primary-nav a,
.public-menu-group a {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 10px 12px;
    border-radius: 12px;
    text-decoration: none;
    font-size: 0.92rem;
    line-height: 1.5;
    color: var(--page-ink);
}
.public-primary-nav a { white-space: nowrap; }
.public-menu-group a { overflow-wrap: anywhere; }
.public-primary-nav a:hover,
.public-menu-group a:hover { background: rgba(25, 52, 95, 0.06); }
.public-primary-nav a[aria-current="page"],
.public-menu-group a[aria-current="page"],
.public-menu-toggle.is-current { background: var(--accent-soft); font-weight: 800; }
.public-primary-nav .public-donate-link,
.public-primary-nav .public-donate-link[aria-current="page"] { background: var(--page-ink); color: #fff; font-weight: 800; }
.public-primary-nav .public-donate-link:hover { background: #254875; }
.public-menu-toggle { white-space: nowrap; }
.public-menu-toggle[hidden],
.public-menu-panel[hidden] { display: none; }
.public-menu-icon { display: grid; gap: 4px; width: 18px; flex: 0 0 18px; }
.public-menu-icon span { height: 2px; border-radius: 2px; background: currentColor; }
.public-menu-panel { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin-top: 20px; padding-top: 24px; border-top: 1px solid var(--line); }
.public-menu-group { min-width: 0; }
.public-menu-group h2 {
    margin: 0 0 10px;
    padding: 0 12px;
    color: var(--page-ink-soft);
    font: 800 0.8rem/1.5 "Manrope", Arial, sans-serif;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}
.public-menu-group ul { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
.public-menu-group .site-header-logout { margin: 12px 0 0 12px; }
@media (max-width: 900px) {
    .public-header-row { grid-template-columns: minmax(0, 1fr) auto; }
    .public-primary-nav { grid-column: 1 / -1; grid-row: 2; }
    .public-menu-toggle { grid-column: 2; grid-row: 1; }
    .public-menu-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
    .public-header { padding: 16px; }
    .public-header-row { gap: 16px 10px; }
    .public-header .brandmark { gap: 8px; font-size: 0.9rem; }
    .public-menu-toggle { padding: 10px 12px; }
    .public-primary-nav { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; }
    .public-primary-nav a { justify-content: center; text-align: center; padding: 8px 2px; font-size: 0.76rem; white-space: normal; }
    .public-menu-panel { grid-template-columns: minmax(0, 1fr); gap: 20px; }
}
@media (max-width: 360px) {
    .public-primary-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .public-primary-nav a { font-size: 0.84rem; }
}
