﻿/**
 * Estilos para o Timer de Timeout das Poltronas
 * Usando as variáveis CSS customizadas do projeto
 */

.rs-timer-poltronas {
    position: fixed !important;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--cor-terciario, #ffffff);
    border: 4px solid var(--cor-primaria);
    border-radius: 8px;
    padding: 2px 1px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    z-index: 1050;
    font-weight: bold;
    color: var(--cor-primaria);
    font-family: Arial, sans-serif;
    font-size: 14px;
    min-width: 200px;
    transition: all 0.3s ease;
    height: 2.5rem;
    align-items: center;
}

    .rs-timer-poltronas .timer-content {
        display: flex;
        align-items: center;
        justify-content: center;
        white-space: nowrap;
    }

    .rs-timer-poltronas .fa {
        margin-right: 8px;
        font-size: 16px;
    }

    .rs-timer-poltronas #timer-poltronas-display {
        font-size: 16px;
        margin-left: 5px;
        background: var(--cor-background-secundaria, #f8f9fa);
        padding: 2px 6px;
        border-radius: 4px;
        border: 1px solid var(--cor-background-quarteario, #e9ecef);
        color: var(--cor-font-primaria, #004987);
    }

    /* Estado de alerta quando restam menos de 1 minuto */
    .rs-timer-poltronas.timeout-warning {
        border-color: #dc3545 !important;
        color: #dc3545 !important;
        background: #fff5f5;
        animation: pulseWarning 1s infinite;
    }

        .rs-timer-poltronas.timeout-warning #timer-poltronas-display {
            background: #f8d7da;
            border-color: #f5c6cb;
            color: #721c24;
        }

/* Animação de pulso para o estado de alerta */
@keyframes pulseWarning {
    0% {
        opacity: 1;
        transform: translate(-50%) scale(1);
    }

    50% {
        opacity: 0.8;
        transform: translate(-50%) scale(1.02);
    }

    100% {
        opacity: 1;
        transform: translate(-50%) scale(1);
    }
}

/* Responsividade para dispositivos móveis */
@media (max-width: 768px) {
    .rs-timer-poltronas {
        top: 10px;
        left: 50%;
        transform: translateX(-50%);
        padding: 10px 14px;
        font-size: 13px;
        min-width: auto;
        max-width: calc(100vw - 20px);
    }

        .rs-timer-poltronas .fa {
            font-size: 14px;
            margin-right: 6px;
        }

        .rs-timer-poltronas #timer-poltronas-display {
            font-size: 14px;
            margin-left: 4px;
            padding: 1px 4px;
        }
}

@media (max-width: 480px) {
    .rs-timer-poltronas {
        top: 5px;
        left: 50%;
        transform: translateX(-50%);
        padding: 8px 12px;
        font-size: 12px;
        max-width: calc(100vw - 10px);
    }

        .rs-timer-poltronas .timer-content {
            flex-direction: column;
            align-items: center;
            gap: 4px;
        }

        .rs-timer-poltronas .fa {
            margin-right: 0;
            margin-bottom: 2px;
        }

        .rs-timer-poltronas #timer-poltronas-display {
            margin-left: 0;
            font-size: 16px;
            font-weight: bold;
        }
}

/* Variações de tema usando as variáveis CSS do projeto */
.rs-timer-poltronas.tema-secundaria {
    border-color: var(--cor-secundaria, #6c757d);
    color: var(--cor-secundaria, #6c757d);
}

.rs-timer-poltronas.tema-terciaria {
    border-color: var(--cor-detalhes-primaria, #004987);
    color: var(--cor-font-primaria, #004987);
    background: var(--cor-terciario, #ffffff);
}

.rs-timer-poltronas.tema-detalhes {
    border-color: var(--cor-detalhes-secundaria, #e3f1ff);
    color: var(--cor-detalhes-primaria, #004987);
    background: var(--cor-detalhes-secundaria, #e3f1ff);
}

/* Manter o alerta vermelho para timeout independente do tema */
.rs-timer-poltronas.timeout-warning {
    border-color: #dc3545 !important;
    color: #dc3545 !important;
}

/* Efeito hover para desktop */
@media (min-width: 769px) {
    .rs-timer-poltronas:hover {
        transform: translateX(-50%) translateY(-2px);
        box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
        border-color: var(--cor-detalhes-primaria, #004987);
    }
}

/* Garantir que o timer fique acima de outros elementos */
.rs-timer-poltronas {
    z-index: 9999 !important;
}

    /* Estilo para quando o timer está escondido */
    .rs-timer-poltronas.hidden {
        display: none !important;
    }

    /* Transições suaves */
    .rs-timer-poltronas * {
        transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
    }

    /* Fix para compatibilidade com Bootstrap */
    .rs-timer-poltronas,
    .rs-timer-poltronas * {
        box-sizing: border-box;
    }

/* Garantir legibilidade em diferentes backgrounds */
.rs-timer-poltronas {
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}

/* Estilos para impressão - esconder o timer */
@media print {
    .rs-timer-poltronas {
        display: none !important;
    }
}

/* Integração adicional com o sistema de cores do projeto */
.rs-timer-poltronas {
    /* Usar cores de fundo do projeto */
    background: var(--cor-background-terciario, var(--cor-terciario, #ffffff));
}

    .rs-timer-poltronas #timer-poltronas-display {
        /* Display com cores mais suaves baseadas no projeto */
        background: var(--cor-background-autofill, var(--cor-background-secundaria, #f8f9fa));
        border-color: var(--cor-desativado, #e9ecef);
    }

    /* Variação para fundos escuros */
    .rs-timer-poltronas.fundo-escuro {
        background: var(--cor-background-scape, #004987);
        color: var(--cor-font-abaHorario, #ffffff);
        border-color: var(--cor-font-abaHorario, #ffffff);
    }

        .rs-timer-poltronas.fundo-escuro #timer-poltronas-display {
            background: rgba(255, 255, 255, 0.1);
            border-color: rgba(255, 255, 255, 0.3);
            color: var(--cor-font-abaHorario, #ffffff);
        }

/* Fallback para projetos sem variáveis CSS definidas */
:root:not([style*="--cor-primaria"]) .rs-timer-poltronas {
    color: var(--cor-primaria);
}

:root:not([style*="--cor-secundaria"]) .rs-timer-poltronas.tema-secundaria {
    border-color: #6c757d;
    color: #6c757d;
}
