/* ===========================
   THEME: SPOTIFY DARK
   =========================== */

:root{
  --sp-bg: #0b0b0b;          /* fundo geral */
  --sp-surface: #121212;     /* cards/containers */
  --sp-surface-2: #181818;   /* elevação */
  --sp-surface-3: #1f1f1f;   /* hover */
  --sp-border: rgba(255,255,255,.10);
  --sp-border-2: rgba(255,255,255,.14);

  --sp-text: #ffffff;
  --sp-muted: rgba(255,255,255,.70);
  --sp-muted-2: rgba(255,255,255,.55);

  --sp-green: #1db954;       /* Spotify green */
  --sp-green-2: #1ed760;     /* hover */
  --sp-green-soft: rgba(29,185,84,.12);

  --sp-danger: #ff4d5a;      /* manter “erro” (se usar) */
  --sp-shadow: 0 10px 30px rgba(0,0,0,.45);

  --sp-track: rgba(255,255,255,.12);
  --sp-track-2: rgba(255,255,255,.16);
}

body {
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial;
  margin: 0;
  display: flex;
  background-color: var(--sp-bg);
  justify-content: center;
  user-select: none;
  color: var(--sp-text);
}
html,
body {
  overflow-x: hidden;
  overscroll-behavior-y: none;
}
* {
  -webkit-touch-callout: none;
}

a[href^="tel"] {
  color: inherit !important;
  text-decoration: none !important;
  pointer-events: none;
}

/* Remove estilização de link automático em números de telefone */
.telefone,
.telefone a {
  color: var(--sp-muted) !important;
  text-decoration: none !important;
  pointer-events: none;
}

/* Desabilita detecção automática de telefone em Safari/iOS */
a[x-apple-data-detectors] {
  color: inherit !important;
  text-decoration: none !important;
}

/* === regras SPA: controlar visibilidade das screens === */
.screen { display: none; }
.screen.is-active { display: block; }
.screen[aria-hidden="true"] { display: none; }

button {
  border: 0;
  box-shadow: none;
}
button:focus { outline: none; }

.title {
  text-align: center;
  color: var(--sp-text);
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  height: 51px;
  display: flex;
  align-items: center;
  justify-content: center;
}

#screens { width: 100%; }

#one {
  background-color: var(--sp-bg);
  padding-bottom: 110px;
  padding-left: 12px;
  padding-right: 12px;
  box-sizing: border-box;
}

/* ================= PIX ================= */
.pix-box{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-align:center;
  padding:14px;
  border-radius:12px;
  background: var(--sp-surface);
  border: 1px solid var(--sp-border);
}

#pix-qrcode{
  width:260px;
  height:260px;
  object-fit:contain;
  border-radius:10px;
  background: #fff; /* QR geralmente precisa de fundo branco */
  padding: 10px;
}

#pix-code{
  width:100%;
  max-width:320px;
  height:70px;
  resize:none;
  border-radius:10px;
  padding:10px;
  font-size:12px;
  line-height:1.2;
  background: var(--sp-surface-2);
  color: var(--sp-text);
  border: 1px solid var(--sp-border);
}

.pix-copy-btn{
  width:100%;
  max-width:320px;
  padding:12px 14px;
  border-radius:10px;
  border:0;
  cursor:pointer;
  font-weight:600;
  background: var(--sp-green);
  color: #06130a;
}
.pix-copy-btn:hover{ background: var(--sp-green-2); }

.pix-timer{
  font-weight:800;
  font-size:18px;
  color: var(--sp-green-2);
}

.pix-pay-status{
  font-weight:600;
  opacity:.9;
  color: var(--sp-muted);
}

.pix-copy-feedback{
  font-size:13px;
  font-weight:600;
  color: var(--sp-muted);
}

/* ===========================
   Card do saldo (container)
   =========================== */
.saldo {
  padding: 20px;
  border-radius: 12px;
  background: var(--sp-surface);
  border: 1px solid var(--sp-border);
  box-shadow: var(--sp-shadow);
  width: 100%;
  max-width: none;
  margin: 0 auto;
  box-sizing: border-box;
}

.container-saldo {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
}

