/* ===== Eventos.css — estética premium focada na página do evento ===== */

/* Layouts */
.event-hero {
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
  background: #fff;
}
.event-hero .poster-img {
  width: 100%;
  height: 420px;
  object-fit: cover;
}
@media (max-width: 991.98px){ .event-hero .poster-img { height: 340px; } }
@media (max-width: 575.98px){ .event-hero .poster-img { height: 260px; } }

.event-header {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1rem;
  margin-top: 1rem;
  align-items: start;
}

.event-title-wrap {
  display: flex;
  flex-direction: column;
  gap: .35rem;
}
.event-title {
  color: var(--ink);
  font-weight: 900;
  letter-spacing: -0.02em;
  line-height: 1.1;
  margin: 0;
}
.event-meta-chips {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}
.meta-chip {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .45rem .75rem;
  border-radius: 999px;
  background: var(--smoke);
  border: 1px solid var(--cloud);
  font-weight: 600;
  font-size: .86rem;
  color: var(--ink-light);
}
.meta-chip i { opacity: .8; }

/* CTA card */
.hero-cta.card {
  border-radius: var(--radius-lg);
  border: 1px solid var(--cloud);
}
.hero-cta .small-list li { display:flex; gap:.5rem; align-items:center; }
.hero-cta .small-list i { opacity:.8; }

/* Section cards */
.sp-card {
  background: #fff;
  border: 1px solid var(--cloud);
  border-radius: var(--radius-lg);
  padding: 1.25rem;
  box-shadow: var(--shadow-xs);
}
.sp-card + .sp-card { margin-top: 1rem; }

/* Informações (linhas) */
.info-line {
  display:flex; gap:.6rem; align-items:flex-start;
  padding:.5rem .65rem; border-radius:12px; background:#fafbfc; border:1px solid #eceff3;
}
.info-line i { color:#8aa0b6; margin-top:.2rem; }

/* Tabela de ingressos */
.ticket-table .table {
  --bs-table-bg: transparent;
  margin: 0;
}
.ticket-table thead th {
  font-size:.8rem; text-transform:uppercase; letter-spacing:.03em; color:#6b7280;
  border-bottom: 1px solid var(--cloud) !important;
}
.ticket-table tbody tr:hover { background: #fafbfd; }
.badge-available {
  background: #eef7e1; color: #3a5b1f; border: 1px solid #d9edc0; font-weight:700;
  padding:.14rem .5rem; border-radius:999px; font-size:.72rem;
}

/* Botões */
.btn-primary.btn-sm .bi { margin-right:.25rem; }
.btn-primary.btn-sm { border-radius: 12px; }

.btn-outline-secondary.btn-sm,
.btn-outline-danger.btn-sm { border-radius: 10px; }

/* Carrinho sticky */
.sticky-aside { position:sticky; top: calc(var(--nav-h) + 12px); }
#cartBox .table > :not(caption) > * > * { background: transparent; }
#cartBox tfoot tr { background: #f5f7fb; }

/* Breadcrumb premium */
.event-breadcrumb a { color:#4b5563; }
.event-breadcrumb a:hover { color:#111827; }
.event-breadcrumb .sep { opacity:.6; margin: 0 .35rem; }

/* Reveals */
.reveal { opacity:0; transform: translateY(10px); transition: .4s ease; }
.reveal.in { opacity:1; transform:none; }

/* Dark Mode refinamentos */
html[data-theme="dark"] .event-hero,
html[data-theme="dark"] .sp-card,
html[data-theme="dark"] .hero-cta.card { background:#13161b; border-color:#22262f; }
html[data-theme="dark"] .info-line { background:#151a21; border-color:#22262f; }
html[data-theme="dark"] .meta-chip { background:#171a20; border-color:#252932; color:#c5c7cd; }
html[data-theme="dark"] .ticket-table tbody tr:hover { background:#151a21; }
html[data-theme="dark"] #cartBox tfoot tr { background:#151a21; }
