/* Custom styles — supplementing Tailwind */

/* Smooth scroll offset for fixed nav */
section[id] {
  scroll-margin-top: 80px;
}

/* Selection color */
::selection {
  background: #059669;
  color: #FDFBF7;
}

/* Focus visible for accessibility */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid #059669;
  outline-offset: 2px;
  border-radius: 4px;
}

/* Reduce motion for users who prefer it */
@media (prefers-reduced-motion: reduce) {
  .float-slow, .float-medium, .float-fast {
    animation: none;
  }
  .reveal-hidden {
    opacity: 1 !important;
    transform: none !important;
  }
  html {
    scroll-behavior: auto;
  }
}

/* Custom gradient for hero image overlay */
.hero-overlay {
  background: linear-gradient(135deg, rgba(2, 44, 34, 0.6) 0%, rgba(5, 150, 105, 0.3) 100%);
}

/* Subtle pattern for cream sections */
.cream-pattern {
  background-color: #FDFBF7;
  background-image: radial-gradient(circle at 1px 1px, rgba(5, 150, 105, 0.05) 1px, transparent 0);
  background-size: 24px 24px;
}

/* Card shadow utility */
.card-shadow {
  box-shadow: 0 4px 24px rgba(4, 78, 59, 0.08);
}

/* Floating card shadow */
.float-shadow {
  box-shadow: 0 8px 32px rgba(4, 78, 59, 0.12), 0 2px 8px rgba(4, 78, 59, 0.06);
}

/* Image hover zoom */
.img-zoom {
  transition: transform 0.5s ease;
}
.img-zoom:hover {
  transform: scale(1.05);
}

/* Nav active state */
.nav-link-active {
  color: #059669;
  position: relative;
}
.nav-link-active::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  right: 0;
  height: 2px;
  background: #059669;
  border-radius: 1px;
}
