/* 
 * Isolamento completo dos estilos do plugin Niver Premios
 * Este arquivo garante que os estilos do plugin não sejam afetados pelo tema Hello do Elementor
 */

/* Reset completo para todos os elementos do plugin */
.niver-premios-lista *,
.niver-premios-resgatar * {
    box-sizing: border-box !important;
}

/* Isolamento específico para botões - Força especificidade máxima */
html body .niver-premios-lista .button,
html body .niver-premios-resgatar .button,
html body .niver-premios-lista button,
html body .niver-premios-resgatar button,
html body .niver-premios-lista input[type="submit"],
html body .niver-premios-resgatar input[type="submit"],
html body .niver-premios-lista .resgatar-btn,
html body .niver-premios-resgatar .resgatar-btn,
html body .niver-premios-lista .proximo-premio-btn,
html body .niver-premios-resgatar .proximo-premio-btn,
html body .niver-premios-lista .proximo-btn,
html body .niver-premios-resgatar .proximo-btn {
    /* Reset completo usando all: unset */
    all: unset !important;
    
    /* Estilos base forçados */
    background-color: #0073aa !important;
    color: white !important;
    padding: 12px 24px !important;
    border: none !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    font-size: 16px !important;
    text-decoration: none !important;
    display: inline-block !important;
    transition: all 0.3s ease !important;
    font-family: 'Raleway', sans-serif !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    text-align: center !important;
    vertical-align: middle !important;
    white-space: nowrap !important;
    user-select: none !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    outline: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    
    /* Reset de propriedades específicas do Elementor */
    box-shadow: none !important;
    text-shadow: none !important;
    background-image: none !important;
    background-size: auto !important;
    background-repeat: repeat !important;
    background-position: 0% 0% !important;
    background-attachment: scroll !important;
    background-origin: padding-box !important;
    background-clip: border-box !important;
    transform: none !important;
    -webkit-transform: none !important;
    -moz-transform: none !important;
    -ms-transform: none !important;
    filter: none !important;
    -webkit-filter: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    
    /* Reset de border-radius específico */
    border-top-left-radius: 4px !important;
    border-top-right-radius: 4px !important;
    border-bottom-right-radius: 4px !important;
    border-bottom-left-radius: 4px !important;
    
    /* Reset de border específico */
    border-top: none !important;
    border-right: none !important;
    border-bottom: none !important;
    border-left: none !important;
    border-style: none !important;
    border-width: 0 !important;
    border-color: transparent !important;
}

/* Estilos específicos para botões de resgate */
html body .niver-premios-lista .resgatar-btn,
html body .niver-premios-resgatar .resgatar-btn {
    background-color: #28a745 !important;
    padding: 8px 16px !important;
    font-size: 14px !important;
}

