/* Custom overrides and enhancements beyond Tailwind */

/* Smooth focus outlines for accessibility */
a:focus-visible, button:focus-visible {
  outline: 2px solid #74c7a4;
  outline-offset: 3px;
  border-radius: 4px;
}

/* Selection color */
::selection {
  background: #a8dcc4;
  color: #102a43;
}

/* Image loading placeholder */
img {
  background-color: #d0ebdb;
}

/* Subtle pattern overlay for hero */
.hero-gradient::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle at 25% 25%, rgba(116,199,164,0.06) 0%, transparent 50%),
                    radial-gradient(circle at 75% 75%, rgba(168,220,196,0.04) 0%, transparent 50%);
  pointer-events: none;
}

/* Card image hover */
.card-shadow img {
  transition: transform 0.5s ease;
}
.card-shadow:hover img {
  transform: scale(1.03);
}

/* Mobile menu transition */
#mobile-menu {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.25s ease;
}
#mobile-menu.open {
  max-height: 400px;
  opacity: 1;
}
#mobile-menu.closed {
  max-height: 0;
  opacity: 0;
}

/* Scrollbar for webkit */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: #f4fbf9;
}
::-webkit-scrollbar-thumb {
  background: #a8dcc4;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #74c7a4;
}

/* Print styles */
@media print {
  nav, .float-anim, .float2-anim { display: none; }
  body { color: #000; background: #fff; }
  .hero-gradient { background: #102a43 !important; }
}
