/* ===== Base ===== */
body {
  font-family: 'Inter', sans-serif;
  background-color: #0a0a0a;
  color: #f3f4f6;
}
h1, h2, h3, h4, h5, h6 { font-family: 'Poppins', sans-serif; }

.gradient-text {
  background: linear-gradient(90deg, #F97316, #EA580C);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.cta-button-primary {
  background-color: #F97316;
  color: #ffffff;
  transition: background-color 0.3s ease, transform 0.2s ease;
}
.cta-button-primary:hover {
  background-color: #EA580C;
  transform: translateY(-2px);
}
.cta-button-secondary {
  background-color: transparent;
  border: 1px solid #F97316;
  color: #F97316;
  transition: background-color 0.3s, color 0.3s, transform 0.2s ease;
}
.cta-button-secondary:hover {
  background-color: #F97316;
  color: #ffffff;
  transform: translateY(-2px);
}

.card-bg {
  background-color: rgba(31, 41, 55, 0.7); /* #1f2937 70% */
  border: 1px solid #374151;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  transition: transform .3s ease, box-shadow .3s ease;
}
.card-bg:hover { box-shadow: 0 20px 50px rgba(255, 107, 0, 0.20); transform: translateY(-6px); }

/* ===== Animações ===== */
.animate-on-scroll { opacity: 0; transition: opacity .8s ease-out, transform .8s ease-out; }
.is-visible { opacity: 1; transform: none; }
.is-visible { 
  opacity: 1 !important; 
  transform: none !important; 
}
@media (prefers-reduced-motion: reduce) {
  .animate-on-scroll { 
    opacity: 1 !important; 
    transform: none !important; 
  }
}


.fade-in-up { transform: translateY(30px); }

/* ===== Parallax ===== */
.parallax-section {
  position: relative;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
}
.parallax-section::before {
  content: '';
  position: absolute; inset: 0;
  background-color: rgba(10, 10, 10, 0.85);
  z-index: 1;
}
.parallax-content { position: relative; z-index: 2; }

/* iOS fallback */
@supports (-webkit-touch-callout: none) {
  .parallax-section { background-attachment: scroll; }
}

/* Modal */
.gemini-modal {
  background-color: rgba(10, 10, 10, 0.5);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* Spinner */
@keyframes spin { to { transform: rotate(360deg); } }
.spinner {
  border: 4px solid rgba(255, 255, 255, 0.2);
  border-left-color: #F97316;
  animation: spin 1s linear infinite;
}

/* Logo glow */
.logo-glow { filter: drop-shadow(0 0 20px rgba(249, 115, 22, 0.4)); }

/* Hero image (versão atual com superdimensionamento/máscara) */
.hero-image-wrapper { display: flex; justify-content: center; align-items: center; }
.hero-image {
  width: 150%;
  max-width: none;
  transform: translateX(-22%);
  mask-image: linear-gradient(to right, transparent 8%, white 30%, white 70%, transparent 95%);
  -webkit-mask-image: linear-gradient(to right, transparent 5%, white 30%, white 70%, transparent 95%);
  filter: drop-shadow(0 0 25px rgba(249, 115, 22, 0.4));
}

/* Fallback para line-clamp */
.line-clamp-4 {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ===== Acessibilidade: foco visível nos botões/links ===== */
a:focus-visible, button:focus-visible {
  outline: 2px solid #F97316;
  outline-offset: 2px;
  border-radius: 8px;
}

/* ===== Tipografia básica p/ .prose (sem plugin Typography) ===== */
.prose { line-height: 1.7; }
.prose p { margin: 0.75rem 0; }
.prose ol, .prose ul { padding-left: 1.25rem; margin: 0.5rem 0; }
.prose li { margin: 0.25rem 0; }

/* ===== Pequenos refinamentos visuais ===== */
.card-bg img { display: block; }                /* evita gap por inline-img */
img { image-rendering: auto; }                  /* render mais suave */
.cta-button-primary:disabled,
.cta-button-secondary:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

/* Respeita pessoas com redução de movimento */
@media (prefers-reduced-motion: reduce) {
  .animate-on-scroll, .fade-in-up, .card-bg:hover {
    transition: none !important;
    transform: none !important;
  }
}

/* Evita scroll horizontal por transform do hero em alguns browsers */
.hero-tight { overflow-x: clip; }
