/* ── Base ── */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  background-color: #07090f;
  color: #cbd5e1;
}

/* ── Navbar ── */
#navbar {
  background: transparent;
}
#navbar.scrolled {
  background: rgba(7, 9, 15, 0.85);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(255,255,255,0.06);
}

/* ── Hero grid background ── */
.hero-grid {
  background-image:
    linear-gradient(rgba(148, 163, 184, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(148, 163, 184, 0.05) 1px, transparent 1px);
  background-size: 60px 60px;
}

/* ── Gradient text ── */
.gradient-text {
  background: linear-gradient(135deg, #a78bfa 0%, #ec4899 60%, #f59e0b 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ── Buttons ── */
.btn-primary {
  background: linear-gradient(135deg, #7c3aed, #6d28d9);
  border: 1px solid rgba(139, 92, 246, 0.4);
}
.btn-primary:hover {
  background: linear-gradient(135deg, #8b5cf6, #7c3aed);
  transform: translateY(-1px);
  box-shadow: 0 8px 25px rgba(124, 58, 237, 0.4);
}

.btn-primary-pink {
  background: linear-gradient(135deg, #be185d, #9d174d);
  border: 1px solid rgba(236, 72, 153, 0.4);
}
.btn-primary-pink:hover {
  background: linear-gradient(135deg, #db2777, #be185d);
  transform: translateY(-1px);
  box-shadow: 0 8px 25px rgba(219, 39, 119, 0.35);
}

.btn-ghost {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.1);
  color: #94a3b8;
}
.btn-ghost:hover {
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.2);
  color: #e2e8f0;
  transform: translateY(-1px);
}

/* ── Product card glow ── */
.card-glow {
  background: radial-gradient(600px circle at var(--mouse-x, 50%) var(--mouse-y, 50%), rgba(124, 58, 237, 0.06), transparent 40%);
}
.card-glow-pink {
  background: radial-gradient(600px circle at var(--mouse-x, 50%) var(--mouse-y, 50%), rgba(219, 39, 119, 0.06), transparent 40%);
}

/* ── Check icons ── */
.check-icon {
  color: #a78bfa;
  font-size: 11px;
  font-weight: 700;
}
.check-icon-pink {
  color: #f472b6;
  font-size: 11px;
  font-weight: 700;
}

/* ── Lang button ── */
.lang-btn {
  background: rgba(255,255,255,0.03);
  cursor: pointer;
  user-select: none;
}
.lang-btn:hover {
  background: rgba(124, 58, 237, 0.1);
}

/* ── Animations ── */
@keyframes fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes slideUp {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes float {
  0%, 100% { transform: translateY(0px); }
  50%       { transform: translateY(-8px); }
}

.animate-fade-in  { animation: fadeIn  0.7s ease forwards; }
.animate-slide-up { animation: slideUp 0.7s ease forwards; }

.delay-1 { animation-delay: 0.15s; opacity: 0; }
.delay-2 { animation-delay: 0.3s;  opacity: 0; }
.delay-3 { animation-delay: 0.5s;  opacity: 0; }

/* Scroll-triggered reveal */
.reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* ── Why cards hover ── */
.why-card {
  transition: border-color 0.2s, transform 0.2s;
}
.why-card:hover {
  transform: translateY(-3px);
}

/* ── Product card ── */
.product-card {
  transition: border-color 0.3s, transform 0.2s, box-shadow 0.3s;
}
.product-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 60px rgba(0,0,0,0.4);
}

/* ── Mobile menu ── */
#mobile-menu {
  animation: fadeIn 0.15s ease;
}

/* ── Scrollbar ── */
::-webkit-scrollbar       { width: 8px; }
::-webkit-scrollbar-track { background: #07090f; }
::-webkit-scrollbar-thumb { background: #1e293b; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #334155; }

/* ── Selection ── */
::selection { background: rgba(124, 58, 237, 0.3); color: #e2e8f0; }

/* ── Focus outline ── */
a:focus-visible, button:focus-visible {
  outline: 2px solid #8b5cf6;
  outline-offset: 3px;
  border-radius: 4px;
}
