/* Mobile Menu */
#mobile-menu {
    transition: max-height 0.3s ease-in-out;
    max-height: 0;
    overflow: hidden;
}
#mobile-menu.open {
    max-height: 400px;
}

/* FAQ Animation */
details > summary { list-style: none; }
details > summary::-webkit-details-marker { display: none; }

/* Reveal Animation Classes */
.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s ease-out;
}
.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

/* Lightbox & Modal */
.modal-open { overflow: hidden; }

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: #f1f1f1;
}
::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

/* Force Font Family if Tailwind Config Fails */
body {
    font-family: 'Inter', sans-serif !important;
}
h1, h2, h3, h4, h5, h6 {
    font-family: 'Playfair Display', serif !important;
}

/* Custom Active Link Underline Support */
.nav-link-active {
    color: #0284c7 !important; /* medical-600 */
}
.nav-link-active:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 2px;
    background-color: #0284c7; /* medical-600 */
    left: 0;
    bottom: -4px;
}

.testimonial-slide {
    height: auto !important;
    position: relative !important;
    inset: auto !important;
    min-height: 300px;
}

.testimonial-slide.opacity-0 {
    display: none;
}

.testimonial-slide.opacity-100 {
    display: block;
}