.saldo-info {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.saldo-label {
  display: flex;
  align-items: center;
  gap: 4px;
  color: var(--sp-muted);
  font-size: 14px;
  font-weight: 500;
}

.saldo-valor {
  display: flex;
  align-items: baseline;
  gap: 6px;
  padding: 0;
}

.valor-int {
  font-size: 28px;
  font-weight: 800;
  line-height: 1;
  color: var(--sp-text);
}

.valor-dec {
  font-size: 16px;
  font-weight: 700;
  transform: translateY(-2px);
  color: var(--sp-text);
}

.saldo-action { display: flex; }

.btn-sacar {
  width: 81px;
  height: 27px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  border-radius: 99px;
  background: var(--sp-green);
  border: 0;
  position: relative;
}
.btn-sacar:hover{ background: var(--sp-green-2); }

.btn-text {
  color: #06130a;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
}

.saldo-text {
  color: var(--sp-text);
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  display: flex;
  align-items: center;
}

/* Moedinha "P" -> Spotify accent */
.p-bg {
  display: inline-flex;
  width: 13px;
  height: 13px;
  padding: 1.3px;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  border-radius: 185.529px;
  border-bottom: 0.371px solid rgba(0,0,0,.35);
  background: var(--sp-green);
}
.p-txt {
  color: #06130a;
  text-shadow: 0 0 1.114px rgba(0, 0, 0, 0.25);
  font-size: 7.851px;
  font-style: normal;
  font-weight: 800;
  line-height: normal;
  z-index: 10;
}

.valor-currency {
  color: var(--sp-text);
  font-family: Inter;
  font-size: 22px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}

.pix-badge { position: absolute; top: -8px; right: -3px; }
.pix-badge img {
  width: 31px;
  height: 11px;
  padding: 2px 4px;
  border-radius: 6px 6px 6px 0;
  background: var(--sp-surface-2);
  border: 1px solid var(--sp-border);
}

/* ===========================
   Parabéns / blocos
   =========================== */
.parabens { display: flex; box-sizing: border-box; }
.parabens-img { align-self: flex-start; will-change: transform; margin-top: -20px; max-width: 100%; }

.parabens-txtum { display: block; width: 100%; }
.parabens-txtum,
.parabens-txtdois {
  color: var(--sp-text);
  font-size: 22px;
  font-style: normal;
  font-weight: 800;
  line-height: normal;
}
.parabens-valor {
  color: var(--sp-green-2);
  font-size: 22px;
  font-style: normal;
  font-weight: 800;
  line-height: normal;
  display: block;
}

.bloco-dois {
  display: flex;
  flex-direction: column;
  border-radius: 12px;
  background: var(--sp-surface);
  border: 1px solid var(--sp-border);
  box-shadow: var(--sp-shadow);
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  padding: 20px;
  margin: 20px auto;
}

.nobreak { white-space: nowrap; }

.line {
  width: 100%;
  height: 1px;
  border-bottom: 1px dashed rgba(255, 255, 255, 0.12);
}

.entre {
  padding-top: 20px;
  display: flex;
  flex-wrap: wrap;
}
.entre-txt {
  width: 244px;
  color: var(--sp-text);
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  flex: 1 1 0;
  min-width: 0;
}
.entre-pts {
  display: block;
  color: var(--sp-green-2);
}

.btn-concluido-text {
  color: rgba(255,255,255,.35);
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
}
.btn-concluido {
  width: 89px;
  height: 35px;
  display: inline-flex;
  border-radius: 99px;
  background: rgba(255,255,255,.10);
  border: 1px solid var(--sp-border);
  justify-content: center;
  align-items: center;
  pointer-events: none;
}

.entre-data {
  display: block;
  color: rgba(255,255,255,.55);
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  margin-top: 6px;
}

.concluiu {
  height: 26px;
  border-radius: 6px;
  background: rgba(255,255,255,.06);
  border: 1px solid var(--sp-border);
  align-items: center;
  gap: 10px;
  margin-top: 12px;
}
.concluiu-txt {
  width: 288px;
  color: var(--sp-muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 500;
  line-height: 14px;
  padding: 6px 12px;
}

/* ===========================
   Day tracker
   =========================== */
.dia,
.line-dois {
  margin-top: 20px;
  text-align: center;
}

.day-tracker * {
  box-sizing: border-box;
  font-family: "Inter", sans-serif;
}
.day-tracker {
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: center;
}

.day-tracker__item {
  width: 45px;
  display: inline-flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 8px;
}

.day-tracker__box {
  align-self: stretch;
  height: 45px;
  position: relative;
  background: rgba(255,255,255,.06);
  border: 1px solid var(--sp-border);
  overflow: hidden;
  border-radius: 8.82px;
}

.day-tracker__content {
  width: 45px;
  position: absolute;
  left: 0px;
  top: 6px;
  display: inline-flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  gap: 4px;
}

.day-tracker__coin {
  width: 16px;
  height: 16px;
  position: relative;
  background: var(--sp-green);
  overflow: hidden;
  border-radius: 50%;
  border-bottom: 0.46px solid rgba(0,0,0,.35);
}
.day-tracker__coin-inner {
  width: 12.8px;
  height: 12.8px;
  position: absolute;
  left: 1.6px;
  top: 1.6px;
  background: var(--sp-green-2);
  overflow: hidden;
  border-radius: 50%;
  outline: 0.23px solid rgba(0,0,0,.25);
}
.day-tracker__coin-effect {
  width: 15.77px;
  height: 15.77px;
  position: absolute;
  left: -1.6px;
  top: -1.6px;
  background: rgba(255,255,255,.10);
  box-shadow: -0.23px 1.37px 1.14px 0.46px rgba(0,0,0,.35);
  border-radius: 9999px;
}
.day-tracker__coin-text {
  position: absolute;
  left: 3.43px;
  top: 0.69px;
  color: #06130a;
  font-size: 9.66px;
  font-weight: 900;
  text-shadow: 0px 0px 1px rgba(0, 0, 0, 0.25);
}
.day-tracker__value {
  align-self: stretch;
  text-align: center;
  color: var(--sp-text);
  font-size: 11px;
  font-weight: 600;
}

.day-tracker__overlay {
  width: 45px;
  height: 45px;
  padding: 13px;
  position: absolute;
  left: 0px;
  top: 0px;
  background: rgba(0,0,0,.40);
  border: 1px solid var(--sp-border);
  overflow: hidden;
  border-radius: 8.82px;
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
}

.day-tracker__label {
  align-self: stretch;
  text-align: center;
  color: var(--sp-muted-2);
  font-size: 10px;
  font-weight: 600;
}

.entre-txt-dois { padding-right: 18px; }
.entre-txt-dois .entre-pts { display: inline; }

/* balão "assista" */
.assista {
  margin-left: 6px;
  width: 118px;
  height: 19px;
  display: inline-flex;
  border-radius: 99px;
  background: rgba(255,255,255,.08);
  border: 1px solid var(--sp-border);
  justify-content: center;
  align-items: center;
  position: relative;
  overflow: visible;
}
.assista-tail {
  position: absolute;
  left: 25px;
  top: 100%;
  margin-top: -1px;
}
.assista-txt {
  color: var(--sp-muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  text-align: center;
}

/* progress */
.progress-bar {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  margin-top: 11px;
  padding: 0 10px;
  box-sizing: border-box;
}
.progress-bar::before {
  content: "";
  position: absolute;
  top: 12px;
  left: 0;
  right: 0;
  height: 5px;
  background-color: var(--sp-track);
  border-radius: 10px;
  z-index: 0;
}
.progress-step {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.step-icon {
  width: 24px;
  height: 24px;
  background-color: var(--sp-surface);
  border: 1px solid var(--sp-border);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.step-icon img { width: 100%; height: 100%; display: block; }
.step-text {
  color: var(--sp-muted-2);
  font-size: 10px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  text-align: center;
}

.hide { visibility: hidden; }

.posicao-direita { align-self: flex-end; margin-left: auto; }
.posicao-direita .assista-tail { left: auto; }

.assista { display: flex; }
.taildois {
  position: absolute;
  right: 39px;
  top: 100%;
  margin-top: -1px;
}

.obtem-txt {
  margin-top: 20px;
  margin-left: 9px;
  display: inline-block;
  width: 288px;
  color: var(--sp-muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 500;
  line-height: 14px;
}

/* ===========================
   Popup principal
   =========================== */
.popup {
  padding: 20px;
  text-align: center;
  width: 320px;
  height: 287px;
  box-sizing: border-box;
  overflow: visible;
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(29,185,84,.14) 0%, var(--sp-surface) 55%);
  border: 1px solid rgba(29,185,84,.20);
  box-shadow: var(--sp-shadow);
  position: relative;
  margin: 12px auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
}
.gol {
  color: var(--sp-text);
  font-size: 20px;
  font-style: normal;
  font-weight: 800;
  line-height: normal;
  padding-top: 5px;
  display: block;
}
.gol-img {
  width: 120px;
  height: 130px;
  position: absolute;
  top: -80px;
  left: 50%;
  transform: translateX(-50%);
}
.gol-txt {
  padding-top: 12px;
  width: 270px;
  display: inline-flex;
  color: var(--sp-muted);
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  text-align: center;
}
.gol-valor {
  display: inline-flex;
  padding-top: 20px;
  margin-bottom: 10px;
  color: var(--sp-green-2);
  font-size: 36px;
  font-style: normal;
  font-weight: 800;
  line-height: normal;
}

.timer-wrapper {
  margin-top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.timer-clock {
  gap: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.timer-box {
  display: flex;
  padding: 4px;
  border-radius: 4px;
  background: rgba(255,255,255,.08);
  border: 1px solid var(--sp-border);
  justify-content: center;
  align-items: center;
  font-size: 10px;
  color: var(--sp-text);
}
.timer-label {
  color: var(--sp-muted);
  font-size: 10px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  text-align: center;
}

.btn-obrigado {
  width: 270px;
  height: 53px;
  justify-content: center;
  align-items: center;
  border-radius: 99px;
  background: var(--sp-green);
  border: 0;
  display: flex;
  margin: 12px auto 0 auto;
  cursor: pointer;
  color: #06130a;
  font-weight: 800;
}
.btn-obrigado:hover{ background: var(--sp-green-2); }
.popup > .btn-obrigado { margin-bottom: 0; margin-top: auto; }

/* ===========================
   Saldo dark blocks
   =========================== */
.saldo-dois {
  width: 100%;
  height: 130px;
  overflow: hidden;
  border-radius: 12px;
  flex-shrink: 0;
  background: linear-gradient(135deg, #0a0a0a, #171717);
  border: 1px solid var(--sp-border);
  box-sizing: border-box;
}
.saldo-text-dois {
  color: var(--sp-text);
  font-size: 17px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
}
.valor-currency-dois {
  color: var(--sp-text);
  font-size: 30px;
  font-style: normal;
  font-weight: 800;
  line-height: normal;
}
.total-pontos {
  color: var(--sp-muted-2);
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
}
.saldo-valor-dois { display: flex; flex-direction: column; gap: 8px; }
.saldo-info-dois { gap: 8px; }

.saldo-tres {
  display: flex;
  width: 100%;
  overflow: hidden;
  padding: 10px 20px;
  border-radius: 12px;
  background: linear-gradient(135deg, #0a0a0a, #171717);
  border: 1px solid var(--sp-border);
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  box-sizing: border-box;
}
.total-pontos-dois {
  color: var(--sp-muted-2);
  font-family: Inter;
  font-size: 13px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

#three {
  background-color: var(--sp-bg);
  padding-left: 12px;
  padding-right: 12px;
  padding-bottom: 12px;
  box-sizing: border-box;
}

.saldo-dois {
  border-style: dashed;
  border-width: 0px 0px 1px 0px;
  border-color: rgba(255,255,255,.12);
  --border-color: rgba(255,255,255,.12);
  --border-radius: 12px 12px 12px 12px;
}

/* ===========================
   Saque
   =========================== */
.saldo-sacar { margin-top: 16px; }
.saldo-sacar-text {
  color: var(--sp-text);
  font-size: 16px;
  font-style: normal;
  font-weight: 800;
  line-height: normal;
}
.transferencia-txt {
  color: var(--sp-muted-2);
  font-size: 13px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}
.pix-logo-transf { width: 40px; height: 13.684px; padding-left: 4px; }

.saldo-valor-tres {
  height: 34px;
  display: flex;
  align-items: center;
  gap: 6px;
  border-bottom: 1px solid rgba(255,255,255,.10);
  padding-bottom: 5px;
  margin-bottom: 12px;
}

.transferencia-txt {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.saldo-info-sacar { gap: 16px; }

.widget-container { margin-top: 21px; }

.botoes-row {
  display: flex;
  gap: 8px;
  margin-bottom: 10px;
}

.btn-valor {
  flex: 1;
  background-color: rgba(255,255,255,.08);
  border: 1.5px solid rgba(255,255,255,.10);
  border-radius: 8px;
  padding: 12px 0;
  font-size: 16px;
  font-weight: bold;
  color: var(--sp-text);
  cursor: pointer;
  transition: all 0.2s ease;
}
.btn-valor:hover{
  background-color: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.14);
}

/* ativo */
.btn-valor.btn-active {
  background-color: var(--sp-green-soft);
  border-color: rgba(29,185,84,.55);
  color: var(--sp-green-2);
}

.botoes-row > .btn-valor {
  color: var(--sp-text);
  text-align: center;
  font-family: Inter;
  font-size: 16px;
  font-style: normal;
  font-weight: 800;
  line-height: normal;
}
.botoes-row > .btn-active { color: var(--sp-green-2); }

.display-total {
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  width: 100%;
  height: 50px;
  background-color: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 10px;
  text-align: center;
  font-size: 16px;
  font-weight: 800;
  padding: 10px;
  color: var(--sp-text);
}

.botoes-row-sacar { margin-bottom: 8px; }

.btn-sacar-dois {
  box-sizing: border-box;
  display: flex;
  width: 100%;
  height: 41px;
  border-radius: 10px;
  background: var(--sp-green);
  justify-content: center;
  align-items: center;
  gap: 10px;
}
.btn-sacar-dois:hover{ background: var(--sp-green-2); }

.obtem-sacar > .obtem-txt {
  color: var(--sp-muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
}
.btn-textdois-sacar {
  color: #06130a;
  font-size: 14px;
  font-style: normal;
  font-weight: 800;
  line-height: normal;
}

.moedas-txt {
  width: 251px;
  color: var(--sp-muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
}

/* Inverte apenas quando houver a flor dentro do bloco de saque */
.saldo-sacar .container-saldo { align-items: center; }

.flor { width: 82px; height: 82px; flex-shrink: 0; aspect-ratio: 1/1; margin-right: -20px; }
.saldo-sacar .flor { order: 2; align-self: center; margin-left: -30px; flex-shrink: 0; }
.saldo-sacar .obtenha-title { order: 1; }

.btn-sacar-indisponivel {
  display: flex;
  width: 100%;
  height: 41px;
  padding: 12px 10px;
  border-radius: 10px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.10);
  justify-content: center;
  align-items: center;
  gap: 10px;
  cursor: not-allowed;
  pointer-events: none;
  opacity: 0.6;
}
.btn-indis {
  color: rgba(255,255,255,.35);
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}

.ddd,
.telefone {
  color: rgba(255,255,255,.40) !important;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}
.linha-ddd { width: 1px; height: 18px; background: rgba(255,255,255,.12); }

.obtem-sacar > .recarga-txt {
  color: var(--sp-muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  text-align: center;
}

.border-none { border: 0; }

.saque-title {
  overflow: hidden;
  background: var(--sp-surface);
  border-bottom: 1px solid rgba(255,255,255,.10);
}
.saque-popup {
  height: 300px;
  margin: 0 auto;
  box-sizing: border-box;
  background-color: var(--sp-surface);
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.10);
}
#five .saque-popup,
#six .saque-popup {
  height: auto !important;
  min-height: 300px;
}

#four a { text-decoration: none; }

.pix-solo { width: 13px; height: 13px; }

.pix-title {
  align-self: stretch;
  color: var(--sp-text);
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
}
.pix-subtitle {
  align-self: stretch;
  color: var(--sp-muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
}

.pix-icon {
  display: flex;
  width: 30px;
  height: 19px;
  overflow: hidden;
  border-radius: 6px;
  border: 1px solid rgba(255,255,255,.12);
  box-sizing: border-box;
  background: rgba(255,255,255,.06);
  justify-content: center;
  align-items: center;
}

.pix-item {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  background-color: var(--sp-surface);
  height: 42px;
  padding: 16px;
  cursor: pointer;
  transition: background-color 0.15s ease;
  user-select: none;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.pix-item:hover { background-color: var(--sp-surface-3); }
.pix-item:active { background-color: rgba(29,185,84,.12); }

.pix-details { display: flex; flex-direction: column; }
.pix-subtitle { margin-top: 8px; }

.pix-arrow {
  margin-left: auto;
  align-self: flex-start;
  width: 25px;
  height: 25px;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* ===========================
   Form
   =========================== */
.form-container {
  box-sizing: border-box;
  padding: 20px;
  background-color: var(--sp-surface);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 12px;
}
.form-group { margin-bottom: 24px; }
.form-group:last-child { margin-bottom: 0; }

.field-label {
  font-size: 16px;
  font-weight: 700;
  color: var(--sp-text);
  display: block;
}

input[type="text"] {
  width: 100%;
  border: none;
  border-bottom: 1px solid rgba(255,255,255,.18);
  font-size: 16px;
  background-color: transparent;
  color: var(--sp-text);
}

input[type="text"]::placeholder {
  color: rgba(255,255,255,.45);
  opacity: 1;
}

input[type="text"]:focus {
  outline: none;
  border-bottom-color: rgba(29,185,84,.85);
}

.pix-selector {
  margin-top: 20px;
  padding-bottom: 16px;
  width: 100%;
  border: none;
  border-bottom: 1px solid rgba(255,255,255,.18);
  font-size: 16px;
  background-color: transparent;
  color: var(--sp-text);

  display: flex;
  justify-content: space-between;
  align-items: center;

  cursor: pointer;
  transition: background-color 0.2s ease;
}
.pix-selector:hover { background-color: rgba(255,255,255,.04); }

.pix-selector .placeholder-text { color: rgba(255,255,255,.45); }
.pix-selector .arrow {
  color: rgba(255,255,255,.45);
  font-weight: bold;
  font-size: 18px;
}

.field-label {
  color: var(--sp-text);
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}
input.nome-completo { margin-top: 20px; padding-bottom: 16px; }
input.nome-completo,
.placeholder-text {
  color: var(--sp-text);
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

.arrow-tois {
  margin-left: auto;
  align-self: flex-start;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 4.857px;
  height: 8.943px;
  flex-shrink: 0;
}
.btn-vincular { margin-top: -5px; }

/* Botão dentro da #five deve ter width 100% */
#five .btn-vincular,
#five .btn-sacar-dois {
  width: 100%;
  max-width: 100%;
}

/* ===========================
   Selection
   =========================== */
.selection-container {
  width: 100%;
  max-width: 400px;
  background-color: var(--sp-surface);
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.10);
}
.option-row { position: relative; }
.option-row::after {
  content: "";
  position: absolute;
  bottom: 0;
  height: 1px;
  background-color: rgba(255,255,255,.10);
  left: 20px;
  right: 20px;
}
.option-row label {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 20px 0px 20px;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.option-text {
  color: var(--sp-text);
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
}

.option-row input[type="radio"] { display: none; }

.custom-radio {
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.18);
  background-color: transparent;
  box-sizing: border-box;
  transition: all 0.2s ease-in-out;
}
.option-row input[type="radio"]:checked + .custom-radio {
  border-color: rgba(29,185,84,.75);
  background-color: var(--sp-green);
  box-shadow: 0 0 0 2px rgba(29,185,84,.25);
  box-sizing: border-box;
  border-width: 2.5px;
}
.option-row label { padding-bottom: 13px; }

/* ===========================
   Preloader / Loading
   =========================== */
#preloader-fake {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--sp-bg);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  visibility: visible;
  opacity: 1;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}

#loading-page {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--sp-bg);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  padding-left: 20px;
  padding-right: 20px;
  z-index: 9998;
  visibility: hidden;
  opacity: 1;
  transition: opacity 1s ease, visibility 1s ease;
  box-sizing: border-box;
}

.progress-bar-loading {
  width: 100%;
  height: 8px;
  background-color: rgba(255,255,255,.14);
  border-radius: 4px;
  margin-top: 48px;
  margin-bottom: 100px;
  position: relative;
  overflow: hidden;
  min-width: 0;
  flex-shrink: 1;
}
.progress-bar-fill {
  height: 100%;
  width: 0%;
  background-color: var(--sp-green);
  transition: width 2s ease;
}

.status-text {
  font-family: "Inter", sans-serif;
  font-weight: 900;
  font-size: 28px;
  color: var(--sp-text);
  margin-top: 48px;
  width: 100%;
  text-align: left;
  transform: translateY(20px);
  opacity: 0;
  transition: transform 0.5s ease, opacity 0.5s ease;
  min-width: 0;
  flex-shrink: 1;
}

body.loading-active { overflow: hidden; }

#seven {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--sp-bg);
  z-index: 10000;
}
#seven.is-active{ display:block; }
/* =========================
   FIX: imagens desproporcionais na #nine
   ========================= */

/* Topo (logo do header da section nine) */
/* Centraliza o container da logo */
#nine .confirmation-logo{
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Logo maior, centralizada e proporcional */
#nine .confirmation-logo img{
  width: 160px;        /* tamanho principal */
  max-width: 70vw;     /* evita quebrar no mobile */
  height: auto;        /* mantém proporção */
  object-fit: contain;
  display: block;
}


/* Logos de segurança (bacen/gov/receita) */
#nine .confirmation-security-grid img{
  width: auto;
  height: 26px;          /* ajuste: 22~32 */
  max-width: 100%;
  object-fit: contain;
  display: block;
}

/* Garante que os cards não forcem esticar */
#nine .confirmation-security-item{
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Se alguma imagem específica ainda estiver grande, pode forçar: */
#nine .img-bacen,
#nine .img-gov-br,
#nine .img-receitafederal{
  height: 26px;
  width: auto;
  object-fit: contain;
}

/* ===========================
   Confirmation (#nine)
   =========================== */
#nine {
  background-color: var(--sp-bg);
  padding: 0;
  overflow-y: auto;
  height: 100dvh;
  min-height: 100dvh;
  box-sizing: border-box;
  position: relative;
}
#nine.is-active { scroll-behavior: auto; }

.confirmation-container {
  padding-top: 16px;
  padding-left: 16px;
  padding-right: 16px;
  max-width: 480px;
  margin: 0 auto;
  box-sizing: border-box;
  padding-bottom: 0;
  width: 100%;
  overflow-x: hidden;
}

.confirmation-header {
  padding: 16px 16px 12px;
  text-align: center;
  border-bottom: 1px solid rgba(255,255,255,.10);
}

.confirmation-section {
  background: var(--sp-surface);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 16px;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  box-shadow: var(--sp-shadow);
}

.confirmation-balance {
  background: linear-gradient(135deg, #0a0a0a, #171717);
  color: white;
  border: 1px solid rgba(255,255,255,.10);
}

.confirmation-section-title {
  font-size: 13px;
  font-weight: 500;
  color: var(--sp-muted-2);
  margin-bottom: 12px;
  letter-spacing: 0.02em;
}

.confirmation-balance-title {
  color: rgba(255, 255, 255, 0.9);
  font-size: 12px;
  font-weight: 500;
  margin-bottom: 6px;
}
.confirmation-balance-amount {
  font-size: 28px;
  font-weight: 800;
  margin-bottom: 6px;
  letter-spacing: -0.02em;
}
.confirmation-balance-subtitle {
  font-size: 12px;
  opacity: 0.9;
  font-weight: 400;
  color: var(--sp-muted);
}

.confirmation-fee-amount {
  font-size: 22px;
  font-weight: 800;
  color: var(--sp-green-2);
  margin-bottom: 12px;
  letter-spacing: -0.01em;
}
.confirmation-fee-description {
  font-size: 13px;
  color: var(--sp-muted);
  line-height: 1.4;
}

.confirmation-receipt-grid { display: grid; gap: 12px; }

.confirmation-receipt-item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255,255,255,.10);
}
.confirmation-receipt-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.confirmation-receipt-label {
  font-size: 12px;
  color: var(--sp-muted-2);
  font-weight: 400;
}
.confirmation-receipt-value {
  font-size: 12px;
  font-weight: 600;
  color: var(--sp-text);
  text-align: right;
}

.confirmation-pix-key {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 8px;
  padding: 12px;
  font-family: "Monaco", "Menlo", monospace;
  font-size: 11px;
  text-align: center;
  color: var(--sp-text);
  margin-top: 6px;
  word-break: break-all;
}

.confirmation-divider {
  height: 1px;
  background: rgba(255,255,255,.10);
  margin: 16px 0;
}

.confirmation-requirements-grid { display: grid; gap: 16px; }

.confirmation-requirement-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.confirmation-requirement-icon {
  background: rgba(29,185,84,.12);
  color: var(--sp-green-2);
  width: 28px;
  height: 28px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 13px;
}
.confirmation-requirement-icon.confirmation-reembolso {
  background: rgba(29,185,84,.12);
  color: var(--sp-green-2);
}
.confirmation-requirement-content { flex: 1; }
.confirmation-requirement-title {
  font-size: 13px;
  font-weight: 700;
  color: var(--sp-text);
  margin-bottom: 3px;
}
.confirmation-requirement-title.confirmation-reembolso {
  color: var(--sp-green-2);
}
.confirmation-requirement-description {
  font-size: 12px;
  color: var(--sp-muted);
  line-height: 1.4;
}

.confirmation-cta-button {
  background: var(--sp-green);
  color: #06130a;
  border: none;
  border-radius: 10px;
  padding: 16px;
  font-size: 15px;
  font-weight: 800;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  cursor: pointer;
  transition: opacity 0.2s;
  margin-bottom: 12px;
  letter-spacing: 0.01em;
  text-decoration: none;
  display: block;
  text-align: center;
  word-wrap: break-word;
  overflow-wrap: break-word;
  outline: none;
  box-shadow: none;
}
.confirmation-cta-button:hover { background: var(--sp-green-2); opacity: 1; }
.confirmation-cta-button:focus,
.confirmation-cta-button:active,
.confirmation-cta-button:visited,
.confirmation-cta-button:hover {
  outline: none;
  border: none;
  text-decoration: none;
}

.confirmation-timer {
  font-size: 11px;
  color: var(--sp-green-2);
  font-weight: 700;
  text-align: center;
  margin-top: 12px;
}

.confirmation-success-message {
  background: rgba(29,185,84,.12);
  border: 1px solid rgba(29,185,84,.22);
  border-radius: 10px;
  padding: 12px;
  text-align: center;
  color: var(--sp-green-2);
  font-weight: 700;
  font-size: 13px;
  margin-top: 12px;
  display: none;
}

.confirmation-reembolso-badge {
  display: inline-block;
  background: rgba(29,185,84,.12);
  color: var(--sp-green-2);
  padding: 4px 8px;
  border-radius: 8px;
  font-size: 11px;
  font-weight: 700;
  margin-left: 6px;
}

.confirmation-security-grid {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 50px;
  margin: 20px 0;
}
.confirmation-security-item { text-align: center; }
.confirmation-security-icon {
  font-size: 14px;
  color: var(--sp-green-2);
  margin-bottom: 6px;
}
.confirmation-security-label {
  font-size: 10px;
  color: rgba(255,255,255,.45);
  font-weight: 400;
}

.confirmation-footer {
  text-align: center;
  padding: 16px 0;
  border-top: 1px solid rgba(255,255,255,.10);
}
.confirmation-footer-text {
  font-size: 11px;
  color: rgba(255,255,255,.45);
  margin-bottom: 6px;
}
.confirmation-footer-link {
  color: var(--sp-green-2);
  text-decoration: none;
  font-weight: 700;
  font-size: 11px;
}

/* ===========================
   Sticky popup / timers
   =========================== */
.expira-saldo {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  box-sizing: border-box;
}

.timer-wrapper {
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial;
  background-color: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 8px;
  height: 36px;
}

#countdown-text {
  color: var(--sp-text);
  font-size: 10px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  text-transform: uppercase;
}
#timer {
  color: var(--sp-green-2);
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
  line-height: normal;
  text-transform: uppercase;
}

.saldo-dois { margin-top: 20px; }

.sticky-popup {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 100%;
  max-width: 350px;
  z-index: 99;
  transform: translateY(100%);
  transition: transform 0.3s ease-in-out;
  display: block;
  pointer-events: none;
}
.sticky-popup.is-visible {
  transform: translateY(0);
  pointer-events: auto;
}

.saldo-popup,
.expira-em-popup {
  background-color: var(--sp-surface);
  margin: 0 auto;
  max-width: 100%;
  border: 1px solid rgba(255,255,255,.10);
}

.saldo-popup { border-radius: 0; padding-bottom: 20px; }

.expira-em-popup {
  border-radius: 12px 12px 0 0;
  width: fit-content;
  padding: 0 15px;
  margin: 0 auto;
}

#popup-um .expira-em-popup {
  width: 100%;
  display: flex;
  justify-content: center;
  margin: 0;
  box-sizing: border-box;
}

