/* Estilos Adicionais & Otimizações para Leitura (+50 anos) */

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

html, body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
  width: 100%;
  position: relative;
}

img, svg, video, canvas, audio, iframe, embed, object {
  max-width: 100%;
}

html {
  scroll-behavior: smooth;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

/* Tipografia aumentada e de alto contraste pensada para 50+ */
body {
  font-feature-settings: "cv02", "cv03", "cv04", "cv11";
}

/* Acordeão Interativo do FAQ */
.faq-toggle:hover {
  background-color: #f5f5f4;
}

.faq-toggle.active .faq-icon {
  transform: rotate(45deg);
}

/* Transições suaves para sticky bar e social toast */
#sticky-bar,
#social-proof-toast {
  will-change: transform;
}

/* Efeito de destaque no botão principal */
#btn-checkout {
  position: relative;
  overflow: hidden;
}

#btn-checkout::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(
    60deg,
    transparent 20%,
    rgba(255, 255, 255, 0.25) 50%,
    transparent 80%
  );
  transform: rotate(30deg);
  animation: shine 4s infinite;
}

@keyframes shine {
  0% {
    transform: translateX(-100%) rotate(30deg);
  }
  20%, 100% {
    transform: translateX(100%) rotate(30deg);
  }
}
