html, body { overscroll-behavior: none; }
body { font-family: 'Inter', sans-serif; background: #ffffff; }
.font-display { font-family: 'Poppins', 'Inter', sans-serif; }
::selection { background: #C8102E; color: white; }

.marquee-track { display: flex; width: max-content; animation: marquee 30s linear infinite; }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

.card-hover {
  transition: transform .4s cubic-bezier(.16,1,.3,1), box-shadow .4s cubic-bezier(.16,1,.3,1);
}
.card-hover:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 45px -18px rgba(200,16,46,0.35);
}

[data-reveal] { opacity: 0; }

.nav-link { position: relative; }
.nav-link::after {
  content: ''; position: absolute; left: 0; bottom: -6px; width: 0; height: 2px; background: #C8102E;
  transition: width .3s cubic-bezier(.16,1,.3,1);
}
.nav-link:hover::after { width: 100%; }

#scroll-progress { transform-origin: 0 50%; }

.btn-red {
  background: linear-gradient(135deg, #D5122F, #A40D25);
}

#header.is-scrolled {
  box-shadow: 0 6px 24px -10px rgba(0,0,0,0.15);
}

/* Appointment form inputs: white fields on the black card */
#appointment-form input,
#appointment-form select,
#appointment-form textarea {
  background: #ffffff;
  color: #0A0A0B;
  border: 1px solid transparent;
  transition: box-shadow .2s ease, border-color .2s ease;
}
#appointment-form input::placeholder,
#appointment-form textarea::placeholder {
  color: rgba(10,10,11,0.4);
}
#appointment-form input:focus,
#appointment-form select:focus,
#appointment-form textarea:focus {
  outline: none;
  border-color: #C8102E;
  box-shadow: 0 0 0 3px rgba(200,16,46,0.25);
}

::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: #f2f2f2; }
::-webkit-scrollbar-thumb { background: #C8102E; border-radius: 8px; }
::-webkit-scrollbar-thumb:hover { background: #A40D25; }
