/* Racing FreeRoam - Ajustes finais de identidade visual e doações */
:root {
  --rf-bg: #05070b;
  --rf-bg-2: #0b1018;
  --rf-card: rgba(10, 16, 26, 0.84);
  --rf-border: rgba(255, 255, 255, 0.10);
  --rf-text: #ffffff;
  --rf-muted: #b9c2d0;
  --rf-red: #ff1e2d;
  --rf-red-2: #c8102e;
  --rf-gold: #f5c542;
}

html, body {
  background:
    radial-gradient(circle at top left, rgba(255, 30, 45, 0.18), transparent 34%),
    radial-gradient(circle at bottom right, rgba(245, 197, 66, 0.10), transparent 28%),
    linear-gradient(180deg, var(--rf-bg) 0%, var(--rf-bg-2) 100%) !important;
  color: var(--rf-text) !important;
}

a {
  color: inherit;
}

header, nav, footer,
[class*="header"], [class*="navbar"], [class*="footer"] {
  background: rgba(5, 7, 11, 0.86) !important;
  border-color: var(--rf-border) !important;
  backdrop-filter: blur(14px);
}

.card, [class*="card"], [class*="package"], [class*="product"], [class*="reward"] {
  background: var(--rf-card) !important;
  border: 1px solid var(--rf-border) !important;
  box-shadow: 0 18px 50px rgba(0,0,0,.35) !important;
  color: var(--rf-text) !important;
}

button, .btn, .button, a[class*="btn"], a[class*="button"],
[class*="Button"], [class*="button"] {
  color: #ffffff !important;
}

button:not([disabled]), .btn, .button, a[class*="btn"], a[class*="button"],
[class*="primary"], [class*="cta"] {
  border-radius: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .02em;
}

button:not([disabled]):hover, .btn:hover, .button:hover, a[class*="btn"]:hover, a[class*="button"]:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
}

[class*="price"], [class*="amount"], [class*="money"] {
  color: var(--rf-gold) !important;
  font-weight: 900 !important;
}

input, select, textarea {
  background: rgba(255,255,255,.06) !important;
  color: #ffffff !important;
  border: 1px solid var(--rf-border) !important;
}

::placeholder {
  color: rgba(255,255,255,.55) !important;
}

/* Garante que botões "Ver Recompensa" fiquem brancos */
a, button, span, p, div {
  text-rendering: optimizeLegibility;
}

@media (max-width: 768px) {
  .card, [class*="card"], [class*="package"], [class*="product"], [class*="reward"] {
    border-radius: 16px !important;
  }
  button, .btn, .button, a[class*="btn"], a[class*="button"] {
    min-height: 44px;
  }
}


/* Racing FreeRoam - ajuste Termos e Transparência */
.rf-duvida-card p:empty,
.card p:empty,
[class*="card"] p:empty {
  display: none !important;
}

/* Racing FreeRoam - FAQ / Central de Dúvidas */
.rf-central-duvidas {
  width: min(1180px, calc(100% - 48px)) !important;
  margin: 70px auto !important;
  color: #ffffff !important;
}

.rf-central-duvidas * {
  box-sizing: border-box !important;
}

.rf-central-header {
  max-width: 760px !important;
  margin: 0 auto 28px !important;
  text-align: center !important;
}

.rf-central-pill {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  padding: 0 14px !important;
  margin-bottom: 14px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.06) !important;
  color: #dce8f6 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

.rf-central-header h2 {
  margin: 0 0 10px !important;
  color: #ffffff !important;
  font-size: clamp(30px, 4vw, 50px) !important;
  line-height: 1.02 !important;
  letter-spacing: -.04em !important;
  font-weight: 950 !important;
}

.rf-central-header p {
  margin: 0 auto !important;
  max-width: 650px !important;
  color: #b8c2d0 !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}

.rf-central-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  width: 100% !important;
}

.rf-duvida-card {
  min-height: 218px !important;
  padding: 24px !important;
  border-radius: 22px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025)), rgba(10,16,26,.82) !important;
  box-shadow: 0 18px 52px rgba(0,0,0,.34) !important;
}

.rf-duvida-icon {
  width: 44px !important;
  height: 44px !important;
  display: grid !important;
  place-items: center !important;
  margin-bottom: 15px !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.07) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  font-size: 23px !important;
}

