/* Front styles for TT4 Venue Info Block */
.tt4-vib {
  --tt4-bg: var(--wp--preset--color--bg);
  --tt4-surface: var(--wp--preset--color--surface);
  --tt4-white: var(--wp--preset--color--white);
  --tt4-off: var(--wp--preset--color--off);
  --tt4-muted: var(--wp--preset--color--muted);
  --tt4-red: var(--wp--preset--color--red);
  --tt4-primary: var(--wp--preset--color--primary);
  --tt4-primary-2: var(--wp--preset--color--primary-2);
  --tt4-cyan: var(--wp--preset--color--cyan);
  --tt4-eco: var(--wp--preset--color--eco);
  --tt4-border: var(--wp--preset--color--border);
  background: var(--tt4-bg);
  color: var(--tt4-white);
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid var(--tt4-border);
}

.tt4-vib__chips {
  display: flex;
  gap: 12px;
  padding: 16px 16px 8px 16px;
  flex-wrap: wrap;
}
.tt4-vib__chip {
  background: var(--tt4-surface);
  border: 1px solid var(--tt4-border);
  color: var(--tt4-white);
  border-radius: 999px;
  padding: 8px 12px;
  font-size: var(--wp--preset--font-size--base);
  line-height: 1.2;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.tt4-vib__mapwrap {
  background: #0f172a12;
  margin-top: 8px;
  margin-bottom: 16px;
}
.tt4-vib__map { width: 100%; height: 100%; border: 0; display: block; }

.tt4-vib__cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  padding: 16px;
}
@media (min-width: 900px) {
  .tt4-vib__cards { grid-template-columns: 1fr 1fr; }
}
.tt4-vib__card {
  background: var(--tt4-surface);
  border: 1px solid var(--tt4-border);
  border-radius: 14px;
  padding: 20px;
}
.tt4-vib__h { font-size: var(--wp--preset--font-size--3xl); margin: 0 0 10px 0; line-height: 1.15; }
.tt4-vib__sub { color: var(--tt4-off); font-weight: 600; font-size: var(--wp--preset--font-size--lg); margin-bottom: 10px; }
.tt4-vib__sub--mt { margin-top: 16px; }
.tt4-vib__p { color: var(--tt4-muted); font-size: var(--wp--preset--font-size--base); margin-top: 0; }

.tt4-vib__btns { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 8px; margin-bottom: 8px; }

/* Contact button wrapper (uses core WP Button styles) */
.tt4-vib__contactwrap { display: block; margin-top: 8px; margin-bottom: 8px; }
.tt4-vib__contactwrap .wp-block-button__link { width: 100%; text-align: center; }




/* Google button uses theme button shape but with red fill */
.tt4-vib__btn--google .wp-block-button__link { background: var(--wp--preset--color--red); border-color: var(--wp--preset--color--red); color: var(--wp--preset--color--white); }


/* Soft fallback to ensure outline look if theme doesn't apply it.
   Low specificity, uses theme variables only. */
.tt4-vib .wp-block-button.is-style-outline > .wp-block-button__link,
.tt4-vib a.wp-block-button__link.is-style-outline {
  background: transparent;
  border: 1px solid var(--wp--preset--color--white);
  color: var(--wp--preset--color--white);
}

