:root {
  --texto: #1d2329;
  --suave: #5b6670;
  --linha: #e3e7ea;
  --fundo: #ffffff;
  --botao: #1f7a4d;
  --botao-escuro: #17603c;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font: 17px/1.6 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  color: var(--texto);
  background: var(--fundo);
}
main, footer { max-width: 680px; margin: 0 auto; padding: 0 20px; }
header.topo { border-bottom: 1px solid var(--linha); padding: 14px 20px; font-size: 14px; color: var(--suave); text-align: center; }
h1 { font-size: 1.7rem; line-height: 1.25; margin: 28px 0 12px; }
h2 { font-size: 1.25rem; margin: 32px 0 8px; }
p { margin: 0 0 14px; }
img.produto { display: block; max-width: 100%; height: auto; margin: 20px auto; }
.comprar {
  display: block;
  text-align: center;
  background: var(--botao);
  color: #fff;
  font-weight: 700;
  font-size: 1.1rem;
  text-decoration: none;
  padding: 16px 20px;
  border-radius: 8px;
  margin: 24px 0;
}
.comprar:hover, .comprar:focus-visible { background: var(--botao-escuro); }
.comprar:focus-visible { outline: 3px solid #f2b705; outline-offset: 2px; }
.nota { font-size: 14px; color: var(--suave); }
footer { border-top: 1px solid var(--linha); margin-top: 40px; padding-top: 20px; padding-bottom: 40px; font-size: 14px; color: var(--suave); }
footer a { color: var(--suave); margin-right: 14px; }
