:root{
  --asphalt:#15161a;
  --asphalt-2:#1e2025;
  --concrete:#2b2d33;
  --chalk:#f2efe6;
  --chalk-dim:#c9c6bb;
  --orange:#ff1493;    /* Rosa choque (Deep Pink) - Cor principal */
  --lime:#d4ff3f;      /* Verde limão - Destaques/Categorias */
  --line:rgba(242,239,230,0.14);
  --radius:2px;
  --display:'Anton', sans-serif;
  --body:'Space Grotesk', sans-serif;
  --mono:'JetBrains Mono', monospace;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
}
body{
  margin:0;
  background:var(--asphalt);
  color:var(--chalk);
  font-family:var(--body);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;}
img,svg{display:block;max-width:100%;}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px;}

/* [ESTILO] Eyebrow: Pequeno texto de destaque acima dos títulos principais */
.eyebrow{
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--orange);
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:14px;
}
.eyebrow::before{content:'';width:22px;height:2px;background:var(--orange);display:inline-block;}
h1,h2,h3{font-family:var(--display);font-weight:400;letter-spacing:0.01em;text-transform:uppercase;margin:0;}
h2{font-size:clamp(32px,5vw,52px);line-height:0.95;}
p{color:var(--chalk-dim);margin:0 0 0;}
.section{padding:88px 0;}

/* ---------- NAV (Cabeçalho e Menu) ---------- */
header.nav{
  position:sticky;top:0;z-index:50;
  background:rgba(21,22,26,0.92);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line);
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;max-width:1140px;margin:0 auto;}
.logo{font-family:var(--display);font-size:22px;letter-spacing:0.03em;text-transform:uppercase;}
.logo span{color:var(--orange);}
nav.links{display:flex;gap:26px;font-family:var(--mono);font-size:13px;text-transform:uppercase;letter-spacing:0.05em;}
nav.links a{text-decoration:none;color:var(--chalk-dim);border-bottom:2px solid transparent;padding-bottom:4px;transition:color .15s, border-color .15s;}
nav.links a:hover, nav.links a:focus-visible{color:var(--chalk);border-color:var(--orange);}

/* [BOTÃO CTA] Botão de chamada para ação principal (destaque) */
.btn-cta{
  font-family:var(--mono);font-size:13px;text-transform:uppercase;letter-spacing:0.05em;
  background:var(--orange);color:var(--asphalt);border:none;padding:10px 18px;border-radius:var(--radius);
  cursor:pointer;font-weight:700;text-decoration:none;display:inline-block;
}
.btn-cta:hover, .btn-cta:focus-visible{background:var(--lime);}
.mobile-menu-btn{display:none;background:none;border:1px solid var(--line);color:var(--chalk);padding:8px 10px;border-radius:var(--radius);}

/* ---------- HERO (Seção de Apresentação Inicial) ---------- */
.hero{
  position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 15% 20%, rgba(255,20,147,0.16), transparent 45%),
    radial-gradient(circle at 85% 75%, rgba(212,255,63,0.10), transparent 40%),
    repeating-linear-gradient(135deg, rgba(255,255,255,0.02) 0 2px, transparent 2px 26px),
    var(--asphalt);
  padding:100px 0 70px;
}
.hero-grid{display:grid;grid-template-columns:1.15fr 0.85fr;gap:40px;align-items:center;}
.hero h1{
  font-size:clamp(52px,9vw,108px);
  line-height:0.86;
  transform:skewX(-3deg);
  margin-left:-4px;
}
.hero h1 .accent{color:var(--orange);}
.hero-sub{font-size:18px;max-width:440px;margin-top:22px;color:var(--chalk-dim);}
.hero-actions{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap;}
.btn-ghost{
  font-family:var(--mono);font-size:13px;text-transform:uppercase;letter-spacing:0.05em;
  background:transparent;color:var(--chalk);border:1px solid var(--line);padding:10px 18px;border-radius:var(--radius);
  text-decoration:none;
}
.btn-ghost:hover, .btn-ghost:focus-visible{border-color:var(--chalk);}
.hero-meta{display:flex;gap:28px;margin-top:46px;font-family:var(--mono);font-size:13px;color:var(--chalk-dim);flex-wrap:wrap;}
.hero-meta b{display:block;color:var(--chalk);font-size:15px;}
.deck-wrap{position:relative;}
.deck-wrap svg{width:100%;height:auto;}

