/* Directory review v1: scoped additions only. */
.directory-page .directory-intro p{max-width:780px}
.directory-page .directory-browse{margin:22px 0 26px}
.directory-page .directory-section-head{margin-bottom:12px}
.directory-page .directory-section-kicker,
.directory-page .directory-results-kicker{display:block;margin:0 0 4px;color:var(--terracotta);font-size:.58rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.directory-page .directory-section-head h2{margin:0;font-family:'Playfair Display',Georgia,serif;font-size:1.55rem;line-height:1.05}
.directory-page .dir-category-grid{margin-bottom:0}
.directory-page .dir-category-card{justify-content:space-between}
.directory-page .dir-category-card[aria-pressed="true"]{background:var(--terracotta);color:var(--paper);border-color:var(--terracotta)}
.directory-page .dir-category-card[aria-pressed="true"] span{color:rgba(255,255,255,.72)}
.directory-page .directory-results-toolbar{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:26px 0 14px;padding-top:18px;border-top:1px solid var(--ink)}
.directory-page .directory-results-count{min-width:0}
.directory-page .directory-results-count p{margin:0;font-family:'Playfair Display',Georgia,serif;font-size:1.3rem;font-weight:700;line-height:1.1}
.directory-page #dir-clear{margin-top:7px;padding:0;border:0;background:transparent;color:var(--terracotta);font:700 .67rem/1.2 'PT Serif',Georgia,serif;text-decoration:underline;cursor:pointer}
.directory-page .directory-results-controls{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.directory-page .directory-results-controls label{display:grid;gap:5px;color:var(--muted);font-size:.58rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.directory-page .directory-results-controls select{min-width:135px;padding:9px 32px 9px 11px;border:1px solid var(--ink);border-radius:999px;background:var(--paper);color:var(--ink);font:400 .72rem/1.2 'PT Serif',Georgia,serif;text-transform:none;letter-spacing:0}
.directory-page .dir-card{display:flex;flex-direction:column}
.directory-page .dir-card-visual{display:block;width:100%;background:var(--shade)}
.directory-page .dir-card-visual .dir-card-media,
.directory-page .dir-card-visual .dir-card-noimg{width:100%;height:142px;margin:0;border:0;border-bottom:1px solid var(--line-soft)}
.directory-page .dir-card-visual .dir-card-media{display:block;object-fit:cover;background:var(--shade)}
.directory-page .dir-card-visual .dir-card-media.is-contain{object-fit:contain;padding:12px;box-sizing:border-box;background:var(--paper)}
.directory-page .dir-card-visual .dir-card-noimg{display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',Georgia,serif;font-size:2.4rem;font-weight:700;color:var(--muted)}
.directory-page .dir-card-body{display:flex;flex:1;flex-direction:column;padding:13px 14px 14px}
.directory-page .dir-card-cat,
.directory-page .dir-card-name,
.directory-page .dir-card-desc,
.directory-page .dir-card-loc,
.directory-page .dir-card-events{padding:0}
.directory-page .dir-card-name{margin-top:4px;font-size:1.02rem}
.directory-page .dir-card-desc{display:-webkit-box;overflow:hidden;margin-top:7px;color:var(--muted);font-size:.65rem;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.directory-page .dir-card-loc{margin-top:9px;color:var(--muted);font-size:.62rem;line-height:1.35}
.directory-page .dir-card-events{margin-top:auto;padding-top:11px;color:var(--terracotta);font-size:.6rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
@media(max-width:620px){
  .directory-page .directory-browse{margin-top:18px}
  .directory-page .directory-section-head h2{font-size:1.35rem}
  .directory-page .directory-results-toolbar{align-items:stretch;flex-direction:column;gap:12px;margin-top:22px}
  .directory-page .directory-results-controls{display:grid;grid-template-columns:1fr 1fr;width:100%;justify-content:stretch}
  .directory-page .directory-results-controls select{width:100%;min-width:0}
}
@media(max-width:519px){
  .directory-page .dir-grid{grid-template-columns:1fr;gap:10px}
  .directory-page .dir-card{display:grid;grid-template-columns:112px minmax(0,1fr);min-height:132px}
  .directory-page .dir-card-visual{height:100%;min-height:132px}
  .directory-page .dir-card-visual .dir-card-media,
  .directory-page .dir-card-visual .dir-card-noimg{height:100%;min-height:132px;border-right:1px solid var(--line-soft);border-bottom:0}
  .directory-page .dir-card-body{padding:12px 13px}
  .directory-page .dir-card-name{font-size:1rem}
  .directory-page .dir-card-desc{-webkit-line-clamp:2}
  .directory-page .dir-card-events{margin-top:8px;padding-top:0}
}

/* v1.2: event badge spacing. New filename intentionally busts cached v1 CSS. */
.directory-page .dir-card-events{
  display:inline-flex;
  align-items:center;
  align-self:flex-start;
  width:max-content;
  max-width:100%;
  margin-top:10px;
  padding:6px 10px !important;
  box-sizing:border-box;
  border:1px solid var(--terracotta);
  line-height:1.15;
}
@media(max-width:519px){
  .directory-page .dir-card-events{
    margin-top:8px;
    padding:6px 9px !important;
  }
}


/* v1.3: featured directory listings. */
.directory-page .dir-card.is-featured{border-color:var(--terracotta);box-shadow:inset 0 3px 0 var(--terracotta)}
.directory-page .dir-card-featured{
  display:inline-flex;align-items:center;align-self:flex-start;width:max-content;margin:0 0 5px;
  padding:4px 7px;background:var(--terracotta);color:var(--paper);font-size:.5rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;line-height:1;
}
@media(max-width:519px){
  .directory-page .dir-card-featured{margin-bottom:4px}
}
