/* ==========================================================================
   base.css — Reset, tokens de marca y base tipográfica
   Identidad NAPS (del mockup): blanco limpio, azul corporativo, sin
   glassmorphism, sin glows, sin decoración. Claridad técnica.
   NOTA: los hex de azul son provisionales — ajustar a los exactos del
   archivo fuente de Paul cuando lleguen.
   ========================================================================== */

:root {
  /* Paleta — PROVISIONAL, confirmar con assets de Paul */
  --color-navy:        #14315c;   /* azul títulos (aprox. del mockup) */
  --color-navy-dark:   #0d2342;   /* footer / fondos oscuros */
  --color-blue:        #1f5fbf;   /* azul de acento / botones */
  --color-blue-grad-1: #2f6fd6;
  --color-blue-grad-2: #0f3b86;

  --color-white:       #ffffff;
  --color-bg:          #ffffff;
  --color-text:        #1c2733;   /* gris muy oscuro para cuerpo */
  --color-text-soft:   #4a5765;
  --color-border:      #e2e6ea;

  /* Tipografía — placeholder; confirmar la fuente exacta del mockup */
  --font-display: Arial, "Helvetica Neue", Helvetica, sans-serif;
  --font-body:    Arial, "Helvetica Neue", Helvetica, sans-serif;

  /* Espaciado / layout */
  --container-max: 1200px;
  --gutter: 1rem;

  /* Breakpoints (referencia; CSS los usa como min-width) */
  /* 768px = tablet, 1024px = desktop */
}

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

[v-cloak] {
  display: none;
}

html {
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--font-body);
  color: var(--color-text);
  background: var(--color-bg);
  line-height: 1.6;
}

h1, h2, h3, h4 {
  font-family: var(--font-display);
  color: var(--color-navy);
  line-height: 1.2;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Contenedor base (móvil) */
.container {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--gutter);

  @media (min-width: 768px) {
    padding-inline: 2rem;
  }

  @media (min-width: 1024px) {
    padding-inline: 2.5rem;
  }
}

/* Wrapper de página: separa header fijo del contenido si hace falta */
.main {
  display: block;
}
