/* Custom Purple Theme - Botões Roxos */

/* Variáveis CSS para cores roxas */
:root {
    --purple-primary: #6f42c1;
    --purple-primary-hover: #5a359a;
    --purple-primary-active: #4e2d87;
    --purple-light: #8b5cf6;
    --purple-dark: #553c9a;
    --purple-gradient-start: #6f42c1;
    --purple-gradient-end: #8b5cf6;
}

/* Botão principal (btn-theme) */
.btn-theme {
    background-color: var(--purple-primary) !important;
    border-color: var(--purple-primary) !important;
    color: #ffffff !important;
}

.btn-theme:hover {
    background-color: var(--purple-primary-hover) !important;
    border-color: var(--purple-primary-hover) !important;
    color: #ffffff !important;
}

.btn-theme:focus,
.btn-theme.focus {
    background-color: var(--purple-primary-hover) !important;
    border-color: var(--purple-primary-hover) !important;
    box-shadow: 0 0 0 0.2rem rgba(111, 66, 193, 0.25) !important;
}

.btn-theme:active,
.btn-theme.active {
    background-color: var(--purple-primary-active) !important;
    border-color: var(--purple-primary-active) !important;
}

/* Botão primário */
.btn-primary {
    background-color: var(--purple-primary) !important;
    border-color: var(--purple-primary) !important;
}

.btn-primary:hover {
    background-color: var(--purple-primary-hover) !important;
    border-color: var(--purple-primary-hover) !important;
}

.btn-primary:focus,
.btn-primary.focus {
    background-color: var(--purple-primary-hover) !important;
    border-color: var(--purple-primary-hover) !important;
    box-shadow: 0 0 0 0.2rem rgba(111, 66, 193, 0.25) !important;
}

.btn-primary:active,
.btn-primary.active {
    background-color: var(--purple-primary-active) !important;
    border-color: var(--purple-primary-active) !important;
}

/* Botão outline theme */
.btn-outline-theme {
    color: var(--purple-primary) !important;
    border-color: var(--purple-primary) !important;
}

.btn-outline-theme:hover {
    background-color: var(--purple-primary) !important;
    border-color: var(--purple-primary) !important;
    color: #ffffff !important;
}

.btn-outline-theme:focus,
.btn-outline-theme.focus {
    box-shadow: 0 0 0 0.2rem rgba(111, 66, 193, 0.25) !important;
}

/* Links com cor theme */
.text-theme,
.text-primary {
    color: var(--purple-primary) !important;
}

.text-theme:hover,
.text-primary:hover {
    color: var(--purple-primary-hover) !important;
}

/* Elementos de formulário com foco */
.form-control:focus {
    border-color: var(--purple-light) !important;
    box-shadow: 0 0 0 0.2rem rgba(111, 66, 193, 0.15) !important;
}

/* Checkbox e radio buttons */
.form-check-input:checked {
    background-color: var(--purple-primary) !important;
    border-color: var(--purple-primary) !important;
}

.form-check-input:focus {
    border-color: var(--purple-light) !important;
    box-shadow: 0 0 0 0.25rem rgba(111, 66, 193, 0.15) !important;
}

/* Switch buttons */
.form-switch .form-check-input:checked {
    background-color: var(--purple-primary) !important;
    border-color: var(--purple-primary) !important;
}

/* Progress bars */
.progress-bar {
    background-color: var(--purple-primary) !important;
}

/* Badges */
.badge.bg-primary,
.badge.bg-theme {
    background-color: var(--purple-primary) !important;
}

/* Alerts */
.alert-primary {
    color: #2d1b69 !important;
    background-color: #e7e1f7 !important;
    border-color: #d1c4ed !important;
}

/* Navbar e sidebar (se aplicável) */
.navbar-theme {
    background-color: var(--purple-primary) !important;
}

/* Gradientes roxos */
.bg-gradient-purple {
    background: linear-gradient(135deg, var(--purple-gradient-start) 0%, var(--purple-gradient-end) 100%) !important;
}

/* Hover effects para cards e elementos interativos */
.card:hover {
    border-color: var(--purple-light) !important;
}

/* Botões de ação específicos */
.btn-success {
    background-color: var(--purple-primary) !important;
    border-color: var(--purple-primary) !important;
}

.btn-success:hover {
    background-color: var(--purple-primary-hover) !important;
    border-color: var(--purple-primary-hover) !important;
}

/* Spinner/Loading com cor roxa */
.spinner {
    border-top-color: var(--purple-primary) !important;
}

/* Customização para elementos específicos do tema */
.theme-list-item.active .theme-list-link {
    background-color: var(--purple-primary) !important;
}

/* Botões de scroll to top */
.btn-scroll-to-top {
    background-color: var(--purple-primary) !important;
    border-color: var(--purple-primary) !important;
}

.btn-scroll-to-top:hover {
    background-color: var(--purple-primary-hover) !important;
    border-color: var(--purple-primary-hover) !important;
}

/* Responsividade para dispositivos móveis */
@media (max-width: 768px) {
    .btn-theme,
    .btn-primary {
        padding: 12px 20px !important;
        font-size: 14px !important;
    }
}

/* Animações suaves para transições */
.btn-theme,
.btn-primary,
.btn-outline-theme {
    transition: all 0.3s ease !important;
}

/* Estados disabled */
.btn-theme:disabled,
.btn-primary:disabled {
    background-color: #6c757d !important;
    border-color: #6c757d !important;
    opacity: 0.65 !important;
}