/* Accessibility enhancements */
.skip-to-content {
  position: absolute;
  top: -40px;
  left: 0;
  background: var(--primary-color);
  color: white;
  padding: 8px;
  z-index: 100;
  transition: top 0.3s;
}

.skip-to-content:focus {
  top: 0;
}

/* Focus styles */
a:focus,
button:focus,
input:focus,
textarea:focus,
select:focus {
  outline: 2px solid var(--primary-color);
  outline-offset: 2px;
}

/* High contrast mode support */
@media (forced-colors: active) {
  .hero-cta,
  .pricing-cta,
  .gradient-border,
  .card-icon,
  .role-icon,
  .feature-icon {
    forced-color-adjust: none;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
  
  .bee {
    display: none;
  }
  
  .fade-in {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Screen reader only content */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

/* Form validation accessibility */
.form-control.is-invalid {
  border-color: var(--error-color);
}

.invalid-feedback {
  display: none;
  color: var(--error-color);
  font-size: var(--font-size-sm);
  margin-top: var(--spacing-xs);
}

.form-control.is-invalid + .invalid-feedback {
  display: block;
}

/* Keyboard navigation */
.nav-link:focus-visible,
.language-option:focus-visible,
.social-link:focus-visible {
  box-shadow: 0 0 0 2px var(--primary-color);
  outline: none;
}

/* ARIA support */
[aria-expanded="true"] .language-selector-dropdown {
  display: block;
}