.expira-em-popup {
  border-style: dashed;
  border-width: 0px 0px 1px 0px;
  border-color: rgba(255,255,255,.08);
  --border-color: rgba(255,255,255,.08);
}

.timer-separator {
  width: 3px;
  height: 7px;
  color: var(--sp-text);
  font-size: 10px;
  font-style: normal;
  font-weight: 600;
  line-height: 53%;
  text-align: center;
}

.btn-txt-obrigado {
  color: #06130a;
  font-size: 16px;
  font-style: normal;
  font-weight: 900;
  line-height: normal;
}
.popup > .timer-wrapper { background: none; border: none; }

/* ===========================
   Modals
   =========================== */
.screen.is-modal {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  background: rgba(0, 0, 0, 0.65);
  padding: 1.5rem;
  box-sizing: border-box;
}
.screen.is-modal .modal-inner {
  max-width: 720px;
  width: 100%;
  background: var(--sp-surface);
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: var(--sp-shadow);
  padding: 1.5rem;
  box-sizing: border-box;
  position: relative;
}
.screen.is-modal.is-active { display: flex; }
body.modal-open { overflow: hidden; }
.screen.is-modal .modal-inner * { pointer-events: auto; }
#two > .modal-inner { background: none; box-shadow: none; margin: 0; padding: 0; }

