/* ==============================================
   GLOBAL MODALS - Sistema de Modais Reutilizáveis
   ============================================== */

/* Estilos personalizados para modals */
.global-modal-success {
    border-top: 4px solid #28a745 !important;
}

.global-modal-error {
    border-top: 4px solid #dc3545 !important;
}

.global-modal-warning {
    border-top: 4px solid #ffc107 !important;
}

.global-modal-info {
    border-top: 4px solid #17a2b8 !important;
}

.global-modal-question {
    border-top: 4px solid #6f42c1 !important;
}

/* Ícones grandes */
.global-icon-large .swal2-icon {
    width: 80px !important;
    height: 80px !important;
    border-width: 4px !important;
    margin: 20px auto 30px !important;
}

/* Ícone de sucesso */
.global-icon-large .swal2-icon.swal2-success {
    border-color: #28a745 !important;
}

.global-icon-large .swal2-icon.swal2-success .swal2-success-ring {
    border-color: #28a745 !important;
}

.global-icon-large .swal2-icon.swal2-success .swal2-success-fix {
    background-color: #28a745 !important;
}

/* Ícone de erro */
.global-icon-large .swal2-icon.swal2-error {
    border-color: #dc3545 !important;
}

.global-icon-large .swal2-icon.swal2-error .swal2-x-mark {
    background-color: #dc3545 !important;
}

/* Ícone de pergunta */
.global-icon-large .swal2-icon.swal2-question {
    border-color: #6f42c1 !important;
    color: #6f42c1 !important;
}

/* Ícone de warning */
.global-icon-large .swal2-icon.swal2-warning {
    border-color: #ffc107 !important;
    color: #ffc107 !important;
}

/* Ícone de info */
.global-icon-large .swal2-icon.swal2-info {
    border-color: #17a2b8 !important;
    color: #17a2b8 !important;
}

/* Tipografia */
.swal2-title {
    font-size: 24px !important;
    font-weight: 600 !important;
    margin-bottom: 10px !important;
}

.swal2-html-container {
    margin: 20px 0 !important;
    font-size: 16px !important;
}

/* Botões */
.swal2-confirm, .swal2-cancel {
    font-size: 16px !important;
    padding: 12px 30px !important;
    border-radius: 8px !important;
    font-weight: 500 !important;
    transition: all 0.3s ease !important;
}

.swal2-confirm:hover, .swal2-cancel:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
}

/* Modal container */
.swal2-popup {
    border-radius: 15px !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.2) !important;
}

/* Backdrop com blur */
.swal2-backdrop {
    backdrop-filter: blur(5px) !important;
}

/* Loading customizado */
.global-loading .swal2-popup {
    border-top: 4px solid #007bff !important;
}

/* Cores específicas para diferentes contextos */
.global-modal-primary .swal2-confirm {
    background-color: #007bff !important;
    border-color: #007bff !important;
}

.global-modal-success .swal2-confirm {
    background-color: #28a745 !important;
    border-color: #28a745 !important;
}

.global-modal-error .swal2-confirm {
    background-color: #dc3545 !important;
    border-color: #dc3545 !important;
}

.global-modal-warning .swal2-confirm {
    background-color: #ffc107 !important;
    border-color: #ffc107 !important;
    color: #212529 !important;
}

.global-modal-info .swal2-confirm {
    background-color: #17a2b8 !important;
    border-color: #17a2b8 !important;
}

/* Responsividade */
@media (max-width: 768px) {
    .global-icon-large .swal2-icon {
        width: 60px !important;
        height: 60px !important;
    }
    
    .swal2-title {
        font-size: 20px !important;
    }
    
    .swal2-html-container {
        font-size: 14px !important;
    }
} 