/* WeddingZa V29: horizontal venue filtering with three-card desktop marketplace.
   Scoped only to the venue directory, not the individual venue pages. */
html body.vision-site .wz-venue-market.wzvl-page .wzvl-wrap {
  width:min(1460px,calc(100% - 80px));
}
html body.vision-site .wz-venue-market.wzvl-page .wzvl-fullwidth-shell {
  display:block;
  grid-template-columns:none;
  gap:0;
}
html body.vision-site .wz-venue-market.wzvl-page .wzvl-top-filters {
  position:relative;
  padding:23px 26px 15px;
  margin:0 0 36px;
  background:#fff;
  border:1px solid #e9dfe4;
  border-radius:18px;
  box-shadow:0 12px 34px rgba(65,36,50,.065);
}
html body.vision-site .wz-venue-market.wzvl-page .wzvl-top-filters-title {
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  margin-bottom:15px;
}
html body.vision-site .wz-venue-market.wzvl-page .wzvl-filter-kicker {
  color:#753551;font:800 11px/1.5 Manrope,Arial,sans-serif;letter-spacing:.12em;
}
html body.vision-site .wz-venue-market.wzvl-page .wzvl-top-filters-title p {
  margin:0;color:#776b74;font:500 12px/1.5 Manrope,Arial,sans-serif;
}
html body.vision-site .wz-venue-market.wzvl-page .wzvl-top-filter-row {
  display:grid;
  grid-template-columns:minmax(215px,1.38fr) repeat(3,minmax(155px,1fr)) minmax(140px,.74fr);
  align-items:end;
  gap:12px;
}
html body.vision-site .wz-venue-market.wzvl-page .wzvl-top-filter-row .vc-field {
  min-width:0; margin:0;
}
html body.vision-site .wz-venue-market.wzvl-page .wzvl-top-filter-row .vc-field > span {
  font-size:11px;font-weight:800;color:#65535d;margin-bottom:1px;
}
html body.vision-site .wz-venue-market.wzvl-page .wzvl-top-filter-row .vc-field :is(select,input) {
  min-height:48px;background:#fff;border-color:#e6dce1;border-radius:10px;font-size:12px;
}
html body.vision-site .wz-venue-market.wzvl-page .wzvl-find-button {
  width:100%;min-height:48px;border-radius:10px;font-size:12px;
}
html body.vision-site .wz-venue-market.wzvl-page .wzvl-filter-bottom {
  display:flex;justify-content:space-between;align-items:start;gap:20px;
  padding-top:13px;
}
html body.vision-site .wz-venue-market.wzvl-page .wzvl-advanced-filters {
  min-width:0;flex:1;
}
html body.vision-site .wz-venue-market.wzvl-page .wzvl-advanced-filters > summary {
  display:inline-flex;align-items:center;gap:8px;list-style:none;cursor:pointer;
  color:#763751;font:800 12px/1.55 Manrope,Arial,sans-serif;padding:6px 0;
}
html body.vision-site .wz-venue-market.wzvl-page .wzvl-advanced-filters > summary::-webkit-details-marker {display:none}
html body.vision-site .wz-venue-market.wzvl-page .wzvl-more-icon {
  display:inline-grid;place-items:center;width:22px;height:22px;
  border-radius:6px;background:#f8eef2;font-size:15px;line-height:1;
}
html body.vision-site .wz-venue-market.wzvl-page .wzvl-advanced-filters[open] .wzvl-more-icon {transform:rotate(45deg)}
html body.vision-site .wz-venue-market.wzvl-page .wzvl-more-label {
  font:600 11px/1.5 Manrope,Arial,sans-serif;color:#9b8793;
}
html body.vision-site .wz-venue-market.wzvl-page .wzvl-advanced-fields {
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) minmax(135px,.8fr);
  align-items:end;gap:12px;margin-top:16px;padding:17px 0 14px;
  border-top:1px solid #f1e9ed;
}
html body.vision-site .wz-venue-market.wzvl-page .wzvl-advanced-fields .vc-field {margin:0}
html body.vision-site .wz-venue-market.wzvl-page .wzvl-advanced-fields .vc-field :is(select,input) {min-height:42px;font-size:12px}
html body.vision-site .wz-venue-market.wzvl-page .wzvl-advanced-apply {min-height:42px}
html body.vision-site .wz-venue-market.wzvl-page .wzvl-advanced-filters .wzvl-filter-footnote {
  display:block;font-size:11px;margin:0 0 3px;padding:0;border:0;color:#8a7c83;
}
html body.vision-site .wz-venue-market.wzvl-page .wzvl-filter-utilities {
  display:flex;align-items:center;justify-content:flex-end;gap:14px;padding:4px 0;flex-shrink:0;
}
html body.vision-site .wz-venue-market.wzvl-page .wzvl-filter-applied {
  font-size:11px;color:#765165;background:#faf0f4;padding:6px 10px;border-radius:999px;
}
html body.vision-site .wz-venue-market.wzvl-page .wzvl-clear {
  white-space:nowrap;padding:6px 0;font-size:11px;
}
html body.vision-site .wz-venue-market.wzvl-page .wzvl-results {min-width:0;width:100%}
html body.vision-site .wz-venue-market.wzvl-page .wzvl-card-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;align-items:stretch;
}
html body.vision-site .wz-venue-market.wzvl-page .wzvl-card {
  border-radius:16px;box-shadow:0 5px 22px #472d3a0b;
}
html body.vision-site .wz-venue-market.wzvl-page .wzvl-card-content {padding:16px 17px 17px}
html body.vision-site .wz-venue-market.wzvl-page .wzvl-card h3 {font-size:27px;line-height:1.09}
html body.vision-site .wz-venue-market.wzvl-page .wzvl-card-summary {font-size:11px}
@media(max-width:1180px) {
  html body.vision-site .wz-venue-market.wzvl-page .wzvl-wrap {width:calc(100% - 48px)}
  html body.vision-site .wz-venue-market.wzvl-page .wzvl-top-filter-row {
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  html body.vision-site .wz-venue-market.wzvl-page .wzvl-filter-search {grid-column:span 2}
  html body.vision-site .wz-venue-market.wzvl-page .wzvl-find-button {grid-column:span 2}
  html body.vision-site .wz-venue-market.wzvl-page .wzvl-advanced-fields {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  html body.vision-site .wz-venue-market.wzvl-page .wzvl-card-grid {gap:15px}
  html body.vision-site .wz-venue-market.wzvl-page .wzvl-card-content {padding:14px}
  html body.vision-site .wz-venue-market.wzvl-page .wzvl-card h3 {font-size:25px}
}
@media(max-width:900px) {
  html body.vision-site .wz-venue-market.wzvl-page .wzvl-top-filters {padding:19px 20px 12px;margin-bottom:27px}
  html body.vision-site .wz-venue-market.wzvl-page .wzvl-top-filters-title {align-items:start;flex-direction:column;gap:3px}
  html body.vision-site .wz-venue-market.wzvl-page .wzvl-top-filter-row {grid-template-columns:repeat(2,minmax(0,1fr))}
  html body.vision-site .wz-venue-market.wzvl-page .wzvl-filter-search {grid-column:span 2}
  html body.vision-site .wz-venue-market.wzvl-page .wzvl-find-button {grid-column:span 2}
  html body.vision-site .wz-venue-market.wzvl-page .wzvl-card-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  html body.vision-site .wz-venue-market.wzvl-page .wzvl-advanced-fields {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px) {
  html body.vision-site .wz-venue-market.wzvl-page .wzvl-wrap {width:calc(100% - 28px)}
  html body.vision-site .wz-venue-market.wzvl-page .wzvl-top-filters {padding:16px 14px 11px;border-radius:15px}
  html body.vision-site .wz-venue-market.wzvl-page .wzvl-top-filter-row {gap:10px}
  html body.vision-site .wz-venue-market.wzvl-page .wzvl-top-filter-row .vc-field :is(select,input) {min-height:45px}
  html body.vision-site .wz-venue-market.wzvl-page .wzvl-filter-bottom {flex-direction:column;gap:4px}
  html body.vision-site .wz-venue-market.wzvl-page .wzvl-more-label {display:none}
  html body.vision-site .wz-venue-market.wzvl-page .wzvl-filter-utilities {justify-content:flex-start;padding:0 0 5px}
  html body.vision-site .wz-venue-market.wzvl-page .wzvl-card-grid {grid-template-columns:1fr;gap:17px}
  html body.vision-site .wz-venue-market.wzvl-page .wzvl-advanced-fields {gap:10px}
  html body.vision-site .wz-venue-market.wzvl-page .wzvl-top-filters-title p {font-size:11px}
}
