/* NPS City Pages — additions on top of the theme's main.css */
.nps-city-page .section-lede { max-width: 720px; color: var(--color-text-secondary); margin-bottom: 1.5rem; }
.nps-city-page .check-list { list-style: none; padding: 0; margin: 0 0 1rem; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: .5rem 1.25rem; }
.nps-city-page .check-list li { position: relative; padding-left: 1.6rem; }
.nps-city-page .check-list li::before { content: "\2713"; position: absolute; left: 0; color: var(--color-success); font-weight: 700; }

.entity-list { list-style: none; padding: 0; margin: 1rem 0 0; display: flex; flex-wrap: wrap; gap: .5rem .75rem; }
.entity-list--cols { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: .4rem 1.5rem; }
.entity-list li { background: var(--color-bg); border: 1px solid var(--color-border); border-radius: var(--radius); padding: .45rem .8rem; }
.entity-list--cols li { border: 0; background: none; padding: .15rem 0; }
.entity-list__name { font-weight: 600; }
.entity-link { font-size: .8rem; margin-left: .35rem; color: var(--color-accent-text); text-decoration: underline; }
.state-letter { margin: 1.75rem 0 .25rem; font-family: var(--font-display); color: var(--color-secondary); }

.landmark-card__meta { color: var(--color-text-secondary); font-size: .9rem; margin: .25rem 0 .5rem; }

.nps-city-page .location-nap__map.city-map { width: 100%; max-width: 420px; }
.nps-city-page .location-nap__map.city-map iframe { width: 100%; max-width: none; height: 260px; max-height: none; border: 0; border-radius: var(--radius); }

.city-video { margin-top: 2rem; max-width: 640px; }
.city-video__btn { position: relative; display: block; width: 100%; padding: 0; border: 0; border-radius: var(--radius); overflow: hidden; cursor: pointer; background: #000; aspect-ratio: 16 / 9; }
.city-video__btn img { width: 100%; height: 100%; object-fit: cover; opacity: .9; }
.city-video__play { position: absolute; inset: 0; margin: auto; width: 64px; height: 64px; border-radius: 50%; background: var(--color-accent); color: var(--color-primary); display: flex; align-items: center; justify-content: center; font-size: 1.4rem; padding-left: 4px; }
.city-video iframe { width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: var(--radius); }
.city-video__caption { font-size: .9rem; color: var(--color-text-secondary); margin: .5rem 0 0; }

.routes { padding-block: clamp(48px, 7vw, 88px); background: var(--color-bg-alt); }
.routes__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1.25rem; margin-top: 1.5rem; }
.route { margin: 0; background: var(--color-bg); border: 1px solid var(--color-border); border-radius: var(--radius); overflow: hidden; }
.route iframe { display: block; width: 100%; height: 300px; border: 0; }
.route figcaption { padding: .9rem 1.1rem; font-size: .95rem; color: var(--color-text-secondary); }
.route figcaption strong { color: var(--color-text); }

