.venue-library-hero {
  padding: clamp(24px, 5vw, 50px);
  margin-bottom: 20px;
  border-radius: 22px;
  background: linear-gradient(120deg, #112f29, #205c4d);
  color: #fff;
}
.venue-library-hero .eyebrow { color: #9ce7d7; }
.venue-library-hero .lead { color: #e2f4ee; }
.venue-library-hero .actions { margin-bottom: 0; }
.venue-library-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 265px), 1fr)); gap: 16px; }
.venue-tile { display: block; overflow: hidden; border-radius: 16px; background: white; border: 1px solid #dce7e2; text-decoration: none; }
.venue-tile:hover { border-color: #158774; }
.venue-tile img { display: block; width: 100%; height: 130px; object-fit: cover; }
.venue-tile div { padding: 16px; }
.venue-tile h2 { font-size: 1.16rem; margin-bottom: 6px; }
.venue-tile div > p:not(.eyebrow) { color: #53635f; font-size: .88rem; }
.venue-tile strong { color: #126c5e; font-size: .88rem; }
.venue-note { margin: 14px 0 0; color: #53635f; }
.venue-field-picker svg { max-height: 580px; }
.venue-field-hit { fill: transparent; stroke: transparent; cursor: pointer; }
.venue-field-hit:hover, .venue-field-hit:focus-visible { stroke: #74ffe4; stroke-width: 2px; }
.venue-picked { fill: #9bffe6 !important; }
.venue-focus-layer { pointer-events: none; }
.venue-focus-ring { fill: none; stroke: #6cffe1; stroke-width: 3px; paint-order: stroke; }
.venue-walk-line { fill: none; stroke: #6cffe1; stroke-width: 4px; stroke-dasharray: 6 4; stroke-linecap: round; stroke-linejoin: round; }
.venue-picker-controls { margin-top: 9px; }
.venue-picker-controls label { display: inline-flex; align-items: center; gap: 6px; font-weight: 750; }
.venue-picker-controls select { font: inherit; padding: 5px; border: 1px solid #9ab9af; border-radius: 6px; }
.venue-picker-controls button { font: inherit; min-height: 32px; margin: 4px; padding: 5px 9px; cursor: pointer; }
.venue-picker-controls p { margin: 7px 0 0; }