.rf-duvida-card h3 {
  margin: 0 0 10px !important;
  color: #ffffff !important;
  font-size: 19px !important;
  line-height: 1.24 !important;
  font-weight: 900 !important;
}

.rf-duvida-card p {
  margin: 0 !important;
  color: #c5ceda !important;
  font-size: 14.5px !important;
  line-height: 1.62 !important;
}

.rf-discord-box {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin-top: 20px !important;
  padding: 22px !important;
  border-radius: 22px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  background: rgba(255,255,255,.055) !important;
}

.rf-discord-box strong {
  display: block !important;
  margin-bottom: 4px !important;
  color: #ffffff !important;
  font-size: 20px !important;
  font-weight: 950 !important;
}

.rf-discord-box p {
  margin: 0 !important;
  color: #b8c2d0 !important;
}

.rf-discord-cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 48px !important;
  padding: 0 22px !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, #ff1e2d, #c8102e) !important;
  color: #ffffff !important;
  font-weight: 950 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

@media (max-width: 980px) {
  .rf-central-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  .rf-central-duvidas {
    width: min(100% - 28px, 1180px) !important;
    margin: 46px auto !important;
  }

  .rf-central-grid {
    grid-template-columns: 1fr !important;
  }

  .rf-duvida-card {
    min-height: auto !important;
    padding: 20px !important;
  }

  .rf-discord-box {
    flex-direction: column !important;
    align-items: stretch !important;
    text-align: center !important;
  }

  .rf-discord-cta {
    width: 100% !important;
  }
}

/* Racing FreeRoam - Tipografia oficial */
:root {
  --rf-font: Inter, Montserrat, Poppins, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --rf-bg: #05070b;
  --rf-surface: rgba(13, 18, 28, .82);
  --rf-surface-2: rgba(255, 255, 255, .045);
  --rf-border: rgba(255, 255, 255, .12);
  --rf-title: #ffffff;
  --rf-text: #d9e2ef;
  --rf-muted: #aeb9c8;
  --rf-soft: #8fa3b8;
  --rf-primary: #ffffff;
  --rf-red: #ff2b3a;
}

html,
body {
  font-family: var(--rf-font) !important;
  background: var(--rf-bg) !important;
  color: var(--rf-text) !important;
  text-rendering: geometricPrecision !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}

/* Padroniza todo texto do site */
body,
p,
span,
a,
button,
input,
textarea,
select,
li,
div {
  font-family: var(--rf-font) !important;
}

p,
li,
span:not([class*="icon"]):not([class*="lucide"]) {
  color: var(--rf-text);
  font-weight: 500;
  letter-spacing: -0.01em;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--rf-font) !important;
  color: var(--rf-title) !important;
  font-weight: 900 !important;
  letter-spacing: -0.045em !important;
  text-wrap: balance;
}

h1 {
  font-size: clamp(34px, 5.2vw, 64px) !important;
  line-height: .95 !important;
}

h2 {
  font-size: clamp(28px, 3.8vw, 48px) !important;
  line-height: 1 !important;
}

h3 {
  font-size: clamp(17px, 1.45vw, 21px) !important;
  line-height: 1.18 !important;
}

h4,
h5,
h6 {
  line-height: 1.2 !important;
}

/* Cards e blocos no mesmo padrão visual */
.card,
[class*="card"],
article,
.rf-duvida-card,
.card p,
[class*="card"] p,
article p,
.rf-duvida-card p,
.card h3,
[class*="card"] h3,
article h3,
.rf-duvida-card h3 {
  color: #ffffff !important;
  font-size: clamp(16px, 1.25vw, 20px) !important;
  line-height: 1.15 !important;
  font-weight: 950 !important;
  letter-spacing: -0.035em !important;
}

/* Hero principal */
.hero h1,
section:first-of-type h1,
.pages-index h1 {
  color: #ffffff !important;
  font-weight: 950 !important;
  letter-spacing: -0.055em !important;
  text-transform: none !important;
}

.hero p,
section:first-of-type p {
  color: #cbd6e4 !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
}

/* Botões */
button,
.btn,
[class*="btn"],
a[class*="btn"],
.rf-discord-cta,
button svg,
.btn svg,
[class*="btn"] svg,
a[class*="btn"] svg {
  color: currentColor !important;
}

