/* ===== Zappts Theme Variables ===== */
/* Separated from Tailwind build because Tailwind v4 drops these. */

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url('../fonts/inter-variable-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --zappts-dark-blue: #1f2041;
  --zappts-medium-blue: #0095da;
  --zappts-light-blue: #8ed8f8;
  --zappts-pale-blue: #e5f4fa;
  --zappts-accent: #f39200;
  --zappts-neutral: #f7f7f7;
  --zappts-teal: #00d0da;
  --background: #1f2041;
  --foreground: #ffffff;
  --card: #1a1b36;
  --card-foreground: #ffffff;
  --muted-foreground: #9ca3af;
  --border: rgba(255, 255, 255, 0.1);
  --input: rgba(255, 255, 255, 0.1);
  --ring: #0095da;
}

.light {
  --background: #f7f7f7;
  --foreground: #1f2041;
  --card: #e5f4fa;
  --card-foreground: #1f2041;
  --muted-foreground: #6b7280;
  --border: rgba(31, 32, 65, 0.1);
  --input: rgba(31, 32, 65, 0.1);
  --ring: #0095da;
}

* {
  border-color: var(--border);
}

body {
  background: var(--background);
  color: var(--foreground);
}

/* Prevent horizontal overflow (not in Tailwind build) */
html { overflow-x: hidden; overflow-y: scroll; }

/* Navigation */
.nav-link {
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.7);
  transition: color 0.2s;
  padding: 0.5rem 0;
}
.nav-link:hover { color: white; }
.light .nav-link { color: rgba(31, 32, 65, 0.7); }
.light .nav-link:hover { color: #1f2041; }

/* Scroll-triggered fade-in-up (used by js/app.js IntersectionObserver) */
.fade-in-up {
  opacity: 0;
  transform: translateY(30px) scale(0.95);
  filter: blur(4px);
  transition: opacity 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              filter 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.fade-in-up.visible {
  opacity: 1;
  transform: translateY(0) scale(1);
  filter: blur(0);
}
.stagger-children > .fade-in-up {
  transition-delay: calc(var(--i, 0) * 0.1s);
}

/* Hide scrollbar for carousel */
.scrollbar-hide {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.scrollbar-hide::-webkit-scrollbar {
  display: none;
}

/* Float animations for featured case bubbles */
@keyframes float-big {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-20px); }
}
@keyframes float-small {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-12px); }
}
