/* ============================================================
   Base: cores, tipografia, botões e formulários
   Paleta tirada da logo: azul-tinta, azul-royal e prata.
   ============================================================ */
:root {
  --tinta: #0A2350;
  --tinta-2: #10306B;
  --tinta-3: #173E85;
  --royal: #1D5FD1;
  --royal-escuro: #164CA8;
  --traco: #8CC2FF;
  --prata: #C7D0DB;
  --prata-clara: #E4E9F0;
  --papel: #F4F6F9;
  --branco: #FFFFFF;
  --texto: #15213A;
  --texto-2: #4D5D78;
  --texto-3: #74839C;
  --linha: #DCE2EA;
  --whats: #168A4A;
  --whats-hover: #11733D;
  --perigo: #B42318;
  --sucesso: #0F7A45;
  --alerta: #A15C07;

  --fonte: "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;
  --larg-max: 1200px;
  --raio-p: 6px;
  --raio: 10px;
  --raio-g: 16px;
  --sombra: 0 1px 2px rgba(10, 35, 80, .06), 0 8px 24px -12px rgba(10, 35, 80, .18);
  --sombra-forte: 0 20px 50px -20px rgba(10, 35, 80, .45);
  --foco: 0 0 0 3px rgba(29, 95, 209, .35);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body {
  margin: 0;
  font-family: var(--fonte);
  font-variation-settings: "wdth" 100;
  font-size: 1rem;
  line-height: 1.6;
  color: var(--texto);
  background: var(--papel);
  -webkit-font-smoothing: antialiased;
}
img, svg { display: block; max-width: 100%; }
img { height: auto; }
a { color: var(--royal); }
button, input, select, textarea { font: inherit; color: inherit; }
:focus-visible { outline: none; box-shadow: var(--foco); border-radius: var(--raio-p); }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Títulos largos, como a marca */
.display, h1, h2 {
  font-variation-settings: "wdth" 118;
  font-weight: 800;
  letter-spacing: -.012em;
  line-height: 1.04;
  margin: 0;
}
h3 { font-weight: 700; font-variation-settings: "wdth" 106; line-height: 1.2; margin: 0; }
.ic { width: 1.15em; height: 1.15em; flex: none; }

.envelope { width: min(100% - 32px, var(--larg-max)); margin-inline: auto; }

/* ---------- Botões ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .55em;
  min-height: 46px; padding: .7em 1.2em;
  border: 1.5px solid transparent; border-radius: var(--raio);
  font-weight: 650; font-size: .98rem; line-height: 1.1; text-decoration: none;
  cursor: pointer; transition: background-color .15s, border-color .15s, color .15s;
  white-space: nowrap;
}
.btn-primario { background: var(--royal); color: #fff; }
.btn-primario:hover { background: var(--royal-escuro); }
.btn-whats { background: var(--whats); color: #fff; }
.btn-whats:hover { background: var(--whats-hover); }
.btn-contorno { background: transparent; border-color: var(--linha); color: var(--texto); }
.btn-contorno:hover { border-color: var(--texto-3); }
.btn-claro { background: rgba(255, 255, 255, .1); color: #fff; border-color: rgba(255, 255, 255, .28); }
.btn-claro:hover { background: rgba(255, 255, 255, .18); }
.btn-perigo { background: transparent; color: var(--perigo); border-color: #F1C9C5; }
.btn-perigo:hover { background: #FDF0EF; }
.btn-p { min-height: 38px; padding: .5em .9em; font-size: .9rem; }
.btn-bloco { width: 100%; }
.btn[disabled] { opacity: .55; cursor: progress; }

/* ---------- Formulários ---------- */
.campo { display: grid; gap: 6px; }
.campo > span, .rotulo { font-size: .86rem; font-weight: 600; color: var(--texto-2); }
.entrada, select.entrada, textarea.entrada {
  width: 100%; min-height: 44px; padding: .6em .8em;
  background: #fff; border: 1.5px solid var(--linha); border-radius: var(--raio-p);
  transition: border-color .15s;
}
textarea.entrada { min-height: 110px; resize: vertical; line-height: 1.5; }
.entrada:hover { border-color: var(--prata); }
.entrada:focus { outline: none; border-color: var(--royal); box-shadow: var(--foco); }
select.entrada {
  appearance: none; padding-right: 2.2em;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234D5D78' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right .7em center; background-size: 1em;
}
.dica { font-size: .82rem; color: var(--texto-3); margin: 0; }

/* Botões segmentados (Comprar/Alugar etc.) */
.segmento { display: inline-flex; padding: 4px; background: var(--prata-clara); border-radius: var(--raio); gap: 4px; }
.segmento button {
  border: 0; background: transparent; padding: .55em 1.1em; border-radius: 7px;
  font-weight: 650; color: var(--texto-2); cursor: pointer; min-height: 38px;
}
.segmento button[aria-pressed="true"] { background: #fff; color: var(--tinta); box-shadow: 0 1px 3px rgba(10, 35, 80, .15); }

/* ---------- Avisos ---------- */
#avisos { position: fixed; z-index: 1000; left: 50%; bottom: 24px; transform: translateX(-50%); display: grid; gap: 8px; width: min(92vw, 420px); }
.aviso { background: var(--tinta); color: #fff; padding: .85em 1.1em; border-radius: var(--raio); box-shadow: var(--sombra-forte); font-weight: 500; animation: entra .2s ease-out; }
.aviso.erro { background: var(--perigo); }
@keyframes entra { from { opacity: 0; transform: translateY(8px); } }


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