/* ========================================
   ZOV Agency — Custom Styles
   ======================================== */

html {
  scroll-behavior: smooth;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

::selection {
  background-color: rgba(230, 57, 70, 0.15);
  color: #0A0A0A;
}

#header {
  background-color: transparent;
}

#header.scrolled {
  background-color: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.faq-trigger {
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.faq-trigger:hover {
  background-color: rgba(245, 245, 240, 0.5);
}

.faq-item.open .faq-icon {
  transform: rotate(45deg);
}

.faq-content {
  animation: faqSlideDown 0.25s ease forwards;
}

@keyframes faqSlideDown {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}

input:focus,
textarea:focus {
  box-shadow: 0 0 0 3px rgba(10, 10, 10, 0.05);
}

a,
button {
  transition: all 0.2s ease;
}

#mobile-menu {
  animation: menuSlideDown 0.2s ease forwards;
}

@keyframes menuSlideDown {
  from { opacity: 0; transform: translateY(-8px); }
  to { opacity: 1; transform: translateY(0); }
}

#lead-modal > div:last-child > div {
  animation: modalFadeIn 0.25s ease forwards;
}

@keyframes modalFadeIn {
  from { opacity: 0; transform: scale(0.96); }
  to { opacity: 1; transform: scale(1); }
}

/* Reveal: never hide content (previous bug left blocks invisible) */
.reveal,
.reveal.visible {
  opacity: 1 !important;
  transform: none !important;
}

#cookie-banner {
  animation: cookieSlideUp 0.3s ease forwards;
}

@keyframes cookieSlideUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

img {
  content-visibility: auto;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  html { scroll-behavior: auto; }
}

@media print {
  header,
  #cookie-banner,
  #lead-modal,
  .lead-magnet-btn {
    display: none !important;
  }
  section { page-break-inside: avoid; }
}
