/* Balance the existing navigation without shrinking touch targets or removing links. */
.reference-footer .footer-columns { align-items:start; }
.footer-columns .footer-wordmark { min-height:44px; }
.footer-columns .footer-wordmark img { display:block;width:174px;max-width:100%;height:auto;object-fit:contain; }
.reference-footer .footer-columns form { margin:0; }
.footer-places { max-width:1220px;margin:28px auto 0;padding-top:20px;border-top:1px solid var(--gg-border); }
.footer-places>summary { display:none; }
.footer-places .footer-states { margin:0;padding:0;border:0; }

@media(max-width:999px) {
 .reference-footer .footer-columns { grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px; }
 .footer-columns .footer-brand,.footer-columns .footer-explore { grid-column:1/-1; }
 .footer-columns nav { gap:0;min-width:0; }
 .footer-columns h2 { margin-bottom:8px; }
 .footer-columns .footer-explore { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px; }
 .footer-explore h2 { grid-column:1/-1; }
 .footer-columns .footer-wordmark { min-height:44px; }
 .footer-brand p { margin:4px 0 0;max-width:360px; }
 .footer-columns :is(a,button) { width:100%;line-height:1.5; }
 .footer-places { margin-top:24px;padding-top:12px; }
 .footer-places>summary { display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;color:var(--gg-text-2);font:600 13.5px/1.5 var(--gg-font-display);cursor:pointer;list-style:none; }
 .footer-places>summary::-webkit-details-marker { display:none; }
 .footer-places>summary:focus-visible { outline:2px solid var(--gg-link);outline-offset:4px;border-radius:var(--gg-radius-xs); }
 .footer-places>summary:active { color:var(--gg-text-1); }
 .footer-places-chevron { flex:none; }
 .footer-places[open] .footer-places-chevron { transform:rotate(180deg); }
 .footer-places[open] .footer-states { padding-top:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px; }
 .footer-states nav { min-width:0;gap:0; }
 .footer-states :is(a,button) { width:100%;line-height:1.5; }
 .footer-states nav>.footer-state-name { min-height:44px;display:flex;align-items:center;margin:0; }
}

@media(hover:hover) and (pointer:fine) {
 .footer-places>summary:hover { color:var(--gg-text-1); }
}
