/**
 * Estilos específicos para o Shortcode [sorteio] no frontend.
 *
 * NOTA: Este CSS assume que as variáveis e utilities globais (como --primary,
 * --text, e classes como .inkryptus-card) estão disponíveis no ambiente.
 */

/* =================================
   1. ESTRUTURA E CARD PRINCIPAL
   ================================= */

.srs-raffle-container {
    padding: 2rem 1rem;
    /* Centraliza o conteúdo, mas permite largura total em telas pequenas */
    display: block;
}

.srs-card {
    /* Mimetiza a base .inkryptus-card para consistência visual */
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: rgba(128, 128, 128, 0.1);
    padding: 25px;
    border-radius: 16px;
    text-align: center;
    width: 100%;
    max-width: 550px;
    height: 100%;
    /* Limita a largura do widget */
    margin: 0 auto;
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.05);
}

/* Ajuste para o tema claro (opcional, dependendo de como as variáveis são definidas) */
body.light-theme .srs-card {
    background-color: rgba(0, 0, 0, 0.04);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(0, 0, 0, 0.05);
}

/* =================================
   2. TIPOGRAFIA E STATUS
   ================================= */

.srs-card h2 {
    /* Estilo de título de componente */
    font-size: 2.4rem;
    margin-bottom: 1.5rem;
    color: var(--primary, #F5A800);
    border-bottom: 2px solid rgba(255, 255, 255, 0.1);
    padding-bottom: 1rem;
    width: 100%;
    font-weight: 700;
}

.srs-status {
    font-size: 1.6rem;
    margin-bottom: 2rem;
    color: var(--text-secondary, #ccc);
}

.srs-available-count {
    /* Destaca a contagem de participantes */
    color: var(--primary, #F5A800);
    font-weight: bold;
}

/* =================================
   3. ÁREA DE RESULTADO (DINÂMICA)
   ================================= */

.srs-result-area {
    min-height: 250px;
    /* Garante espaço para a animação */
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-bottom: 2.5rem;
    position: relative;
}

.srs-highlighted-item {
    color: var(--primary, #F5A800);
    font-weight: bold;
    font-size: 3.6rem;
}

.srs-item-title-highlighted {
    display: none;
}



.srs-animation-area {
    width: 100%;
    height: 100%;
    margin-bottom: 1rem;
    display: none;
    /* O JS muda para flex durante o sorteio */
    justify-content: center;
    align-items: center;
}

/* Estilo para a mensagem de vencedor/instrução inicial */
.srs-winner-display {
    font-size: 1.8rem;
    font-weight: 500;
    color: var(--text, #fff);
    padding: 1rem 0;
    min-height: 50px;
    transition: all 0.5s ease;
}

/* Estilo para o nome do vencedor (usado pelo JS) */
.srs-winner-display.is-winner {
    font-size: clamp(2.8rem, 8vw, 4.5rem);
    font-weight: 900;
    color: var(--primary, #F5A800);
    text-shadow: 0 0 15px rgba(245, 168, 0, 0.7);
    animation: pulseHighlight 1s infinite alternate;
}

/* Animação para destacar o vencedor */
@keyframes pulseHighlight {
    from {
        transform: scale(1);
        opacity: 0.9;
    }

    to {
        transform: scale(1.03);
        opacity: 1;
    }
}

/* =================================
   4. BOTÃO E FEEDBACK
   ================================= */

.srs-draw-button {
    /* Adaptação de .inkryptus-button Primary */
    display: inline-block;
    background-color: var(--primary, #F5A800);
    color: #2f2f2f;
    padding: 14px 32px;
    border-radius: 8px;
    font-weight: bold;
    font-size: 1.8rem;
    transition: background-color 0.3s ease, transform 0.1s;
    cursor: pointer;
    border: none;
    width: 85%;
    max-width: 320px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.srs-draw-button:hover:not([disabled]) {
    background-color: #e0990065;
    color: var(--primary, #F5A800);
    transform: translateY(-2px);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3);
}

.srs-draw-button:active:not([disabled]) {
    transform: translateY(0);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.srs-draw-button[disabled] {
    opacity: 0.5;
    cursor: not-allowed;
    filter: grayscale(0.5);
    box-shadow: none;
}

/* Feedback e Mensagens */
.srs-message {
    margin-top: 1.5rem;
    font-size: 1.5rem;
    min-height: 30px;
    /* Para evitar CLS */
    color: var(--text, #fff);
}

.srs-finished-notice {
    margin-top: 1.5rem;
    width: 90%;
    /* Estilo de alerta suave */
    background-color: rgba(76, 175, 80, 0.15);
    /* Verde suave */
    border: 1px solid rgba(76, 175, 80, 0.3);
    padding: 1.5rem;
    border-radius: 8px;
}

.srs-finished-notice p {
    margin: 0;
    font-weight: 500;
    color: #81C784;
    /* Texto verde mais claro */
    font-size: 1.6rem;
}

/* Estilo para quando o botão está em estado de carregamento (durante a animação) */
.srs-draw-button.is-loading {
    background-color: #e09900;
    cursor: wait;
    opacity: 0.8;
    position: relative;
    pointer-events: none;
}

.srs-draw-button.is-loading::after {
    content: '...';
    /* Estilo de carregamento simples 
    animation: loadingDots 1s steps(3, end) infinite;
    */
}

.srs-spinner {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 3px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    border-top-color: var(--primary, #F5A800);

}

@keyframes loadingDots {
    0% {
        content: '';
    }

    25% {
        content: '.';
    }

    50% {
        content: '..';
    }

    75% {
        content: '...';
    }
}