/* ===============================================
   CART 2026 - Estilos Customizados com !important
   =============================================== */

/* Reset de estilos que podem conflitar */
.cart-reset * {
    box-sizing: border-box;
}

/* Botão Principal do Carrinho */
.cart-btn-primary {
    background: linear-gradient(to right, #ec4899, #a855f7) !important;
    color: white !important;
    font-weight: 900 !important;
    padding: 1rem !important;
    border-radius: 0.75rem !important;
    box-shadow: 0 10px 15px -3px rgba(236, 72, 153, 0.4) !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.5rem !important;
    width: 100% !important;
    border: none !important;
    cursor: pointer !important;
}

.cart-btn-primary:hover {
    box-shadow: 0 20px 25px -5px rgba(236, 72, 153, 0.5) !important;
    transform: scale(1.02) !important;
}

.cart-btn-primary:active {
    transform: scale(0.95) !important;
}

/* Header do Resumo - Forçar gradiente rosa/roxo */
.cart-summary-header {
    background: linear-gradient(to right, #ec4899, #a855f7) !important;
    color: white !important;
    padding: 1.5rem !important;
    border-top-left-radius: 1rem !important;
    border-top-right-radius: 1rem !important;
}

.cart-summary-header h2,
.cart-summary-header * {
    color: white !important;
    background: transparent !important;
}

/* Glassmorphism Card */
.cart-glass-card {
    background: rgba(255, 255, 255, 0.8) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    border-radius: 1.5rem !important;
    padding: 1.5rem !important;
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.08) !important;
}

/* Remover setas dos inputs de número */
.cart-no-arrows::-webkit-inner-spin-button,
.cart-no-arrows::-webkit-outer-spin-button {
    -webkit-appearance: none !important;
    appearance: none !important;
    margin: 0 !important;
}

.cart-no-arrows {
    -moz-appearance: textfield !important;
    appearance: textfield !important;
}

/* Animação Fade In Up */
@keyframes cartFadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.cart-fade-in-up {
    animation: cartFadeInUp 0.6s ease-out backwards;
}

/* Badge de Segurança */
.cart-security-badge {
    background-color: #f0fdf4 !important;
    border: 1px solid #bbf7d0 !important;
    border-radius: 0.75rem !important;
    padding: 0.75rem !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
}

/* Input de formulário customizado */
.cart-input-wrapper {
    position: relative !important;
    width: 100% !important;
}

.cart-input-icon {
    position: absolute !important;
    top: 50% !important;
    left: 0.75rem !important;
    transform: translateY(-50%) !important;
    pointer-events: none !important;
    z-index: 10 !important;
}

.cart-input {
    width: 100% !important;
    padding-left: 2.5rem !important;
    padding-right: 1rem !important;
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
    font-size: 0.875rem !important;
    border: 2px solid #e5e7eb !important;
    background-color: white !important;
    border-radius: 0.75rem !important;
    transition: all 0.2s !important;
}

.cart-input:focus {
    outline: 2px solid #ec4899 !important;
    outline-offset: 2px !important;
    border-color: #ec4899 !important;
}

/* Gradiente de texto (preço total) - Corrigir */
.cart-gradient-text {
    background: linear-gradient(to right, #db2777, #a855f7) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    font-weight: 900 !important;
}

/* Forçar texto normal (sem background) para labels e texto */
.cart-text-normal {
    background: transparent !important;
    color: inherit !important;
}

/* Controles de quantidade */
.cart-quantity-btn {
    padding: 0.5rem 0.75rem !important;
    background-color: white !important;
    border: 2px solid #e5e7eb !important;
    border-radius: 0.75rem !important;
    transition: all 0.2s !important;
    cursor: pointer !important;
}

.cart-quantity-btn:hover {
    background-color: #fce7f3 !important;
    border-color: #f9a8d4 !important;
}

.cart-quantity-btn:active {
    transform: scale(0.95) !important;
}

/* Container de quantidade */
.cart-quantity-container {
    display: flex !important;
    align-items: center !important;
    background-color: white !important;
    border: 2px solid #e5e7eb !important;
    border-radius: 0.75rem !important;
    overflow: hidden !important;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1) !important;
}

.cart-quantity-container:hover {
    border-color: #f9a8d4 !important;
}