.shadow-hover:hover {
        box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35);
        transition: box-shadow 0.3s ease-in-out;
    }

    .text-orange {
        color: #f37021;
    }

    .btn-warning {
        background-color: #f37021;
        border-color: #f37021;
        color: white;
    }

    .btn-outline-warning {
        border-color: #f37021;
        color: #f37021;
    }

    .btn-outline-warning:hover {
        background-color: #f37021;
        color: white;
    }

            .video-title-bar-gradient {
            background: linear-gradient(to bottom, #0000001e, #383737ff, #242323ff);
            color: #ffffff;
            text-align: center;
            padding: 1rem 1.5rem;
            font-size: 1.3rem;
            font-weight: 600;
            border-bottom-left-radius: 8px;
            border-bottom-right-radius: 8px;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.5);
            margin-top: -4px;
        }

        .text-overlay iframe {
            max-width: 100%;
            border-radius: 10px;
            height: 280px;
            margin-bottom: 15px;
        }

        @media (max-width: 768px) {
            .text-overlay iframe {
                height: 200px;
            }
        }

        .hero-fondo {
            /* background: url('https://res.cloudinary.com/dtpvbfavr/image/upload/v1752003718/portada_desen_qy2yq4.png') center/cover no-repeat; */
            width: 100%;
            height: auto;
            padding: 1%;
            overflow: hidden;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .hero-content {
            display: flex;
            flex-wrap: wrap;
            gap: 2%;
            justify-content: center;
            align-items: center;
            width: 90%;
            max-width: 90vw;
        }

        .text-overlay {
            /* background-color: rgba(255, 255, 255, 0.85); */
            color: #000;
            padding: 2%;
            border-radius: 2%;
            flex: 1 1 40%;
            max-width: 40%;
            text-align: center;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 2vh;
        }

        .text-overlay img {
            width: 50%;
            max-width: 30vw;
            height: auto;
        }

        .text-overlay h4,
        h1 {
            font-size: 2vw;
            margin-top: 1vh;
        }

        .slider-wrapper {
            flex: 1 1 55%;
            min-width: 40%;
            width: 100%;
        }

        .slider-image {
            width: 100%;
            height: auto;
            object-fit: cover;
            border-radius: 1vw;
        }

        @media (max-width: 768px) {
            .hero-content {
                flex-direction: column;
                text-align: center;
            }

                      .text-overlay img {
                width: 50%;
                max-width: 50vw;
            }

            .text-overlay h4,
            h1 {
                font-size: 3vw;
            }

            .slider-wrapper {
                min-width: 80%;
            }
        }



        /* Botones flotantes */
        /* Botón en foco (accesibilidad) */
        button:focus {
            outline: 2px solid #007BFF;
            outline-offset: 2px;
        }

        /* Contenedor principal de botones flotantes */
        #floating-buttons {
            position: fixed;
            bottom: 20px;
            right: 20px;
            z-index: 1000;
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        /* Botón flotante individual */
        .float-button {
            background-color: rgb(9, 10, 10);
            border: none;
            color: white;
            padding: 10px;
            margin: 5px;
            border-radius: 50%;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            width: 48px;
            height: 48px;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
            transition: background-color 0.3s ease;
        }

        /* Icono dentro del botón */
        .float-button img {
            width: 24px;
            height: 24px;
        }

        /* Hover sobre el botón */
        .float-button:hover {
            background-color: #555;
        }

        /* Botón principal que alterna la visibilidad */
        .toggle-button {
            background-color: rgb(9, 10, 10);
            color: white;
            font-weight: bold;
            font-size: 18px;
        }

        /* Contenedor de botones secundarios ocultos por defecto */
        .buttons-group {
            display: none;
            flex-direction: column;
            gap: 10px;
            margin-top: 10px;
        }

        /* Mostrar botones al activar */
        #floating-buttons.active .buttons-group {
            display: flex;
        }

        #floating-buttons .float-button img {
            filter: brightness(0) invert(1);
        }

            .video-banner {
        position: relative;
        width: 100%;
        height: 100vh;
        overflow: hidden;
    }

    .video-bg {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        z-index: 0;
    }

    .video-overlay {
        position: relative;
        z-index: 1;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.4);
        /* Oscurece para que el texto sea legible */
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;
        padding: 2rem;
        color: white;
    }

    .video-text h1 {
        font-size: 3rem;
        margin-bottom: 1rem;
    }

    .video-text p {
        font-size: 1.5rem;
    }

    @media (max-width: 768px) {
        .video-text h1 {
            font-size: 2rem;
        }

        .video-text p {
            font-size: 1.2rem;
        }
    }

    .scroll-button.sticky-scroll {
        position: fixed;
        bottom: 30px;
        left: 50%;
        transform: translateX(-50%);
        background: linear-gradient(135deg, #ff8c00, #ff6b00);
        color: white;
        padding: 12px 20px;
        border-radius: 30px;
        font-weight: bold;
        text-decoration: none;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25);
        display: flex;
        align-items: center;
        gap: 10px;
        transition: background 0.3s ease;
        z-index: 1000;
    }

    .scroll-button.sticky-scroll:hover {
        background: linear-gradient(135deg, #e67e00, #cc5900);
    }

    .scroll-button svg {
        transition: transform 0.3s ease;
        cursor: pointer;
    }

    .scroll-button:hover svg {
        transform: translateY(5px);
    }

    .arrow-down {
        animation: bounce 1.2s infinite;
    }

    @keyframes bounce {

        0%,
        100% {
            transform: translateY(0);
        }

        50% {
            transform: translateY(6px);
        }
    }

    .animate-on-load {
        opacity: 0;
        transform: translateY(30px);
        animation: fadeSlideUp 1.2s ease-out forwards;
        animation-delay: 1s;
    }

    @keyframes fadeSlideUp {
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    .important-topics .topics-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 20px;
}

/* Modal */
.modal {
    display: block; /* Lo abrimos al cargar la página */
    position: fixed;
    z-index: 2000;
    padding-top: 0;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0,0,0,0.85); /* Fondo negro semi-transparente */
    text-align: center;
}

/* Imagen centrada */
.modal-content {
    margin: 10% auto;
    max-width: 300px;
    width: 50%;
    height: auto;
    background: transparent; /* FORZAR TRANSPARENCIA */
    display: block;
}
/* Botón cerrar */
.close {
    position: absolute;
    top: 15px;
    right: 25px;
    color: #fff;
    font-size: 35px;
    font-weight: bold;
    cursor: pointer;
}

.close:hover {
    color: #f1f1f1;
}

/* Animación fade-in */
.fade-in {
    animation: fadeIn 0.8s ease forwards;
}

@keyframes fadeIn {
    from {opacity: 0;}
    to {opacity: 1;}
}

@media (max-width: 768px) {
    .modal-content {
        max-width: 70%;
    }
}

/* Opcional, para centrar todo */
.modal-content-wrapper {
    display: inline-block;
    text-align: center;
    margin: 10% auto;
    position: relative;
}

/* Info debajo del logo */
.modal-info p {
    margin: 0;
    cursor: pointer;
    text-decoration: underline;
}
#imageModal {
    display: none; /* Oculto por defecto */
}