/* Public venue finder: scoped to the listing, with shared site/nav tokens. */
body.tpl-list main > form.tsa-vf {
  --vf-navy:#071b34; --vf-blue:#0f5fd6; --vf-sky:#eaf4ff;
  --vf-ink:#122b45; --vf-muted:#4f6378; --vf-line:#e3eaf1;
  --vf-paper:#f6f9fc; --vf-border:#b8c6d4;
  margin:0; padding:0; border:0; border-radius:0; color:var(--vf-ink); background:#fff;
  font:400 16px/1.6 "Noto Sans Thai",sans-serif;
}
.tsa-vf *, .tsa-vf *::before, .tsa-vf *::after {box-sizing:border-box}
.tsa-vf [hidden] {display:none}
.tsa-vf :where(h1,h2,h3,p,ul,fieldset) {margin:0;padding:0}
.tsa-vf ul {list-style:none}
.tsa-vf a {color:inherit;text-decoration:none}
.tsa-vf :where(button,input,select) {font:inherit;color:inherit}
body.tpl-list main > form.tsa-vf::before {content:none;display:none}
body.tpl-list main form#venue-filter.tsa-vf[role="search"] {padding:16px 16px 14.4px;border:1px solid #c9d5e2;border-radius:0;background:#f7fafc}
body.tpl-list main form#venue-filter.tsa-vf[role="search"]::before {content:none;display:none}
#venue-filter .tsa-vf-searchbar input,#venue-filter .tsa-vf-search {border-radius:14px}
#venue-filter .tsa-vf-more input[type="text"] {border-radius:12px}
.tsa-vf button {cursor:pointer}
.tsa-vf :is(button,a,input,select):focus-visible {outline:3px solid var(--vf-blue);outline-offset:3px}
.tsa-vf-sr {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.tsa-vf-wrap {width:100%;max-width:calc(var(--site-wrap) + var(--site-gutter) + var(--site-gutter));margin-inline:auto;padding-inline:var(--site-gutter)}
.tsa-vf-head {padding:calc(var(--nav-offset) + 8px) 0 28px;background:linear-gradient(180deg,#eaf4ff,#f7fbff)}
.tsa-vf-crumb {display:flex;flex-wrap:wrap;gap:8px;color:var(--vf-muted);font-size:14px}
.tsa-vf-crumb a:hover {color:var(--vf-blue);text-decoration:underline}
.tsa-vf-head h1 {margin-top:10px;font-size:clamp(30px,4vw,44px);font-weight:700;line-height:1.25;color:var(--vf-navy)}
.tsa-vf-lead {margin-top:6px;color:var(--vf-muted)}
.tsa-vf-lead b {color:var(--vf-navy);font-weight:600}
.tsa-vf-searchbar {display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) auto;gap:8px;margin-top:24px;padding:8px;border-radius:20px;background:#fff;box-shadow:0 14px 36px rgb(7 27 52 / 8%),inset 0 0 0 1px var(--vf-line)}
.tsa-vf-field {position:relative;display:flex;align-items:center;min-width:0}
.tsa-vf-field > i {position:absolute;left:16px;color:#64788d;pointer-events:none}
.tsa-vf-field input,.tsa-vf-field select {width:100%;min-width:0;height:52px;padding:0 40px 0 46px;border:0;border-radius:14px;background:var(--vf-paper);font-size:16px;appearance:none}
.tsa-vf-field select {cursor:pointer}
.tsa-vf-field .tsa-vf-chevron {left:auto;right:16px;font-size:12px}
.tsa-vf-search,.tsa-vf-blue {display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;background:var(--vf-blue);color:#fff;font-weight:500}
.tsa-vf-search {height:52px;padding:0 28px;border-radius:14px}
.tsa-vf-blue {min-height:44px;padding:0 22px;border-radius:999px}
.tsa-vf a.tsa-vf-blue {color:#fff}
.tsa-vf-search:hover,.tsa-vf-blue:hover {background:var(--vf-navy)}
.tsa-vf-types {display:flex;gap:8px;margin-top:16px;overflow-x:auto;padding:4px 2px 6px;scrollbar-width:thin;scrollbar-color:#b8c6d4 transparent}
.tsa-vf-chip {display:inline-flex;align-items:center;flex-shrink:0;min-height:40px;padding:0 16px;border:0;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px var(--vf-line);font-size:15px;white-space:nowrap}
.tsa-vf-chip:hover {color:var(--vf-blue);box-shadow:inset 0 0 0 1px var(--vf-blue)}
.tsa-vf-chip[aria-pressed="true"] {color:#fff;background:var(--vf-navy);box-shadow:none}
.tsa-vf-results {padding:28px 0 72px}
.tsa-vf-bar {display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.tsa-vf-count {color:var(--vf-navy);font-size:18px;font-weight:600}
.tsa-vf-count span {font-size:14px;font-weight:400;color:#64788d}
.tsa-vf-bar-end {display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto}
.tsa-vf-ghost {display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 16px;border:0;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px var(--vf-border);font-size:15px;white-space:nowrap}
.tsa-vf-ghost:hover {box-shadow:inset 0 0 0 1px var(--vf-navy)}
.tsa-vf-n {display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;color:#fff;background:var(--vf-blue);font-size:12px}
.tsa-vf-sort select {max-width:100%;height:42px;padding:0 14px;border:1px solid var(--vf-border);border-radius:999px;background:#fff;font-size:15px;cursor:pointer}
.tsa-vf-active {display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px}
.tsa-vf-tag {display:inline-flex;align-items:center;gap:10px;min-height:34px;padding:2px 10px 2px 12px;border-radius:999px;background:var(--vf-sky);font-size:14px}
.tsa-vf-tag span {display:grid;place-items:center;width:24px;height:24px;font-size:20px;line-height:1;border-radius:50%}
.tsa-vf-tag:hover span {background:#fff}
.tsa-vf a.tsa-vf-clear {color:var(--vf-blue);text-decoration:underline;text-underline-offset:3px;font-size:14px}
.tsa-vf-more {margin-top:16px;padding:20px;border-radius:20px;background:var(--vf-paper);border:1px solid var(--vf-line)}
.tsa-vf-more-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 20px}
.tsa-vf-more-grid > div {min-width:0}
.tsa-vf-more fieldset {min-width:0;border:0}
.tsa-vf-more legend,.tsa-vf-more-grid > div > label {display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:var(--vf-navy)}
.tsa-vf-more select,.tsa-vf-more input[type="text"] {width:100%;height:44px;padding:0 12px;border:1px solid var(--vf-border);border-radius:12px;background:#fff;font-size:16px}
.tsa-vf-more select:disabled {background:var(--vf-paper);color:#64788d}
.tsa-vf-more h2 {grid-column:1/-1;margin-top:4px;padding-top:12px;border-top:1px solid var(--vf-line);font-size:14px;font-weight:600;color:var(--vf-muted)}
.tsa-vf-more h2:first-child {padding:0;border:0}
.tsa-vf-checks {display:flex;flex-wrap:wrap;gap:8px}
.tsa-vf-checks label {display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:6px 12px;border:1px solid var(--vf-line);border-radius:999px;background:#fff;font-size:14px;cursor:pointer}
.tsa-vf-checks input {width:16px;height:16px;margin:0;accent-color:var(--vf-blue)}
.tsa-vf-checks label:has(input:checked) {border-color:var(--vf-blue);color:var(--vf-blue)}
.tsa-vf-span2 {grid-column:span 2}
.tsa-vf-span4 {grid-column:1/-1}
.tsa-vf-more-foot {display:flex;justify-content:flex-end;gap:8px;margin-top:20px}
.tsa-vf-error {margin-top:12px;color:#b42318}
.tsa-vf-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:20px;margin-top:20px}
.tsa-vf-grid > li {min-width:0}
.tsa-vf-card {display:flex;flex-direction:column;height:100%;overflow:hidden;border:1px solid var(--vf-line);border-radius:20px;background:#fff;transition:transform .2s,box-shadow .2s}
.tsa-vf-card:hover {transform:translateY(-3px);box-shadow:0 18px 36px rgb(7 27 52 / 10%)}
.tsa-vf-media {display:block;position:relative;aspect-ratio:4/3;overflow:hidden}
.tsa-vf-art {position:absolute;right:-8%;bottom:-10%;width:72%;height:auto;opacity:.6}
.tsa-vf-tint-0 {background:linear-gradient(140deg,#cfe3ff,#eaf4ff);color:#9dbdeb}
.tsa-vf-tint-1 {background:linear-gradient(140deg,#e6ffb0,#f6ffe2);color:#b6d66b}
.tsa-vf-tint-2 {background:linear-gradient(140deg,#0f5fd6,#5b9bf5);color:#fff}
.tsa-vf-tint-3 {background:linear-gradient(140deg,#dde7f2,#f3f7fb);color:#a9bcd0}
.tsa-vf-media > img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tsa-vf-badges {position:absolute;left:12px;top:12px;display:flex;flex-wrap:wrap;gap:6px;max-width:calc(100% - 24px)}
.tsa-vf-badge {display:inline-flex;align-items:center;gap:5px;min-height:26px;padding:2px 10px;border-radius:999px;background:rgb(255 255 255 / 94%);color:var(--vf-navy);font-size:13px;font-weight:500;box-shadow:0 2px 8px rgb(7 27 52 / 12%)}
.tsa-vf-badge > span {font-size:10px}
.tsa-vf-open {color:#11704a}
.tsa-vf-closed {color:#b42318}
.tsa-vf-body {display:flex;flex:1;flex-direction:column;padding:16px 18px 18px;min-width:0}
.tsa-vf-body h3 {display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--vf-navy);font-size:17px;font-weight:600;line-height:1.45;padding-bottom:1px;overflow-wrap:anywhere}
.tsa-vf-location {display:flex;align-items:flex-start;gap:6px;margin-top:6px;color:var(--vf-muted);font-size:14px}
.tsa-vf-location i {color:var(--vf-blue);padding-top:3px;flex-shrink:0}
.tsa-vf-owner {margin-top:2px;font-size:13px;color:#64788d}
.tsa-vf-center-detail {display:flex;align-items:center;gap:6px;margin-top:auto;padding-top:14px;color:var(--vf-blue);font-size:13px;font-weight:500}
.tsa-vf-amenities {display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:auto;padding-top:14px}
.tsa-vf-amenities > span {display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--vf-paper);color:var(--vf-muted)}
.tsa-vf-amenities .tsa-vf-plus {width:auto;padding:0 8px;font-size:12px}
.tsa-vf-amenities small {color:#64788d;font-size:13px}
.tsa-vf-empty {margin-top:32px;padding:48px 24px;border-radius:20px;background:var(--vf-paper);text-align:center}
.tsa-vf-empty h2 {font-size:18px;color:var(--vf-navy)}
.tsa-vf-empty p {margin:4px 0 16px;color:var(--vf-muted)}
.tsa-vf-pager {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:28px;padding-top:20px;border-top:1px solid var(--vf-line);font-size:14px;color:var(--vf-muted)}
.tsa-vf-pager > div {display:flex;flex-wrap:wrap;gap:4px}
.tsa-vf-pager :is(a,span) {display:grid;place-items:center;min-width:38px;min-height:40px;padding:0 8px;border-radius:999px}
.tsa-vf-pager a:hover {background:var(--vf-sky)}
.tsa-vf-pager a[aria-current="page"] {background:var(--vf-navy);color:#fff}
@media(max-width:960px) {.tsa-vf-more-grid {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px) {
  .tsa-vf-searchbar {grid-template-columns:1fr}
  .tsa-vf-search {width:100%}
}
@media(max-width:560px) {
  .tsa-vf-head {padding-bottom:20px}
  .tsa-vf-results {padding-top:20px}
  .tsa-vf-bar-end {margin-left:0;gap:8px}
  .tsa-vf-ghost {padding-inline:12px;font-size:14px}
  .tsa-vf-sort select {font-size:16px;max-width:170px}
  .tsa-vf-more-grid {grid-template-columns:1fr}
  .tsa-vf-span2 {grid-column:auto}
  .tsa-vf-grid {grid-template-columns:1fr;gap:12px}
  .tsa-vf-card {flex-direction:row;min-height:112px;border-radius:16px}
  .tsa-vf-media {flex-shrink:0;width:112px;aspect-ratio:auto}
  .tsa-vf-art {width:120%;right:-30%}
  .tsa-vf-badges {left:6px;top:6px;max-width:100px;flex-direction:column;align-items:flex-start;gap:4px}
  .tsa-vf-badge {min-height:22px;padding:2px 6px;font-size:10px}
  .tsa-vf-body {padding:10px 12px}
  .tsa-vf-body h3 {font-size:15px}
  .tsa-vf-location {font-size:12px;line-height:1.5;margin-top:4px}
  .tsa-vf-owner {display:none}
  .tsa-vf-amenities {padding-top:8px;gap:4px}
  .tsa-vf-amenities > span {width:24px;height:24px;font-size:13px}
  .tsa-vf-amenities small {font-size:11px}
}
@media(prefers-reduced-motion:reduce) {.tsa-vf-card {transition:none}.tsa-vf-card:hover {transform:none}}