button:hover { cursor: pointer; }

.modal-screen {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.65);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}
.modal-screen.is-active { display: flex; }

#four.is-modal,
#four.is-modal.is-active {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  background: rgba(0, 0, 0, 0.65);
  padding: 0;
  box-sizing: border-box;
}
#four .modal-inner {
  position: relative;
  z-index: 10000;
  width: 100%;
  max-width: 100%;
  border-radius: 12px 12px 0 0;
  margin: 0;
  padding: 1.5rem;
  background: var(--sp-surface);
  border: 1px solid rgba(255,255,255,.10);
  box-sizing: border-box;
}

.bold { font-weight: bold; }

.modal {
  position: fixed;
  inset: 0;
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  pointer-events: none;
}
.modal.is-modal.is-active,
.modal.is-active.is-modal {
  display: flex;
  pointer-events: auto;
  background: rgba(0, 0, 0, 0.70);
  backdrop-filter: blur(6px) saturate(120%);
  -webkit-backdrop-filter: blur(6px) saturate(120%);
}
#four.is-modal.is-active,
#four.is-active.is-modal {
  background: rgba(0, 0, 0, 0.65);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

#five.is-modal,
#five.is-modal.is-active {
  position: fixed;
  inset: 0;
  z-index: 10001;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  background: transparent;
  padding: 0;
  box-sizing: border-box;
}
#five .modal-inner {
  position: relative;
  z-index: 10002;
  max-width: 100%;
  width: 100%;
  background: var(--sp-surface);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 12px 12px 0 0;
  box-shadow: var(--sp-shadow);
  padding: 1.5rem;
  margin: 0;
  box-sizing: border-box;
}

