/* City-page-only components. The locked homepage and shared stylesheet are unchanged. */
.city-page .city-eyebrow{margin:0 0 12px;color:#246F46;font-weight:800;font-size:15px;letter-spacing:.02em}
.city-page .hero .crumbs{margin-bottom:22px;font-size:13px}
.city-page .hero .crumbs a{color:#246F46}
.city-page .hero h1{font-size:clamp(32px,4vw,52px)}
.city-page .hero-intro{max-width:40rem}
.city-page .city-local{background:var(--alt);padding:100px 0}
.city-page .city-local h2{font-family:var(--disp);font-size:clamp(34px,4.3vw,48px);font-weight:800;line-height:1.13;color:var(--text)}
.city-page .city-local .city-why{font-size:18px;line-height:1.6}
.city-page .local-list{background:var(--tile);box-shadow:0 1px 0 var(--line)}
.city-page .city-steps-sec{padding:108px 0}
.city-page .city-steps-sec .h2{font-size:clamp(36px,5.2vw,56px);font-weight:800}
.city-page .city-steps-sec .lede{max-width:65ch}
.city-page .city-steps-sec .table-wrap{max-width:100%;overflow-x:auto}
.city-page .city-steps-sec table{min-width:480px;width:100%}
.city-page .city-local + .city-steps-sec{padding-top:112px}
.city-page .city-steps-sec + .city-local{background:var(--alt)}
.city-page .city-faq{background:var(--alt);padding:120px 0}
.city-page .city-faq .faq-grid{max-width:820px}
.city-page .city-more{padding:108px 0;background:var(--bg)}
.city-page .city-more .more-grid h2{font-family:var(--disp);font-size:clamp(26px,3vw,34px);font-weight:800;line-height:1.18}
.city-page .city-more .guide-list a:hover{color:#246F46}
.city-page .city-more a.fchip:hover{color:#246F46}
.city-page .area-card[aria-current="page"]{border:1px solid rgba(36,111,70,.35)}
.city-page .pricing .bookcard .fine a{color:inherit}
@media(max-width:980px){
 .city-page .city-grid,.city-page .more-grid{grid-template-columns:1fr;gap:28px}
 .city-page .city-local{padding:84px 0}
 .city-page .city-steps-sec{padding:90px 0}
}
@media(max-width:600px){
 .city-page .hero .crumbs{margin-bottom:18px}
 .city-page .city-local{padding:72px 0}
 .city-page .city-steps-sec{padding:80px 0}
 .city-page .city-faq{padding:84px 0}
 .city-page .city-more{padding:72px 0}
 .city-page .local-list{padding:8px 20px}
 .city-page .city-local h2{font-size:34px}
}
/* On phones, keep detailed city-specific collection tables scrollable inside their own section. */
.city-page .city-steps-sec .cmp{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.city-page .city-steps-sec .cmp table{min-width:480px}
/* City-only schedule: present one full-width detail per row on phones. */
@media(max-width:600px){
  .city-page .city-steps-sec .cmp table{min-width:0}
  .city-page .city-steps-sec .cmp tr{grid-template-columns:1fr}
  .city-page .city-steps-sec .cmp th[scope=row]{grid-column:1;padding:16px 16px 2px}
  .city-page .city-steps-sec .cmp td{grid-column:1;padding:4px 16px 16px}
  .city-page .city-steps-sec .cmp td::before{display:none}
}