/* ---------- RIP DIVIDER (Divisor de seções estilizado) ---------- */
.rip{position:relative;height:34px;background:var(--asphalt-2);}
.rip svg{width:100%;height:100%;display:block;}
.rip-label{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  background:var(--asphalt-2);
  font-family:var(--mono);font-size:11px;letter-spacing:0.16em;text-transform:uppercase;
  color:var(--chalk-dim);padding:0 14px;white-space:nowrap;
}

section.alt{background:var(--asphalt-2);}

/* ---------- MODALIDADE (Cards de categorias) ---------- */
.cat-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:44px;}
.cat-card{
  border:1px solid var(--line);border-radius:var(--radius);padding:30px;position:relative;overflow:hidden;
  background:var(--concrete);
}
.cat-card.masc{border-top:3px solid var(--orange);}
.cat-card.fem{border-top:3px solid var(--lime);}
.cat-card h3{font-size:30px;margin-bottom:8px;}
.cat-card.masc h3{color:var(--orange);}
.cat-card.fem h3{color:var(--lime);}
.cat-card p{color:var(--chalk-dim);font-size:15px;}
.chip-row{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap;}
.chip{
  font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:0.06em;
  border:1px solid var(--line);padding:5px 10px;border-radius:20px;color:var(--chalk-dim);
}
.modality-note{
  margin-top:28px;display:flex;gap:14px;align-items:flex-start;
  border:1px dashed var(--line);padding:18px;border-radius:var(--radius);
}
.modality-note .tag{
  font-family:var(--mono);font-size:11px;text-transform:uppercase;background:var(--orange);color:var(--asphalt);
  padding:4px 8px;border-radius:2px;flex:none;font-weight:700;
}

/* ---------- REGRAS ---------- */
.rules-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;margin-top:44px;background:var(--line);border:1px solid var(--line);}
.rule-card{background:var(--asphalt-2);padding:26px 28px;}
section.alt .rule-card{background:var(--asphalt);}
.rule-num{font-family:var(--mono);color:var(--orange);font-size:13px;margin-bottom:10px;display:block;}
.rule-card p{color:var(--chalk-dim);font-size:14.5px;}
.rule-card strong{color:var(--chalk);}

/* ---------- LOCAL / HORARIOS ---------- */
.local-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:44px;align-items:start;}
.info-card{border:1px solid var(--line);border-radius:var(--radius);padding:26px;background:var(--concrete);}
.info-card h3{font-size:18px;margin-bottom:14px;font-family:var(--body);text-transform:none;font-weight:600;letter-spacing:0;}
.info-line{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14.5px;}
.info-line:last-child{border-bottom:none;}
.info-line span.k{font-family:var(--mono);color:var(--chalk-dim);min-width:92px;font-size:12px;text-transform:uppercase;letter-spacing:0.04em;padding-top:2px;}
table.schedule{width:100%;border-collapse:collapse;font-size:14px;}
table.schedule th{
  text-align:left;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:0.06em;
  color:var(--chalk-dim);padding:0 10px 10px;border-bottom:1px solid var(--line);
}
table.schedule td{padding:12px 10px;border-bottom:1px solid var(--line);color:var(--chalk-dim);}
table.schedule td.time{font-family:var(--mono);color:var(--chalk);white-space:nowrap;}
table.schedule tr:last-child td{border-bottom:none;}
.badge-cat{font-family:var(--mono);font-size:10px;padding:2px 7px;border-radius:20px;text-transform:uppercase;letter-spacing:0.04em;}
.badge-fem{background:rgba(212,255,63,0.15);color:var(--lime);}
.badge-masc{background:rgba(255,20,147,0.15);color:var(--orange);}
.badge-geral{background:rgba(242,239,230,0.12);color:var(--chalk-dim);}

