/* Scoped directory styles preserve approved homepage, header and service cards. */
.pest-filters { display: flex; flex-wrap: wrap; gap: .5rem; margin-block: 1.5rem; }
.pest-filters button, .pest-filters a { display: inline-flex; align-items: center; min-height: 44px; padding: .5rem .85rem; border: 1px solid #66776c; border-radius: 2px; background: #050706; color: #fff; text-decoration: none; font: inherit; }
.pest-filters [aria-pressed="true"], .pest-filters [aria-current], .pest-filters button:hover, .pest-filters a:hover { color: #fff; background: #08783e; border-color: #08783e; }
.pest-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; grid-auto-rows: 1fr; align-content: start; }
.pest-card { display: flex; flex-direction: column; min-width: 0; border: 1px solid #dce4dd; background: #fff; overflow-wrap: anywhere; }
.pest-card .card-media { position: relative; aspect-ratio: 1; background: #0d1811; }
.pest-card .card-media > * { position: absolute; inset: 0; width: 100%; height: 100%; }
.pest-card .ecosafe-media { object-fit: contain; }
.pest-placeholder { display: grid; place-items: center; background: #0d1811; color: #c5d4ca; }
.pest-placeholder span { border-bottom: 2px solid #24b45a; padding: .5rem; font-size: .85rem; letter-spacing: .08em; }
.pest-card .card-copy { display: flex; flex: 1; flex-direction: column; padding: 1.25rem; }
.pest-card h3 { font-size: 1.2rem; margin-block: .25rem .75rem; }
.pest-card .card-copy p { color: #536157; font-size: .95rem; }
.pest-card .card-copy .pest-category { font-size: .75rem; color: #075c31; margin: 0; }
.pest-coming-soon, .pest-card .text-link { margin-top: auto; padding-top: .65rem; font-size: .9rem; }
.pest-coming-soon { color: #536157; }
.pest-home-results { position: relative; }
.pest-home-results > .pest-empty { position: absolute; top: 0; left: 0; right: 0; padding: 1rem; }
.pest-contact { margin-top: 2rem; padding: 1.5rem; background: #f0f4f1; }
.pest-pagination { display: flex; flex-wrap: wrap; gap: .75rem; }
.pest-pagination > * { min-width: 44px; min-height: 44px; padding: .5rem; }
.pest-detail .entry-image { max-height: 28rem; width: auto; object-fit: contain; }
.pest-detail section { margin-block: 2rem; }
@media (max-width: 74.99rem) { .pest-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 29.99rem) { .pest-grid { grid-template-columns: minmax(0, 1fr); } }

.pest-featured { max-width: 28rem; }
.pest-featured img { width: 100%; height: auto; }
