/*
Añado únicamente esta clase CSS y su Hover para no tener estilos inline.
Busco un nombre complejo que no colapse con ninguna clase existente
*/

.input-error {
    border: 2px solid red !important;
    background-color: #ffeaea !important;
}
  
.salaButton {
    padding: 8px 16px;
    font-weight: bold;
    border-radius: 8px;
    cursor: pointer;
    background-color: white;
    border: 1px solid #ccc;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}
 
.salaButton:hover {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

.salaButtonSuccess {
    padding: 8px 16px;
    font-weight: bold;
    border-radius: 8px;
    cursor: pointer;
    background-color: rgb(37, 171, 88);
    border: 1px solid rgb(35, 136, 74);
    color: white;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.salaButtonWarning {
    padding: 8px 16px;
    font-weight: bold;
    border-radius: 8px;
    cursor: pointer;
    background-color: red;
    border: 1px solid red;
    color: white;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.salaButton:hover {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

.salaButtonSuccess:hover {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

.salaButtonWarning:hover {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

.salaControlesSemana {
    padding: 10px;
}

.salaSemanaBotones {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-top: 10px;
}

.salaButtonDisabled {
    opacity: 0.5;
    pointer-events: none;
    cursor: default;
}


@media (max-width: 768px) {

    .salaButton,
    .salaButtonSemana {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        font-size: 12px !important;
    }

    .salaButtonSuccess{
        font-size: 12px !important;
    }

    .salaButton:not(.salaButtonSuccess):not(.salaButtonSemana),
    .salaButtonWarning {
        display: none !important;
    }

    .gbl-container.salahigh {
        justify-content: flex-end;
    }

    #calendarioSemana {
        display: flex;
        width: 100%;
        overflow-x: hidden;
    }

    #calendarioSemana > div {
        flex: 1;
        min-width: unset;
    }

    #salaModal.gbl-show {
        display: flex !important;
        align-items: center;
        justify-content: center;
        padding: 0;
    }
    
    #salaModal .gbl-modal-content-medium {
        width: 100vw !important;
        max-width: 100vw;
        height: 100vh;
        max-height: 100vh;
        border-radius: 0 !important;
        margin: auto;
        padding: 0;
        display: flex;
        flex-direction: column;
    }
    
    #salaModal .gbl-modal-content-medium > div:nth-child(2) {
        overflow-y: auto;
        flex-grow: 1;
        padding: 20px;
    }

    #salaModal textarea,
    #salaModal select,
    #salaModal input {
        font-size: 16px;
    }

    /* CONTROLES SEMANA - Mobile */

    .salaControlesSemana {
        flex-direction: column !important;
        align-items: center !important;
        text-align: center;
        gap: 10px;
    }

    .salaSemanaBotones {
        display: flex;
        flex-direction: row;
        justify-content: center;
        width: 100%;
        gap: 10px;
    }

    .salaSemanaBotones .salaButton {
        width: 50%;
        font-size: 15px;
        padding: 10px;
    }

    .salaControlesSemana h4 {
        font-size: 18px;
        font-weight: bold;
        margin: 0;
    }

    /* Reserva compacta en el calendario móvil */
    #calendarioSemana .reservaBloque {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        padding: 2px 4px;
        font-size: 11px;
    }

    /* Título más pequeño en mobile */
    #salaLayoutTitle {
        font-size: 20px !important;
        white-space: nowrap;
    }

    #tituloSemana{
        font-size: 15px !important;
        margin-top: 5px !important;
    }
}