#six.is-modal,
#six.is-modal.is-active {
  position: fixed;
  inset: 0;
  z-index: 10003;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  background: transparent;
  padding: 0;
  box-sizing: border-box;
}
#six .modal-inner {
  position: relative;
  z-index: 10004;
  max-width: 100%;
  width: 100%;
  background: var(--sp-surface);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 12px 12px 0 0;
  box-shadow: var(--sp-shadow);
  padding: 20px;
  margin: 0;
  height: 320px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

#six .saque-popup { width: 100%; max-width: 100%; margin: 0; padding: 0; }
#six .selection-container { width: 100%; max-width: 100%; }

.pix-selector[data-open-modal] { cursor: pointer; }

.modal .modal-inner { position: relative; z-index: 10000; }

.valor-currency-tres {
  color: var(--sp-text);
  font-size: 22px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}
.valor-currency-quatro {
  color: var(--sp-text);
  font-size: 36px !important;
  font-style: normal;
  font-weight: 800;
  line-height: normal;
}

/* === Button Feedback (Hover/Active) === */
.btn-sacar,
.btn-obrigado,
.btn-sacar-dois,
.btn-vincular {
  transition: transform 0.1s ease, opacity 0.1s ease, background-color .15s ease;
}

.btn-sacar:hover,
.btn-obrigado:hover,
.btn-sacar-dois:hover,
.btn-vincular:hover {
  opacity: 0.98;
}
.btn-sacar:active,
.btn-obrigado:active,
.btn-sacar-dois:active,
.btn-vincular:active {
  transform: scale(0.98);
  opacity: 0.95;
}

