/* Base compartida: colores, tipografía, encabezado, botones y campos de formulario */
:root{
  --showroom:#EEF0F2;
  --panel:#FFFFFF;
  --tinta:#101214;
  --acero:#5B636B;
  --linea:#D9DDE1;
  --carbon:#14171A;
  --celeste:#0FA9E0;        /* celeste de marca: fondos y detalles */
  --celeste-osc:#0A7CA8;    /* celeste para texto sobre blanco (contraste AA) */
  --celeste-suave:#E4F5FC;
  --rojo:#B3261E;
  --verde:#1F7A4D;
  --fuente-titulo:'Big Shoulders Display','Arial Narrow',Impact,sans-serif;
  --fuente:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--showroom);color:var(--tinta);font-family:var(--fuente);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}
img{max-width:100%}
a{color:var(--celeste-osc)}
:focus-visible{outline:3px solid var(--celeste);outline-offset:2px}
[hidden]{display:none!important}

header.sitio{background:var(--carbon);display:flex;align-items:center;justify-content:space-between;gap:12px 24px;padding:14px 24px;flex-wrap:wrap}
header.sitio .logo{display:inline-flex}
header.sitio .logo img{display:block;height:30px;width:auto}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:700 13px var(--fuente);text-transform:uppercase;letter-spacing:.03em;padding:12px 20px;min-height:44px;border:1.5px solid var(--tinta);background:transparent;color:var(--tinta);cursor:pointer;text-decoration:none;border-radius:2px}
.btn:hover{background:var(--tinta);color:#fff}
.btn.primario{background:var(--celeste);border-color:var(--celeste);color:#04202B}
.btn.primario:hover{background:#2DBAEE;border-color:#2DBAEE;color:#04202B}
.btn.peligro{border-color:var(--rojo);color:var(--rojo)}
.btn.peligro:hover{background:var(--rojo);color:#fff}
.btn.chico{padding:6px 12px;min-height:34px;font-size:12px}
.btn[disabled]{opacity:.5;cursor:not-allowed}

.campo{display:block;margin:0 0 14px}
.campo>label,.campo>.etiqueta{display:block;font-size:12.5px;font-weight:600;color:var(--acero);margin:0 0 5px}
.campo input[type=text],.campo input[type=password],.campo input[type=tel],.campo input[type=number],.campo select,.campo textarea{
  width:100%;padding:11px 12px;border:1px solid #B9C0C6;background:#fff;color:var(--tinta);font:400 15px var(--fuente);min-height:44px;border-radius:2px}
.campo textarea{resize:vertical;min-height:84px}
.campo .ayuda{font-size:12px;color:var(--acero);margin:5px 0 0}
.campo .error{font-size:12.5px;color:var(--rojo);margin:5px 0 0;font-weight:600}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
