﻿/* Estilos generales para el contenedor principal de la cinta de opciones */
.control-ribbon {
    display: flex; /* Habilita Flexbox en el contenedor */
    flex-wrap: wrap; /* Permite que los elementos salten a la siguiente línea si no caben */
    justify-content: center; /* Centra los elementos horizontalmente */
    gap: 10px; /* Agrega espacio entre los elementos */
    background-color: rgba(255, 255, 255, 0.9); /*#f0f0f0;*/
    padding: 10px;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

/* Estilos para cada botón de control */
.btn-control {
    display: flex; /* Habilita Flexbox dentro de cada botón */
    flex-direction: column; /* Apila el icono y el texto verticalmente */
    align-items: center; /* Centra el contenido verticalmente */
    text-decoration: none;
    color: #764ba2; /*#333;*/
    padding: 5px 5px;
    border-radius: 8px;
    transition: background-color 0.3s ease, color 0.3s ease;
    min-width: 100px; /* Asegura un ancho mínimo para que el texto no se vea apretado en pantallas medianas */
    text-align: center;
}

    /* Estilos al pasar el mouse por encima */
    .btn-control:hover {
        background-color: #e0e0e0;
        color: #FF6B6B; /*#007bff;*/
    }

    /* Estilos para los iconos */
    .btn-control i {
        font-size: 24px;
        margin-bottom: 8px;
    }

    /* Estilos para el texto */
    .btn-control span {
        font-size: 14px;
        font-weight: 600;
        white-space: nowrap; /* Evita que el texto se parta en varias líneas */
    }

/* Media Query para pantallas pequeñas (móviles) */
@media (max-width: 768px) {
    .control-ribbon {
        justify-content: space-around; /* Distribuye los elementos uniformemente */
    }

    .btn-control {
        min-width: 70px; /* Reduce el ancho mínimo en pantallas pequeñas */
        padding: 10px 5px; /* Reduce el padding para ahorrar espacio */
    }

        /* Oculta el texto para que solo se muestre el icono en pantallas muy pequeñas */
        .btn-control span {
            display: none;
        }
}

/* Media Query para pantallas medianas (tablets) */
@media (min-width: 769px) and (max-width: 1024px) {
    .btn-control {
        flex-direction: row; /* Coloca el icono y el texto uno al lado del otro */
        gap: 8px; /* Espacio entre el icono y el texto */
        min-width: auto; /* Permite que el ancho se ajuste al contenido */
    }

        .btn-control i {
            margin-bottom: 0; /* Elimina el margen inferior del icono */
        }
}

/* Floating particles */
.floating-particle {
    position: fixed;
    pointer-events: none;
    z-index: 1;
    opacity: 0.6;
    animation: float 6s ease-in-out infinite;
}

@keyframes float {
    0%, 100% {
        transform: translateY(0px) rotate(0deg);
    }

    50% {
        transform: translateY(-20px) rotate(180deg);
    }
}