/* Estilos específicos para botões próximo-premio-btn */
html body .niver-premios-lista .proximo-premio-btn,
html body .niver-premios-resgatar .proximo-premio-btn {
    background-color: #28a745 !important;
    padding: 10px 20px !important;
    font-size: 14px !important;
    border-radius: 6px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

/* Estilos específicos para botões próximo-btn */
html body .niver-premios-lista .proximo-btn,
html body .niver-premios-resgatar .proximo-btn {
    background-color: #007cba !important;
    padding: 15px 30px !important;
    font-size: 18px !important;
    font-weight: 600 !important;
}

/* Estados hover com especificidade máxima */
html body .niver-premios-lista .button:hover,
html body .niver-premios-resgatar .button:hover,
html body .niver-premios-lista button:hover,
html body .niver-premios-resgatar button:hover,
html body .niver-premios-lista input[type="submit"]:hover,
html body .niver-premios-resgatar input[type="submit"]:hover,
html body .niver-premios-lista .resgatar-btn:hover,
html body .niver-premios-resgatar .resgatar-btn:hover,
html body .niver-premios-lista .proximo-premio-btn:hover,
html body .niver-premios-resgatar .proximo-premio-btn:hover,
html body .niver-premios-lista .proximo-btn:hover,
html body .niver-premios-resgatar .proximo-btn:hover {
    background-color: #005a87 !important;
    color: white !important;
    text-decoration: none !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
    background-image: none !important;
    text-shadow: none !important;
    border: none !important;
    border-radius: 4px !important;
}

/* Hover específico para botões de resgate */
html body .niver-premios-lista .resgatar-btn:hover,
html body .niver-premios-resgatar .resgatar-btn:hover,
html body .niver-premios-lista .proximo-premio-btn:hover,
html body .niver-premios-resgatar .proximo-premio-btn:hover {
    background-color: #218838 !important;
}

/* Estados active com especificidade máxima */
html body .niver-premios-lista .button:active,
html body .niver-premios-resgatar .button:active,
html body .niver-premios-lista button:active,
html body .niver-premios-resgatar button:active,
html body .niver-premios-lista input[type="submit"]:active,
html body .niver-premios-resgatar input[type="submit"]:active,
html body .niver-premios-lista .resgatar-btn:active,
html body .niver-premios-resgatar .resgatar-btn:active,
html body .niver-premios-lista .proximo-premio-btn:active,
html body .niver-premios-resgatar .proximo-premio-btn:active,
html body .niver-premios-lista .proximo-btn:active,
html body .niver-premios-resgatar .proximo-btn:active {
    background-color: #004a73 !important;
    transform: translateY(0) !important;
    box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important;
    background-image: none !important;
    text-shadow: none !important;
    border: none !important;
    border-radius: 4px !important;
}

/* Active específico para botões de resgate */
html body .niver-premios-lista .resgatar-btn:active,
html body .niver-premios-resgatar .resgatar-btn:active,
html body .niver-premios-lista .proximo-premio-btn:active,
html body .niver-premios-resgatar .proximo-premio-btn:active {
    background-color: #1e7e34 !important;
}

/* Pseudo-elemento para botão próximo-premio-btn */
html body .niver-premios-lista .proximo-premio-btn::after,
html body .niver-premios-resgatar .proximo-premio-btn::after {
    content: '→' !important;
    font-size: 16px !important;
    font-weight: bold !important;
}

/* Isolamento de campos de input */
html body .niver-premios-lista .form-group input,
html body .niver-premios-resgatar .form-group input,
html body .niver-premios-lista .form-group select,
html body .niver-premios-resgatar .form-group select {
    all: unset !important;
    flex: 1 !important;
    padding: 12px 16px !important;
    border: 2px solid #e1e1e1 !important;
    border-radius: 8px !important;
    font-family: 'Raleway', sans-serif !important;
    font-size: 16px !important;
    transition: border-color 0.3s ease !important;
    background: #fff !important;
    color: #333 !important;
    box-sizing: border-box !important;
    width: 100% !important;
    margin: 0 !important;
    outline: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    line-height: 1.4 !important;
    vertical-align: middle !important;
}

html body .niver-premios-lista .form-group input:focus,
html body .niver-premios-resgatar .form-group input:focus,
html body .niver-premios-lista .form-group select:focus,
html body .niver-premios-resgatar .form-group select:focus {
    outline: none !important;
    border-color: #007cba !important;
    box-shadow: 0 0 0 1px #007cba !important;
}

/* Isolamento de labels */
html body .niver-premios-lista .form-group label,
html body .niver-premios-resgatar .form-group label {
    all: unset !important;
    display: block !important;
    margin-bottom: 5px !important;
    font-weight: 500 !important;
    color: #333 !important;
    font-family: 'Raleway', sans-serif !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
}

/* Isolamento de grupos de formulário */
html body .niver-premios-lista .form-group,
html body .niver-premios-resgatar .form-group {
    all: unset !important;
    margin-bottom: 20px !important;
    display: flex !important;
    gap: 10px !important;
    align-items: center !important;
    box-sizing: border-box !important;
}

/* Responsividade para mobile */
@media (max-width: 768px) {
    html body .niver-premios-lista .form-group,
    html body .niver-premios-resgatar .form-group {
        flex-direction: column !important;
    }
    
    html body .niver-premios-lista .form-group input,
    html body .niver-premios-resgatar .form-group input,
    html body .niver-premios-lista .form-group select,
    html body .niver-premios-resgatar .form-group select {
        width: 100% !important;
    }
} 