/* NhacFest: mesma base do site do NhacJá, com a paleta do app (nhacfest-web/src/styles/tokens.css).
   --nhac-verde vira o roxo da marca e --verde-900 vira a "noite"; roxo nunca é texto sobre a noite. */
:root {
  --nhac-verde: #5B2A86;
  --verde-900: #1A1326;
  --kds-bg: #1A1326;
  --kds-card: #251B36;
  --noite-texto: #F3EEFF;
  --sombra: 0 10px 30px -12px rgba(91, 42, 134, .3);
}
.hl { color: var(--nhac-verde); }
.hero__title { font-size: clamp(52px, 7.2vw, 92px); }

/* Wordmark atual do NhacFest: símbolo + "Nhac" grafite + "Fest" roxo (igual ao Logo do app) */
.fest-logo { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; font: 800 26px/1 var(--nhac-ui-font); letter-spacing: -.03em; color: var(--nhac-grafite); }
.fest-logo img { width: 34px; height: 34px; }
.fest-logo span span { color: var(--nhac-verde); }
.fest-logo--inv { color: var(--nhac-creme); }
.fest-logo--inv span span { color: var(--nhac-amarelo); }

/* Convite no celular */
.invite { text-align: center; }
.invite__ev { text-align: left; color: var(--nhac-grafite); }
.invite__ev b { display: block; font-size: 20px; letter-spacing: -.02em; }
.invite__ev small { opacity: .7; }
.invite__card { margin-top: 14px; background: var(--nhac-branco); border: 1px solid var(--borda); border-radius: 20px; padding: 16px; font-size: 13px; }
.invite__card .qr { width: 150px; margin: 12px auto; }
.invite__btn { margin-top: 10px; padding: 10px; border-radius: 12px; border: 1px solid var(--borda); font-weight: 700; }

/* Leitor da portaria (noite) */
.gate { width: 100%; color: var(--noite-texto); }
.gate__top { display: flex; justify-content: space-between; font-size: 13px; opacity: .85; margin-bottom: 14px; }
.gate__ok { background: #2EB872; color: var(--kds-bg); border-radius: 18px; padding: 22px 18px; text-align: center; }
.gate__ok b { display: block; font-size: 26px; }
.gate__again { margin-top: 12px; background: var(--kds-card); border: 2px solid var(--nhac-amarelo); border-radius: 14px; padding: 14px; font-size: 13px; }
.gate__again b { color: var(--nhac-amarelo); }

/* Lotes */
.lot { display: flex; justify-content: space-between; padding: 14px; background: var(--nhac-branco); border-radius: 14px; margin-bottom: 8px; border: 1px solid var(--borda); font-size: 15px; }
.lot.on { border: 2px solid var(--nhac-verde); font-weight: 700; }
.lot.muted { opacity: .45; }
.pay { margin-top: 14px; background: var(--nhac-verde); color: #fff; padding: 16px; border-radius: 16px; text-align: center; font-weight: 800; }

/* Presença */
.stats { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; width: 100%; }
.stats div { background: var(--nhac-branco); border: 1px solid var(--borda); border-radius: 14px; padding: 14px; font-size: 12px; }
.stats b { display: block; font-size: 24px; color: var(--nhac-verde); }
.stats .alert { grid-column: 1 / -1; background: #FFF0CC; border-color: transparent; font-weight: 600; }

.ev-panel { width: 100%; }
.ev-panel .tagline { display: inline-block; font-size: 12px; font-weight: 800; padding: 4px 10px; border-radius: 99px; background: #2EB872; color: var(--kds-bg); }

/* Combo com o NhacJá */
.combo { padding: 0 0 120px; }
.combo__in { display: grid; grid-template-columns: auto 1fr auto; gap: 40px; align-items: center; background: var(--nhac-branco); border: 1px solid var(--borda); border-radius: 28px; padding: 40px; }
.combo__in img { width: 200px; height: auto; }
.combo__in h2 { font-size: clamp(26px, 3.4vw, 38px); }
.combo__in p { margin-top: 8px; }
.night .sec-lead { color: var(--noite-texto); }
@media (max-width: 960px) {
  .combo__in { grid-template-columns: 1fr; padding: 28px; }
}

/* lista de papel: ✓ feito à caneta conforme a portaria "atualiza" */
.chk { position: absolute; right: 14px; top: 0; font: 700 32px/40px "Caveat", cursive; color: #15803D; opacity: calc(var(--t) * (1 - var(--m))); scale: calc(1.6 - var(--t) * .6); }
@media (max-width: 960px) { .chk { font-size: 26px; line-height: 32px; } }
