/* Custom overrides and utility styles */

/* Smooth focus outlines for accessibility */
*:focus-visible {
  outline: 2px solid #14b8a6;
  outline-offset: 2px;
}

/* Selection color */
::selection {
  background: #ccfbf1;
  color: #134e4a;
}

/* Custom scrollbar */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: #f8fafc;
}
::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}

/* Subtle pattern for decorative sections */
.hero-dots {
  background-image: radial-gradient(circle, #14b8a6 1px, transparent 1px);
  background-size: 24px 24px;
  opacity: 0.06;
}

/* Image lazy-load fade */
img[loading="lazy"] {
  transition: opacity 0.4s ease;
}
img[loading="lazy"]:not([src]) {
  opacity: 0;
}

/* Reduced motion - ensure content is always visible */
@media (prefers-reduced-motion: reduce) {
  .navbar { transition: none; }
  .service-card { transition: none; }
  .cta-btn { transition: none; }
  .mobile-menu { transition: none; }
}

/* Print styles */
@media print {
  .navbar, .mobile-menu, #menuToggle, #menuOverlay { display: none !important; }
  body { color: #000; background: #fff; }
  section { padding: 1rem 0 !important; }
}
