@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@600;700&family=Outfit:wght@400;500;600;700;800&family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400&display=swap');

:root {
  --hs-primary: #15803d;
  --hs-primary-dark: #14532d;
  --hs-primary-deep: #0c361e;
  --hs-primary-light: #22c55e;
  --hs-accent: #f59e0b;
  --hs-cream: #fbfbf9;
}

body {
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  background-color: #fafbf9;
  color: #1f2937;
  overflow-x: hidden;
  scroll-behavior: smooth;
}

h1, h2, h3, .font-heading {
  font-family: 'Outfit', 'Plus Jakarta Sans', sans-serif;
}

.font-handwriting {
  font-family: 'Caveat', cursive;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-track {
  background: #f1f5f2;
}
::-webkit-scrollbar-thumb {
  background: #a7c4b5;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #15803d;
}

/* Floating WhatsApp Pulse Animation */
@keyframes hsPulseRing {
  0% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.7);
  }
  70% {
    transform: scale(1);
    box-shadow: 0 0 0 16px rgba(34, 197, 94, 0);
  }
  100% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(34, 197, 94, 0);
  }
}

.whatsapp-pulse {
  animation: hsPulseRing 2.2s infinite cubic-bezier(0.4, 0, 0.6, 1);
}

/* Hero Badge Pill */
.hero-pill {
  background: #ebf8f1;
  color: #166534;
  border: 1px solid #d1fae5;
}

/* Card Hover Elevation */
.hs-card {
  transition: all 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}
.hs-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 32px -8px rgba(22, 101, 52, 0.12), 0 4px 12px -2px rgba(0, 0, 0, 0.05);
}

/* Green Glow Shadow */
.shadow-green-soft {
  box-shadow: 0 10px 25px -5px rgba(21, 128, 61, 0.15), 0 8px 10px -6px rgba(21, 128, 61, 0.1);
}

/* Active Filter Pill */
.filter-pill.active {
  background-color: #14532d;
  color: #ffffff;
  box-shadow: 0 4px 12px rgba(20, 83, 45, 0.25);
}

/* Line clamp helpers */
.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.line-clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Image zoom inside cards */
.img-zoom-container {
  overflow: hidden;
}
.img-zoom-container img {
  transition: transform 0.4s ease;
}
.img-zoom-container:hover img {
  transform: scale(1.06);
}

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

/* Carousel snap scrolling */
.snap-container {
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
}
.snap-card {
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

/* Carousel control arrow buttons */
.carousel-nav-btn {
  transition: all 0.2s ease;
}
.carousel-nav-btn:hover {
  transform: scale(1.08);
}
.carousel-nav-btn:active {
  transform: scale(0.92);
}

