/* ==========================================================================
   base.css — Reset ligero + tipografía + scrollbar + accesibilidad
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box;}
html{
  scroll-behavior:smooth;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--gray-800);
  background-color:var(--color-white);
  line-height:1.5;
}
h1,h2,h3,h4,h5,h6{ font-family:var(--font-heading); margin:0; }
p{ margin:0; }
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
ul, ol{ list-style:none; margin:0; padding:0; }
button{ font-family:inherit; cursor:pointer; }
input,select,textarea{ font-family:inherit; }

/* Scrollbar corporativo */
::-webkit-scrollbar{ width:8px; }
::-webkit-scrollbar-track{ background:var(--color-bg); }
::-webkit-scrollbar-thumb{ background:var(--color-primary); border-radius:4px; }
::-webkit-scrollbar-thumb:hover{ background:var(--color-secondary); }

.no-scrollbar::-webkit-scrollbar{ display:none; }
.no-scrollbar{ -ms-overflow-style:none; scrollbar-width:none; }

/* Foco visible accesible (no se elimina, se estiliza) */
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible{
  outline:3px solid var(--color-accent);
  outline-offset:2px;
}
input:focus, select:focus, textarea:focus{
  box-shadow:0 0 0 3px rgba(51,115,196,.2);
  outline:none;
}

/* Sólo para lectores de pantalla */
.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
.skip-link{
  position:absolute; left:-9999px; top:0; z-index:100;
  background:var(--color-primary); color:#fff; padding:.75rem 1.25rem;
  border-radius:0 0 8px 0; font-weight:600;
}
.skip-link:focus{ left:0; }

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