/* 
 * Woodmart Cart Fix v8
 * Arquivo CSS para corrigir e estilizar o carrinho lateral do tema Woodmart
 * Nenhuma alteração no CSS nesta versão, a correção é no JS.
 */

/* ===== CORES PERSONALIZADAS ===== */
:root {
    --custom-orange: #F7AA76;
}

/* ===== ESTRUTURA GERAL DO CARRINHO ===== */

/* Adiciona scroll ao corpo do carrinho */
.cart-widget-side .widget_shopping_cart_content {
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Cria a estrutura de body com scroll */
.cart-widget-side .elementor-menu-cart__products {
    flex: 1;
    overflow-y: auto;
    padding: 15px 20px;
    margin-bottom: 0;
}

/* Cria o footer do carrinho */
.cart-widget-side .elementor-menu-cart__subtotal,
.cart-widget-side .elementor-menu-cart__footer-buttons {
    flex-shrink: 0;
    padding: 15px 20px;
    border-top: 1px solid #e8e8e8;
    background: #fff;
}

/* ===== ESTILIZAÇÃO DOS ITENS DO CARRINHO ===== */

/* Transforma os divs em lista visual */
.cart-widget-side .elementor-menu-cart__product {
    display: flex;
    align-items: flex-start;
    padding: 15px 0;
    border-bottom: 1px solid #f0f0f0;
    position: relative;
    margin-bottom: 0;
}

.cart-widget-side .elementor-menu-cart__product:last-child {
    border-bottom: none;
}

/* ===== IMAGEM DO PRODUTO ===== */
.cart-widget-side .elementor-menu-cart__product-image {
    flex-shrink: 0;
    width: 60px;
    height: 60px;
    margin-right: 15px;
    border-radius: 4px;
    overflow: hidden;
}

.cart-widget-side .elementor-menu-cart__product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ===== INFORMAÇÕES DO PRODUTO ===== */
.cart-widget-side .elementor-menu-cart__product-name {
    flex: 1;
    margin-right: 10px;
}

.cart-widget-side .elementor-menu-cart__product-name a {
    color: #333;
    text-decoration: none;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.4;
    display: block;
    margin-bottom: 5px;
}

.cart-widget-side .elementor-menu-cart__product-name a:hover {
    color: var(--custom-orange);
}

/* Variações do produto */
.cart-widget-side .variation {
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 12px;
    color: #666;
}

.cart-widget-side .variation li {
    margin: 0;
    padding: 0;
}

.cart-widget-side .item-variation-name {
    font-weight: 500;
}

.cart-widget-side .item-variation-value p {
    margin: 0;
    display: inline;
}

/* ===== PREÇO DO PRODUTO ===== */
.cart-widget-side .elementor-menu-cart__product-price {
    position: absolute;
    top: 15px;
    right: 30px;
    font-size: 14px;
    color: #333;
}

.cart-widget-side .product-quantity {
    font-weight: 500;
}

.cart-widget-side .woocommerce-Price-amount {
    font-weight: 600;
    color: var(--custom-orange); /* Cor personalizada */
}

.cart-widget-side .wd-price-unit {
    font-size: 12px;
    color: #666;
    margin-left: 5px;
}

/* ===== BOTÃO DE REMOVER ===== */
.cart-widget-side .elementor-menu-cart__product-remove {
    position: absolute;
    top: 15px;
    right: 0;
    width: 20px;
    height: 20px;
}

.cart-widget-side .elementor-menu-cart__product-remove a {
    display: block;
    width: 20px;
    height: 20px;
    text-align: center;
    line-height: 18px;
    font-size: 16px;
    color: #999;
    text-decoration: none;
    border: 1px solid #ddd;
    border-radius: 50%;
    background: #fff;
    transition: all 0.3s ease;
    /* Garante que o \'X\' seja visível */
    text-indent: 0; 
    overflow: visible;
}

.cart-widget-side .elementor-menu-cart__product-remove a:hover {
    color: #fff;
    background: #e74c3c;
    border-color: #e74c3c;
}

/* Esconde o segundo link duplicado */
.cart-widget-side .elementor-menu-cart__product-remove a.remove_from_cart_button {
    display: none;
}

/* ===== SUBTOTAL ===== */
.cart-widget-side .elementor-menu-cart__subtotal {
    font-size: 19px; /* Aumentado em 3px (16px + 3px = 19px) */
    font-weight: 600;
    color: #333;
    text-align: center;
    margin-bottom: 0;
    padding-bottom: 15px; /* Adiciona padding para a linha */
    border-bottom: 1px solid #e8e8e8; /* Linha cinza abaixo do subtotal */
}

.cart-widget-side .elementor-menu-cart__subtotal strong {
    font-size: inherit; /* Faz o texto \'Subtotal\' ter o mesmo tamanho do valor */
}

.cart-widget-side .elementor-menu-cart__subtotal .woocommerce-Price-amount {
    color: var(--custom-orange); /* Cor personalizada */
    font-size: 19px; /* Sincroniza com o tamanho do texto \'Subtotal\' */
}

/* ===== BARRA DE PROGRESSO DE FRETE GRÁTIS ===== */
.cart-widget-side .wd-free-shipping-progress {
    margin: 15px 25px 15px 25px; /* 5px para a direita e esquerda */
    padding: 10px 0;
}

.cart-widget-side .free-shipping-progress-msg {
    font-size: 15px; /* Diminui 2px do 17px = 15px */
    color: #666;
    text-align: center;
    margin-bottom: 10px;
}

.cart-widget-side .free-shipping-progress-msg strong {
    color: var(--custom-orange); /* Cor personalizada */
}

.cart-widget-side .free-shipping-progress-msg .free-shipping-achieved-msg {
    color: var(--custom-orange); /* Cor personalizada para a mensagem de sucesso */
}

.cart-widget-side .free-shipping-progress-bar {
    height: 6px;
    background: #f0f0f0;
    border-radius: 3px;
    overflow: hidden;
    position: relative;
}

.cart-widget-side .free-shipping-progress-fill {
    height: 100%;
    background: var(--custom-orange); /* Cor personalizada */
    border-radius: 3px;
    transition: width 0.3s ease;
    position: relative;
    overflow: hidden;
}

/* Animação de listras brancas */
.cart-widget-side .free-shipping-progress-fill::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 200%;
    height: 100%;
    background: linear-gradient(
        45deg,
        rgba(255, 255, 255, 0.15) 25%,
        transparent 25%,
        transparent 50%,
        rgba(255, 255, 255, 0.15) 50%,
        rgba(255, 255, 255, 0.15) 75%,
        transparent 75%,
        transparent
    );
    background-size: 30px 30px;
    animation: progress-stripes 1s linear infinite;
}