.nearby, .nps-city-page .faq { padding-block: clamp(40px, 6vw, 72px); }
.lead-form { margin: 2rem auto 0; max-width: 620px; }
.lead-form iframe { width: 100%; min-height: 545px; border: 0; background: #fff; border-radius: var(--radius); }

.stat__stars { letter-spacing: .12em; color: var(--color-accent); }
.hero-form { background: var(--color-bg); border: 1px solid var(--color-border); border-radius: var(--radius); box-shadow: var(--shadow-md); padding: 1.25rem 1.25rem 0; align-self: start; }
.hero-form__title { font-size: 1.25rem; margin: 0 0 .75rem; }
.hero-form iframe { width: 100%; min-height: 545px; border: 0; background: #fff; }
.pests-local, .climate { padding-block: clamp(40px, 6vw, 72px); }
.climate { background: var(--color-bg-alt); }
.climate__grid { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2rem; align-items: start; }
.climate__now { background: var(--color-bg); padding: 1.25rem 1.5rem; border-radius: var(--radius); border: 1px solid var(--color-border); }
.area-subhead { margin: 2rem 0 .5rem; font-size: 1.15rem; }
.explore { padding-block: clamp(40px, 6vw, 72px); background: var(--color-bg-alt); }
.explore__list { list-style: none; padding: 0; margin: 1.25rem 0 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: .6rem 1.5rem; }
.explore__list a { font-weight: 600; }
.generic-page__content p a, .section-lede a, .service-card p a { color: var(--color-accent-text); text-decoration: underline; }
@media (max-width: 800px) { .climate__grid { grid-template-columns: 1fr; } }

/* --- Banner background image with readable text --- */
.nps-city-page .hero--has-bg {
	background:
		linear-gradient(90deg, rgba(14, 24, 20, .94) 0%, rgba(14, 24, 20, .84) 42%, rgba(14, 24, 20, .62) 100%),
		var(--hero-bg) right center / cover no-repeat;
	color: #fff;
}
.nps-city-page .hero--has-bg .kicker,
.nps-city-page .hero--has-bg .kicker a { color: #F0CE7A; }
.nps-city-page .hero--has-bg .hero__headline { color: #fff; text-shadow: 0 2px 12px rgba(0, 0, 0, .35); }
.nps-city-page .hero--has-bg .hero__sub { color: #EEF3F0; }
.nps-city-page .hero--has-bg .hero__trust-row { color: #DCE6E0; border-top-color: rgba(255, 255, 255, .25); }
.nps-city-page .hero--has-bg .btn--ghost { color: #fff; border-color: rgba(255, 255, 255, .75); background: transparent; }
.nps-city-page .hero--has-bg .btn--ghost:hover { background: rgba(255, 255, 255, .12); }
@media (max-width: 800px) {
	.nps-city-page .hero--has-bg { background: linear-gradient(rgba(14, 24, 20, .9), rgba(14, 24, 20, .86)), var(--hero-bg) center / cover no-repeat; }
}

/* --- Pest photo gallery --- */
.pest-gallery { padding-block: clamp(40px, 6vw, 72px); }
.pest-gallery__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.25rem; margin-top: 1.5rem; }
.pest-card { margin: 0; background: var(--color-bg); border: 1px solid var(--color-border); border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-sm); }
.pest-card img { display: block; width: 100%; height: 190px; object-fit: cover; }
.pest-card figcaption { padding: .8rem 1rem 1rem; font-weight: 600; }
.pest-card__credit { display: block; margin-top: .3rem; font-size: .75rem; font-weight: 400; color: var(--color-text-secondary); }

.area-split { align-items: start; }
.entity-list__mi { margin-left: .4rem; font-size: .8rem; color: var(--color-text-secondary); }

.nps-city-page .location-nap__map.city-map--wide { max-width: 640px; }
.nps-city-page .location-nap__map.city-map--wide iframe { height: 340px; }
.letter-nav { display: flex; flex-wrap: wrap; gap: .4rem .6rem; margin: 1rem 0 .5rem; }
.letter-nav a { display: inline-block; min-width: 2rem; padding: .25rem .5rem; text-align: center; border: 1px solid var(--color-border); border-radius: var(--radius); font-weight: 700; background: var(--color-bg); }
.state-letter { scroll-margin-top: 90px; }

/* v1.4 trusted resources */
.resources{padding:3.5rem 0;background:var(--nps-surface,#f1f3f2)}
.resources__list{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}
.resources__list li{background:#fff;border-radius:12px;padding:1.1rem 1.25rem;box-shadow:0 1px 3px rgba(0,0,0,.06);display:flex;flex-direction:column;gap:.35rem}
.resources__list a{font-weight:600}.resources__list span{font-size:.92rem;opacity:.8}
.resources__about{margin-top:1.5rem}.resources__place{display:inline-flex;gap:.5rem;align-items:center;margin-right:1.25rem}
