/* Custom animations and utilities not available in Tailwind CDN */

@keyframes marquee {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.animate-marquee { animation: marquee 25s linear infinite; }

@keyframes heroFadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
.animate-hero-fade-up { animation: heroFadeUp 0.6s ease-out both; }

@keyframes heroProgress {
  from { width: 0%; }
  to   { width: 100%; }
}
.animate-hero-progress { animation: heroProgress 5s linear forwards; }

@keyframes fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}
.animate-fade-in { animation: fadeIn 0.25s ease-out both; }

/* Nav link underline effect */
.nav-link { position: relative; }
.nav-link::after {
  content: '';
  position: absolute;
  bottom: -2px; left: 0;
  width: 100%; height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.3s;
}
.nav-link:hover::after,
.nav-link.active::after {
  transform: scaleX(1);
  transform-origin: left;
}

/* Flower card – quick-view bar slides up on hover */
.flower-card .quick-view-bar {
  transform: translateY(100%);
  transition: transform 0.3s;
}
.flower-card:hover .quick-view-bar { transform: translateY(0); }

/* Quick view accordion content */
.qv-acc-body { display: none; }
.qv-acc-body.open { display: block; }

/* Scrollbar hide for carousels */
.no-scrollbar { scrollbar-width: none; }
.no-scrollbar::-webkit-scrollbar { display: none; }

/* Prevent img drag in carousels */
.no-drag { -webkit-user-drag: none; user-select: none; }

/* Line clamp for product card description */
.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
