/* Custom styles beyond Tailwind */

/* Smooth focus outlines */
*:focus-visible {
  outline: 2px solid #d14a3e;
  outline-offset: 2px;
}

/* Hero decorative floaters */
.hero-gradient::before {
  content: '';
  position: absolute;
  top: 10%;
  left: 5%;
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, rgba(253, 208, 160, 0.3) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}

.hero-gradient::after {
  content: '';
  position: absolute;
  bottom: 15%;
  right: 8%;
  width: 200px;
  height: 200px;
  background: radial-gradient(circle, rgba(243, 189, 184, 0.4) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}

/* Subtle pattern overlay on service cards */
.card-hover::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  opacity: 0;
  background: linear-gradient(135deg, rgba(209, 74, 62, 0.03) 0%, transparent 60%);
  transition: opacity 0.3s ease;
  pointer-events: none;
}

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

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

.overflow-hidden::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(209, 74, 62, 0.08) 0%, transparent 40%);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
  border-radius: inherit;
}

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

/* Navbar glass effect when scrolled */
.nav-scrolled {
  background: rgba(253, 248, 240, 0.92) !important;
  backdrop-filter: blur(12px);
  box-shadow: 0 1px 20px rgba(0, 0, 0, 0.06);
}

.nav-scrolled .font-display {
  color: #1c1917 !important;
}

.nav-scrolled a:not(.px-5) {
  color: #57534e !important;
}
