:root {
  --fundo: #f6f7f9;
  --cartao: #ffffff;
  --texto: #1b2230;
  --suave: #5b6576;
  --borda: #dfe3ea;
  --destaque: #0f7b5f;
  --destaque-texto: #ffffff;
  --alerta: #8a5a00;
  --raio: 12px;
}
@media (prefers-color-scheme: dark) {
  :root {
    --fundo: #0f141b;
    --cartao: #171e28;
    --texto: #e7ebf1;
    --suave: #9aa5b5;
    --borda: #2a3442;
    --destaque: #2bb38a;
    --destaque-texto: #06110d;
    --alerta: #e0b25a;
  }
}
* { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--fundo);
  color: var(--texto);
  font: 17px/1.6 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
main, footer { max-width: 960px; margin: 0 auto; padding: 0 16px; }
section { padding: 48px 0; border-bottom: 1px solid var(--borda); }
h1 { font-size: clamp(2rem, 5vw, 3rem); line-height: 1.15; margin: 0 0 16px; }
h2 { font-size: 1.6rem; margin: 0 0 20px; }
p { margin: 0 0 12px; }
.suave { color: var(--suave); }
.topo { display: grid; gap: 32px; padding-top: 64px; }
@media (min-width: 820px) { .topo { grid-template-columns: 1fr 1fr; align-items: center; } }
.botao {
  display: inline-block; padding: 14px 24px; border: 0; border-radius: var(--raio);
  background: var(--destaque); color: var(--destaque-texto); font: inherit; font-weight: 600;
  text-decoration: none; cursor: pointer;
}
.print {
  aspect-ratio: 16 / 10; overflow: hidden; width: 100%; border: 1px solid var(--borda); border-radius: var(--raio);
  background: var(--cartao); display: grid; place-items: center; color: var(--suave);
}
.print img { width: 100%; height: 100%; object-fit: cover; object-position: top left; border-radius: var(--raio); }
.grade { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.cartao { background: var(--cartao); border: 1px solid var(--borda); border-radius: var(--raio); padding: 20px; }
.cartao h3 { margin: 0 0 8px; font-size: 1.1rem; }
.preco { font-size: 1.8rem; font-weight: 700; }
.preco s { font-size: 1rem; color: var(--suave); font-weight: 400; margin-right: 8px; }
details { background: var(--cartao); border: 1px solid var(--borda); border-radius: var(--raio); padding: 14px 18px; margin-bottom: 10px; }
summary { cursor: pointer; font-weight: 600; }
form { display: grid; gap: 14px; max-width: 520px; }
label { display: grid; gap: 6px; font-weight: 600; }
input[type="text"], input[type="email"], textarea {
  font: inherit; padding: 12px; border: 1px solid var(--borda); border-radius: 8px;
  background: var(--cartao); color: var(--texto);
}
.consentimento { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; }
.consentimento input { margin-top: 6px; }
.armadilha { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
#mensagem-lista { min-height: 1.6em; font-weight: 600; }
.aviso { color: var(--alerta); }
footer { padding: 32px 16px 48px; font-size: 0.9rem; color: var(--suave); }
footer a { color: inherit; }
