/* Lions Services - Custom styles */

/* Font assignments */
body {
  font-family: 'Open Sans', system-ui, sans-serif;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Quicksand', system-ui, sans-serif;
}

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

/* Hero text shadow for readability over images */
.hero-text-shadow {
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
}

/* Video hero — hide fallback image when video loads */
.hero-video-section video + img {
  display: none;
}

/* Ensure video covers hero area properly */
.hero-video-section video {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

/* Overflow clip for sections (prevents middle-click scroll issues) */
section {
  overflow: clip;
}

/* Focus styles for accessibility (critical for vision-loss org) */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid #168726;
  outline-offset: 2px;
}

/* Skip-to-content link (screen reader / keyboard nav) */
.skip-to-content {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 9999;
  padding: 0.5rem 1rem;
  background: #051362;
  color: white;
  font-weight: 600;
}
.skip-to-content:focus {
  left: 0;
}

/* Card hover effect */
.card-hover {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.card-hover:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

/* Fade-in-up animation */
.fade-in-up {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.fade-in-up.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Mobile menu transition */
#mobile-menu {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}
#mobile-menu.open {
  max-height: 100vh;
  display: block;
}

/* Auto-update copyright year */
[data-copyright-year] {
  /* JS will update this */
}
