/* Identidade Monteiro's: cores do manual de marca e Gotham Rounded (servida pela própria loja, sem internet). */
@font-face {
  font-family: 'Gotham Rounded';
  src: url('/comum/fontes/gotham-rounded-book.otf') format('opentype');
  font-weight: 400;
  font-display: block;
}
@font-face {
  font-family: 'Gotham Rounded';
  src: url('/comum/fontes/gotham-rounded-bold.otf') format('opentype');
  font-weight: 700;
  font-display: block;
}

:root {
  --vermelho: #F02230;
  --vermelho-escuro: #C8141F;
  --bege: #F5E8D5;
  --bege-fundo: #EADBC4;
  --chumbo: #201E1B;
  --chumbo-suave: #6B6259;
  --branco: #FFFFFF;
  --foco: #201E1B;
  --raio: 18px;
  font-family: 'Gotham Rounded', 'Arial Rounded MT Bold', system-ui, sans-serif;
  color: var(--chumbo);
  -webkit-tap-highlight-color: transparent;
}

*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; }
body { background: var(--bege); font-size: 18px; line-height: 1.35; }
button, input, select { font: inherit; color: inherit; }
button { cursor: pointer; touch-action: manipulation; }
button:disabled { cursor: not-allowed; opacity: .45; }
:focus-visible { outline: 3px solid var(--foco); outline-offset: 3px; }
[hidden] { display: none !important; }

.botao {
  border: 0;
  border-radius: 999px;
  padding: 14px 24px;
  font-weight: 700;
  background: var(--vermelho);
  color: var(--bege);
  min-height: 52px;
}
.botao:active:not(:disabled) { background: var(--vermelho-escuro); }
.botao-chumbo { background: var(--chumbo); color: var(--bege); }
.botao-chumbo:active:not(:disabled) { background: #000; }
.botao-claro { background: var(--branco); color: var(--chumbo); box-shadow: inset 0 0 0 2px var(--chumbo); }
.botao-claro:active:not(:disabled) { background: var(--bege-fundo); }
.botao-texto { background: none; border: 0; color: var(--chumbo); text-decoration: underline; padding: 8px; font-weight: 700; }

.campo {
  width: 100%;
  border: 2px solid var(--chumbo);
  border-radius: 14px;
  padding: 14px 16px;
  font-size: 1.6rem;
  font-weight: 700;
  background: var(--branco);
  min-height: 64px;
}
.campo::placeholder { color: #A89B8C; font-weight: 400; }

.erro { color: var(--vermelho-escuro); font-weight: 700; min-height: 1.4em; margin: 8px 0 0; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 1ms !important; transition-duration: 1ms !important; }
}
