/* Genoma Indicações */
.gi-app {
  --gi-laranja: #ff6000;
  --gi-amarelo: #ffa200;
  --gi-escuro: #1d1d1f;
  --gi-texto: #333;
  --gi-muted: #6b6b70;
  --gi-borda: #ececef;
  --gi-fundo: #fff7f1;
  --gi-ok: #12a150;
  --gi-erro: #d93025;
  --gi-uniube: #0b5cad;
  --gi-mix: #7b3fbf;
  font-family: 'Roboto', system-ui, sans-serif;
  color: var(--gi-texto);
  max-width: 560px;
  margin: 0 auto;
  padding: 0 0 32px;
  line-height: 1.45;
  font-size: 16px;
  box-sizing: border-box;
}
.gi-app *, .gi-app *::before, .gi-app *::after { box-sizing: border-box; }
.gi-app.gi-largo { max-width: 1180px; }
.gi-app h2, .gi-app h3 { font-family: inherit; color: var(--gi-escuro); margin: 0 0 6px; line-height: 1.2; }
.gi-app h3 { font-size: 19px; font-weight: 700; }
.gi-app p { margin: 0 0 12px; }
.gi-carregando { padding: 48px 0; text-align: center; color: var(--gi-muted); }
.gi-muted { color: var(--gi-muted); }
.gi-peq { font-size: 13px; }
.gi-centro { text-align: center; }
.gi-erro { color: var(--gi-erro); font-weight: 500; margin: 8px 0; }

