/* ============================================================
   StockFlow Landing Page — Custom Styles
   Design System: Dark Navy / Blue / Cyan — derived from logo
   ============================================================ */

/* ---------- Scroll-Reveal Animation ---------- */
.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}
.reveal.active {
  opacity: 1;
  transform: translateY(0);
}

/* ---------- Floating Animation (Hero Phone) ---------- */
@keyframes float {
  0%, 100% { transform: translateY(0px) rotate(-1deg); }
  50% { transform: translateY(-20px) rotate(1deg); }
}
.animate-float {
  animation: float 6s ease-in-out infinite;
}

/* ---------- Gradient Background Animation (CTA) ---------- */
@keyframes gradientMove {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
.animate-gradient {
  background-size: 200% 200%;
  animation: gradientMove 8s ease infinite;
}

/* ---------- Claymorphism Component System ---------- */
.clay {
  background: var(--clay-surface, #16233A);
  border-radius: 28px;
  box-shadow:
    8px 8px 16px var(--clay-surface-dark, #0B1220),
    -8px -8px 16px var(--clay-surface-light, #1F2F4A);
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}
.clay:hover {
  transform: translateY(-2px);
  box-shadow:
    10px 10px 20px var(--clay-surface-dark, #0B1220),
    -10px -10px 20px var(--clay-surface-light, #1F2F4A);
}
.clay-pressed {
  box-shadow:
    inset 6px 6px 12px var(--clay-surface-dark, #0B1220),
    inset -6px -6px 12px var(--clay-surface-light, #1F2F4A);
}
.clay-icon {
  border-radius: 20px;
  background: var(--clay-surface, #16233A);
  box-shadow:
    5px 5px 10px var(--clay-surface-dark, #0B1220),
    -5px -5px 10px var(--clay-surface-light, #1F2F4A);
}

/* ---------- Phone Frame (Dark Clay) ---------- */
.phone-frame {
  border: 3px solid #06D6A0;
  border-radius: 48px;
  box-shadow:
    10px 10px 20px #0B1220,
    -10px -10px 20px #1F2F4A;
  overflow: hidden;
  background: #16233A;
  position: relative;
  cursor: pointer;
}

/* ---------- Screenshot Card 3D Tilt ---------- */
.screenshot-card {
  transition: transform 0.6s cubic-bezier(0.23, 1, 0.32, 1);
  transform-style: preserve-3d;
}
.screenshot-card:hover {
  /* Reduced tilt for a heavier physical feel */
  transform: perspective(1000px) rotateX(5deg) rotateY(-5deg) scale(1.01);
}

/* ---------- Hide Scrollbar (Carousel) ---------- */
.no-scrollbar::-webkit-scrollbar {
  display: none;
}
.no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* ---------- Focus Visible for Accessibility ---------- */
:focus-visible {
  outline: 2px solid #06D6A0;
  outline-offset: 2px;
  border-radius: 4px;
}

/* ---------- Mobile Menu Animation ---------- */
#mobile-menu.open {
  transform: translateX(0);
}
#menu-overlay.open {
  opacity: 1;
  pointer-events: auto;
}

/* ---------- Smooth Scroll ---------- */
html {
  scroll-behavior: smooth;
}

@media screen and (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  .reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  .animate-float {
    animation: none !important;
  }
  .animate-gradient {
    animation: none !important;
  }
  .animate-ping {
    animation: none !important;
  }
  .screenshot-card {
    transition: none !important;
  }
  .screenshot-card:hover {
    transform: none !important;
  }
  #timeline-path {
    transition: none !important;
  }
  #mobile-menu,
  #menu-overlay {
    transition: none !important;
  }
}



/* ---------- Selection Styling ---------- */
::selection {
  background-color: #2563EB;
  color: #ffffff;
}

/* ---------- Details/Summary FAQ Chevron Fix ---------- */
details summary::-webkit-details-marker {
  display: none;
}
details summary {
  list-style: none;
}

/* ---------- Responsive Typography Tweaks ---------- */
@media (max-width: 374px) {
  .text-display-lg-mobile {
    font-size: 32px !important;
  }
}

@media (min-width: 1440px) {
  .text-display-lg {
    font-size: 72px !important;
  }
}
/* ---------- 3D Hero Carousel ---------- */
.carousel-item {
  transform-style: preserve-3d;
}
.carousel-item.active {
  transform: translateX(-50%) translateZ(0) scale(1);
  opacity: 1;
  z-index: 10;
  cursor: default;
}
.carousel-item.next {
  transform: translateX(calc(-50% + 140px)) translateZ(-100px) scale(0.8) rotateY(-15deg);
  opacity: 0.6;
  z-index: 5;
  cursor: pointer;
}
.carousel-item.prev {
  transform: translateX(calc(-50% - 140px)) translateZ(-100px) scale(0.8) rotateY(15deg);
  opacity: 0.6;
  z-index: 5;
  cursor: pointer;
}
.carousel-item.hidden {
  transform: translateX(-50%) translateZ(-300px) scale(0.6);
  opacity: 0;
  z-index: 1;
  pointer-events: none;
}
@media (max-width: 768px) {
  .carousel-item.next {
    transform: translateX(calc(-50% + 80px)) translateZ(-100px) scale(0.8) rotateY(-15deg);
  }
  .carousel-item.prev {
    transform: translateX(calc(-50% - 80px)) translateZ(-100px) scale(0.8) rotateY(15deg);
  }
}