/* === Media Query para Desktop === */
@media (min-width: 768px) {
  #four .modal-inner,
  #five .modal-inner,
  #six .modal-inner {
    max-width: 350px;
    width: 100%;
  }

  #one,
  #three {
    max-width: 450px;
    margin: 0 auto;
  }

  #popup-um {
    max-width: 426px;
    margin: 0 auto;
    border-radius: 8px;
  }
  #popup-um .saldo { border-radius: 8px; }
}

button.btn-obrigado.btn-sacar-dois.btn-sacar-indisponivel,
button.btn-obrigado.btn-sacar-dois.btn-sacar-indisponivel:active,
button.btn-obrigado.btn-sacar-dois.btn-sacar-indisponivel:focus {
  width: 100%;
  transform: none;
  opacity: 1;
}
.btn-three-saque,
.btn-three-saque:active,
.btn-three-saque:focus {
  width: 100%;
  transform: none;
  opacity: 1;
}

.obtem.obtem-sacar { text-align: center; }
.sacar-dinheiro span { width: 299px; text-align: center; }
.ctn-flor { margin-bottom: 19px; }
.saldo-info.obtenha-title { width: 100%; }

@media (max-width: 767px) {
  #popup-um {
    width: 100%;
    max-width: none;
    border-radius: 0;
    margin-left: 0;
    margin-right: 0;
    left: 0;
    right: 0;
  }
  #popup-um .saldo {
    width: 100%;
    max-width: none;
    border-radius: 0;
    padding-left: 0;
    padding-right: 0;
  }
}
#popup-um .container-saldo { padding: 0 20px; }