/* Cabeçalho */
.gi-hero {
  background: linear-gradient(135deg, var(--gi-laranja), var(--gi-amarelo));
  color: #fff; border-radius: 20px; padding: 28px 24px; margin-bottom: 16px;
  position: relative; overflow: hidden;
}
.gi-hero::after {
  content: ''; position: absolute; right: -40px; top: -40px; width: 180px; height: 180px;
  border-radius: 50%; border: 22px solid rgba(255,255,255,.14);
}
.gi-hero h2 { color: #fff; font-size: 28px; font-weight: 900; letter-spacing: -.3px; }
.gi-hero h2 span, .gi-hero-tag span { color: var(--gi-escuro); }
.gi-hero p { margin: 8px 0 0; opacity: .95; }
.gi-hero-tag { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; opacity: .9; margin-bottom: 8px; }
.gi-hero-mini { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 20px 22px; }
.gi-hero-mini h2 { font-size: 24px; }
.gi-hero-mini .gi-btn-sec { background: #fff; position: relative; z-index: 1; }
.gi-sair { color: #fff !important; position: relative; z-index: 1; }

/* Cartões e formulários */
.gi-card { background: #fff; border: 1px solid var(--gi-borda); border-radius: 16px; padding: 20px; margin-bottom: 14px; box-shadow: 0 2px 10px rgba(0,0,0,.04); }
.gi-card.gi-destaque { border-color: var(--gi-laranja); background: var(--gi-fundo); }
.gi-app label, .gi-campo { display: block; font-weight: 500; font-size: 14px; color: var(--gi-escuro); margin-bottom: 12px; }
.gi-campo > span { display: block; margin-bottom: 6px; }
.gi-app label em { font-weight: 400; color: var(--gi-muted); font-style: normal; }
.gi-app label small { display: block; font-weight: 400; color: var(--gi-muted); margin-top: 4px; }
.gi-app input:not([type=checkbox]), .gi-app select, .gi-app textarea {
  display: block; width: 100%; margin-top: 6px; padding: 12px 14px; font: inherit; font-size: 16px;
  border: 1.5px solid #dcdce0; border-radius: 12px; background: #fff; color: var(--gi-escuro);
}
.gi-app textarea { font-size: 14px; resize: vertical; }
.gi-app input:focus, .gi-app select:focus, .gi-app textarea:focus { outline: none; border-color: var(--gi-laranja); box-shadow: 0 0 0 3px rgba(255,96,0,.15); }
.gi-app .gi-pin { letter-spacing: .6em; font-size: 22px; text-align: center; max-width: 180px; }
.gi-check { display: flex !important; gap: 10px; align-items: flex-start; font-weight: 400 !important; }
.gi-check input { margin-top: 3px; width: 18px; height: 18px; accent-color: var(--gi-laranja); flex: none; }

/* Botões */
.gi-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%;
  background: var(--gi-laranja); color: #fff !important; border: 0; border-radius: 12px;
  padding: 14px 18px; font: 700 16px 'Roboto', sans-serif; cursor: pointer; text-decoration: none !important;
  transition: background .15s, transform .1s;
}
.gi-btn:hover { background: #e85700; }
.gi-btn:active { transform: scale(.98); }
.gi-btn:disabled { opacity: .6; cursor: wait; }
.gi-btn-sec { background: var(--gi-fundo); color: var(--gi-laranja) !important; border: 1.5px solid var(--gi-laranja); }
.gi-btn-sec:hover { background: #ffe9d9; }
.gi-btn-mini { width: auto; padding: 9px 14px; font-size: 14px; }
.gi-btn-whats { background: #25d366; margin: 8px 0 10px; padding: 11px; font-size: 15px; }
.gi-btn-whats:hover { background: #1eb957; }
.gi-btn-nayra { margin-top: 8px; padding: 10px; font-size: 14px; }
.gi-link { background: none; border: 0; padding: 0; color: var(--gi-laranja); font: inherit; font-weight: 500; cursor: pointer; text-decoration: underline; }
.gi-hero-mini { width: 100%; }

/* Saldo */
.gi-saldo { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; margin-bottom: 14px; }
.gi-saldo > div { background: #fff; border: 1px solid var(--gi-borda); border-radius: 14px; padding: 12px; text-align: center; }
.gi-saldo .gi-saldo-main { grid-column: 1 / -1; background: var(--gi-escuro); border: 0; color: #fff; padding: 18px; }
.gi-saldo small { display: block; font-size: 12px; color: var(--gi-muted); text-transform: uppercase; letter-spacing: .05em; }
.gi-saldo strong { display: block; font-size: 22px; font-weight: 900; color: var(--gi-escuro); }
.gi-saldo .gi-saldo-main small { color: #bbb; }
.gi-saldo .gi-saldo-main strong { color: var(--gi-amarelo); font-size: 36px; }

/* Chips de marca */
.gi-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.gi-chip { border: 1.5px solid #dcdce0; background: #fff; border-radius: 999px; padding: 9px 16px; font: 500 14px 'Roboto', sans-serif; cursor: pointer; color: var(--gi-escuro); }
.gi-chip.ativo { background: var(--gi-laranja); border-color: var(--gi-laranja); color: #fff; }

/* Lista do indicador */
.gi-lista { list-style: none; margin: 0; padding: 0; }
.gi-lista li { display: flex; justify-content: space-between; gap: 10px; padding: 12px 0; border-top: 1px solid var(--gi-borda); }
.gi-lista li:first-child { border-top: 0; }
.gi-lista small { display: block; color: var(--gi-muted); font-size: 13px; }
.gi-lista-dir { text-align: right; flex: none; display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.gi-badge { display: inline-block; font-size: 12px; font-weight: 700; padding: 4px 10px; border-radius: 999px; background: #f0f0f3; color: #555; white-space: nowrap; }
.gi-badge.novo { background: #fff1e6; color: #b84500; }
.gi-badge.contato { background: #e8f1fd; color: #0b5cad; }
.gi-badge.ok { background: #e3f7ec; color: var(--gi-ok); }
.gi-badge.nao { background: #f3f3f5; color: #888; }
.gi-valor { font-size: 13px; font-weight: 700; color: var(--gi-laranja); }
.gi-valor.pago { color: var(--gi-ok); }

.gi-regras { margin-top: 6px; color: var(--gi-muted); font-size: 14px; }
.gi-regras summary { cursor: pointer; font-weight: 500; color: var(--gi-escuro); }
.gi-regras ol { padding-left: 20px; margin: 8px 0 0; }

/* Aviso flutuante */
.gi-toast {
  position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%); z-index: 99999;
  background: var(--gi-escuro); color: #fff; padding: 14px 20px; border-radius: 12px;
  font: 500 15px 'Roboto', sans-serif; box-shadow: 0 8px 30px rgba(0,0,0,.25); max-width: calc(100% - 32px);
  transition: opacity .4s, transform .4s;
}
.gi-toast.erro { background: var(--gi-erro); }
.gi-toast.sai { opacity: 0; transform: translate(-50%, 10px); }

/* Painel do comercial */
.gi-abas { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 4px; margin-bottom: 12px; }
.gi-abas button { flex: none; border: 1.5px solid var(--gi-borda); background: #fff; border-radius: 999px; padding: 9px 16px; font: 500 14px 'Roboto', sans-serif; cursor: pointer; color: var(--gi-escuro); }
.gi-abas button b { display: inline-block; min-width: 22px; padding: 1px 7px; margin-left: 4px; border-radius: 999px; background: #f0f0f3; font-size: 12px; }
.gi-abas button.ativo { background: var(--gi-escuro); color: #fff; border-color: var(--gi-escuro); }
.gi-abas button.ativo b { background: var(--gi-laranja); color: #fff; }
.gi-filtros { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 10px; margin-bottom: 16px; }
.gi-filtros input, .gi-filtros select { margin-top: 0 !important; }
.gi-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); gap: 14px; }
.gi-vazio { grid-column: 1 / -1; text-align: center; padding: 40px 0; }
.gi-item { background: #fff; border: 1px solid var(--gi-borda); border-left: 5px solid var(--gi-laranja); border-radius: 14px; padding: 16px; box-shadow: 0 2px 10px rgba(0,0,0,.04); }
.gi-item.s-em_contato { border-left-color: #0b5cad; }
.gi-item.s-matriculado { border-left-color: var(--gi-ok); }
.gi-item.s-nao_converteu { border-left-color: #bbb; opacity: .85; }
.gi-item-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; }
.gi-item-nome { font-size: 18px; color: var(--gi-escuro); display: block; }
.gi-item small { color: var(--gi-muted); font-size: 13px; }
.gi-item-curso { margin: 6px 0 0 !important; font-weight: 500; }
.gi-item-ind { font-size: 13px; background: #f8f8fa; border-radius: 10px; padding: 8px 10px; margin-bottom: 10px; }
.gi-item-ind a { color: var(--gi-laranja); }
.gi-item-form { display: grid; grid-template-columns: 1fr 1fr; gap: 0 10px; align-items: end; }
.gi-item-form label { margin-bottom: 10px; font-size: 13px; }
.gi-item-form .gi-obs { grid-column: 1 / -1; }
.gi-item-form select, .gi-item-form textarea { padding: 9px 10px; font-size: 14px; }
.gi-item-form .gi-btn { grid-column: 1 / -1; justify-self: start; }
.gi-pag { margin-top: 12px; padding: 10px 12px; border-radius: 10px; background: #fff4ea; display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.gi-pag span { font-weight: 700; color: #b84500; }
.gi-pag.pago { background: #e3f7ec; }
.gi-pag.pago span { color: var(--gi-ok); }
.gi-pill { display: inline-block; font-size: 12px; font-weight: 700; padding: 4px 10px; border-radius: 999px; white-space: nowrap; background: #fff1e6; color: #b84500; }
.gi-pill.m-uniube { background: #e8f1fd; color: var(--gi-uniube); }
.gi-pill.m-mix { background: #f2eafb; color: var(--gi-mix); }
.gi-login { max-width: 420px; }
.gi-login input[type=submit] { background: var(--gi-laranja); color: #fff; border: 0; border-radius: 12px; padding: 12px 20px; font-weight: 700; cursor: pointer; }

/* Ranking */
.gi-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 16px; }
.gi-kpis > div { background: #fff; border: 1px solid var(--gi-borda); border-radius: 14px; padding: 14px; text-align: center; }
.gi-kpis strong { display: block; font-size: 28px; font-weight: 900; color: var(--gi-escuro); }
.gi-kpis small { color: var(--gi-muted); font-size: 13px; }
.gi-rank { list-style: none; margin: 0 0 16px; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.gi-rank li { display: grid; grid-template-columns: 56px 1fr 90px; gap: 14px; align-items: center; background: #fff; border: 1px solid var(--gi-borda); border-radius: 16px; padding: 14px 18px; }
.gi-rank li.lider { border: 2px solid var(--gi-laranja); background: var(--gi-fundo); box-shadow: 0 6px 24px rgba(255,96,0,.15); }
.gi-pos { font-size: 28px; font-weight: 900; text-align: center; color: var(--gi-muted); }
.gi-rank-top { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 8px; }
.gi-rank-top strong { font-size: 19px; color: var(--gi-escuro); margin-right: 4px; }
.gi-rank-marcas { display: flex; flex-wrap: wrap; gap: 6px; }
.gi-barra { height: 10px; background: #f1f1f4; border-radius: 99px; overflow: hidden; margin-bottom: 5px; }
.gi-barra i { display: block; height: 100%; background: linear-gradient(90deg, var(--gi-laranja), var(--gi-amarelo)); border-radius: 99px; transition: width .6s; }
.gi-barra-ind { height: 5px; }
.gi-barra-ind i { background: #c9c9cf; }
.gi-rank small { color: var(--gi-muted); font-size: 13px; }
.gi-rank-num { text-align: center; }
.gi-rank-num strong { display: block; font-size: 34px; font-weight: 900; color: var(--gi-laranja); line-height: 1; }
.gi-rank-num small { font-size: 12px; }
.gi-top { margin: 0; padding-left: 22px; }
.gi-top li { display: flex; justify-content: space-between; gap: 10px; padding: 7px 0; border-bottom: 1px solid var(--gi-borda); }
.gi-top small { color: var(--gi-muted); }
.gi-top b { white-space: nowrap; font-size: 14px; color: var(--gi-escuro); }

/* Versão TV */
.gi-tela { max-width: none; font-size: 20px; padding: 24px; }
.gi-tela .gi-hero h2 { font-size: 46px; }
.gi-tela .gi-rank-top strong { font-size: 26px; }
.gi-tela .gi-rank-num strong { font-size: 52px; }
.gi-tela .gi-kpis strong { font-size: 42px; }

@media (max-width: 760px) {
  .gi-filtros { grid-template-columns: 1fr 1fr; }
  .gi-filtros input { grid-column: 1 / -1; }
  .gi-grade { grid-template-columns: 1fr; }
  .gi-kpis { grid-template-columns: 1fr 1fr; }
  .gi-rank li { grid-template-columns: 38px 1fr 64px; gap: 10px; padding: 12px; }
  .gi-pos { font-size: 22px; }
  .gi-rank-num strong { font-size: 28px; }
  .gi-hero h2 { font-size: 24px; }
}

.gi-app [hidden] { display: none !important; }
.gi-hero-mini .gi-btn { width: auto; flex: none; }

.gi-nayra-nota { font-size: 14px; background: #f8f8fa; border-radius: 10px; padding: 8px 10px; margin: 0 0 6px !important; }
.gi-nayra-nota small { color: var(--gi-muted); }

/* ---------- Placar ao vivo (página) ---------- */
.gi-ao-vivo { display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: #fff; margin-right: 6px; vertical-align: 1px; box-shadow: 0 0 0 0 rgba(255,255,255,.8); animation: gi-pulso 1.6s infinite; }
@keyframes gi-pulso { 0% { box-shadow: 0 0 0 0 rgba(255,255,255,.75); } 70% { box-shadow: 0 0 0 10px rgba(255,255,255,0); } 100% { box-shadow: 0 0 0 0 rgba(255,255,255,0); } }
.gi-placar-hero { text-align: center; padding: 32px 24px; }
.gi-placar-hero h2 { font-size: 26px; }
.gi-total { margin: 14px 0 6px; }
.gi-total strong { display: block; font-size: 96px; line-height: 1; font-weight: 900; letter-spacing: -3px; color: #fff; text-shadow: 0 4px 24px rgba(0,0,0,.12); }
.gi-total span { font-size: 18px; font-weight: 500; }
.gi-lider { margin: 6px 0 14px !important; }
.gi-btn-branco { width: auto; background: #fff; color: var(--gi-laranja) !important; padding: 12px 28px; position: relative; z-index: 1; }
.gi-btn-branco:hover { background: #fff3ea; }
.gi-kpis-3 { grid-template-columns: repeat(3, 1fr); }
.gi-kpis strong small { font-size: 16px; color: var(--gi-muted); font-weight: 500; }
.gi-sec { margin: 6px 0 10px !important; font-size: 20px !important; }
.gi-linha { display: grid; grid-template-columns: 82px 1fr 44px; align-items: center; gap: 8px; margin-bottom: 4px; font-size: 13px; color: var(--gi-muted); }
.gi-linha b { color: var(--gi-escuro); text-align: right; font-size: 15px; }
.gi-linha .gi-barra { margin: 0; height: 12px; }
.gi-linha-m .gi-barra { height: 8px; }
.gi-barra-m i { background: var(--gi-ok) !important; }
.gi-rank li.subiu { animation: gi-subiu 1.2s ease; }
@keyframes gi-subiu { 0% { background: #fff3ea; transform: scale(1.01); } 100% { background: inherit; transform: none; } }
.gi-tela .gi-total strong { font-size: 160px; }
@media (max-width: 760px) {
  .gi-total strong { font-size: 72px; }
  .gi-kpis-3 { grid-template-columns: repeat(3, 1fr); }
  .gi-kpis-3 strong { font-size: 22px; }
  .gi-linha { grid-template-columns: 70px 1fr 36px; }
}

/* ---------- Ranking proporcional / página do placar ---------- */
.gi-barra-p { height: 14px; margin-top: 6px; }
.gi-rank li { grid-template-columns: 56px 1fr 118px; }
.gi-rank-num strong { white-space: nowrap; }
.gi-rank li.bateu .gi-rank-num small::before { content: '🎯 '; }
@media (max-width: 760px) { .gi-rank li { grid-template-columns: 38px 1fr 84px; } .gi-rank-num strong { font-size: 24px; } }

/* hero do placar no visual da campanha (branco + brilho laranja) */
.gi-placar-hero { background: radial-gradient(60% 90% at 70% 40%, rgba(255,96,0,.13), rgba(255,96,0,0) 70%), #fff; color: var(--gi-escuro); border: 1px solid #f3e6dc;
  display: grid; grid-template-columns: 1fr 200px; gap: 16px; align-items: center; text-align: left; padding: 30px 34px; }
.gi-placar-hero::after { display: none; }
.gi-placar-hero .gi-hero-tag { color: var(--gi-laranja); opacity: 1; }
.gi-placar-hero .gi-ao-vivo { background: var(--gi-laranja); animation-name: gi-pulso-l; }
.gi-placar-hero h2 { color: var(--gi-escuro); font-size: 30px; font-family: 'Inter', 'Roboto', sans-serif; font-weight: 900; letter-spacing: -.5px; }
.gi-placar-hero h2 span { color: var(--gi-laranja); }
.gi-placar-hero .gi-total strong { color: var(--gi-laranja); text-shadow: none; font-family: 'Inter', 'Roboto', sans-serif; }
.gi-placar-hero .gi-total span, .gi-placar-hero .gi-lider { color: #4a4440; }
.gi-placar-hero .gi-btn-branco { background: var(--gi-laranja); color: #fff !important; border-radius: 999px; }
.gi-placar-hero .gi-btn-branco:hover { background: #e85700; }
.gi-hero-arte { display: flex; justify-content: center; }
.gi-hero-arte img, .gi-hero-arte svg { max-height: 300px; width: auto; max-width: 100%; }
@keyframes gi-pulso-l { 0% { box-shadow: 0 0 0 0 rgba(255,96,0,.6); } 70% { box-shadow: 0 0 0 10px rgba(255,96,0,0); } 100% { box-shadow: 0 0 0 0 rgba(255,96,0,0); } }
@media (max-width: 760px) { .gi-placar-hero { grid-template-columns: 1fr; text-align: center; padding: 26px 18px; } .gi-hero-arte { display: none; } }

/* ---------- Banner do placar (página inicial), visual da campanha ---------- */
.gi-placar { position: relative; width: 100%; aspect-ratio: var(--gi-ar, 1920/600); overflow: hidden; container-type: inline-size;
  background: radial-gradient(45% 80% at 50% 50%, rgba(255,96,0,.14), rgba(255,96,0,0) 70%), #fff;
  color: #1d1d1f; font-family: 'Inter', 'Roboto', system-ui, sans-serif; box-sizing: border-box; }
.gi-placar *, .gi-placar *::before, .gi-placar *::after { box-sizing: border-box; }
.gi-placar-in { position: relative; z-index: 1; height: 100%; display: grid; grid-template-columns: 1.15fr .55fr 1.1fr; gap: 2.4cqw; align-items: center; padding: 2.4cqw 4.6cqw; }
.gi-placar .gi-carregando { color: #6b6b70; grid-column: 1 / -1; }
.gp-tag { font-size: .95cqw; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #ff6000; }
.gp-tag .gi-ao-vivo { width: .7cqw; height: .7cqw; background: #ff6000; animation-name: gi-pulso-l; }
.gp-titulo { font-size: 2cqw; font-weight: 800; line-height: 1.08; margin: .7cqw 0 .3cqw; color: #1d1d1f; letter-spacing: -.03cqw; }
.gp-titulo span { display: block; font-size: 3.6cqw; font-weight: 900; color: #ff6000; letter-spacing: -.1cqw; }
.gp-total { display: flex; align-items: baseline; gap: 1cqw; margin-top: .4cqw; }
.gp-total strong { font-size: 7.4cqw; line-height: .9; font-weight: 900; color: #1d1d1f; letter-spacing: -.3cqw; }
.gp-total span { font-size: 1.2cqw; font-weight: 500; color: #4a4440; max-width: 12cqw; line-height: 1.2; }
.gp-acoes { display: flex; align-items: center; gap: 1.4cqw; margin-top: 1.5cqw; flex-wrap: wrap; }
.gp-btn { display: inline-block; background: #ff6000; color: #fff !important; font-weight: 800; font-size: 1.2cqw; padding: .9cqw 2.2cqw; border-radius: 99cqw; text-decoration: none !important; box-shadow: 0 .5cqw 1.4cqw rgba(255,96,0,.3); transition: transform .15s; }
.gp-btn:hover { transform: translateY(-2px); }
.gp-ganhe { font-size: 1.05cqw; color: #4a4440; }
.gp-ganhe b { color: #ff6000; font-weight: 800; }
.gp-meio { height: 100%; display: flex; align-items: center; justify-content: center; min-width: 0; }
.gp-meio .gp-arte, .gp-meio .gp-helice { max-height: 100%; max-width: 100%; height: 100%; width: auto; object-fit: contain; }
.gp-vazio { animation: gp-pisca 1.8s ease-in-out infinite; }
@keyframes gp-pisca { 50% { opacity: .25; } }
.gp-dir { background: #fff; border: 1px solid #f1e4da; border-radius: 1.2cqw; padding: 1.1cqw 1.5cqw; box-shadow: 0 1cqw 3cqw rgba(255,96,0,.10); }
.gp-dir-h { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: .5cqw; }
.gp-dir-h b { font-size: 1.1cqw; font-weight: 800; }
.gp-dir-h a { font-size: .9cqw; color: #ff6000 !important; font-weight: 700; text-decoration: none; }
.gp-dir-top, .gp-polo { display: grid; grid-template-columns: 2.2cqw 10cqw 1fr 3.6cqw 3cqw; align-items: center; gap: .7cqw; }
.gp-prop .gp-dir-top, .gp-prop .gp-polo { grid-template-columns: 2.2cqw 10cqw 1fr 4.6cqw; }
.gp-dir-top { font-size: .72cqw; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: #9a9aa0; padding-bottom: .3cqw; }
.gp-dir-top span:first-child { grid-column: 1 / 3; }
.gp-dir-top span:nth-child(2) { grid-column: 3 / 5; text-align: right; }
.gp-dir-top span:last-child { text-align: right; }
.gp-polo { font-size: 1cqw; padding: .38cqw 0; border-top: 1px solid #f4f0ec; }
.gp-polo.lider { font-weight: 700; }
.gp-polo.lider .gp-pos { background: #ff6000; color: #fff; }
.gp-polo.bateu .gp-ind::after { content: ' 🎯'; font-size: .8em; }
.gp-pos { width: 1.9cqw; height: 1.9cqw; border-radius: 50%; background: #fff1e6; display: flex; align-items: center; justify-content: center; font-size: .75cqw; font-weight: 800; color: #b84500; }
.gp-nome { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gp-barra { height: .7cqw; background: #f4f0ec; border-radius: 99cqw; overflow: hidden; }
.gp-barra i { display: block; height: 100%; background: linear-gradient(90deg, #ff6000, #ffa200); border-radius: 99cqw; transition: width .8s; }
.gp-ind { text-align: right; font-size: 1.25cqw; font-weight: 900; white-space: nowrap; }
.gp-mat { text-align: right; color: #12a150; font-weight: 800; }

/* celular */
.gi-placar.gp-celular { aspect-ratio: var(--gi-ar-m, 1080/1350); background: radial-gradient(80% 45% at 50% 30%, rgba(255,96,0,.14), rgba(255,96,0,0) 70%), #fff; }
.gp-celular .gi-placar-in { grid-template-columns: 1fr; grid-template-rows: auto auto; gap: 3.5cqw; padding: 5.5cqw 5.5cqw; align-content: center; text-align: center; }
.gp-celular .gp-meio { display: none; }
.gp-celular .gp-tag { font-size: 2.6cqw; }
.gp-celular .gp-tag .gi-ao-vivo { width: 1.8cqw; height: 1.8cqw; }
.gp-celular .gp-titulo { font-size: 5cqw; margin: 1.6cqw 0 .6cqw; }
.gp-celular .gp-titulo span { font-size: 9cqw; }
.gp-celular .gp-total { justify-content: center; gap: 2.4cqw; }
.gp-celular .gp-total strong { font-size: 16cqw; letter-spacing: -.6cqw; }
.gp-celular .gp-total span { font-size: 3.4cqw; max-width: 30cqw; text-align: left; }
.gp-celular .gp-acoes { justify-content: center; gap: 2.6cqw; margin-top: 2.6cqw; }
.gp-celular .gp-btn { font-size: 3.6cqw; padding: 2.2cqw 6cqw; }
.gp-celular .gp-ganhe { font-size: 3cqw; }
.gp-celular .gp-dir { border-radius: 3cqw; padding: 2.4cqw 3.6cqw; text-align: left; }
.gp-celular .gp-dir-h b { font-size: 3.2cqw; }
.gp-celular .gp-dir-h a { font-size: 2.7cqw; }
.gp-celular .gp-dir-top, .gp-celular .gp-polo { grid-template-columns: 5cqw 31cqw 1fr 8cqw 7cqw; gap: 1.8cqw; }
.gp-celular .gp-prop .gp-dir-top, .gp-celular .gp-prop .gp-polo { grid-template-columns: 5cqw 31cqw 1fr 14cqw; }
.gp-celular .gp-dir-top { font-size: 2.1cqw; padding-bottom: .6cqw; }
.gp-celular .gp-polo { font-size: 3cqw; padding: .8cqw 0; }
.gp-celular .gp-pos { width: 4.6cqw; height: 4.6cqw; font-size: 2.1cqw; }
.gp-celular .gp-barra { height: 1.6cqw; }
.gp-celular .gp-ind { font-size: 3.6cqw; }
.gi-placar-in { grid-template-rows: minmax(0, 100%); }
.gp-meio { position: relative; align-self: stretch; height: auto; }
.gp-meio .gp-arte, .gp-meio .gp-helice { position: absolute; inset: 0; margin: auto; height: 100%; width: 100%; object-fit: contain; }
.gp-celular .gi-placar-in { grid-template-rows: auto auto; }

/* =========================================================
   1.6 — páginas da campanha: banner de ponta a ponta
   ========================================================= */
body.gi-pagina { overflow-x: hidden; }
body.gi-pagina .entry-header, body.gi-pagina .entry-title, body.gi-pagina .page-header, body.gi-pagina .page-title,
body.gi-pagina h1.wp-block-post-title, body.gi-pagina .elementor-page-title, body.gi-pagina .ast-archive-description { display: none !important; }
.gi-full { position: relative; width: 100vw; max-width: 100vw; left: 50%; margin-left: -50vw; }
.gi-app.gi-largo { max-width: 1180px; padding-left: 16px; padding-right: 16px; }

.gi-hero-camp { background: radial-gradient(40% 90% at 72% 50%, rgba(255,96,0,.16), rgba(255,96,0,0) 70%), #fff5ee; overflow: hidden; }
.gi-hc-in { max-width: 1180px; margin: 0 auto; padding: 56px 16px 48px; display: grid; grid-template-columns: 1fr 300px; gap: 32px; align-items: center; min-height: 440px; }
.gi-hc-txt h2 { font-family: 'Inter', 'Roboto', sans-serif; font-size: 46px; line-height: 1.08; font-weight: 900; letter-spacing: -1px; color: #1d1d1f; margin: 10px 0 14px; }
.gi-hc-txt h2 span { color: #ff6000; }
.gi-hero-camp .gi-hero-tag { color: #c74b00; font-size: 13px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; opacity: 1; margin: 0; }
.gi-hero-camp .gi-ao-vivo { background: #ff6000; animation-name: gi-pulso-l; }
.gi-hc-sub { font-size: 18px; color: #4a4440; max-width: 620px; margin: 0 0 14px; }
.gi-hc-sub strong { color: #ff6000; }
.gi-hc-meta { font-size: 15px; color: #4a4440; margin: 0; }
.gi-link-placar { display: inline-block; font-weight: 700; color: #ff6000 !important; text-decoration: none; margin-top: 4px; }
.gi-link-placar:hover { text-decoration: underline; }
.gi-hc-arte { display: flex; justify-content: center; align-items: center; height: 100%; }
.gi-hc-arte img, .gi-hc-arte svg { max-height: 380px; width: auto; max-width: 100%; }
.gi-hero-camp .gi-total { margin: 4px 0 8px; display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; }
.gi-hero-camp .gi-total strong { font-family: 'Inter', 'Roboto', sans-serif; font-size: 112px; line-height: .9; font-weight: 900; letter-spacing: -4px; color: #ff6000; text-shadow: none; display: inline; }
.gi-hero-camp .gi-total span { font-size: 20px; font-weight: 600; color: #1d1d1f; max-width: 180px; line-height: 1.2; }
.gi-hero-camp .gi-lider { color: #4a4440; margin: 6px 0 18px !important; font-size: 16px; }
.gi-btn-camp { width: auto; background: #ff6000; color: #fff !important; padding: 14px 30px; border-radius: 8px; font-size: 16px; }
.gi-faixa-laranja { height: 6px; background: #ff6000; margin-bottom: 26px; }

/* grade da página Indique */
.gi-grid { display: grid; gap: 16px; align-items: start; }
.gi-grid .gi-card, .gi-grid .gi-saldo { margin-bottom: 0; }
.gi-grid-acesso { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.gi-grid-painel { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); grid-template-areas: "form saldo" "form minhas" "form share"; }
.gi-grid-painel .gi-saldo { grid-area: saldo; }
.gi-grid-painel .gi-form-ind { grid-area: form; }
.gi-grid-painel .gi-minhas { grid-area: minhas; }
.gi-grid-painel .gi-compartilhar { grid-area: share; }
.gi-passos { list-style: none; counter-reset: p; margin: 6px 0 12px; padding: 0; }
.gi-passos li { counter-increment: p; position: relative; padding: 0 0 14px 46px; }
.gi-passos li::before { content: counter(p); position: absolute; left: 0; top: 0; width: 32px; height: 32px; border-radius: 50%; background: #fff1e6; color: #ff6000; font-weight: 900; display: flex; align-items: center; justify-content: center; }
.gi-passos b { display: block; color: #1d1d1f; }
.gi-passos span { color: var(--gi-muted); font-size: 14px; }
.gi-acesso .gi-btn { margin-top: 4px; }

/* placar: só o percentual por polo, grande à esquerda */
.gi-rank-pct li { grid-template-columns: 150px 1fr; padding: 16px 20px; }
.gi-pct { text-align: left; border-right: 1px solid #f1e4da; padding-right: 14px; }
.gi-pct strong { display: block; font-family: 'Inter', 'Roboto', sans-serif; font-size: 44px; line-height: 1; font-weight: 900; color: #ff6000; letter-spacing: -1.5px; white-space: nowrap; }
.gi-pct small { font-size: 12px; color: var(--gi-muted); text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }
.gi-pos-mini { font-size: 18px; min-width: 28px; display: inline-block; text-align: center; color: var(--gi-muted); font-weight: 800; }
.gi-rank-pct .gi-rank-top strong { font-size: 20px; }
.gi-bateu { background: #e3f7ec; color: #12a150; font-size: 12px; font-weight: 800; padding: 3px 10px; border-radius: 999px; }
.gi-rank-pct li.lider .gi-pct strong { font-size: 52px; }

@media (max-width: 900px) {
  .gi-hc-in { grid-template-columns: 1fr; min-height: 0; padding: 34px 16px 30px; text-align: left; }
  .gi-hc-arte { display: none; }
  .gi-hc-txt h2 { font-size: 32px; }
  .gi-hero-camp .gi-total strong { font-size: 84px; }
  .gi-grid-acesso { grid-template-columns: 1fr; }
  .gi-grid-painel { grid-template-columns: 1fr; grid-template-areas: "saldo" "form" "minhas" "share"; }
  .gi-rank-pct li { grid-template-columns: 104px 1fr; padding: 12px 14px; }
  .gi-pct strong, .gi-rank-pct li.lider .gi-pct strong { font-size: 32px; }
  .gi-rank-pct .gi-rank-top strong { font-size: 17px; }
}

/* banner da página inicial: mesmo fundo e alinhamento do banner atual do site */
.gi-placar { background: radial-gradient(40% 85% at 50% 50%, rgba(255,96,0,.16), rgba(255,96,0,0) 70%), #fff5ee; border-bottom: 5px solid #ff6000; }
.gi-placar:not(.gp-celular) .gi-placar-in { padding-left: max(4.6cqw, calc((100cqw - 1180px) / 2)); padding-right: max(4.6cqw, calc((100cqw - 1180px) / 2)); }

/* faixa fina do placar */
.gi-faixa-placar { background: #ff6000; color: #fff; font-family: 'Inter', 'Roboto', sans-serif; }
.gf-in { max-width: 1180px; margin: 0 auto; padding: 10px 16px; display: flex; align-items: center; gap: 18px; flex-wrap: wrap; font-size: 15px; }
.gf-vivo { font-weight: 800; letter-spacing: .1em; text-transform: uppercase; font-size: 12px; }
.gf-frase b { color: #1d1d1f; }
.gf-num b { font-size: 20px; font-weight: 900; }
.gf-lider { opacity: .95; }
.gf-btn { margin-left: auto; background: #fff; color: #ff6000 !important; font-weight: 800; padding: 7px 16px; border-radius: 999px; text-decoration: none !important; }
.gf-link { color: #fff !important; font-weight: 600; }
@media (max-width: 700px) { .gf-frase, .gf-lider { display: none; } .gf-btn { margin-left: 0; } }
.gi-rank-pct li { grid-template-columns: 184px 1fr; }
@media (max-width: 900px) {
  .gi-rank-pct li { grid-template-columns: 112px 1fr; align-items: center; }
  .gi-rank-pct .gi-rank-marcas { display: none; }
  .gi-rank-pct .gi-rank-top { margin-bottom: 8px; flex-wrap: nowrap; }
  .gi-rank-pct .gi-rank-top strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .gi-pct { padding-right: 10px; }
}
.gi-rank-pct li { grid-template-columns: 184px minmax(0, 1fr); }
.gi-rank-corpo { min-width: 0; }
@media (max-width: 900px) { .gi-rank-pct li { grid-template-columns: 112px minmax(0, 1fr); } .gi-rank-pct .gi-rank-top strong { font-size: 16px; } }

/* prêmio individual */
.gi-premio { border-color: #ffd2b0; background: linear-gradient(180deg, #fff8f2, #fff); }
.gi-premio-top { display: flex; gap: 14px; align-items: flex-start; }
.gi-trofeu { font-size: 34px; line-height: 1; }
.gi-premio h3 { margin: 0 0 4px; }
.gi-premio p { margin: 0 0 4px; font-weight: 600; color: #1d1d1f; }
.gi-premio small { color: var(--gi-muted); font-size: 13px; }
.gi-premio-mini { margin-top: 14px; padding: 14px; border: 1px solid #ffd2b0; border-radius: 12px; background: #fff8f2; }
.gi-premio-card .gi-premio-mini { margin: 0; border: 0; padding: 0; background: none; }
.gi-premio-card { border-color: #ffd2b0; background: #fff8f2; }
.gi-premio-pos { margin-top: 10px; padding: 8px 12px; background: #fff; border-radius: 8px; font-size: 14px; }
.gi-premio-pos b { color: #ff6000; }
.gi-corrida { list-style: none; margin: 14px 0 0; padding: 0; }
.gi-corrida li { display: grid; grid-template-columns: 40px 1fr auto; gap: 10px; align-items: center; padding: 9px 0; border-top: 1px solid #f4ece6; }
.gi-corrida li.abaixo { opacity: .6; }
.gi-c-pos { font-size: 20px; text-align: center; font-weight: 800; color: var(--gi-muted); }
.gi-c-nome small { color: var(--gi-muted); }
.gi-corrida b { color: #ff6000; white-space: nowrap; }
.gi-grid-painel { grid-template-areas: "form saldo" "form minhas" "form premio" "form share"; }
.gi-grid-painel .gi-premio-card { grid-area: premio; }
@media (max-width: 900px) { .gi-grid-painel { grid-template-areas: "saldo" "form" "premio" "minhas" "share"; } }
@media (min-width: 901px) {
  .gi-grid-painel { grid-template-areas: "form saldo" "form minhas" "premio minhas" "share minhas"; grid-template-rows: auto auto auto 1fr; }
}

/* 1.8 — bônus por faixas, regulamento */
.gi-faixas { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 10px; margin: 12px 0; }
.gi-faixa { border: 1.5px dashed #ffc9a3; border-radius: 12px; padding: 12px 10px; text-align: center; background: #fff; display: flex; flex-direction: column; gap: 2px; }
.gi-faixa b { font-family: 'Inter', 'Roboto', sans-serif; font-size: 30px; font-weight: 900; color: #ff6000; line-height: 1; }
.gi-faixa small { font-size: 12px; color: var(--gi-muted); text-transform: uppercase; letter-spacing: .06em; }
.gi-faixa span { font-weight: 700; color: #1d1d1f; font-size: 14px; margin-top: 4px; }
.gi-faixa em { font-style: normal; font-size: 12px; color: var(--gi-muted); margin-top: 4px; }
.gi-faixa.ok { border-style: solid; border-color: #12a150; background: #effaf3; }
.gi-faixa.ok b { color: #12a150; }
.gi-bonus h3 { margin: 0 0 4px; }
.gi-bonus-st { background: #fff8f2; border-radius: 10px; padding: 10px 12px; font-size: 14px; margin: 0 0 8px; }
.gi-bonus-st b { color: #ff6000; }
.gi-bonus-card { border-color: #ffd2b0; }
.gi-bonus-acesso { grid-column: 1 / -1; }
.gi-grid-painel { grid-template-areas: "form saldo" "form minhas" "bonus minhas" "share minhas"; }
.gi-grid-painel .gi-bonus-card { grid-area: bonus; }
@media (max-width: 900px) { .gi-grid-painel { grid-template-areas: "saldo" "form" "bonus" "minhas" "share"; } }
.gi-perm { display: inline-block; font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 999px; background: #fff4e5; color: #9a5b00; margin-top: 2px; }
.gi-perm.ok { background: #e3f7ec; color: #12a150; }
.gi-perm.des { background: #f3f3f5; color: #888; }
.gi-hc-links { display: flex; gap: 18px; flex-wrap: wrap; align-items: center; margin: 4px 0 0; }
.gi-link-reg { color: #4a4440 !important; font-size: 14px; text-decoration: underline; text-underline-offset: 3px; }
.gi-modal { position: fixed; inset: 0; z-index: 100000; background: rgba(20,14,10,.55); display: flex; align-items: center; justify-content: center; padding: 16px; }
.gi-modal-box { position: relative; background: #fff; border-radius: 16px; max-width: 720px; width: 100%; max-height: 88vh; overflow: auto; padding: 28px 28px 22px; font-family: 'Roboto', system-ui, sans-serif; color: #333; box-shadow: 0 20px 60px rgba(0,0,0,.3); }
.gi-modal-box h2 { font-family: 'Inter', 'Roboto', sans-serif; font-size: 26px; font-weight: 900; margin: 0; color: #1d1d1f; }
.gi-reg-sub { color: #ff6000; font-weight: 700; margin: 2px 0 14px; }
.gi-reg { padding-left: 22px; margin: 0; }
.gi-reg > li { margin-bottom: 10px; line-height: 1.5; font-size: 15px; }
.gi-reg ul { margin: 6px 0; }
.gi-modal-x { position: absolute; top: 10px; right: 12px; border: 0; background: #f3f3f5; width: 36px; height: 36px; border-radius: 50%; font-size: 22px; cursor: pointer; line-height: 1; }
.gi-perm-box { margin-top: 10px; padding: 10px 12px; border-radius: 10px; background: #fff8f0; display: flex; flex-direction: column; gap: 4px; font-size: 14px; }
.gi-perm-box.ok { background: #effaf3; }
.gi-perm-box.des { background: #f3f3f5; }
.gi-perm-box .gi-check { margin: 0 !important; font-weight: 500 !important; }
.gi-hero-btns { display: flex; gap: 8px; flex-wrap: wrap; position: relative; z-index: 1; }
.gi-hero-btns .gi-btn { width: auto; background: #fff; }
.gi-bonus-lista { margin-bottom: 14px; }
.gi-bl-top { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; flex-wrap: wrap; margin-bottom: 8px; }
.gi-tabela { overflow-x: auto; }
.gi-tabela table { width: 100%; border-collapse: collapse; font-size: 14px; }
.gi-tabela th, .gi-tabela td { text-align: left; padding: 8px; border-bottom: 1px solid var(--gi-borda); vertical-align: top; }
.gi-tabela th { font-size: 12px; color: var(--gi-muted); text-transform: uppercase; letter-spacing: .04em; }
.gi-ok { color: #12a150; }

/* 1.9 — banner do placar na página inicial */
body.gi-tem-banner { overflow-x: hidden; }
.gi-destaque { font-family: 'Roboto', system-ui, sans-serif; color: #333; line-height: 1.45; }
.gi-destaque *, .gi-destaque *::before, .gi-destaque *::after { box-sizing: border-box; }
.gi-destaque .gi-faixa-laranja { margin-bottom: 0; }
.gi-destaque .gi-hc-txt p { margin: 0 0 12px; }
.gi-destaque-acoes { display: flex; gap: 12px; flex-wrap: wrap; }
.gi-destaque .gi-btn { display: inline-flex; width: auto; text-decoration: none !important; }
.gi-btn-camp-sec { background: #fff; color: #ff6000 !important; border: 1.5px solid #ff6000; padding: 13px 26px; border-radius: 8px; font-size: 16px; font-weight: 700; }
.gi-btn-camp-sec:hover { background: #fff3ea; }
.gi-destaque .gi-hero-tag { margin-bottom: 0; }
.gi-destaque h2 { border: 0; padding: 0; text-transform: none; }
