.service-directory{max-width:1200px;margin:auto;padding:24px 20px 64px;color:var(--text-color-primary)}
.service-directory header{margin:20px 0 24px}.service-directory h1{font:800 clamp(28px,5vw,44px)/1.15 'Nunito',sans-serif;margin:0 0 16px}.service-directory h2{font:700 clamp(23px,3vw,30px)/1.25 'Nunito',sans-serif}.service-directory h3{font:700 22px/1.3 'Nunito',sans-serif}.service-directory p{line-height:1.65;overflow-wrap:anywhere}.service-directory a{color:var(--brand-primary)}
.directory-filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:20px 0}.directory-filters label{display:flex;flex-direction:column;gap:6px;min-width:140px;flex:1}.directory-filters input,.directory-filters select,.directory-filters button{min-height:44px;border:1px solid var(--card-border);border-radius:8px;padding:8px 12px;font:inherit;background:var(--card-bg);color:var(--text-color-primary);max-width:100%}.directory-filters button{background:var(--brand-primary);color:#fff;cursor:pointer}.directory-filters a{padding:10px}
.service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:20px}.service-card{border:1px solid var(--card-border);border-radius:16px;overflow:hidden;background:var(--card-bg)}.service-photo{width:100%;height:210px;object-fit:cover}.service-card-body{padding:20px}.service-card-body h3{margin:0 0 12px}.service-card-body p{margin:8px 0}.service-actions{display:flex;flex-direction:column;gap:12px;margin:20px 0}.service-actions a{min-height:44px;display:flex;align-items:center;overflow-wrap:anywhere}.service-actions .service-primary{background:var(--brand-primary);color:#fff;border-radius:8px;padding:10px 14px;text-decoration:none}.service-card details{margin-top:16px}.service-card summary{cursor:pointer}
.directory-related{display:flex;gap:20px;flex-wrap:wrap;margin:24px 0;align-items:center;padding:20px 0;border-top:1px solid var(--card-border)}.directory-empty{padding:24px;background:var(--card-bg);border-radius:12px}.directory-filters :focus-visible,.service-directory a:focus-visible{outline:3px solid var(--brand-primary);outline-offset:3px}
/* Share photo, heading and action tracks within each row; keep full names and addresses. */
@supports(grid-template-rows:subgrid){
    .service-grid>.service-card,.places-grid>.service-card{display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:0}
    .service-grid>.service-card>.service-photo,.places-grid>.service-card>.service-photo{grid-row:1;align-self:start}
    .service-grid>.service-card>.service-card-body,.places-grid>.service-card>.service-card-body{display:grid;grid-row:2 / span 3;grid-template-rows:subgrid;row-gap:0;min-width:0}
}
.service-card-heading,.service-actions,.service-card-details{min-width:0}
.service-actions>.service-primary{min-height:44px;box-sizing:border-box;display:flex;align-items:center;overflow-wrap:anywhere}
.service-actions>.service-primary--unavailable{background:var(--card-bg);color:var(--text-color-secondary);border:1px dashed var(--card-border);border-radius:8px;padding:10px 14px}
.service-guide.content-card{margin:40px 0;padding:clamp(20px,4vw,40px);border:1px solid var(--card-border);border-radius:16px;background:var(--card-bg)}
.service-guide h2{margin:28px 0 14px}.service-guide h2:first-child{margin-top:0}.service-guide h3{margin:24px 0 10px}.service-guide p{margin:12px 0}.service-guide li{line-height:1.65;margin:8px 0}.service-guide ul{padding-left:24px}
.directory-pagination{display:flex;flex-direction:column;align-items:center;gap:16px;margin:40px 0 24px;color:var(--text-color-primary)}
.directory-pagination .pagination,.directory-pagination .pagination-pages{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}
.directory-pagination .pagination-link{display:flex;align-items:center;justify-content:center;gap:6px;min-width:44px;min-height:44px;padding:8px 12px;box-sizing:border-box;font:500 14px/1.3 'Inter',sans-serif;color:var(--text-color-primary);background:var(--card-bg);border:1px solid var(--card-border);border-radius:8px;text-decoration:none;white-space:nowrap}
.directory-pagination .pagination-link:hover,.directory-pagination .pagination-link-active{background:var(--accent-color);border-color:var(--accent-color);color:#fff;text-decoration:none}
.directory-pagination .pagination-link:focus-visible{outline:3px solid var(--accent-color);outline-offset:3px}
.directory-pagination .pagination-link svg{width:16px;height:16px;flex-shrink:0}
.directory-pagination .pagination-ellipsis{display:flex;align-items:center;justify-content:center;min-width:24px;min-height:44px;color:var(--text-color-secondary)}
.directory-pagination .pagination-info{margin:0;font:400 14px/1.5 'Inter',sans-serif;color:var(--text-color-secondary);text-align:center}
@media(max-width:600px){.directory-pagination .pagination{width:100%}.directory-pagination .pagination-pages{order:3;flex-basis:100%}.directory-pagination .pagination-link{padding:8px;min-width:44px}}
@media(max-width:600px){.service-directory{padding:20px 16px 48px}.directory-filters{display:grid;grid-template-columns:minmax(0,1fr)}.directory-filters label{min-width:0}.directory-filters button{width:100%}.service-grid{grid-template-columns:minmax(0,1fr)}.directory-related{flex-direction:column;align-items:flex-start}}

.directory-filter-panel{margin:16px 0 24px}.directory-filter-panel>summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:600}.service-card p{line-height:1.65;overflow-wrap:anywhere}.service-card a{color:var(--brand-primary)}.service-card h3{font:700 22px/1.3 Nunito,sans-serif;color:var(--text-color-primary)}.adoption-contact .shelter-phone-link{background:var(--brand-primary);color:#fff;border-radius:8px;min-height:44px;padding:10px 14px;display:inline-flex;align-items:center;text-decoration:none;overflow-wrap:anywhere}.adoption-contact svg{display:none}

/* Catalog transitions use the shared seasonal action style. */
.directory-related{gap:12px;padding:24px 0;margin:32px 0 0;align-items:stretch}
.directory-related .btn-primary,.directory-partner .btn-primary{max-width:100%;min-height:44px;box-sizing:border-box;white-space:normal;text-align:center;overflow-wrap:anywhere}
.directory-partner{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:24px}
.directory-partner p{margin:0}
@media(max-width:600px){.directory-related{align-items:stretch}.directory-related .btn-primary{width:100%}.directory-partner{align-items:stretch;flex-direction:column}.directory-partner .btn-primary{width:100%}}
.directory-tools{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.directory-tools .btn-primary{min-height:44px;max-width:100%;box-sizing:border-box;white-space:normal;text-align:center;overflow-wrap:anywhere}
@media(max-width:600px){.directory-tools{flex-direction:column}.directory-tools .btn-primary{width:100%}}
