/* Performance and Accessibility Optimizations */

/* Critical rendering path optimization */
html {
  font-display: swap;
}

/* Accessibility improvements */
:focus {
  outline: 3px solid #2758F8 !important;
  outline-offset: 2px;
}

/* Prevent zoom on iOS */
input[type="text"],
input[type="email"],
input[type="password"],
select,
textarea {
  font-size: 16px !important;
}

/* Better touch targets for mobile */
@media (max-width: 768px) {
  .btn {
    min-height: 44px;
    min-width: 44px;
  }
  
  .form-control,
  .form-select {
    min-height: 44px;
  }
}

/* Reduce repaints and reflows */
.card,
.btn,
.form-control {
  will-change: auto;
}

/* Optimize images */
img {
  loading: lazy;
  decode: async;
}

/* Optimize animations */
.hero-section {
  contain: layout style paint;
}

/* Font loading optimization */
@font-face {
  font-family: 'Inter';
  font-display: swap;
  src: url('https://fonts.gstatic.com/s/inter/v12/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuLyfAZ9hiA.woff2') format('woff2');
}

/* Accessibility colors with better contrast */
.text-muted {
  color: #6c757d !important;
}

.alert {
  border: 2px solid #dee2e6;
}

/* Skip link styles */
.skip-link:focus {
  position: absolute;
  top: 6px;
  left: 6px;
  background: #2758F8;
  color: white;
  padding: 8px 16px;
  text-decoration: none;
  z-index: 1000;
  border-radius: 4px;
}