/* Custom styles for RV Park It */

/* Smooth scrolling */
html {
  scroll-behavior: smooth;
}

/* Prevent flash of unstyled content */
body {
  opacity: 1;
}

/* Custom scrollbar */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: #f5f3ed;
}
::-webkit-scrollbar-thumb {
  background: #97be97;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #4a7e4a;
}

/* Selection color */
::selection {
  background: #2d4e2d;
  color: #faf9f6;
}

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Mobile menu transitions */
#mobile-menu {
  transition: max-height 0.3s ease, opacity 0.3s ease;
}

/* Nav active state */
nav a.active {
  color: #2d4e2d;
  font-weight: 600;
}

/* Image loading placeholder */
img {
  background: linear-gradient(135deg, #e3ede3 0%, #d5df d5 100%);
}

/* Subtle hover lift for cards */
.group:hover {
  transform: translateY(-2px);
}

/* Ensure hero text is readable */
h1, h2, h3 {
  text-wrap: balance;
}

/* Better touch targets on mobile */
@media (max-width: 768px) {
  a, button {
    min-height: 44px;
    min-width: 44px;
  }
}
