/* FIND A PRO — page-specific styles. Keep existing styles.css unchanged. */
.directory-intro{background:var(--cream,#f3efe6);padding:46px 0 84px}
.directory-breadcrumb{display:flex;gap:12px;color:var(--muted,#666c64);font-size:13px;margin-bottom:65px}
.directory-breadcrumb a{text-decoration:underline;text-underline-offset:4px}
.directory-intro .eyebrow{margin-bottom:24px}
.directory-intro-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:80px;align-items:end}
.directory-intro h1{font-size:clamp(54px,6.5vw,92px);font-weight:500;line-height:.99;letter-spacing:-.055em;margin:0;text-wrap:balance}
.directory-intro h1 span{color:#707a70}
.directory-intro-layout>p{font-size:17px;line-height:1.7;color:var(--muted,#666c64);max-width:420px;margin:0 0 5px}
.directory-main{background:var(--warm-white,#faf8f3);padding:0 0 105px}
.directory-filter-bar{position:relative;top:-29px;background:#fff;box-shadow:0 14px 42px rgba(29,41,32,.09);padding:24px;display:grid;grid-template-columns:1fr 1fr auto;gap:18px;align-items:end}
.directory-filter label{display:block;font-size:12px;font-weight:700;margin-bottom:10px;color:var(--green,#33483b)}
.directory-filter select{width:100%;border:1px solid var(--line,#d8d4ca);border-radius:0;background:#fff;color:var(--ink,#20231f);font:inherit;font-size:16px;min-height:53px;padding:0 14px;cursor:pointer}
.directory-filter select:focus-visible,.clear-filters:focus-visible{outline:3px solid #86a693;outline-offset:2px}
.clear-filters{min-height:53px;border:1px solid var(--line,#d8d4ca);background:transparent;padding:0 20px;cursor:pointer;font-weight:700;font-size:13px;color:var(--green,#33483b)}
.clear-filters:hover{background:var(--cream,#f3efe6)}
.directory-results-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin:42px 0 32px}
.directory-results-heading .eyebrow{margin-bottom:14px}
.directory-results-heading h2{font-size:clamp(37px,4.4vw,60px);line-height:1.05;margin:0 0 13px;text-wrap:balance}
.results-count{font-size:15px;color:var(--muted,#666c64);margin:0}
.directory-results-note{max-width:260px;font-size:14px;line-height:1.55;color:var(--muted,#666c64);margin:0 0 5px}
.directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}
.directory-card{background:#fff;min-width:0;overflow:hidden}
.directory-card>img{display:block;width:100%;height:245px;object-fit:cover;background:#e7e0d3}
.directory-card-body{padding:26px}
.directory-card-city{text-transform:uppercase;letter-spacing:.11em;color:var(--green,#33483b);font-weight:700;font-size:11px;margin-bottom:14px}
.directory-card h3{font-weight:500;font-size:25px;line-height:1.15;letter-spacing:-.03em;margin-bottom:12px;text-wrap:balance}
.directory-card-services{color:var(--ink,#20231f);font-size:14px;line-height:1.55;margin-bottom:20px}
.directory-card-areas{font-size:13px;line-height:1.6;color:var(--muted,#666c64);margin-bottom:25px}
.directory-card-areas strong{color:var(--ink,#20231f)}
.directory-card-status{font-size:12px;color:var(--green,#33483b);font-weight:700;border-top:1px solid var(--line,#d8d4ca);padding-top:16px;display:block}
.directory-empty{background:#fff;padding:48px 30px;text-align:center}
.directory-empty[hidden]{display:none}
.directory-empty h3{font-size:26px;font-weight:500}
.directory-empty p{color:var(--muted,#666c64);font-size:16px}
.directory-empty button{border:0;background:var(--green,#33483b);color:#fff;padding:17px 25px;cursor:pointer}
.directory-disclaimer{margin:40px 0 0;font-size:13px;line-height:1.6;color:var(--muted,#666c64);max-width:800px}
.directory-bottom{background:var(--sand,#e7e0d3);padding:90px 0}
.directory-bottom-inner{display:grid;grid-template-columns:1.3fr .7fr;gap:75px;align-items:end}
.directory-bottom h2{font-size:clamp(42px,5vw,67px);margin:0}
.directory-bottom-inner>p{font-size:17px;line-height:1.7;color:var(--muted,#666c64);margin:0}
@media(max-width:1000px){.directory-intro-layout{grid-template-columns:1fr;gap:24px}.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-bottom-inner{grid-template-columns:1fr;gap:30px}}
@media(max-width:650px){.directory-intro{padding:30px 0 65px}.directory-breadcrumb{margin-bottom:42px}.directory-intro h1{font-size:clamp(42px,11vw,60px)}.directory-intro-layout>p{font-size:16px}.directory-filter-bar{grid-template-columns:1fr;gap:16px;padding:20px;top:-22px}.directory-results-heading{display:block;margin:27px 0}.directory-results-note{margin-top:15px}.directory-grid{grid-template-columns:1fr}.directory-card>img{height:245px}.directory-main{padding-bottom:75px}.directory-bottom{padding:70px 0}}

.directory-card-image-link{display:block;overflow:hidden}.directory-card-image-link img{display:block;width:100%;height:245px;object-fit:cover}.directory-card h3 a:hover{text-decoration:underline;text-underline-offset:4px}.directory-card-image-link:focus-visible,.directory-card h3 a:focus-visible{outline:3px solid var(--green);outline-offset:3px}

/* Optional business logos: photographs remain primary. */
.directory-card-identity{display:flex;align-items:center;gap:16px;margin-bottom:15px;min-width:0}.directory-card-identity-text{min-width:0}.directory-card-identity .directory-card-city{margin-bottom:8px}.directory-card-identity h3{margin-bottom:0}.directory-card-logo{width:76px;height:76px;flex:0 0 76px;display:grid;place-items:center;background:#f7f5ef;border:1px solid var(--line,#d8d4ca);padding:8px}.directory-card-logo img{display:block;width:100%;height:100%;object-fit:contain}.directory-card-identity:not(:has(.directory-card-logo)){display:block}.directory-card-identity:not(:has(.directory-card-logo)) h3{margin-bottom:0}@media(max-width:650px){.directory-card-logo{width:68px;height:68px;flex-basis:68px}}

/* Logo frame containment fix: keep uploaded logos within their designated frame. */
.directory-card-logo {
  box-sizing: border-box;
  overflow: hidden;
  min-width: 0;
  padding: 12px;
}
.directory-card-logo > img {
  display: block;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
}
@media (max-width: 650px) {
  .directory-card-logo { padding: 10px; }
}
