/* ============================================================
   Reset e comportamentos globais
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

html{
  scroll-behavior:smooth;
  -webkit-text-size-adjust:100%;
  background:var(--papel);
}

body{
  background:var(--papel);
  color:var(--tinta);
  font-family:var(--sans);
  font-size:clamp(16px,1.02vw,17px);
  font-weight:400;
  line-height:1.7;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
body.travado{overflow:hidden}

/* conteúdo sempre acima da camada de brilhos */
header,main,footer{position:relative;z-index:1}

img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
svg{display:block}

::selection{background:var(--sol);color:var(--tinta)}

:focus-visible{
  outline:3px solid var(--uva);
  outline-offset:3px;
  border-radius:6px;
}

/* --- scrollbar --- */
::-webkit-scrollbar{width:10px}
::-webkit-scrollbar-track{background:var(--papel)}
::-webkit-scrollbar-thumb{
  background:var(--grad-quente);
  border-radius:var(--pilula);
  border:2px solid var(--papel);
}

/* --- respeita quem pediu menos movimento --- */
@media (prefers-reduced-motion:reduce){
  *{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
  html{scroll-behavior:auto}
}