/* ---------- FORM / TICKET (Formulário de Inscrição e Ingresso) ---------- */
.form-grid{display:grid;grid-template-columns:1.2fr 0.8fr;gap:40px;margin-top:44px;align-items:start;}
form.reg{display:grid;gap:16px;}
.field{display:grid;gap:6px;}
.field label{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:0.06em;color:var(--chalk-dim);}
.field input, .field select{
  background:var(--asphalt-2);border:1px solid var(--line);color:var(--chalk);
  padding:12px 12px;border-radius:var(--radius);font-family:var(--body);font-size:14.5px;
}
section.alt .field input, section.alt .field select{background:var(--asphalt);}
.field input:focus-visible, .field select:focus-visible{outline:2px solid var(--orange);outline-offset:1px;}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.toggle-group{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.toggle-opt{position:relative;}
.toggle-opt input{position:absolute;opacity:0;inset:0;cursor:pointer;}
.toggle-opt label{
  display:block;text-align:center;padding:14px;border:1px solid var(--line);border-radius:var(--radius);
  font-family:var(--mono);font-size:13px;text-transform:uppercase;letter-spacing:0.05em;cursor:pointer;color:var(--chalk-dim);
}
.toggle-opt input:checked + label{color:var(--asphalt);font-weight:700;}
.toggle-opt.masc input:checked + label{background:var(--orange);border-color:var(--orange);}
.toggle-opt.fem input:checked + label{background:var(--lime);border-color:var(--lime);}
.toggle-opt input:focus-visible + label{outline:2px solid var(--chalk);outline-offset:2px;}
.checkline{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--chalk-dim);margin-top:4px;}
.checkline input{margin-top:3px;}
.checkline a{color:var(--orange);text-decoration:underline;}
.submit-row{display:flex;align-items:center;gap:16px;margin-top:6px;}
.btn-submit{
  font-family:var(--mono);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:0.05em;
  background:var(--orange);color:var(--asphalt);border:none;padding:14px 26px;border-radius:var(--radius);cursor:pointer;
}
.btn-submit:hover, .btn-submit:focus-visible{background:var(--lime);}
.btn-submit:disabled{opacity:0.5;cursor:not-allowed;}
.form-msg{font-family:var(--mono);font-size:12.5px;}
.form-msg.err{color:#ff8a6b;}
.form-msg.ok{color:var(--lime);}

/* ---------- CONFIRMAÇÃO & SUPORTE (Inscrição Gratuita) ---------- */
#payment-box{display:none !important;} /* Oculta permanentemente o fluxo legado de PIX */

.confirmation-box{
  margin-top: 24px;
  border: 1px solid #25d366;
  background: var(--asphalt);
  padding: 24px;
  border-radius: var(--radius);
}
.btn-whatsapp{
  font-family: var(--mono);
  font-weight: 700;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  background: #25d366;
  color: #fff;
  border: none;
  padding: 12px 20px;
  border-radius: var(--radius);
  cursor: pointer;
  text-decoration: none;
  display: block;
  text-align: center;
  width: 100%;
  margin-top: 16px;
  transition: opacity .15s;
}
.btn-whatsapp:hover{
  opacity: 0.9;
}

/* ticket (Visual do comprovante/ingresso gerado) */
.ticket{
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--concrete);
  position:sticky;top:96px;
}
.ticket-top{padding:24px;border-bottom:2px dashed var(--line);position:relative;transition:background .2s;}
.ticket-top::before, .ticket-top::after{
  content:'';position:absolute;bottom:-11px;width:22px;height:22px;background:var(--asphalt-2);border-radius:50%;
}
section.alt .ticket-top::before, section.alt .ticket-top::after{background:var(--asphalt);}
.ticket-top::before{left:-11px;}
.ticket-top::after{right:-11px;}
.ticket-top .tk-event{font-family:var(--mono);font-size:11px;text-transform:uppercase;color:var(--chalk-dim);letter-spacing:0.08em;}
.ticket-top .tk-name{font-family:var(--display);font-size:30px;text-transform:uppercase;margin-top:8px;min-height:36px;word-break:break-word;}
.ticket-bottom{padding:22px 24px;}
.tk-row{display:flex;justify-content:space-between;font-size:13px;padding:8px 0;border-bottom:1px solid var(--line);color:var(--chalk-dim);}
.tk-row:last-child{border-bottom:none;}
.tk-row b{color:var(--chalk);font-weight:600;}
.tk-cat-pill{font-family:var(--mono);font-size:11px;padding:3px 10px;border-radius:20px;text-transform:uppercase;}

