/* ============================================
   VENUE PAGE — venues module
   Uses dragonfly's tokens (with fallbacks, so the page still reads if the
   theme changes). Dark site; no light variant needed.
   ============================================ */

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

.venue-page {
  --vp-surface: var(--surface, #111811);
  --vp-border: var(--border, #1c2c1c);
  --vp-muted: var(--muted, #82a38a);
  --vp-text: var(--text-soft, #b8ccb8);
  --vp-bright: var(--white, #e6efe6);
  --vp-gold: var(--accent-warm, #e8c760);
  --vp-green: var(--green-pale, #9ecfae);
  max-width: var(--site-content-width, 52rem);
  margin-inline: auto;
  color: var(--vp-text);
}

.venue-page__private {
  border: 1px solid var(--g36, rgba(184, 168, 74, 0.45));
  background: var(--g35, rgba(184, 168, 74, 0.12));
  color: var(--accent-soft, #f4daa6);
  padding: 0.6rem 0.9rem;
  border-radius: 6px;
  font-size: 0.85rem;
  margin-bottom: 1rem;
}
.venue-page__private a { color: var(--vp-gold); margin-left: 0.4rem; }

.venue-page__head { margin: 0.5rem 0 1.5rem; }
.venue-page__back {
  display: inline-block;
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--vp-muted);
  text-decoration: none;
  margin-bottom: 1rem;
}
.venue-page__back:hover { color: var(--vp-green); }
.venue-page__eyebrow {
  font-size: 0.7rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--vp-gold);
  margin: 0 0 0.35rem;
}
.venue-page__title {
  font-family: var(--font-display, 'Playfair Display', Georgia, serif);
  color: var(--vp-bright);
  font-size: clamp(2rem, 5vw, 3.1rem);
  line-height: 1.08;
  margin: 0;
}
.venue-page__aka {
  font-family: var(--font-display, Georgia, serif);
  font-style: italic;
  color: var(--vp-muted);
  margin: 0.4rem 0 0;
}
.venue-page__facts {
  list-style: none;
  padding: 0;
  margin: 0.9rem 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 1.2rem;
  font-size: 0.9rem;
  color: var(--vp-green);
}
.venue-page__facts li + li::before {
  content: '·';
  margin-right: 1.2rem;
  color: var(--vp-border);
}
.venue-page__status {
  margin: 0.9rem 0 0;
  padding: 0.5rem 0.8rem;
  border-left: 3px solid var(--vp-gold);
  background: var(--vp-surface);
  color: var(--accent-soft, #f4daa6);
  font-size: 0.9rem;
}

.venue-page__hero { margin: 0 0 1.75rem; }
.venue-page__hero img {
  display: block;
  width: 100%;
  max-height: 26rem;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid var(--vp-border);
}

.venue-page__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 16rem;
  gap: 2rem;
  align-items: start;
}
@media (max-width: 760px) {
  .venue-page__body { grid-template-columns: minmax(0, 1fr); }
  .venue-page__side { order: -1; }
}

.venue-page__section { margin-bottom: 2rem; }
.venue-page__section h2,
.venue-card__label {
  font-family: var(--font-body, 'DM Sans', system-ui, sans-serif);
  font-size: 0.7rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--vp-muted);
  font-weight: 600;
  margin: 0 0 0.75rem;
}
.venue-page__text { line-height: 1.7; font-size: 1rem; }
.venue-page__text p { margin: 0 0 0.9rem; }

.venue-shows { list-style: none; padding: 0; margin: 0; }
.venue-shows__row {
  display: grid;
  grid-template-columns: 9.5rem minmax(0, 1fr);
  gap: 0.75rem;
  padding: 0.6rem 0;
  border-top: 1px solid var(--vp-border);
}
.venue-shows__row:last-child { border-bottom: 1px solid var(--vp-border); }
.venue-shows__date { color: var(--vp-gold); font-size: 0.85rem; font-variant-numeric: tabular-nums; }
.venue-shows--past .venue-shows__date { color: var(--vp-muted); }
.venue-shows__what a { color: var(--vp-bright); text-decoration: none; }
.venue-shows__what a:hover { color: var(--vp-green); }
.venue-shows__band { display: block; font-size: 0.8rem; color: var(--vp-muted); }
.venue-shows__band a { color: var(--vp-muted); }
.venue-shows__flag {
  display: inline-block;
  margin-left: 0.5rem;
  font-size: 0.65rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--g15, #e09600);
}
.venue-shows__row.is-cancelled .venue-shows__what a { text-decoration: line-through; }
@media (max-width: 480px) {
  .venue-shows__row { grid-template-columns: minmax(0, 1fr); gap: 0.15rem; }
}

.venue-page__gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr));
  gap: 0.5rem;
}
.venue-page__gallery img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 6px;
  display: block;
}

.venue-card {
  background: var(--vp-surface);
  border: 1px solid var(--vp-border);
  border-radius: 8px;
  padding: 0.9rem 1rem;
  margin-bottom: 0.9rem;
}
.venue-card__label:not(:first-child) { margin-top: 1rem; }
.venue-card__addr { font-style: normal; line-height: 1.55; color: var(--vp-bright); }
.venue-card__link { display: inline-block; margin-top: 0.5rem; color: var(--vp-gold); font-size: 0.9rem; word-break: break-word; }
.venue-card__text { margin: 0; font-size: 0.9rem; }
.venue-card--map { padding: 0; overflow: hidden; }
.venue-page__map { height: 14rem; background: var(--deep, #0c120c); }
.venue-card--admin { display: flex; gap: 1rem; font-size: 0.85rem; }
.venue-card--admin a { color: var(--vp-muted); }
