/* Native details keep every canonical link in the delivered HTML. */
.location-directory { padding: 60px 0; border-top: 1px solid var(--glass-border); }
.location-directory .section-title { text-align: center; font-size: clamp(1.8rem, 3vw, 2.4rem); }
.directory-intro { max-width: 780px; margin: 18px auto 32px; color: var(--text-secondary); text-align: center; }
.location-directory-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; align-items: start; }
.location-directory-state { border: 1px solid var(--glass-border); background: var(--glass); min-width: 0; }
.location-directory-state summary { cursor: pointer; padding: 16px 20px; color: var(--text-primary); font-weight: 600; }
.location-directory-state[open] summary { border-bottom: 1px solid var(--glass-border); }
.location-directory-links { padding: 18px 20px; overflow-wrap: anywhere; }
.location-directory-links a { color: var(--accent-coral); text-decoration: underline; text-underline-offset: .2em; }
.location-directory-links p, .location-directory-links li span { display: block; color: var(--text-secondary); font-size: .86rem; line-height: 1.6; margin-top: 5px; }
.location-directory-links ul { list-style: none; padding: 0; margin: 14px 0 0; }
.location-directory-links li { padding: 12px 0; border-top: 1px solid var(--glass-border); }
.location-directory-state summary:focus-visible, .location-directory-links a:focus-visible { outline: 2px solid var(--accent-coral); outline-offset: 3px; }
@media (max-width: 950px) { .location-directory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .location-directory-grid { grid-template-columns: minmax(0, 1fr); } }