/* ---------- ADMIN / GESTAO (Painel Administrativo) ---------- */
.admin-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-top:44px;}
.stat-row{display:flex;gap:14px;flex-wrap:wrap;}
.stat-card{border:1px solid var(--line);padding:16px 22px;border-radius:var(--radius);background:var(--asphalt-2);min-width:120px;}
section.alt .stat-card{background:var(--asphalt);}
.stat-card .n{font-family:var(--display);font-size:34px;line-height:1;}
.stat-card .l{font-family:var(--mono);font-size:11px;text-transform:uppercase;color:var(--chalk-dim);letter-spacing:0.05em;margin-top:6px;}
.stat-card.masc .n{color:var(--orange);}
.stat-card.fem .n{color:var(--lime);}
.filter-tabs{display:flex;gap:8px;}
.filter-tabs button{
  font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:0.05em;
  background:transparent;border:1px solid var(--line);color:var(--chalk-dim);padding:9px 16px;border-radius:20px;cursor:pointer;
}
.filter-tabs button.active{background:var(--chalk);color:var(--asphalt);border-color:var(--chalk);font-weight:700;}
.admin-tools{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap;}
.table-wrap{margin-top:20px;border:1px solid var(--line);border-radius:var(--radius);overflow:auto;}
table.admin{width:100%;border-collapse:collapse;min-width:720px;font-size:13.5px;}
table.admin th{
  text-align:left;font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:0.05em;
  color:var(--chalk-dim);padding:12px 14px;border-bottom:1px solid var(--line);background:var(--asphalt-2);
}
section.alt table.admin th{background:var(--asphalt);}
table.admin td{padding:12px 14px;border-bottom:1px solid var(--line);color:var(--chalk-dim);}
table.admin tr:last-child td{border-bottom:none;}
table.admin td.name{color:var(--chalk);font-weight:600;}
.rm-btn{
  background:none;border:1px solid var(--line);color:var(--chalk-dim);font-family:var(--mono);font-size:11px;
  padding:5px 10px;border-radius:20px;cursor:pointer;text-transform:uppercase;
}
.rm-btn:hover, .rm-btn:focus-visible{border-color:#ff8a6b;color:#ff8a6b;}
.empty-row td{text-align:center;padding:34px;font-family:var(--mono);font-size:12.5px;}
.storage-note{font-family:var(--mono);font-size:11.5px;color:var(--chalk-dim);margin-top:14px;opacity:0.75;}

/* ---------- FOOTER (Rodapé) ---------- */
footer{border-top:1px solid var(--line);padding:44px 0;}
.footer-inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;align-items:center;}
footer p{font-family:var(--mono);font-size:12px;color:var(--chalk-dim);}

/* [RESPONSIVIDADE] Ajustes para telas menores (Tablets e Celulares) */
@media (max-width:860px){
  .hero-grid{grid-template-columns:1fr;}
  .deck-wrap{order:-1;max-width:280px;margin:0 auto;}
  nav.links{display:none;}
  .cat-grid, .rules-grid, .local-grid, .form-grid{grid-template-columns:1fr;}
  .row2{grid-template-columns:1fr;}
  .ticket{position:static;}
  table.admin{min-width:600px;}
}