.gamer-ctl, .gamer-ctl * { box-sizing: border-box !important; }

.gamer-ctl {
  --ctl-orange: #f05a17;
  --ctl-blue: #08245f;
  position: relative;
  overflow: hidden;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: clamp(36px, 6vw, 64px) 0; /* controlável em Estilo → Espaçamento da seção */
  font-family: Arial, Helvetica, sans-serif !important;
  color: #fff !important;
  background: #0c0d15; /* fallback; controlável em Estilo → Fundo da seção */
}

/* Brilho decorativo (independente do fundo escolhido, fica numa camada própria) */
.gamer-ctl:before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: radial-gradient(900px 480px at 50% -10%, rgba(240, 90, 23, .16), transparent 60%);
}
.gamer-ctl.no-brilho:before { display: none; }

/* Imagem/vídeo de fundo (camada extra, acima da cor/gradiente, abaixo do conteúdo) */
.gamer-ctl-bgmedia { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
.gamer-ctl-bgmedia img,
.gamer-ctl-bgmedia video { width: 100%; height: 100%; object-fit: cover; display: block; }
.gamer-ctl-bgoverlay { position: absolute; inset: 0; background: #000; }

/* Full-bleed: estoura pra largura total mesmo dentro de um container limitado.
   Usa --ctl-vw (largura real da tela, sem o scrollbar) via JS; cai para 100vw sem JS. */
.gamer-ctl.gamer-full {
  width: var(--ctl-vw, 100vw) !important;
  max-width: var(--ctl-vw, 100vw) !important;
  margin-left: calc(50% - var(--ctl-vw, 100vw) / 2) !important;
  margin-right: calc(50% - var(--ctl-vw, 100vw) / 2) !important;
}

.gamer-ctl-wrap { position: relative; z-index: 1; width: min(1180px, calc(100% - 32px)) !important; margin: 0 auto !important; }

.gamer-ctl-head { text-align: center !important; margin-bottom: 26px !important; }
.gamer-ctl-head h2 { margin: 0 0 8px !important; font-size: clamp(28px, 4vw, 40px) !important; font-weight: 950 !important; color: #fff !important; }
.gamer-ctl-head p { margin: 0 auto !important; max-width: 560px !important; font-size: 14px !important; font-weight: 600 !important; color: #c7cbd8 !important; }

.gamer-ctl-body {
  display: grid !important;
  grid-template-columns: minmax(260px, 340px) 1fr !important;
  gap: 20px !important;
  align-items: stretch !important;
}
@media (max-width: 860px) {
  .gamer-ctl-body { grid-template-columns: 1fr !important; }
}

/* ===== Card do plano ===== */
.gamer-ctl-card {
  position: relative;
  overflow: hidden;
  display: flex !important;
  flex-direction: column !important;
  padding: 26px 22px 24px; /* controlável em Estilo → Card do plano */
  border-radius: 20px;      /* controlável em Estilo → Card do plano */
  background: linear-gradient(180deg, #181a26 0%, #0c0d15 100%);
  border: 1px solid rgba(255, 255, 255, .08);
  box-shadow: 0 18px 44px rgba(0, 0, 0, .45);
}
.gamer-ctl-card:before {
  content: ""; position: absolute; inset: 0 0 auto 0; height: 4px;
  background: linear-gradient(90deg, var(--ctl-orange), #ffb066);
}
.gamer-ctl-selo {
  align-self: center !important; margin-bottom: 10px !important; padding: 6px 16px !important; border-radius: 999px !important;
  background: linear-gradient(135deg, var(--ctl-orange), #ff9a3d) !important; color: #fff !important; font-size: 10px !important;
  font-weight: 950 !important; letter-spacing: .5px !important; text-transform: uppercase !important;
}
.gamer-ctl-card h3 { margin: 0 0 16px !important; text-align: center !important; font-size: clamp(24px, 3vw, 30px); font-weight: 950; color: #fff; }
.gamer-ctl-beneficios { display: grid !important; gap: 0 !important; margin-bottom: 16px !important; }
.gamer-ctl-beneficios div { padding: 8px 0 !important; border-bottom: 1px solid rgba(255, 255, 255, .1) !important; font-size: 12.5px !important; font-weight: 700 !important; color: #c7cbd8; text-align: center !important; }
.gamer-ctl-beneficios span { color: var(--ctl-orange) !important; font-weight: 900 !important; margin-right: 4px !important; }
.gamer-ctl-preco { margin-top: auto !important; padding-top: 16px !important; text-align: center !important; }
.gamer-ctl-preco p { margin: 0 0 2px !important; color: #ff6b5e !important; font-size: 11px !important; font-weight: 700 !important; }
.gamer-ctl-antigo { margin: 0 0 10px !important; color: #ff5454 !important; font-size: 17px !important; font-weight: 950 !important; text-decoration: line-through !important; }
.gamer-ctl-preco strong { display: block !important; margin: 0 !important; font-size: 12px !important; font-weight: 950 !important; color: var(--ctl-orange) !important; }
.gamer-ctl-final { margin: 4px 0 2px !important; font-size: clamp(32px, 3.6vw, 42px); line-height: 1 !important; font-weight: 950; color: #fff; }
.gamer-ctl-preco small { display: block !important; margin: 0 0 16px !important; font-size: 11.5px !important; font-weight: 800 !important; color: #9aa1b4 !important; }
.gamer-ctl-assine {
  display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 100% !important; min-height: 52px !important;
  border: 0 !important; border-radius: 9px !important; background: linear-gradient(135deg, var(--ctl-orange), #ff9a3d) !important; color: #fff !important;
  text-decoration: none !important; font-size: 16px !important; font-weight: 950 !important; text-transform: uppercase !important;
  box-shadow: 0 12px 26px rgba(240, 90, 23, .28) !important; transition: transform .25s ease, box-shadow .25s ease !important;
}
.gamer-ctl-assine:hover { transform: translateY(-2px) !important; box-shadow: 0 16px 34px rgba(240, 90, 23, .36) !important; }

/* ===== Jogos ===== */
.gamer-ctl-games { display: grid !important; gap: 16px !important; align-content: start !important; }
.gamer-ctl-game {
  padding: 16px !important; border-radius: 16px !important; background: rgba(255, 255, 255, .04) !important;
  border: 1px solid rgba(255, 255, 255, .08) !important;
}
.gamer-ctl-game-label {
  display: inline-flex !important; align-items: center !important; gap: 6px !important; margin-bottom: 10px !important; padding: 5px 14px !important;
  border-radius: 999px !important; font-size: 10.5px !important; font-weight: 950 !important; letter-spacing: .5px !important; text-transform: uppercase !important;
}
.gamer-ctl-game-label.is-laggy { background: rgba(255, 84, 84, .15) !important; color: #ff8484 !important; border: 1px solid rgba(255, 84, 84, .3) !important; }
.gamer-ctl-game-label.is-smooth { background: rgba(46, 213, 139, .15) !important; color: #5eeba9 !important; border: 1px solid rgba(46, 213, 139, .3) !important; }
.gamer-ctl-canvas-wrap { position: relative !important; width: 100% !important; border-radius: 10px !important; overflow: hidden !important; background: #05070c !important; line-height: 0 !important; }
.gamer-ctl-canvas { display: block !important; width: 100% !important; height: auto !important; cursor: pointer !important; touch-action: manipulation !important; }
.gamer-ctl-hint { display: block !important; margin-top: 8px !important; font-size: 11px !important; font-weight: 700 !important; color: #7d8598 !important; text-align: center !important; }

/* ===== Prêmio (easter egg) ===== */
.gamer-ctl-prize {
  position: absolute !important; inset: 0 !important; display: flex !important; align-items: center !important; justify-content: center !important;
  padding: 10px !important; background: rgba(5, 7, 12, .88) !important; line-height: 1.35 !important; text-align: center !important;
  z-index: 5 !important; animation: gamer-ctl-pop .3s ease !important;
}
.gamer-ctl-prize-card { width: 100% !important; max-width: 280px !important; }
.gamer-ctl-prize-emoji { font-size: 34px !important; line-height: 1 !important; }
.gamer-ctl-prize-title { display: block !important; margin: 6px 0 2px !important; font-size: 20px !important; font-weight: 950 !important; color: #fff !important; }
.gamer-ctl-prize-score { margin: 0 !important; font-size: 12px !important; font-weight: 800 !important; color: #5eeba9 !important; }
.gamer-ctl-prize-code {
  margin: 8px auto 4px !important; padding: 6px 12px !important; display: inline-block !important; border-radius: 8px !important;
  background: rgba(255, 255, 255, .08) !important; border: 1px dashed rgba(255, 255, 255, .45) !important;
  font-family: monospace !important; font-size: 16px !important; font-weight: 900 !important; letter-spacing: 1px !important; color: #fff !important;
}
.gamer-ctl-prize-date { margin: 0 0 6px !important; font-size: 10.5px !important; font-weight: 700 !important; color: #9aa1b4 !important; }
.gamer-ctl-prize-instr { margin: 0 0 12px !important; font-size: 12px !important; font-weight: 700 !important; color: #e6e8ef !important; }
.gamer-ctl-prize-again {
  border: 0 !important; border-radius: 8px !important; padding: 9px 16px !important; cursor: pointer !important;
  background: linear-gradient(135deg, var(--ctl-orange), #ff9a3d) !important; color: #fff !important;
  font-size: 12px !important; font-weight: 900 !important; text-transform: uppercase !important;
}
@keyframes gamer-ctl-pop { from { opacity: 0; transform: scale(.92); } to { opacity: 1; transform: none; } }

@media (max-width: 480px) {
  .gamer-ctl-card { padding: 22px 18px 20px; }
  .gamer-ctl-games { gap: 12px !important; }
}
