:root {
  --fundo: #f7f2e9;
  --superficie: #fffdf9;
  --texto: #1b2537;
  --suave: #5b6372;
  --linha: #e4dccd;
  --acento: #1d3350;
  --acento-texto: #ffffff;
  --azul: #1d3350;
  --dourado: #8f6a1f;
  --solidario: #b4461d;
  --solidario-fundo: #fbece4;
  --erro: #a42a2a;
  --erro-fundo: #fbeaea;
  --raio: 8px;
  --titulos: "Newsreader", Georgia, "Times New Roman", serif;
  --corpo: "Instrument Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  color-scheme: light dark;
}
@media (prefers-color-scheme: dark) {
  :root {
    --fundo: #111a28;
    --superficie: #172234;
    --texto: #ece6da;
    --suave: #a7afbb;
    --linha: #2a3850;
    --acento: #d4ae5c;
    --acento-texto: #111a28;
    --azul: #0b1320;
    --dourado: #d4ae5c;
    --solidario: #c4532a;
    --solidario-fundo: #2a1f22;
    --erro: #f3a3a3;
    --erro-fundo: #3a2024;
  }
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--fundo);
  color: var(--texto);
  font: 17px/1.65 var(--corpo);
  overflow-wrap: break-word;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3 { font-family: var(--titulos); font-weight: 500; line-height: 1.12; margin: 0 0 .5em; }
h1 { font-size: clamp(2.2rem, 7vw, 3.4rem); }
h2 { font-size: 1.8rem; }
p { margin: 0 0 1em; }
a { color: var(--acento); text-underline-offset: 3px; }
:focus-visible { outline: 3px solid var(--dourado); outline-offset: 3px; border-radius: 3px; }
img { max-width: 100%; }

.contentor { max-width: 1120px; margin: 0 auto; padding: 0 16px; }
@media (min-width: 600px) { .contentor { padding: 0 32px; } }
.suave { color: var(--suave); }

.botao {
  display: inline-flex; align-items: center; justify-content: center;
  font: 600 1rem var(--corpo);
  background: var(--acento);
  color: var(--acento-texto);
  border: 0;
  border-radius: 6px;
  padding: 14px 28px;
  min-height: 50px;
  text-decoration: none;
  cursor: pointer;
  transition: filter .15s;
}
.botao:hover { filter: brightness(1.15); }
.botao[disabled] { opacity: .6; cursor: progress; }
.botao-sec {
  font: 600 .8rem var(--corpo);
  background: transparent;
  color: var(--acento);
  border: 1px solid var(--linha);
  border-radius: 4px;
  padding: 8px 14px;
  min-height: 36px;
  cursor: pointer;
}
.botao-sec:hover { border-color: var(--acento); }

/* Páginas de texto (privacidade, envios) */
.texto { max-width: 760px; padding-top: 48px; padding-bottom: 48px; }
.texto h2 { font-size: 1.35rem; margin-top: 1.8em; }

footer { border-top: 1px solid var(--linha); padding: 32px 0 48px; font-size: .9rem; color: var(--suave); }
footer nav { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 8px; }

.cartao { background: var(--superficie); border: 1px solid var(--linha); border-radius: var(--raio); padding: 24px 20px; }

[hidden] { display: none !important; }