/* Pills/etiquetas */
[class*="pill"],
[class*="badge"],
.rf-central-pill,
/* Seção dos 3 cards: textos equilibrados */
section article:has(h3),
section .card:has(h3),
section [class*="card"]:has(h3) {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

section article:has(h3) h3,
section .card:has(h3) h3,
section [class*="card"]:has(h3) h3 {
  min-height: 30px !important;
}

section article:has(h3) p,
section .card:has(h3) p,
section [class*="card"]:has(h3) p {
  flex: 1 !important;
  min-height: 72px !important;
}

/* FAQ com identidade igual ao restante */
.rf-central-header {
  background: transparent !important;
}

.rf-central-header h2 {
  color: #ffffff !important;
  font-weight: 950 !important;
  letter-spacing: -0.055em !important;
}

.rf-central-header p {
  color: #aeb9c8 !important;
  font-weight: 600 !important;
}

.rf-central-grid .rf-duvida-card h3 {
  font-size: 17px !important;
}

.rf-central-grid .rf-duvida-card p {
  color: #aeb9c8 !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
}

/* Footer */
footer,
footer * {
  font-family: var(--rf-font) !important;
}

footer p,
footer span {
  color: #aeb9c8 !important;
  font-weight: 500 !important;
}

footer a {
  color: #ffffff !important;
  font-weight: 850 !important;
  letter-spacing: -0.02em !important;
  text-decoration: none !important;
}

/* Ajuste responsivo para mobile, onde o print mostrou textos muito pequenos */
@media (max-width: 768px) {
  h1 {
    font-size: clamp(30px, 8vw, 42px) !important;
  }

  h2 {
    font-size: clamp(26px, 7vw, 36px) !important;
  }

  h3 {
    font-size: 17px !important;
  }

  p,
  li,
  span,
  a,
  button {
    font-size: 14px !important;
  }

  .card p,
  [class*="card"] p,
  article p,
  .rf-duvida-card p {
    font-size: 13.5px !important;
    line-height: 1.55 !important;
    min-height: auto !important;
  }

  button,
  .btn,
  [class*="btn"],
  a[class*="btn"] {
    font-size: 12px !important;
  }
}

/* Racing FreeRoam - correção definitiva do espaço antes do rodapé */
.rf-central-duvidas {
  margin-top: 56px !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  overflow: visible !important;
}

.rf-central-container {
  min-height: 0 !important;
  height: auto !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

.rf-central-grid {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.rf-discord-box {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 20px 0 0 !important;
  padding: 22px 24px !important;
  border-radius: 20px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.065), rgba(255,255,255,.025)),
    rgba(10,16,26,.82) !important;
  box-shadow: 0 18px 48px rgba(0,0,0,.28) !important;
  overflow: visible !important;
}

.rf-discord-copy {
  display: block !important;
}

.rf-discord-box strong {
  display: block !important;
  margin: 0 0 5px !important;
  color: #ffffff !important;
  font-size: 20px !important;
  line-height: 1.15 !important;
  font-weight: 950 !important;
}

.rf-discord-box p {
  margin: 0 !important;
  color: #aeb9c8 !important;
  font-size: 14.5px !important;
  line-height: 1.55 !important;
  font-weight: 600 !important;
}

.rf-discord-cta {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 46px !important;
  padding: 0 20px !important;
  border-radius: 13px !important;
  background: linear-gradient(135deg, #ff2b3a, #c8102e) !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 950 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

main,
body {
  padding-bottom: 0 !important;
}

main > section:last-of-type {
  margin-bottom: 0 !important;
}

footer {
  margin-top: 34px !important;
  padding-top: 48px !important;
  position: relative !important;
  z-index: 2 !important;
}

/* corta máscara/overlay fantasma entre FAQ e footer */
.rf-central-duvidas::after,
.rf-central-duvidas::before,
main::after,
main::before {
  pointer-events: none !important;
}

@media (max-width: 640px) {
  .rf-discord-box {
    flex-direction: column !important;
    align-items: stretch !important;
    text-align: center !important;
  }

  .rf-discord-cta {
    width: 100% !important;
  }

  footer {
    margin-top: 28px !important;
  }
}


/* Racing FreeRoam - correção div mt3rem vazio */
main > div.mt-\[3rem\].relative:empty,
main > div[class="mt-[3rem] relative"]:empty,
main > div[class*="mt-[3rem]"][class*="relative"]:empty {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}

.rf-central-duvidas {
  margin-bottom: 30px !important;
  padding-bottom: 0 !important;
}

footer {
  margin-top: 0 !important;
}