.p-saldo-maior { width: 69px; height: 69px; }
.modal-inner.inner-pop { padding: 0 !important; }
.parabens-img { width: 148px; height: 148px; }

/* ===========================
   Validação Chave PIX
   =========================== */
.input-disabled {
  background-color: transparent !important;
  cursor: not-allowed;
  opacity: 1;
}

input.nome-completo,
#pix-key-input,
.pix-selector {
  width: 100% !important;
  border: none;
  border-bottom: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  margin-left: 0 !important;
}

#pix-key-wrapper { padding: 0 !important; margin: 0 !important; }

.input-wrapper-disabled { position: relative; width: 100%; }

@keyframes shake {
  0% { transform: translateX(0); }
  25% { transform: translateX(-5px); }
  50% { transform: translateX(5px); }
  75% { transform: translateX(-5px); }
  100% { transform: translateX(0); }
}
.shake-animation { animation: shake 0.4s ease-in-out; }

.btn-disabled {
  opacity: 0.5;
  filter: grayscale(100%);
  cursor: not-allowed;
}

.input-error {
  padding: 10px !important;
  box-sizing: border-box !important;
}

#btn-enviar-pix:hover,
#btn-enviar-pix:active,
#btn-enviar-pix:focus {
  transform: none !important;
  opacity: 1 !important;
  filter: none !important;
}
#btn-enviar-pix.btn-disabled {
  opacity: 0.5 !important;
  filter: grayscale(100%) !important;
  cursor: not-allowed !important;
}

