/* /venues/ page (site/build_venues.py). Builds on info.css; AA contrast in both themes. */
body.venues { max-width: 960px; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: -9999px; }
.skip:focus { left: 1rem; top: 1rem; background: #fff; color: #0b57d0; padding: 0.4rem 0.8rem; z-index: 10; }
.beta { font-size: 0.75rem; font-weight: 600; vertical-align: middle; border: 2px solid currentColor; border-radius: 1rem; padding: 0.05rem 0.55rem; color: #595959; }
.cta { border: 1px solid #d0d0d0; border-radius: 10px; padding: 0.6rem 1rem; margin: 1rem 0 1.5rem; }
.cta h2 { margin-top: 0.3rem; font-size: 1rem; }
.filters { display: grid; gap: 0.8rem; margin-bottom: 1rem; }
.filters .row { display: grid; gap: 0.3rem; }
.filters .inline { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1.2rem; }
.filters input[type=search], .filters select { font: inherit; padding: 0.45rem 0.6rem; border: 1px solid #767676; border-radius: 6px; background: transparent; color: inherit; }
.filters input[type=search] { width: 100%; box-sizing: border-box; }
fieldset { border: none; padding: 0; margin: 0; }
legend { padding: 0; margin-bottom: 0.3rem; }
.chips { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.chips label { display: inline-flex; align-items: center; gap: 0.3rem; border: 1px solid #767676; border-radius: 1rem; padding: 0.2rem 0.75rem; cursor: pointer; }
.chips input:checked + span { font-weight: 700; }
.chips label:has(input:checked) { background: #e8f0fe; border-color: #0b57d0; }
input:focus-visible, select:focus-visible, button:focus-visible, #results:focus-visible { outline: 3px solid #0b57d0; outline-offset: 2px; }
#results { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 0.8rem; }
.venue { border: 1px solid #d0d0d0; border-radius: 10px; padding: 0.7rem 0.9rem; }
.venue h2 { font-size: 1.02rem; margin: 0 0 0.2rem; }
.venue p { margin: 0.25rem 0; font-size: 0.9rem; }
.venue .tags { display: flex; flex-wrap: wrap; gap: 0.3rem; margin: 0.3rem 0; padding: 0; list-style: none; }
.venue .tags li { font-size: 0.78rem; border: 1px solid #767676; border-radius: 1rem; padding: 0 0.5rem; }
.venue .rent { color: #0a6b2d; font-weight: 600; }
.venue .links { display: flex; flex-wrap: wrap; gap: 0.3rem 0.9rem; font-size: 0.9rem; }
.more { font: inherit; padding: 0.5rem 1rem; border-radius: 8px; border: 1px solid #0b57d0; background: transparent; color: #0b57d0; cursor: pointer; }
.small { font-size: 0.82rem; }
.hint { margin: 0; }
#varea { max-width: 100%; }
.venue .social { font-size: 0.85rem; }
@media (prefers-color-scheme: dark) {
  .skip:focus { background: #111; color: #8ab4f8; }
  .beta { color: #b0b0b0; }
  .cta, .venue { border-color: #444; }
  .filters input[type=search], .filters select, .chips label, .venue .tags li { border-color: #8a8a8a; }
  .chips label:has(input:checked) { background: #1f2a3d; border-color: #8ab4f8; }
  input:focus-visible, select:focus-visible, button:focus-visible, #results:focus-visible { outline-color: #8ab4f8; }
  .venue .rent { color: #6dd58c; }
  .more { border-color: #8ab4f8; color: #8ab4f8; }
}
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; } }
