/* Custom overrides and utility styles */

html {
  scroll-behavior: smooth;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Ensure all interactive elements have good contrast */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {
  outline: 2px solid #b82547;
  outline-offset: 2px;
}

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

/* Smooth scrollbar */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: #fdf2f4;
}
::-webkit-scrollbar-thumb {
  background: #f8cdd6;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #f2a1b5;
}

/* Selection color */
::selection {
  background: #fce7eb;
  color: #671a33;
}

/* Ensure form inputs look good */
input, textarea, select {
  font-family: inherit;
}

/* Mobile menu animations */
#mobile-menu.show {
  animation: slideDown 0.3s ease;
}
@keyframes slideDown {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Menu button animation */
.menu-btn-active .menu-line:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}
.menu-btn-active .menu-line:nth-child(2) {
  opacity: 0;
}
.menu-btn-active .menu-line:nth-child(3) {
  width: 1.5rem;
  transform: rotate(-45deg) translate(5px, -5px);
}
