@keyframes marquee {
  0% {
    transform: translateX(0%);
  }

  100% {
    transform: translateX(-100%);
  }
}

/* Prevent horizontal scroll on mobile */
html,
body {
  overflow-x: hidden;
  width: 100%;
}

/* Improve touch feedback */
* {
  -webkit-tap-highlight-color: transparent;
}

/* --- SAFETY NET: FORCE INTERACTIVITY --- */
a,
button,
input,
select,
textarea,
label,
.category-button,
.service-row,
[role="button"] {
  pointer-events: auto !important;
  cursor: pointer;
}

button:disabled,
input:disabled,
.disabled,
[aria-disabled="true"] {
  pointer-events: none !important;
  cursor: not-allowed;
}

.category-button::before,
.category-button::after,
.service-row::before,
.service-row::after,
.glass-btn::before,
.glass-btn::after,
.slot-button::before,
.slot-button::after {
  pointer-events: none !important;
}

.z-safe {
  position: relative !important;
  z-index: 50 !important;
  isolation: isolate;
}

.blob-bg {
  z-index: -1 !important;
  pointer-events: none !important;
}

.category-button:active,
.service-row:active,
.glass-btn:active {
  transform: scale(0.98);
  filter: brightness(1.2);
  transition: transform 0.05s ease, filter 0.05s ease;
}

.category-button.active-touch,
.service-row.active-touch {
  background-color: rgba(236, 72, 153, 0.2) !important;
}

/* --- MARQUEE FIXES --- */
.animate-marquee {
  display: inline-block;
  white-space: nowrap !important;
  animation: marquee 30s linear infinite;
  /* Standard news ticker speed */
  will-change: transform;
  user-select: none;
  padding-right: 2rem;
}

.marquee-container {
  overflow: hidden !important;
  position: relative;
  width: 100% !important;
  max-width: 100vw !important;
  min-width: 0;
  transform: translateZ(0);
}

/* LED Border Animation for Booking Widget */
@keyframes led-border-scan {
  0% {
    background-position: 0% 50%;
  }

  100% {
    background-position: 200% 50%;
  }
}

.neon-border {
  position: relative;
  border: 2px solid transparent !important;
  background-clip: padding-box;
}

.neon-border::before {
  content: '';
  position: absolute;
  inset: -2px;
  background: linear-gradient(90deg,
      rgba(236, 72, 153, 0.8),
      rgba(168, 85, 247, 0.8),
      rgba(236, 72, 153, 0.8),
      rgba(168, 85, 247, 0.8),
      rgba(236, 72, 153, 0.8));
  background-size: 200% 100%;
  animation: led-border-scan 3s linear infinite;
  border-radius: inherit;
  z-index: -1;
  opacity: 0.9;
}

.neon-border::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.95);
  border-radius: inherit;
  z-index: -1;
}

/* NAVBAR - SADECE TEMEL KURALLAR */
/* CSS dosyasındaki kuralları minimize ediyoruz, Tailwind inline class'ları kullanacağız */

/* Mobile Menu Button */
#mobile-menu-btn {
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (min-width: 1024px) {
  #mobile-menu-btn {
    display: none;
  }
}

/* Desktop Navigation */
nav.hidden.lg\\:flex {
  display: none;
}

@media (min-width: 1024px) {
  nav.hidden.lg\\:flex {
    display: flex;
  }
}

/* Sadece show class için JavaScript desteği */
#mobile-menu.show {
  transform: translateX(0) !important;
}

#mobile-menu-backdrop.show {
  opacity: 1 !important;
  visibility: visible !important;
}

@media (min-width: 1024px) {
  #mobile-menu,
  #mobile-menu-backdrop {
    display: none;
  }
}