/* Custom overrides and utility styles */

/* Smooth focus styles */
input:focus, select:focus, textarea:focus {
  outline: none;
}

/* Selection color */
::selection {
  background: rgba(201, 168, 76, 0.3);
  color: #fff;
}

/* Gold accent line animation on hover for section dividers */
.gold-line {
  background: linear-gradient(90deg, transparent 0%, #c9a84c 50%, transparent 100%);
  background-size: 200% 100%;
  transition: background-size 0.6s ease;
}

/* Card image hover overlay */
.card-hover::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(94,234,212,0.05), rgba(201,168,76,0.05));
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
}

.card-hover:hover::after {
  opacity: 1;
}

/* Hero parallax-like subtle effect */
#hero {
  perspective: 1px;
}

/* Mobile menu transition */
#mobileMenu {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, opacity 0.3s ease;
}

#mobileMenu.open {
  max-height: 400px;
  opacity: 1;
}

/* Button ripple effect */
.btn-gold, .btn-mint {
  position: relative;
  overflow: hidden;
}

.btn-gold::before, .btn-mint::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(255,255,255,0.15);
  transform: translate(-50%, -50%);
  transition: width 0.6s ease, height 0.6s ease;
}

.btn-gold:hover::before, .btn-mint:hover::before {
  width: 300px;
  height: 300px;
}

/* Subtle shimmer on gold text */
.gold-gradient {
  background-size: 200% auto;
  animation: shimmer 3s linear infinite;
}

@keyframes shimmer {
  0% { background-position: 0% center; }
  100% { background-position: 200% center; }
}

/* Gallery image caption overlay on hover */
.overflow-hidden {
  position: relative;
}

.overflow-hidden::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(6,14,30,0.6) 0%, transparent 50%);
  opacity: 0;
  transition: opacity 0.4s ease;
  border-radius: inherit;
}

.overflow-hidden:hover::after {
  opacity: 1;
}

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  .reveal.hidden-reveal {
    opacity: 1 !important;
    transform: none !important;
  }
  .float-anim {
    animation: none;
  }
  .pulse-gold {
    animation: none;
  }
  .overflow-hidden:hover::after {
    opacity: 0;
  }
  .gold-gradient {
    animation: none;
  }
}
