body.theme-copa-brasil {
  --bg: #061b12;
  --surface: #06271a;
  --surface-alt: #0b3a23;
  --ink: #fff9df;
  --muted: #d9e8c7;
  --brand: #ffd32a;
  --brand-strong: #0aa84f;
  --accent: #1f64ff;
  --success: #13c85a;
  --border: rgba(255, 211, 42, 0.34);
  --neon-orange: #ffd32a;
  --neon-amber: #13c85a;
  --brand-gradient: linear-gradient(90deg, #07964a, #ffd32a 52%, #1f64ff);
  background:
    radial-gradient(900px 480px at 12% -8%, rgba(19, 200, 90, 0.28), transparent 60%),
    radial-gradient(860px 440px at 86% -8%, rgba(31, 100, 255, 0.18), transparent 58%),
    linear-gradient(180deg, #03140d 0%, #061b12 54%, #082414 100%);
}

body.theme-copa-brasil::before {
  background-image:
    linear-gradient(transparent 96%, rgba(255, 255, 255, 0.08) 100%),
    linear-gradient(90deg, transparent 96%, rgba(255, 255, 255, 0.08) 100%);
  background-size: 72px 72px;
  opacity: 0.24;
}

body.theme-copa-brasil::after {
  background:
    radial-gradient(circle at 8% 18%, rgba(255, 211, 42, 0.20) 0 2px, transparent 3px),
    radial-gradient(circle at 24% 42%, rgba(255, 255, 255, 0.16) 0 1.5px, transparent 3px),
    radial-gradient(circle at 78% 20%, rgba(31, 100, 255, 0.18) 0 2px, transparent 3px),
    radial-gradient(680px 360px at 50% 92%, rgba(19, 200, 90, 0.18), transparent 78%);
}

body.theme-copa-brasil .site-header {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(120deg, rgba(3, 20, 13, 0.98), rgba(8, 36, 20, 0.96)),
    radial-gradient(860px 260px at 24% 0%, rgba(19, 200, 90, 0.30), transparent 64%),
    radial-gradient(820px 260px at 78% 0%, rgba(255, 211, 42, 0.20), transparent 64%);
  border-bottom-color: rgba(255, 211, 42, 0.28);
}

body.theme-copa-brasil .site-header::before {
  content: "";
  position: absolute;
  right: clamp(-110px, -8vw, -40px);
  top: clamp(18px, 4vw, 48px);
  width: clamp(230px, 38vw, 420px);
  aspect-ratio: 1.45;
  background: url("../img/bandeira-brasil-copa.png") center / contain no-repeat;
  filter: drop-shadow(0 24px 44px rgba(0, 0, 0, 0.32));
  opacity: 0.38;
  transform: rotate(-8deg);
  pointer-events: none;
}

body.theme-copa-brasil .site-header::after {
  content: "Mega Lanches na torcida pelo Brasil";
  position: absolute;
  left: clamp(18px, 4vw, 42px);
  bottom: 8px;
  color: rgba(255, 249, 223, 0.72);
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: clamp(0.58rem, 1.8vw, 0.78rem);
  pointer-events: none;
}

body.theme-copa-brasil .topo,
body.theme-copa-brasil .hero,
body.theme-copa-brasil .order-steps,
body.theme-copa-brasil .categorias,
body.theme-copa-brasil .busca-wrap {
  position: relative;
  z-index: 1;
}

body.theme-copa-brasil .texto-header h1 {
  color: #fff9df;
  text-shadow: 0 2px 20px rgba(255, 211, 42, 0.22);
}

body.theme-copa-brasil .slogan::after {
  content: "  ★ jogo, lanche e torcida";
  color: #ffd32a;
  font-weight: 800;
}

body.theme-copa-brasil .logo,
body.theme-copa-brasil .promo-card,
body.theme-copa-brasil .hero-card,
body.theme-copa-brasil .modal-content,
body.theme-copa-brasil .menu-item,
body.theme-copa-brasil .returning-order-card {
  border-color: rgba(255, 211, 42, 0.36);
  box-shadow: 0 18px 42px rgba(2, 23, 12, 0.45);
}

body.theme-copa-brasil .promo-card {
  background:
    linear-gradient(135deg, rgba(31, 100, 255, 0.22), rgba(19, 200, 90, 0.18)),
    linear-gradient(180deg, rgba(255, 211, 42, 0.14), rgba(6, 39, 26, 0.94));
}

body.theme-copa-brasil .promo-tag,
body.theme-copa-brasil .pill.aberto {
  background: linear-gradient(135deg, #13c85a, #ffd32a);
  color: #052014;
}

body.theme-copa-brasil .pill.fechado,
body.theme-copa-brasil .status-banner {
  background: rgba(31, 100, 255, 0.18);
  color: #fff9df;
  border-color: rgba(31, 100, 255, 0.42);
}

body.theme-copa-brasil .hero-card {
  position: relative;
  overflow: hidden;
}

body.theme-copa-brasil .hero-card::after,
body.theme-copa-brasil .menu-item::after {
  content: "⚽";
  position: absolute;
  right: 18px;
  bottom: 12px;
  font-size: 34px;
  opacity: 0.12;
}

body.theme-copa-brasil .categorias button {
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.07);
}

body.theme-copa-brasil .categorias button.ativo,
body.theme-copa-brasil .categorias button:hover {
  background: linear-gradient(135deg, #0aa84f, #ffd32a 62%, #1f64ff);
  color: #04170e;
  box-shadow: 0 12px 30px rgba(255, 211, 42, 0.20);
}

body.theme-copa-brasil .menu-item {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(19, 200, 90, 0.10), transparent 36%),
    linear-gradient(180deg, rgba(10, 38, 26, 0.96), rgba(8, 27, 20, 0.94));
}

body.theme-copa-brasil .menu-item::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: linear-gradient(180deg, #0aa84f, #ffd32a, #1f64ff);
}

body.theme-copa-brasil .preco,
body.theme-copa-brasil .price {
  color: #ffd32a;
}

body.theme-copa-brasil .btn,
body.theme-copa-brasil button,
body.theme-copa-brasil #btn-carrinho,
body.theme-copa-brasil button.btn-adicionar,
body.theme-copa-brasil #confirmar,
body.theme-copa-brasil #modal-adicionar {
  background: linear-gradient(135deg, #13c85a, #ffd32a);
  color: #061b12;
  border-color: rgba(255, 255, 255, 0.16);
}

body.theme-copa-brasil .btn.ghost {
  background: rgba(31, 100, 255, 0.16);
  color: #fff9df;
  border-color: rgba(31, 100, 255, 0.50);
}

body.theme-copa-brasil input,
body.theme-copa-brasil select,
body.theme-copa-brasil textarea {
  border-color: rgba(255, 211, 42, 0.30);
}

body.theme-copa-brasil .modal-content {
  background:
    radial-gradient(240px 160px at 100% 0%, rgba(31, 100, 255, 0.18), transparent 70%),
    linear-gradient(180deg, rgba(8, 36, 20, 0.98), rgba(4, 20, 13, 0.98));
}

@media (max-width: 520px) {
  body.theme-copa-brasil .site-header::before {
    width: 210px;
    right: -112px;
    top: 22px;
    opacity: 0.22;
  }

  body.theme-copa-brasil .site-header::after {
    position: static;
    display: block;
    padding: 0 18px 8px;
  }

  body.theme-copa-brasil .slogan::after {
    display: block;
  }
}
