/* Navbar Transiciones */
.nav-scrolled {
    background-color: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(10px);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
}

/* Control de color de texto en navbar según estado */
.nav-transparent .nav-link {
    color: rgba(255, 255, 255, 0.9);
}

    .nav-transparent .nav-link:hover {
        color: white;
    }

.nav-transparent .logo-white {
    display: block;
}

.nav-transparent .logo-color {
    display: none;
}

.nav-transparent .mobile-toggle {
    color: white;
}

.nav-scrolled .nav-link {
    color: #4b5563;
}

    .nav-scrolled .nav-link:hover {
        color: #7c3aed;
    }

.nav-scrolled .logo-white {
    display: none;
}

.nav-scrolled .logo-color {
    display: block;
}

.nav-scrolled .mobile-toggle {
    color: #4b5563;
}

.hero-bg {
    background: linear-gradient(145deg, #4c1d95 0%, #6d28d9 60%, #7c3aed 100%);
    position: relative;
    overflow: hidden;
}

.hero-bg-mini {
    background: linear-gradient(135deg, #4c1d95 0%, #6d28d9 100%);
    position: relative;
    overflow: hidden;
}

/* Animaciones suaves */
.fade-up {
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.6s ease-out;
}

    .fade-up.visible {
        opacity: 1;
        transform: translateY(0);
    }

.hide-scroll::-webkit-scrollbar {
    display: none;
}

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

/* Accordion Transitions */
.accordion-content {
    transition: max-height 0.3s ease-in-out, opacity 0.3s ease-in-out, padding 0.3s ease;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
}

    .accordion-content.active {
        opacity: 1;
        /* Max-height set via JS for dynamic height, or use a large enough value */
    }

.rotate-icon {
    transition: transform 0.3s ease;
}

.rotate-180-custom {
    transform: rotate(180deg);
}
