/* Cada Peso · sistema de diseño Itera */
:root {
  --fondo: #ECECEC;
  --fondo-oscuro: #161616;
  --acento: #FF6039;
  --texto: #161616;
  --texto-2: #555555;
  --texto-3: #AAAAAA;
  --blanco: #FFFFFF;
  --tarjeta: #F6F6F6;
  --borde: rgba(22, 22, 22, 0.10);
  --verde: #1F8A4C;
  --verde-fondo: #DDF2E5;
  --amarillo: #B7791F;
  --amarillo-fondo: #FBEFD5;
  --rojo: #C0392B;
  --rojo-fondo: #F9DEDB;
  --gris-fondo: #E2E2E2;
  --radio: 18px;
  --titulo: "Cal Sans", "Figtree", system-ui, sans-serif;
  --cuerpo: "Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--fondo);
  color: var(--texto);
  font-family: var(--cuerpo);
  font-size: 17px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3 { font-family: var(--titulo); font-weight: 400; line-height: 1.1; margin: 0 0 0.4em; letter-spacing: -0.01em; }
h1 { font-size: clamp(34px, 6vw, 56px); }
h2 { font-size: clamp(28px, 4.5vw, 40px); }
h3 { font-size: clamp(21px, 3vw, 26px); }
p { margin: 0 0 1em; }
a { color: inherit; }
.acento { color: var(--acento); }
.silencio { color: var(--texto-2); }
.contenedor { width: min(100% - 32px, 1040px); margin-inline: auto; }
.estrecho { width: min(100% - 32px, 560px); margin-inline: auto; }

.boton {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 52px; padding: 12px 22px;
  border-radius: 999px; border: 0;
  background: var(--acento); color: var(--blanco);
  font: 600 17px/1 var(--cuerpo); text-decoration: none; cursor: pointer;
  transition: transform .08s ease, filter .15s ease;
}
.boton:hover { filter: brightness(1.06); }
.boton:active { transform: scale(.985); }
.boton:disabled { opacity: .55; cursor: wait; }
.boton.secundario { background: var(--fondo-oscuro); }
.boton.fantasma { background: transparent; color: var(--texto); border: 1.5px solid var(--texto); }
.boton.bloque { width: 100%; }

.tarjeta { background: var(--blanco); border-radius: var(--radio); padding: 22px; border: 1px solid var(--borde); }

label { display: block; font-weight: 600; margin-bottom: 6px; }
.ayuda { font-size: 15px; color: var(--texto-2); margin-top: 6px; }
input[type="text"], input[type="tel"], input[type="number"], input[type="date"], select, textarea {
  width: 100%; min-height: 54px; padding: 12px 16px;
  border: 1.5px solid rgba(22,22,22,.18); border-radius: 14px;
  background: var(--blanco); color: var(--texto);
  font: 500 19px/1.3 var(--cuerpo);
}
input.pesos { font-family: var(--titulo); font-size: 28px; letter-spacing: .01em; }
input:focus, select:focus, textarea:focus { outline: 3px solid rgba(255,96,57,.35); border-color: var(--acento); }
textarea { min-height: 84px; resize: vertical; }
.campo { margin-bottom: 18px; }
.fila { display: flex; gap: 12px; flex-wrap: wrap; }
.fila > * { flex: 1 1 200px; }

.pie { color: var(--texto-3); font-size: 13px; text-align: center; padding: 28px 16px 40px; }
.pie img { height: 18px; vertical-align: middle; opacity: .7; }
.oculto { display: none !important; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }
