/* ==========================================================================
   Ortiz · base: fuentes, variables (05-sistema-visual.md), reset y utilidades
   ========================================================================== */

/* Fuentes autoalojadas (mismos subconjuntos que usa el diseño) */
@font-face{font-family:'Roboto Flex';font-style:normal;font-weight:100 1000;font-stretch:25% 151%;font-display:swap;src:url(../fonts/roboto-flex-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Roboto Flex';font-style:normal;font-weight:100 1000;font-stretch:25% 151%;font-display:swap;src:url(../fonts/roboto-flex-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/inter-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/inter-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --azul:#0059A8;        /* marca, precios, acciones */
  --azul-hover:#0F4C81;
  --noche:#0B2545;       /* header al bajar, footer, bloque oscuro */
  --noche-2:#061222;
  --tinta:#0B1B2E;       /* texto principal */
  --gris:#4A5A6E;        /* texto secundario */
  --gris-2:#3E4C5E;
  --linea:#DCE3EC;
  --linea-2:#E2E7EE;
  --linea-3:#EEF1F5;
  --niebla:#F5F7FA;      /* franjas grises */
  --azul-suave:#E8F0F9;  /* fondos de íconos, filas activas */
  --azul-hover-suave:#F1F6FC;
  --whatsapp:#25D366;
  --whatsapp-hover:#1EBE5A;
  --whatsapp-tinta:#062A17;
  --rojo:#E30613;        /* solo del logo */
  /* Tonos sobre azul noche */
  --sobre-noche:#C9D6E6;
  --sobre-noche-2:#DCE8F5;
  --sobre-noche-3:#9DB4CC;
  /* Radios */
  --r-pill:999px; --r-tarjeta:30px; --r-panel:24px; --r-campo:18px; --r-fila:14px;
  /* Movimiento */
  --curva:cubic-bezier(.2,.7,.2,1);
  /* Tipografía */
  --f-titulo:'Roboto Flex',system-ui,sans-serif;
  --f-texto:Inter,system-ui,sans-serif;
  /* Header */
  --cabecera-h:76px;
  /* Carril de contenido */
  --carril:1400px;
  --margen:28px;
}

/* Reset (igual al <helmet> del diseño) */
html,body{overflow-x:clip}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:#fff;color:var(--tinta);font-family:var(--f-texto);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:var(--azul)}
a:hover{color:var(--azul-hover)}
img,svg,video{max-width:100%}
img{height:auto}
select{appearance:none;-webkit-appearance:none}
button,input,select,textarea{font:inherit;color:inherit}
/* Sin text-wrap global: los diseños aprobados cortan las líneas de forma normal
   (solo un titular de Inicio usa balance; se aplica allí). */
[hidden]{display:none!important}

/* Foco visible (WCAG AA): azul sobre claro, blanco sobre oscuro */
:focus-visible{outline:3px solid var(--azul);outline-offset:3px}
.sobre-oscuro :focus-visible,.cabecera :focus-visible:not(.mega *),.pie :focus-visible{outline-color:#fff}

/* Peso de palabras en titulares (800 la idea, 300 el lugar) */
.fw-800{font-weight:800}
.fw-300{font-weight:300}

/* Accesibilidad */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.saltar{position:fixed;top:-100px;left:16px;z-index:100;padding:12px 18px;border-radius:var(--r-pill);background:#fff;color:var(--azul);font-weight:700;text-decoration:none;box-shadow:0 10px 30px rgba(6,18,34,.25)}
.saltar:focus{top:12px}

/* Carril de contenido */
.carril{max-width:var(--carril);margin:0 auto;padding-left:var(--margen);padding-right:var(--margen)}

/* Bloqueo de scroll cuando hay un panel abierto */
html.sin-scroll{overflow:hidden}

/* Sin animaciones con «reducir movimiento» */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
