/* Every selector is scoped to the dedicated venue directory. */
body.dd-venue-page #directory-filters { margin: 0 !important; }
body.dd-venue-page .venue-filter { padding: clamp(16px,2.5vw,28px); border: 1px solid var(--dd-line); border-radius: 16px; background: var(--dd-surface); }
body.dd-venue-page .venue-filter-heading { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: start; gap: 12px; margin-bottom: 20px; }
body.dd-venue-page .venue-filter-heading h1 { margin: 0 0 6px; font-size: clamp(1.5rem,3vw,2rem); line-height: 1.2; color: var(--dd-text); }
body.dd-venue-page .venue-filter-heading p { margin: 0; font-size: 14px; color: var(--dd-muted-strong); }
body.dd-venue-page .venue-all { color: var(--dd-nav-active); font-size: 13px; min-height: 44px; display: inline-flex; align-items: center; }
body.dd-venue-page .venue-types { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 8px; margin-bottom: 22px; }
body.dd-venue-page .venue-types a { display: flex; align-items: center; justify-content: center; min-height: 52px; padding: 10px 8px; border: 1px solid var(--dd-line); border-radius: 10px; background: var(--dd-surface-2); color: var(--dd-text); text-align: center; text-decoration: none; font: 650 13px/1.4 Inter,"Segoe UI",system-ui,sans-serif; }
body.dd-venue-page .venue-types a:hover,
body.dd-venue-page .venue-types a[aria-current="page"] { background: var(--dd-pink-soft); border-color: var(--dd-pink); color: var(--dd-nav-active); }
body.dd-venue-page .venue-types a[aria-current="page"] { box-shadow: inset 0 -3px 0 var(--dd-pink); }
body.dd-venue-page #directory-filters .venue-types a { font-size: 13px !important; text-transform: none !important; letter-spacing: normal !important; }
body.dd-venue-page .venue-fields { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.25fr) minmax(140px,.6fr); gap: 16px; }
body.dd-venue-page .venue-fields label { display: grid; gap: 8px; margin: 0; font-size: 13px; font-weight: 650; color: var(--dd-label); }
body.dd-venue-page .venue-fields :is(input,select) { width: 100%; min-width: 0; min-height: 48px; padding: 12px; border: 1px solid var(--dd-line-strong); border-radius: 10px; background: var(--dd-input); color: var(--dd-text); font: 400 16px/1.4 Inter,"Segoe UI",system-ui,sans-serif; }
body.dd-venue-page .venue-filter-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-top: 20px; }
body.dd-venue-page .venue-help { max-width: 650px; margin: 0; color: var(--dd-muted); font-size: 12px; line-height: 1.5; }
body.dd-venue-page .venue-actions { display: flex; flex-wrap: wrap; gap: 8px; }
body.dd-venue-page .venue-actions :is(button,a),
body.dd-venue-page .venue-more { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 16px; font-size: 14px; line-height: 1.4; }
body.dd-venue-page .venue-results-heading { margin: 32px 0 12px; font-size: clamp(1.5rem,2.5vw,2rem); }
body.dd-venue-page #directory-status { font-size: 14px; line-height: 1.6; }
body.dd-venue-page .venue-card { overflow: hidden; padding: 0; border: 1px solid var(--dd-line); border-radius: 14px; background: var(--dd-surface); }
body.dd-venue-page .venue-card-photo { display: grid; place-items: center; aspect-ratio: 4/3; background: var(--dd-surface-2); color: var(--dd-nav-active); font-size: 2rem; }
body.dd-venue-page .venue-card-photo img { width: 100%; height: 100%; object-fit: cover; }
body.dd-venue-page .venue-card-body { padding: 18px; }
body.dd-venue-page .venue-card h3 { margin: 0 0 10px; font-size: 18px; }
body.dd-venue-page .venue-card h3 a { color: var(--dd-text); text-decoration: none; }
body.dd-venue-page .venue-card p { font-size: 14px; color: var(--dd-muted-strong); }
body.dd-venue-page .venue-card-type { font-size: 12px; color: var(--dd-nav-active); }
body.dd-venue-page .venue-more { margin-top: 20px; }
body.dd-venue-page :is(a,button,input,select):focus-visible { outline: 2px solid var(--dd-pink); outline-offset: 3px; }
@media(max-width:1000px) { body.dd-venue-page .venue-types { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media(max-width:620px) {
  body.dd-venue-page .venue-types { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.dd-venue-page .venue-fields { grid-template-columns: minmax(0,1fr); }
  body.dd-venue-page .venue-actions { width: 100%; }
  body.dd-venue-page .venue-actions > * { flex: 1; }
}
