:root {
  --primary-color: #696969;
  --secondary-color: #A9A9A9;
  --accent-color: #F5F5F5;
  --dark-color: #1a1a1a;
  --text-primary: #333;
  --text-secondary: #666;
  --text-muted: #999;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: 'Inter', sans-serif;
}



/* Hero Section Background */
.hero-bg {
  background:
    linear-gradient(135deg, rgba(0, 0, 0, 0.7) 0%, rgba(51, 51, 51, 0.5) 50%, rgba(0, 0, 0, 0.7) 100%),
    url('../img/index-hero.JPG') center/cover no-repeat;
}

/* Scroll Indicator */
.scroll-indicator {
  animation: bounce 2s infinite;
}

@keyframes bounce {

  0%,
  20%,
  50%,
  80%,
  100% {
    transform: translateY(0);
  }

  40% {
    transform: translateY(-10px);
  }

  60% {
    transform: translateY(-5px);
  }
}

/* Card Hover Effects */
.hover-card {
  transition: all 0.3s ease;
}

.hover-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

/* Status Badges */
.status-active {
  background-color: #10b981;
}

.status-inactive {
  background-color: #6b7280;
}

.status-deceased {
  background-color: #ef4444;
}

/* Stock Status */
.stock-in {
  color: #10b981;
}

.stock-low {
  color: #f59e0b;
}

.stock-out {
  color: #ef4444;
}

/* Theme Toggle */
[data-theme="dark"] {
  --primary-color: #A9A9A9;
  --secondary-color: #696969;
  --accent-color: #2d3748;
  --dark-color: #f5f5f5;
  --text-primary: #f5f5f5;
  --text-secondary: #cbd5e0;
  --text-muted: #a0aec0;
}

/* Loading Animation */
.loading {
  opacity: 0;
  transition: opacity 0.3s ease-in;
}

.loaded {
  opacity: 1;
}

/* Custom button styles to match original */
.btn-primary {
  background-color: var(--primary-color);
  color: white;
  transition: all 0.3s ease;
}

.btn-primary:hover {
  background-color: var(--secondary-color);
  transform: translateY(-2px);
}

.btn-secondary {
  background-color: transparent;
  border: 2px solid var(--primary-color);
  color: var(--primary-color);
  transition: all 0.3s ease;
}

.btn-secondary:hover {
  background-color: var(--primary-color);
  color: white;
}

.btn-outline {
  border: 2px solid var(--primary-color);
  color: var(--primary-color);
  background: transparent;
  transition: all 0.3s ease;
}

.btn-outline:hover {
  background-color: var(--primary-color);
  color: white;
}

/* Image hover effect */
.image-hover {
  transition: transform 0.3s ease;
}

.image-hover:hover {
  transform: scale(1.05);
}

/* Header specific styles */
.nav-link.active {
  color: var(--primary-color);
}

.nav-link.active::after {
  width: 100% !important;
}

/* Mobile menu animation */
.mobile-menu.active {
  transform: translateX(0);
}

/* Theme toggle icon */
[data-theme="dark"] .theme-toggle i.fa-moon::before {
  content: "\f185";
  /* Sun icon for dark mode */
}

/* Cart counter */
.cart-count {
  font-size: 0.75rem;
  display: none;
}

.cart-count:not(:empty) {
  display: flex;
}

/* Footer link hover effect */
.footer-links a:hover i {
  transform: translateX(3px);
  transition: transform 0.3s ease;
}

/* Line clamp utility for truncating text */
.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;
}

/* Mobile Menu Fixes */
.mobile-menu {
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 40;
}

/* Ensure the hamburger button is above the menu */
.mobile-menu-toggle {
  z-index: 50 !important;
}

/* Prevent body scroll when menu is open */
body.menu-open,
html.menu-open {
  overflow: hidden !important;
  position: fixed;
  width: 100%;
  height: 100%;
}

/* Hamburger to X animation */
.mobile-menu-toggle span {
  transition: all 0.3s ease;
}

/* Ensure close button is clickable */
.mobile-menu-close {
  z-index: 51;
  cursor: pointer;
}

/* Prevent horizontal scroll */
body,
html {
  overflow-x: hidden !important;
  max-width: 100% !important;
}

/* Improve touch targets */
.mobile-nav-link {
  min-height: 56px;
  cursor: pointer;
}

/* Make sure menu items don't overflow */
.mobile-menu .w-full {
  max-width: 100%;
}

/* Fix for iOS Safari */
@supports (-webkit-touch-callout: none) {
  .mobile-menu {
    height: -webkit-fill-available;
  }
}