/* Custom styles for Korin and Nasdly Esthetic */

/* Smooth scroll offset for sticky nav */
section[id] {
  scroll-margin-top: 80px;
}

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

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

/* Subtle pattern for hero */
.hero-gradient::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle at 25% 25%, rgba(255,255,255,0.05) 0%, transparent 50%),
                    radial-gradient(circle at 75% 75%, rgba(255,255,255,0.03) 0%, transparent 50%);
  pointer-events: none;
}

/* Pulse animation for CTA */
@keyframes pulse-soft {
  0%, 100% { box-shadow: 0 0 0 0 rgba(20, 184, 166, 0.4); }
  50% { box-shadow: 0 0 0 12px rgba(20, 184, 166, 0); }
}
.btn-primary {
  animation: pulse-soft 2s infinite;
}
.btn-primary:hover {
  animation: none;
}

/* Gallery image hover overlay transition */
.relative.group {
  overflow: hidden;
}

/* Ensure all images have smooth loading */
img {
  loading: lazy;
}

/* Mobile menu animation */
.mobile-menu {
  transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;
}

/* Focus visible for accessibility */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid #14b8a6;
  outline-offset: 2px;
  border-radius: 4px;
}

/* Print styles */
@media print {
  nav, .hero-gradient, footer { background: white !important; color: black !important; }
  .btn-primary, .btn-secondary { border: 1px solid #000; background: white !important; color: #000 !important; }
}
