/* 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);
}

/* Barra de avisos permanentemente visible en scroll */
#top-announcement-bar {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 9999 !important;
}

body {
  padding-top: 48px;
}

/* 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);
  }
}
