/* ============================================
   /venues — public venue index (venues module)
   ============================================ */

body.venues-index-page .block-page-title-block { display: none; }

.venues-index {
  max-width: var(--site-content-width, 52rem);
  margin-inline: auto;
  color: var(--text-soft, #b8ccb8);
}
.venues-index__head { text-align: center; margin-bottom: 1.5rem; }
.venues-index__title {
  font-family: var(--font-display, 'Playfair Display', Georgia, serif);
  color: var(--white, #e6efe6);
  font-size: clamp(2rem, 5vw, 3rem);
  margin: 0;
}
.venues-index__intro {
  font-family: var(--font-display, Georgia, serif);
  color: var(--muted-light, #a3bca8);
  margin: 0.6rem auto 0;
  max-width: 36rem;
  line-height: 1.6;
}
.venues-index__map {
  height: clamp(16rem, 45vh, 26rem);
  border: 1px solid var(--border, #1c2c1c);
  border-radius: 8px;
  background: var(--deep, #0c120c);
  margin-bottom: 1rem;
}
.venues-index__filters {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 0.6rem 1rem;
  margin-bottom: 1.5rem;
}
.venues-index__filters label { display: flex; flex-direction: column; gap: 0.25rem; font-size: 0.7rem; letter-spacing: 0.15em; text-transform: uppercase; color: var(--muted, #82a38a); }
.venues-index__filters input[type="search"],
.venues-index__filters select {
  background: var(--surface, #111811);
  color: var(--white, #e6efe6);
  border: 1px solid var(--border-light, #243424);
  border-radius: 4px;
  padding: 0.4rem 0.55rem;
  font-size: 0.9rem;
  letter-spacing: 0;
  text-transform: none;
}
.venues-index__filters .venues-index__check { flex-direction: row; align-items: center; gap: 0.4rem; padding-bottom: 0.45rem; }
.venues-index__count { margin: 0 0 0.45rem auto; font-size: 0.8rem; color: var(--muted, #82a38a); }

.venues-index__region { margin-bottom: 1.75rem; }
.venues-index__region[hidden] { display: none; }
.venues-index__region-title {
  font-family: var(--font-body, 'DM Sans', system-ui, sans-serif);
  font-size: 0.7rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--accent-warm, #e8c760);
  font-weight: 600;
  margin: 0 0 0.6rem;
}
.venues-index__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
  gap: 0.6rem;
}
.venue-tile {
  background: var(--surface, #111811);
  border: 1px solid var(--border, #1c2c1c);
  border-radius: 8px;
  padding: 0.75rem 0.9rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.venue-tile[hidden] { display: none; }
.venue-tile.is-active { border-color: var(--green-light, #5a9e6e); }
.venue-tile__name {
  font-family: var(--font-display, Georgia, serif);
  color: var(--white, #e6efe6);
  font-size: 1.1rem;
  text-decoration: none;
}
.venue-tile__name:hover { color: var(--green-pale, #9ecfae); }
.venue-tile__meta { font-size: 0.8rem; color: var(--muted, #82a38a); }
.venue-tile__status { font-size: 0.65rem; letter-spacing: 0.15em; text-transform: uppercase; color: var(--g15, #e09600); }
.venue-tile__next { font-size: 0.8rem; color: var(--accent-warm, #e8c760); }
.venues-index__empty { text-align: center; color: var(--muted, #82a38a); }

/* Leaflet popups in the site's palette. */
.venues-index .leaflet-popup-content-wrapper,
.venue-page .leaflet-popup-content-wrapper { background: var(--surface, #111811); color: var(--text-soft, #b8ccb8); }
.venues-index .leaflet-popup-tip,
.venue-page .leaflet-popup-tip { background: var(--surface, #111811); }
.venues-index .leaflet-popup-content a { color: var(--accent-warm, #e8c760); }
