/**
 * Estilos para o simulador de frete
 */


#decenvios-simulator {border-top: 1px solid #e5e5e5;}

#decenvios-simulator .card-body {
}

#decenvios-simulator h3 {
    color: #333;
    font-weight: 600;
    margin: 0;
    white-space: nowrap;
}

#decenvios-simulator h3 .material-icons {
    vertical-align: middle;
    margin-right: 0.5rem;
    font-size: 2rem;
}

#decenvios-simulator .alert.alert-info.mb-3 {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    border-color: #d4b432;
    color: #d4b432;
    border-radius: 13px;
}


#decenvios-cep {
    padding: 0.75rem;
}

#decenvios-calcular {
    font-weight: 600;
    transition: all 0.3s 
ease;
    margin-left: 10px;
    padding: 3px 6px;
}

#decenvios-calcular:hover {
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

#decenvios-calcular:disabled {
    cursor: not-allowed;
    opacity: 0.6;
}

#decenvios-loading {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 1rem;
    animation: fadeIn 0.3s ease;
}

#decenvios-loading .material-icons {
    animation: spin 1s linear infinite;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.spin {
    animation: spin 1s linear infinite;
}

@keyframes fadeIn {
    from { 
        opacity: 0;
        transform: translateY(-10px);
    }
    to { 
        opacity: 1;
        transform: translateY(0);
    }
}

#decenvios-result {
    margin-top: 1rem;
    animation: fadeIn 0.5s ease;
}

#decenvios-result .alert {
    margin-bottom: 0;
}

#decenvios-result .alert-heading {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}

#decenvios-result .alert-heading .material-icons {
    font-size: 1.5rem;
}


#decenvios-result strong {
    color: #555;
    display: inline-block;
    min-width: 140px;
}

#decenvios-valor {
    font-size: 1.25rem;
    font-weight: 700;
}

#decenvios-error {
    margin-top: 1rem;
    animation: shake 0.5s ease;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

#decenvios-error .material-icons {
    font-size: 1.25rem;
}

@keyframes shake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-10px); }
    75% { transform: translateX(10px); }
}

.animated-success {
    animation: pulse 0.5s ease;
}

@keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.02); }
    100% { transform: scale(1); }
}

/* AnimaÃ§Ã£o para linha de frete atualizada */
.frete-atualizado {
    animation: highlightFrete 2s ease;
}

@keyframes highlightFrete {
    0%, 100% { 
        background-color: transparent;
    }
    50% { 
        background-color: #d4edda;
        padding: 0.5rem;
        border-radius: 4px;
    }
}

/* AnimaÃ§Ã£o para total atualizado */
.total-atualizado {
    animation: highlightTotal 2s ease;
    font-weight: 700 !important;
    font-size: 1.1em !important;
}

@keyframes highlightTotal {
    0%, 100% { 
        background-color: transparent;
        color: inherit;
    }
    50% { 
        background-color: #28a745;
        color: white !important;
        padding: 4px 12px;
        border-radius: 4px;
        box-shadow: 0 2px 8px rgba(40, 167, 69, 0.3);
    }
}

/* Responsividade */
@media (max-width: 768px) {
    #decenvios-simulator .card-body {
        padding: 1rem;
    }
    
    #decenvios-result .col-md-6 {
        margin-bottom: 0.5rem;
    }
    
    #decenvios-result strong {
        display: block;
    }
}