/* assets/css/styles.css */

/* @import "tailwindcss"; */

/* Fonte global */
body {
  font-family: 'Poppins', sans-serif;
}

/* Navbar sticky com sombra */
header {
  backdrop-filter: blur(6px);
}

/* Hero personalizado */
.hero-gradient {
  background: linear-gradient(90deg, #0056D2 0%, #00A6FF 100%);
}

/* Botões personalizados */
.btn-primary {
  @apply bg-blue-600 text-white px-6 py-3 rounded-full shadow hover:bg-blue-700 transition;
}

.btn-secondary {
  @apply bg-white text-blue-600 px-6 py-3 rounded-full shadow hover:bg-gray-100 transition;
}

/* Rodapé */
footer {
  font-size: 0.9rem;
}

.coupon {
  background-color: #fff;
  border: 3px dashed #ff5733;
  border-radius: 10px;
  width: 100%;
  padding: 10px;
  text-align: center;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  margin-bottom: 20px;
}
.coupon h1 {
  color: #ff5733;
  font-size: 22px;
  margin: 0;
}
.coupon .code {
  font-size: 26px;
  font-weight: bold;
  color: #333;
  margin: 5px 0;
  background-color: #ffe6e6;
  padding: 5px;
  border-radius: 5px;
}
.coupon p {
  font-size: 14px;
  color: #555;
  margin: 5px 0;
}
.coupon .validity {
  font-size: 14px;
  color: #888;
}

/* Imagens responsivas */
.img-responsive {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Todas as imagens são responsivas por padrão */
img {
  max-width: 100%;
  height: auto;
  display: block; /* Evita espaços extras abaixo das imagens */
}

/* Classe adicional para imagens responsivas críticas */
.responsive-img {
  max-width: 100%;
  height: auto;
  display: block;
  object-fit: cover; /* Mantém proporção e cobre o container */
}

/* Modal styles for image popup */
#imageModal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  z-index: 50;
  align-items: center;
  justify-content: center;
}

#modalImage {
  max-width: 90%;
  max-height: 90%;
  object-fit: contain;
  border-radius: 8px;
}

.close-btn {
  position: absolute;
  top: 20px;
  right: 20px;
  color: white;
  font-size: 2rem;
  cursor: pointer;
}

#modalPrevBtn {
  left: 20px;
}

#modalNextBtn {
  right: 20px;
}

