/* Venue gallery (stadiums, arenas, circuits) */
.vn-hero{margin:0 0 1.4rem}
.vn-hero h1{font-size:clamp(1.6rem,3.4vw,2.2rem);line-height:1.2;margin:0 0 .6rem;letter-spacing:-.01em}
.vn-lede{color:var(--muted,#a9cdbb);max-width:42rem;margin:0 0 1.2rem}
.vn-toolbar{display:flex;flex-wrap:wrap;gap:.8rem 1.2rem;align-items:flex-end;margin-bottom:1.2rem}
.vn-search,.vn-filter{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--muted,#a9cdbb)}
.vn-search input,.vn-filter select{
  min-height:44px;min-width:min(100%,260px);padding:.55rem .9rem;border-radius:999px;
  border:2px solid var(--line,#1d5e47);background:#031109;color:var(--text,#e8fff3);font-size:1rem
}
.vn-filter select{min-width:180px;border-radius:12px}
.vn-count{margin:0 0 .2rem auto;color:var(--muted,#a9cdbb);font-size:.9rem}
.vn-visually{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.vn-section{margin:0 0 2.2rem}
.vn-section h2{font-size:1.25rem;margin:0 0 .8rem;display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}
.vn-section h2 .vn-tag{
  font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
  padding:.2rem .55rem;border-radius:999px;border:1px solid rgba(245,184,61,.4);
  color:var(--gold2,#ffd36e);background:rgba(245,184,61,.1)
}
.vn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}
.vn-card{
  background:var(--panel,#0a2f23);border:1px solid var(--line,#1d5e47);border-radius:16px;overflow:hidden;
  display:flex;flex-direction:column;min-height:100%
}
.vn-card .vn-frame{position:relative;aspect-ratio:4/3;background:#031109;overflow:hidden}
.vn-card img{width:100%;height:100%;object-fit:cover;display:block}
.vn-card .vn-body{padding:.85rem 1rem 1.05rem;display:flex;flex-direction:column;gap:.25rem;flex:1}
.vn-card h3{margin:0;font-size:1.02rem;line-height:1.25}
.vn-meta{margin:0;color:var(--muted,#a9cdbb);font-size:.88rem}
.vn-chip{display:inline-block;margin-top:.35rem;font-size:.75rem;color:var(--mint,#5fd4a0)}
.vn-empty{padding:1.5rem;border:1px dashed var(--line,#1d5e47);border-radius:12px;color:var(--muted,#a9cdbb)}
.xnav a.is-active{color:var(--text,#e8fff3);font-weight:700}
@media (max-width:600px){
  .vn-count{margin-left:0;width:100%}
  .vn-search input{min-width:100%}
}