@keyframes progress-stripes {
    from { background-position: 0 0; }
    to { background-position: 30px 0; }
}

/* ===== BOTÕES DE AÇÃO ===== */
.cart-widget-side .elementor-menu-cart__footer-buttons {
    display: flex;
    flex-direction: column; /* Botões um em cima do outro */
    gap: 10px;
    margin-top: 0;
    padding: 15px 20px; /* Mantém o padding lateral */
}

.cart-widget-side .elementor-button {
    width: calc(100% - 0px); /* Ocupa quase todo o comprimento, ajustado pelo padding do pai */
    padding: 12px 20px;
    border: none;
    border-radius: 55px; /* Bordas mais arredondadas (40px + 15px = 55px) */
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    text-align: center;
    transition: all 0.3s ease;
    cursor: pointer;
    display: block; /* Garante que ocupe a largura total */
}

/* Botão Ver Carrinho */
.cart-widget-side .elementor-button--view-cart {
    background: #f8f9fa;
    color: var(--custom-orange); /* Cor personalizada */
    border: 1px solid var(--custom-orange); /* Borda na cor personalizada */
}

.cart-widget-side .elementor-button--view-cart:hover {
    background: var(--custom-orange);
    color: #fff;
}

/* Botão Finalizar Compra */
.cart-widget-side .elementor-button--checkout {
    background: var(--custom-orange); /* Cor personalizada */
    color: #fff;
}

.cart-widget-side .elementor-button--checkout:hover {
    background: #e08e5e; /* Um tom um pouco mais escuro para o hover */
    color: #fff;
}

/* ===== ANIMAÇÕES ===== */
.cart-widget-side .elementor-menu-cart__product {
    animation: fadeInUp 0.3s ease;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ===== MELHORIAS VISUAIS ===== */

/* Sombra sutil nos itens */
.cart-widget-side .elementor-menu-cart__product:hover {
    background: #fafafa;
    transition: background 0.2s ease;
}

/* Melhora o contraste do texto */
.cart-widget-side .elementor-menu-cart__product-name a {
    color: #2c3e50;
}

/* Estiliza melhor o preço */
.cart-widget-side .woocommerce-Price-currencySymbol {
    font-weight: normal;
}

/* Melhora o espaçamento geral */
.cart-widget-side .widget_shopping_cart_content {
    padding: 0;
}

/* Ajusta o cabeçalho */
.cart-widget-side .wd-heading {
    padding: 20px;
    border-bottom: 1px solid #e8e8e8;
    background: #fff;
}

.cart-widget-side .wd-heading .title {
    font-size: 18px;
    font-weight: 600;
    color: #2c3e50;
}

/* Botão de fechar */
.cart-widget-side .close-side-widget a {
    color: #666;
    text-decoration: none;
    font-size: 14px;
}

.cart-widget-side .close-side-widget a:hover {
    color: #333;
}

/* Notificações personalizadas */
.cartfix-notification {
    position: fixed;
    top: 20px;
    right: 20px;
    background: var(--custom-orange); /* Cor personalizada */
    color: white;
    padding: 15px 20px;
    border-radius: 4px;
    z-index: 9999;
    font-size: 14px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    transform: translateX(100%);
    transition: transform 0.3s ease;
}

.cartfix-notification.cartfix-notification--success {
    background: var(--custom-orange); /* Cor personalizada */
}

.cartfix-notification.cartfix-notification--info {
    background: #2196F3;
}

/* Mensagem de carrinho vazio */
.cart-widget-side .woocommerce-mini-cart__empty-message {
    text-align: center;
    padding: 50px 20px;
    font-size: 18px;
    color: #666;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

/* ===== RESPONSIVIDADE ===== */
@media (max-width: 768px) {
    .cart-widget-side .elementor-menu-cart__product-image {
        width: 50px;
        height: 50px;
        margin-right: 10px;
    }
    
    .cart-widget-side .elementor-menu-cart__product-name a {
        font-size: 13px;
    }
    
    .cart-widget-side .elementor-menu-cart__product-price {
        font-size: 13px;
        right: 25px;
    }
    
    .cart-widget-side .elementor-button {
        padding: 10px 15px;
        font-size: 13px;
    }
}

