@import "./fonts.css";
@import "./tokens.css";

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

html, body {
  margin: 0;
  padding: 0;
  background: var(--paper);
  color: var(--tinta);
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img, picture, video, svg {
  display: block;
  max-width: 100%;
}

button {
  font: inherit;
  cursor: pointer;
}

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

/*
  Layout responsivo: mobile-first nativo. Em viewports >=768px, o conteúdo
  fica num "preview boutique" centralizado (max-width 440px) com fundo
  neutro nos lados. Mantém a identidade do handoff iOS frame.
*/
.page-shell {
  width: 100%;
  background: var(--paper);
  min-height: 100vh;
}

/*
  Layout "preview boutique" (max-width 440px centralizado) só ativa em
  desktops realmente grandes (>=1024px). Celulares em modo "desktop site"
  ou tablets em portrait continuam recebendo o mobile-first nativo, que
  é o comportamento esperado pra esse design.
*/
@media (min-width: 1024px) {
  body {
    background: #f0ebe0;
  }
  .page-shell {
    max-width: 440px;
    margin: 0 auto;
    box-shadow: 0 0 60px rgba(0, 0, 0, 0.06);
  }
}

/*
  Acessibilidade: respeita prefers-reduced-motion. Hero rotativo do site,
  bottom sheet, e qualquer outra animação param de auto-rodar.
*/
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Esconde scrollbar nos carrosseis horizontais sem perder funcionalidade */
.scroll-hide {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.scroll-hide::-webkit-scrollbar {
  display: none;
}
