/* eventos.css — complementos para a página de evento (reusa tokens do app.css) */

/* Cabeçalho do Evento */
.event-header {
  margin-top: 18px;
  display: flex; flex-direction: column;
  gap: .5rem;
}
@media (min-width: 768px) {
  .event-header { flex-direction: row; align-items: center; justify-content: space-between; }
}
.event-title {
  margin: 0; font-weight: 800; letter-spacing: -.02em;
  color: var(--ink);
}
.event-date.badge {
  background: var(--grad-ink);
  color: #fff;
  font-weight: 800;
  border: none;
  padding: .45rem .7rem;
  border-radius: 10px;
  box-shadow: var(--shadow-xs);
}

/* Cards antigos -> cara de “card.lift” */
.sp-card {
  background: #fff;
  border: 1px solid var(--cloud);
  border-radius: var(--radius-lg);
  padding: 16px;
  box-shadow: var(--shadow-sm);
  transition: var(--transition);
}
.sp-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); border-color: #dbe0e6; }

/* Se preferir borda premium em cards específicos, adicione .gcard no HTML */
.sp-card.gcard {
  background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(135deg, rgba(140,220,27,.85), rgba(246,162,72,.85)) border-box;
  border: 1px solid transparent;
}

/* Títulos internos de card */
.sp-card h3 { font-weight: 800; color: var(--ink); letter-spacing: -.01em; }

/* Imagem principal do evento */
.event-image {
  display:block; width:100%;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  animation: scaleIn .5s ease both;
}
.event-image.img-fade.is-loaded { box-shadow: var(--shadow-md); }

/* Facebook like (iframe) dentro de um wrap */
.sp-fb-like { margin-top: 14px; }

/* Textarea de descrição somente leitura */
.event-desc {
  border: 1px solid var(--cloud);
  box-shadow: inset 0 1px 0 rgba(0,0,0,.02);
  border-radius: 12px;
  background: #fafbfc;
  color: var(--ink-light);
  resize: none;
}

/* Tabelas (Ingressos / Carrinho) */
.table {
  --tbl-border: #e9edf3;
  --tbl-head-bg: #f6f8fb;
  --tbl-row-hover: #f8fbff;

  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--tbl-border);
  background: #fff;
  box-shadow: var(--shadow-xs);
}
.table thead th {
  background: var(--tbl-head-bg);
  color: var(--ink);
  font-weight: 800;
  border-bottom: 1px solid var(--tbl-border);
}
.table tbody tr:hover td { background: var(--tbl-row-hover); }
.table td, .table th { vertical-align: middle; }

/* Botões da tabela */
.table .btn { border-radius: 10px; }
.table .btn-outline-primary { border-width: 2px; font-weight: 700; }
.table .btn-outline-secondary { border-width: 2px; font-weight: 700; }
.table .btn-success, .table .btn-outline-danger { font-weight: 700; }

/* Select de quantidade */
.table select.form-select {
  border-radius: 10px;
  border-color: var(--cloud);
}
.table select.form-select:focus {
  border-color: #b7bcc6;
  box-shadow: 0 0 0 .15rem rgba(140,220,27,.25);
}

/* Linha de total */
.table .table-light td { font-weight: 800; color: var(--ink); }

/* Modal do mapa */
.modal-content {
  border-radius: 16px;
  box-shadow: var(--shadow-lg);
  border: 1px solid var(--cloud);
}
.modal-header {
  border-bottom: 1px solid var(--cloud);
}
.modal-body img {
  border-radius: 12px;
  box-shadow: var(--shadow-sm);
}

/* Seções e texto auxiliar */
.sp-section-title { margin: 24px 0 12px; font-weight: 800; color: var(--ink); }
.sp-badge { font-size: .85rem; }
.sp-mt { margin-top: 18px; }

/* Estado vazio do carrinho */
.table tbody tr td.text-muted { color: var(--ink-muted) !important; }

/* Alerts */
.alert-warning {
  border-radius: 12px;
  border: 1px solid #ffe8b3;
  background: #fff8e6;
  color: #8a6d1a;
  box-shadow: var(--shadow-xs);
}

/* Reveal helper (usa o mesmo animation do app.css) */
.reveal { opacity: 0; transform: translateY(14px); transition: opacity .35s ease, transform .35s ease; }
.reveal.in { opacity: 1; transform: none; }

/* Responsividade leve */
@media (max-width: 575.98px) {
  .event-title { font-size: 1.25rem; }
  .event-date.badge { margin-top: .35rem; align-self: flex-start; }
}


/* ------ assets/css/eventos.css — premium ------ */

/* hero */
.event-hero { position: relative; min-height: 56vh; background: #111; border-bottom: 1px solid var(--cloud); }
.event-hero-bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter: saturate(1.05) contrast(1.05) brightness(.9); }
.event-hero-overlay { position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.55) 40%, rgba(0,0,0,.45)); }
.event-breadcrumb { color: rgba(255,255,255,.85); }

/* poster card (imagem grande arredondada no topo) */
.poster-card{ border-radius: var(--radius-xl); overflow:hidden; border:1px solid var(--cloud); box-shadow: var(--shadow-sm); background: linear-gradient(180deg, #f8f9fb, #eff3f8); }
.poster-card .ratio{ border-radius: inherit; }
.poster-img{ width:100%; height:100%; object-fit:cover; border-radius: inherit; display:block; }


/* hero CTA */
.hero-cta { border-radius: var(--radius-xl); backdrop-filter: blur(6px); background: rgba(255,255,255,.96); }
.countdown { background:#0b0d10; color:#dbe2ea; padding:.2rem .5rem; border-radius:10px; }

/* info lines */
.info-line { display:flex; align-items:center; gap:.6rem; padding:.4rem .6rem; background:#fafbfc; border:1px solid var(--cloud); border-radius:12px; }

/* cards base (compatível com tokens do app.css) */
.sp-card { background:#fff; border:1px solid var(--cloud); border-radius: var(--radius-lg); padding: 16px; box-shadow: var(--shadow-sm); transition: var(--transition); }
.sp-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); border-color:#dbe0e6; }
.sp-card.gcard { background:linear-gradient(#fff,#fff) padding-box, linear-gradient(135deg, rgba(140,220,27,.85), rgba(246,162,72,.85)) border-box; border:1px solid transparent; }

/* descrição */
.event-desc { white-space: pre-wrap; line-height:1.6; color: var(--ink-light); }

/* tabela ingressos & carrinho */
.table { --tbl-border:#e9edf3; --tbl-head-bg:#f6f8fb; --tbl-row-hover:#f8fbff; border-radius:12px; overflow:hidden; border:1px solid var(--tbl-border); background:#fff; box-shadow: var(--shadow-xs); }
.table thead th { background: var(--tbl-head-bg); color: var(--ink); font-weight:800; border-bottom:1px solid var(--tbl-border); }
.table tbody tr:hover td { background: var(--tbl-row-hover); }
.table td, .table th { vertical-align:middle; }
.table .btn { border-radius:10px; font-weight:700; }

/* aside sticky */
.sticky-aside { position: sticky; top: calc(var(--nav-h) + 16px); }

/* reveal */
.reveal { opacity:0; transform: translateY(10px); }
.reveal.in { opacity:1; transform:none; transition: opacity .35s ease, transform .35s ease; }

/* responsivo do hero */
@media (max-width: 991.98px){ .event-hero{ min-height: 48vh; } }
@media (max-width: 575.98px){ .event-hero{ min-height: 42vh; } }