/* Carousel styles */
.carousel-container {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.carousel {
  display: flex;
  transition: transform 0.5s ease-in-out;
}

.carousel-img {
  flex: 0 0 33.333%;
  padding: 0 8px;
  box-sizing: border-box;
}

.carousel-img img {
  width: 100%;
  height: auto;
  max-height: 150px;
  object-fit: cover;
  border-radius: 8px;
  cursor: pointer;
  display: block;
}

.carousel-nav {
  position: absolute;
  top: 50%;
  width: 100%;
  display: flex;
  justify-content: space-between;
  transform: translateY(-50%);
}

.carousel-nav-btn {
  background: rgba(0, 0, 0, 0.5);
  color: white;
  padding: 10px;
  border-radius: 50%;
  cursor: pointer;
  font-size: 1.5rem;
}

/* Logo filter for scroll */
.logo-white {
  filter: brightness(0) invert(1);
}



/* Responsividade para mobile */
@media (max-width: 767px) {
/* Hero */
.hero-section {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

/* Seção principal */
.main-section {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}

.main-section .grid {
  gap: 1.5rem !important;
}

/* CTA */
.cta-section {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}

.cta-section .bg-gradient-to-r {
  padding: 1.5rem !important;
}

/* Formulário */
.form-section input,
.form-section select,
.form-section textarea {
  padding: 0.75rem !important;
}

/* Lista de benefícios */
.benefits-list {
  gap: 0.75rem !important;
}

.benefits-list li {
  font-size: 0.9rem !important;
}

/* Padding lateral para melhor respiração em mobile */
.hero-section .max-w-6xl,
.main-section,
.cta-section {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

/* Botão do formulário */
.form-section button {
  width: 100% !important;
  padding: 0.75rem 1.5rem !important;
}

/* Ajuste para informações de contato */
.contact-info p {
  word-break: break-word !important;
  hyphens: auto !important;
}

.contact-info p:first-child {
  font-size: 0.95rem !important;
  line-height: 1.4 !important;
}

/* Ajustes específicos para modulo-asaas-boleto.html */
/* Seção Detalhes do Módulo - layout em coluna para mobile */
section.py-16 .flex.gap-8 {
  flex-direction: column !important;
  gap: 2rem !important;
}

section.py-16 .w-2\/3 {
  width: 100% !important;
}

section.py-16 .w-1\/3 {
  width: 100% !important;
}

/* Carousel - mostrar 1 imagem por vez em mobile */
.carousel-img {
  flex: 0 0 100% !important;
}

/* Imagem principal responsiva em mobile */
.img-responsive {
  max-width: 100% !important;
  height: auto !important;
}

/* Modal de imagem - ajustes para mobile */
#modalImage {
  max-width: 95% !important;
  max-height: 80% !important;
}

.close-btn {
  top: 10px !important;
  right: 10px !important;
  font-size: 1.5rem !important;
}

#modalPrevBtn,
#modalNextBtn {
  font-size: 1.2rem !important;
  padding: 8px !important;
}

/* Vídeo responsivo */
iframe {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
}

/* Botões de plano - ajustar para mobile */
.flex.mb-4 button {
  font-size: 0.9rem !important;
  padding: 0.5rem 1rem !important;
}

/* Preços - ajustar tamanho */
.text-3xl.font-bold {
  font-size: 1.5rem !important;
}

/* Lista de recursos - ajustar espaçamento */
.space-y-2 li {
  font-size: 0.85rem !important;
}

/* Botão "Comprar Agora" - largura total */
.inline-block.bg-blue-600 {
  width: 100% !important;
  text-align: center !important;
}

/* FAQ - ajustar padding */
details {
  padding: 1rem !important;
}

/* CTA final - ajustar padding */
.bg-gradient-to-r.p-8 {
  padding: 1.5rem !important;
}

/* Ajustes específicos para páginas de política (cookies, privacidade, reembolso) */
@media (max-width: 767px) {
  /* Seções de conteúdo - reduzir padding */
  .prose {
    font-size: 0.95rem !important;
    line-height: 1.6 !important;
  }

  .prose h3 {
    font-size: 1.25rem !important;
    margin-bottom: 1rem !important;
  }

  .prose p {
    margin-bottom: 1rem !important;
  }

  .prose ul {
    margin-bottom: 1.5rem !important;
  }

  .prose li {
    margin-bottom: 0.5rem !important;
    padding-left: 1.5rem !important;
  }

  /* Seção hero - ajustar padding */
  .bg-blue-600 .max-w-6xl {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }

  .bg-blue-600 h1 {
    font-size: 2rem !important;
    line-height: 1.2 !important;
  }

  .bg-blue-600 p {
    font-size: 1rem !important;
    margin-top: 1rem !important;
  }

  /* CTA section - ajustar padding e elementos */
  .bg-gradient-to-r.from-white {
    padding: 1.5rem !important;
  }

  .bg-gradient-to-r.from-white h3 {
    font-size: 1.125rem !important;
    margin-bottom: 0.5rem !important;
  }

  .bg-gradient-to-r.from-white p {
    font-size: 0.9rem !important;
    margin-bottom: 1rem !important;
  }

  .bg-gradient-to-r.from-white a {
    padding: 0.75rem 1.5rem !important;
    font-size: 0.9rem !important;
  }

  /* Footer - ajustar espaçamento */
  footer .max-w-6xl {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  footer h3 {
    font-size: 1rem !important;
  }

  footer ul li {
    font-size: 0.85rem !important;
  }

  /* Newsletter input e button */
  footer input {
    padding: 0.5rem !important;
    font-size: 0.85rem !important;
  }

  footer button {
    padding: 0.5rem 1rem !important;
    font-size: 0.85rem !important;
  }

  /* Estatísticas no footer */
  footer .grid.grid-cols-2 p:first-child {
    font-size: 1.5rem !important;
  }

  footer .grid.grid-cols-2 p:last-child {
    font-size: 0.8rem !important;
  }

  /* CTA no footer */
  footer .border.border-gray-700 {
    padding: 1rem !important;
  }

  footer .border.border-gray-700 h3 {
    font-size: 1rem !important;
  }

  footer .border.border-gray-700 p {
    font-size: 0.85rem !important;
    margin-bottom: 1rem !important;
  }

  footer .border.border-gray-700 a {
    padding: 0.5rem 1rem !important;
    font-size: 0.85rem !important;
  }

  /* Copyright */
  footer .flex.flex-col p {
    font-size: 0.8rem !important;
  }

  footer .flex.space-x-6 a {
    font-size: 0.8rem !important;
  }
}
}