/* Shared additions for static city guides. Base components remain in style.css. */
.city-hero::before { pointer-events: none; }
.city-page .header-inner { padding: .85rem 1.25rem; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: .65rem; margin-bottom: 2rem; color: var(--slate-600); font-size: .85rem; position: relative; }
.breadcrumbs a { text-decoration: underline; text-underline-offset: 3px; }
.city-hero-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 3rem; align-items: start; position: relative; }
.city-hero .hero-desc { max-width: 620px; }
.city-hero .hero-btns { margin-bottom: 1rem; }
.city-disclaimer { max-width: 580px; font-size: .85rem; color: var(--slate-600); }
.centre-card { padding: 1.75rem; background: white; border: 1px solid var(--blue-100); border-radius: 18px; box-shadow: 0 16px 32px #0f172a0a; }
.centre-card h2 { font-size: 1.15rem; line-height: 1.4; margin-bottom: 1rem; }
.centre-card p { color: var(--slate-600); margin-bottom: .7rem; font-size: .95rem; }
.centre-card .centre-address { font-size: 1.1rem; font-weight: 700; color: var(--navy); }
.text-link { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
.centre-card .review-date { font-size: .78rem; margin: 1.2rem 0 0; padding-top: 1rem; border-top: 1px solid var(--slate-200); }
.city-toc { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; padding-top: 1.25rem; padding-bottom: 1.25rem; border-bottom: 1px solid var(--slate-200); }
.city-toc a { color: var(--blue-dark); font-size: .9rem; font-weight: 600; }
.city-reading { max-width: 780px; margin-left: auto; margin-right: auto; }
.city-reading h2 { font-size: clamp(1.35rem, 3vw, 1.9rem); line-height: 1.3; margin-bottom: 1.2rem; }
.city-reading p { margin-bottom: 1rem; color: var(--slate-600); line-height: 1.8; }
.city-reading a:not(.btn), .source-note a { color: var(--blue-dark); text-decoration: underline; text-underline-offset: 3px; }
.city-reading .source-note { font-size: .85rem; }
.queue-steps { list-style: decimal; padding-left: 1.5rem; color: var(--slate-600); }
.queue-steps li { margin-bottom: 1rem; padding-left: .35rem; line-height: 1.8; }
.queue-steps strong { color: var(--navy); }
.city-page .faq-list { max-width: 740px; }
.city-related { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.city-related-intro { color: var(--slate-600); margin-bottom: 1.5rem; }
.city-page section[id] { scroll-margin-top: 6rem; }
.city-page .footer-text { color: var(--slate-300); }
@media (max-width: 767px) {
  .city-hero-grid { grid-template-columns: 1fr; gap: 1.75rem; }
  .city-related { grid-template-columns: 1fr; }
  .city-page .sec { padding: 2.5rem 0; }
  .city-page .header .btn { padding: .65rem .75rem; font-size: .8rem; }
  .city-page .logo { font-size: .9rem; gap: .35rem; }
  .city-page .header-inner { gap: .5rem; }
  .centre-card { padding: 1.25rem; }
}
