/* Custom styles that Tailwind can't handle */

/* Google Reviews stars */
.stars-gold { color: #C4A35A; }

/* Smooth page transitions */
.page-transition {
  opacity: 0;
  transition: opacity 0.4s ease;
}

.page-transition.loaded {
  opacity: 1;
}

/* Honeypot field - hidden from real users */
.dental-website-field {
  position: absolute;
  left: -9999px;
  opacity: 0;
  height: 0;
  width: 0;
  overflow: hidden;
}

/* Telegram booking form states */
.form-loading {
  pointer-events: none;
  opacity: 0.6;
}

.form-success {
  border-color: #22C55E;
}

.form-error {
  border-color: #EF4444;
}

/* Lazy loading placeholder */
.lazy-placeholder {
  background: linear-gradient(90deg, #141B24 25%, #1C2530 50%, #141B24 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
}

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

/* Hero background image */
.hero-bg {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* Language switcher dropdown */
.lang-dropdown {
  transform-origin: top right;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.lang-dropdown.hidden {
  transform: scale(0.95);
  opacity: 0;
  pointer-events: none;
}

/* Mobile menu */
.mobile-menu {
  transform: translateX(100%);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.mobile-menu.open {
  transform: translateX(0);
}

/* Stat counter animation */
.stat-number {
  font-variant-numeric: tabular-nums;
}

/* Before/After slider */
.ba-container {
  position: relative;
  overflow: hidden;
  border-radius: 3px;
}

.ba-container img {
  display: block;
  width: 100%;
  height: auto;
}

/* CTA pulse animation */
.cta-pulse {
  animation: pulse-gold 2s ease-in-out infinite;
}

@keyframes pulse-gold {
  0%, 100% { box-shadow: 0 0 0 0 rgba(196, 163, 90, 0.4); }
  50% { box-shadow: 0 0 0 10px rgba(196, 163, 90, 0); }
}
