/* ===== Base ===== */
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { overflow-x: hidden; }

/* ===== Glassmorphism nav ===== */
.glass-nav {
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: saturate(180%) blur(16px);
  -webkit-backdrop-filter: saturate(180%) blur(16px);
  border-bottom: 1px solid rgba(14, 116, 144, 0.12);
}
.glass-nav-scrolled {
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 8px 30px -12px rgba(15, 41, 66, 0.18);
}

/* ===== Hero background ===== */
.hero-bg {
  background:
    radial-gradient(circle at 85% 15%, rgba(34, 199, 236, 0.16), transparent 45%),
    radial-gradient(circle at 10% 80%, rgba(249, 115, 22, 0.10), transparent 45%),
    linear-gradient(160deg, #f8fbfd 0%, #eef6f9 55%, #e6f2f5 100%);
}
.hero-pattern {
  background-image: radial-gradient(rgba(14, 116, 144, 0.10) 1px, transparent 1px);
  background-size: 22px 22px;
}

/* ===== Pulse CTA ===== */
@keyframes pulse-ring {
  0% { box-shadow: 0 0 0 0 rgba(249, 115, 22, 0.55); }
  70% { box-shadow: 0 0 0 18px rgba(249, 115, 22, 0); }
  100% { box-shadow: 0 0 0 0 rgba(249, 115, 22, 0); }
}
.pulse-cta { animation: pulse-ring 2.2s infinite; }

@keyframes float-slow { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-12px)} }
.float-slow { animation: float-slow 5s ease-in-out infinite; }

/* live dot */
@keyframes live-blink { 0%,100%{opacity:1} 50%{opacity:.35} }
.live-dot { animation: live-blink 1.4s ease-in-out infinite; }

/* ===== Card hover ===== */
.service-card {
  transition: transform 0.35s cubic-bezier(0.22,1,0.36,1), box-shadow 0.35s ease, border-color 0.35s ease;
}
.service-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 22px 45px -18px rgba(14, 116, 144, 0.35);
  border-color: rgba(14, 116, 144, 0.4);
}
.service-card:hover .service-icon-wrap {
  transform: scale(1.08) rotate(-4deg);
  background: linear-gradient(135deg, #0e7490, #22c7ec);
}
.service-card:hover .service-icon-wrap svg { color: #fff; }
.service-icon-wrap { transition: transform 0.35s ease, background 0.35s ease; }
.service-icon-wrap svg { transition: color 0.35s ease; }

/* ===== Reveal on scroll ===== */
.reveal { opacity: 0; transform: translateY(28px); transition: opacity .7s ease, transform .7s cubic-bezier(0.22,1,0.36,1); }
.reveal.is-visible { opacity: 1; transform: translateY(0); }

/* ===== Reviews carousel ===== */
.reviews-carousel {
  scroll-behavior: smooth;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.reviews-carousel::-webkit-scrollbar {
  display: none;
}

.reviews-carousel > article {
  scroll-snap-align: center;
}

/* Hebrew text optimization */
.reviews-carousel p {
  text-align: right;
  direction: rtl;
  word-wrap: break-word;
  overflow-wrap: break-word;
  white-space: normal;
  line-height: 1.6;
}

/* Ensure proper spacing and readability */
.reviews-carousel article {
  max-width: 420px;
  min-height: 280px;
  display: flex;
  flex-direction: column;
}

/* ===== Legacy testimonial carousel (keep for compatibility) ===== */
.testi-track { transition: transform 0.55s cubic-bezier(0.22,1,0.36,1); }
.reviews-strip {
  scroll-behavior: smooth;
  -ms-overflow-style: none;
  scrollbar-width: none;
  touch-action: pan-x;
}
.reviews-strip::-webkit-scrollbar {
  display: none;
}

/* ===== Line clamp utility ===== */
.line-clamp-6 {
  display: -webkit-box;
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ===== Feature accent bar ===== */
.feature-item { transition: transform .3s ease, box-shadow .3s ease; }
.feature-item:hover { transform: translateX(-6px); box-shadow: 0 14px 34px -16px rgba(14,116,144,0.32); }

/* Nav underline effect */
.nav-link { position: relative; }
.nav-link::after {
  content: ''; position: absolute; bottom: -4px; right: 0; height: 2px; width: 0;
  background: #0e7490; transition: width 0.28s ease;
}
.nav-link:hover::after { width: 100%; }

/* Mobile menu slide */
.mobile-menu { transition: max-height 0.4s ease, opacity 0.3s ease; overflow: hidden; }
