.material-symbols-outlined {
  font-variation-settings: 'FILL' 0, 'wght' 300, 'GRAD' 0, 'opsz' 24;
  display: inline-block;
  vertical-align: middle;
}

.hide-scrollbar::-webkit-scrollbar { display: none; }
.hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

@keyframes fade-in {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}

.animate-fade-in { animation: fade-in 0.8s cubic-bezier(0.16, 1, 0.3, 1) both; }

.step-transition { transition: opacity 0.5s cubic-bezier(0.16, 1, 0.3, 1); }

.service-card.selected { border-color: #000000; background: #fafaf5; }
.service-card.selected .material-symbols-outlined { opacity: 1; }

.time-slot.selected { background: #000000; color: #ffffff; border-color: #000000; }

.calendar-day-active { background: #fecad4; color: #7b535c; font-weight: 700; }

.glass-card {
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(12px);
}

.editorial-shadow {
  box-shadow: 0 10px 30px -10px rgba(216, 167, 177, 0.15);
}

.glass-nav {
  background: rgba(250, 250, 245, 0.8);
  backdrop-filter: blur(12px);
}

body { -webkit-font-smoothing: antialiased; }

nav, nav a, .service-card, .calendar-day, .time-slot, .faq-item button, .course-card, button {
  -webkit-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

#testimonials-track { transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1); }