.confirmation-security-label img { max-width: 100%; }
.img-bacen { width: 50px; }
.img-gov-br { width: 70px; }
.img-receitafederal { width: 70px; }

/* ===========================
   Novo loading (rodapé)
   =========================== */
.loading-header {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 2rem 1.5rem;
  height: 120px;
  width: 100%;
  box-sizing: border-box;
}
.loading-logo { display: flex; align-items: center; gap: 15px; }
.loading-logo-img { width: 40px; height: 40px; object-fit: contain; }
.loading-logo-text {
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 1.8rem;
  font-weight: 800;
  color: var(--sp-text);
}
.loading-main-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 20px;
  width: 100%;
  box-sizing: border-box;
}
.new-loading-container { text-align: center; width: 100%; max-width: 400px; }
.new-loading-text {
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 1.3rem;
  margin-bottom: 2rem;
  color: var(--sp-muted);
  height: 2.5rem;
  transition: opacity 0.5s ease;
  font-weight: 600;
}

.new-progress-track {
  width: 100%;
  height: 6px;
  background-color: rgba(255,255,255,.10);
  border-radius: 3px;
  overflow: hidden;
  position: relative;
}
.new-progress-bar {
  height: 100%;
  width: 0%;
  background-color: var(--sp-green);
  border-radius: 3px;
  transition: width 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  position: relative;
}
.new-progress-bar::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.22),
    transparent
  );
  animation: shimmer 2s infinite;
  border-radius: 3px;
}
@keyframes shimmer {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(100%); }
}
.new-progress-track::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(29,185,84, 0.12),
    transparent
  );
  animation: pulse 3s infinite;
  border-radius: 3px;
}
@keyframes pulse {
  0%,100% { opacity: 0.25; }
  50% { opacity: 0.7; }
}

@media (max-width: 480px) {
  .loading-header { padding: 1.5rem; height: 100px; }
  .loading-logo-img { width: 35px; height: 35px; }
  .loading-logo-text { font-size: 1.5rem; }
  .new-loading-text { font-size: 1.1rem; margin-bottom: 1.5rem; }
  .new-progress-track { height: 5px; }
}

#seven {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--sp-bg);
  z-index: 10000;
  display: flex;
  flex-direction: column;
}
#seven[aria-hidden="true"] { display: none; }
.loading-logo-img { width: 96px; }

/* snow layer (mantida) */
.snow-layer{
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 99999;
  overflow: hidden;
}
.snowflake{
  position: absolute;
  top: -10px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255,255,255,.9);
  filter: drop-shadow(0 2px 2px rgba(0,0,0,.10));
  opacity: .9;
  animation-name: snow-fall, snow-drift;
  animation-timing-function: linear, ease-in-out;
  animation-iteration-count: infinite, infinite;
}
@keyframes snow-fall{ to { transform: translateY(110vh); } }
@keyframes snow-drift{
  0% { margin-left: 0px; }
  50% { margin-left: 22px; }
  100% { margin-left: 0px; }
}
/* ALTERANDO AQUI */
/* =========================
   AJUSTE RÁPIDO – SECTION #nine
   Reduz espaço topo → logo → saldo
   ========================= */

#nine{
  padding-top: 10px !important;
}

/* header onde fica a logo */
#nine .confirmation-header{
  padding: 0 !important;
  margin: 0 !important;
}

/* container da logo */
#nine .confirmation-logo{
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 !important;
  padding: 0 !important;
}

/* imagem da logo */
#nine .confirmation-logo img{
  width: 140px;       /* tamanho da logo */
  height: auto;
  display: block;
}

/* card do "SALDO DISPONÍVEL" sobe */
#nine .confirmation-balance{
  margin-top: 6px !important;
  padding-top: 12px !important;
}
