.elementor-103 .elementor-element.elementor-element-876c902{--display:flex;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}body.elementor-page-103:not(.elementor-motion-effects-element-type-background), body.elementor-page-103 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F5F1E8;}/* Start custom CSS for text-editor, class: .elementor-element-169856ce *//* ================================================================
   ESTILOS DO CARRINHO — WHITE MANUSCRIPT (VERSÃO COMPLETA)
   ================================================================
   Cobre: mensagens (sucesso, info, erro), carrinho vazio,
   tabela, totais, botões e retorno à loja.
   ================================================================ */

/* --- Container principal --- */
.woocommerce {
    background: #F5F1E8 !important;
    color: #1C1A17 !important;
    font-family: 'Inter', sans-serif !important;
    padding: 40px 20px !important;
    max-width: 1240px !important;
    margin: 0 auto !important;
}

/* --- Wrapper e Mensagens de notificação --- */
.woocommerce-notices-wrapper {
    margin-bottom: 30px !important;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.cart-empty {
    background: #FFFDF8 !important;
    border-radius: 12px !important;
    border: 1px solid #D8C7A5 !important;
    border-left-width: 4px !important;
    border-left-style: solid !important;
    box-shadow: 0 4px 16px rgba(28,26,23,0.09) !important;
    padding: 18px 24px !important;
    margin-bottom: 16px !important;
    font-family: 'Cormorant Garamond', serif !important;
    font-size: 1.05rem !important;
    color: #1C1A17 !important;
    list-style: none !important;
}

.woocommerce-message {
    border-left-color: #4A7C59 !important; /* verde */
}
.woocommerce-info,
.cart-empty {
    border-left-color: #7C91B8 !important; /* azul */
}
.woocommerce-error {
    border-left-color: #9B3A3A !important; /* vermelho */
}

/* Links dentro das mensagens (inclui "Desfazer?" e "Ver carrinho") */
.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a,
.cart-empty a {
    color: #B88A3B !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    border-bottom: 1px solid transparent !important;
    transition: border-color 0.2s ease !important;
}
.woocommerce-message a:hover,
.woocommerce-info a:hover,
.woocommerce-error a:hover,
.cart-empty a:hover {
    border-bottom-color: #B88A3B !important;
}

/* Botões especiais dentro das mensagens (wc-forward, restore-item) */
.woocommerce-message .button.wc-forward,
.woocommerce-info .button.wc-forward,
.woocommerce-message .restore-item,
.woocommerce-info .restore-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 8px 18px !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #F5E6C8, #D9B96E) !important;
    border: 1.5px solid #B88A3B !important;
    color: #4A3720 !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 700 !important;
    font-size: 0.85rem !important;
    box-shadow: 0 2px 10px rgba(184,138,59,0.25) !important;
    transition: all 0.25s ease !important;
    text-decoration: none !important;
    margin-left: 10px !important;
}
.woocommerce-message .button.wc-forward:hover,
.woocommerce-info .button.wc-forward:hover,
.woocommerce-message .restore-item:hover,
.woocommerce-info .restore-item:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 18px rgba(184,138,59,0.4) !important;
    filter: brightness(1.05) !important;
}

/* --- Mensagem de carrinho vazio --- */
.cart-empty {
    text-align: center !important;
    font-size: 1.2rem !important;
    padding: 40px 20px !important;
}

/* --- Botão "Retornar para a loja" --- */
.return-to-shop {
    text-align: center !important;
    margin-top: 30px !important;
}
.return-to-shop .button.wc-backward {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 12px 32px !important;
    border-radius: 999px !important;
    border: 1.5px solid #B88A3B !important;
    background: #FFFDF8 !important;
    color: #1C1A17 !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
    font-size: 0.9rem !important;
    box-shadow: 0 4px 14px rgba(28,26,23,0.08) !important;
    transition: all 0.25s ease !important;
    text-decoration: none !important;
}
.return-to-shop .button.wc-backward:hover {
    transform: translateY(-2px) !important;
    border-color: var(--gold, #B88A3B) !important;
    background: #F5F1E8 !important;
    box-shadow: 0 8px 22px rgba(184,138,59,0.25) !important;
}

/* --- Tabela do carrinho (quando há itens) --- */
.woocommerce-cart-form {
    background: #FFFDF8 !important;
    border-radius: 18px !important;
    border: 1px solid #D8C7A5 !important;
    box-shadow: 0 6px 24px rgba(28,26,23,0.10) !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.shop_table.cart {
    border-collapse: collapse !important;
    width: 100% !important;
    margin: 0 !important;
    font-size: 0.95rem !important;
    background: transparent !important;
}

.shop_table.cart thead {
    background: #F5F1E8 !important;
    border-bottom: 2px solid #D8C7A5 !important;
}
.shop_table.cart thead th {
    font-family: 'Cinzel', serif !important;
    font-weight: 600 !important;
    font-size: 0.8rem !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    color: #665C4E !important;
    padding: 16px 18px !important;
    border: none !important;
}

.shop_table.cart tbody tr {
    border-bottom: 1px solid #EDE9DF !important;
}
.shop_table.cart tbody tr:last-child {
    border-bottom: none !important;
}
.shop_table.cart td {
    padding: 16px 18px !important;
    vertical-align: middle !important;
    border: none !important;
    background: transparent !important;
}

/* Célula de remoção */
.product-remove .remove {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    background: transparent !important;
    color: #A89880 !important;
    font-size: 1.2rem !important;
    line-height: 1 !important;
    transition: all 0.2s !important;
    text-decoration: none !important;
}
.product-remove .remove:hover {
    background: #F5F1E8 !important;
    color: #9B3A3A !important;
}

/* Imagem do produto */
.product-thumbnail img {
    border-radius: 8px !important;
    border: 1px solid #E8DCC0 !important;
    max-width: 60px !important;
    height: auto !important;
}

/* Nome do produto */
.product-name a {
    color: #1C1A17 !important;
    font-weight: 600 !important;
    font-family: 'Cinzel', serif !important;
    text-decoration: none !important;
    transition: color 0.2s !important;
}
.product-name a:hover {
    color: #B88A3B !important;
}

/* Preço, subtotal */
.product-price .amount,
.product-subtotal .amount {
    color: #1C1A17 !important;
    font-weight: 700 !important;
    font-family: 'Cinzel', serif !important;
}

/* Quantidade */
.product-quantity .quantity {
    display: inline-flex !important;
    align-items: center !important;
}
.product-quantity .quantity input.qty {
    width: 60px !important;
    padding: 8px 4px !important;
    text-align: center !important;
    border: 1.5px solid #D8C7A5 !important;
    border-radius: 999px !important;
    background: #F5F1E8 !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 500 !important;
    color: #1C1A17 !important;
    outline: none !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
}
.product-quantity .quantity input.qty:focus {
    border-color: #B88A3B !important;
    box-shadow: 0 0 0 4px rgba(184,138,59,0.1) !important;
}

/* --- Ações do carrinho (cupom e atualizar) --- */
.actions {
    background: #F5F1E8 !important;
    padding: 18px !important;
    border-top: 1px solid #D8C7A5 !important;
}

.coupon {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px !important;
}
.coupon label {
    font-weight: 600 !important;
    color: #665C4E !important;
    font-size: 0.85rem !important;
}
.coupon input#coupon_code {
    padding: 10px 16px !important;
    border: 1.5px solid #D8C7A5 !important;
    border-radius: 999px !important;
    background: #FFFDF8 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.9rem !important;
    color: #1C1A17 !important;
    outline: none !important;
    min-width: 200px !important;
    transition: border-color 0.2s !important;
}
.coupon input#coupon_code:focus {
    border-color: #B88A3B !important;
}

button[name="apply_coupon"],
button[name="update_cart"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px 24px !important;
    border-radius: 999px !important;
    border: 1.5px solid #B88A3B !important;
    background: linear-gradient(135deg, #F5E6C8, #D9B96E) !important;
    color: #4A3720 !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 700 !important;
    font-size: 0.85rem !important;
    letter-spacing: 0.04em !important;
    box-shadow: 0 4px 14px rgba(184,138,59,0.3) !important;
    transition: all 0.25s ease !important;
    cursor: pointer !important;
    text-transform: none !important;
}
button[name="apply_coupon"]:hover,
button[name="update_cart"]:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 22px rgba(184,138,59,0.45) !important;
    filter: brightness(1.06) !important;
}
button[name="update_cart"][disabled] {
    opacity: 0.5 !important;
    pointer-events: none !important;
    filter: grayscale(0.3) !important;
}

/* --- Totais do carrinho --- */
.cart-collaterals {
    margin-top: 40px !important;
}

.cart_totals {
    background: #FFFDF8 !important;
    border-radius: 18px !important;
    border: 1px solid #D8C7A5 !important;
    box-shadow: 0 6px 24px rgba(28,26,23,0.10) !important;
    padding: 30px !important;
    max-width: 500px !important;
    margin-left: auto !important;
}

.cart_totals h2 {
    font-family: 'Cinzel', serif !important;
    font-weight: 700 !important;
    font-size: 1.4rem !important;
    letter-spacing: 0.04em !important;
    color: #1C1A17 !important;
    margin-bottom: 20px !important;
    padding-bottom: 12px !important;
    border-bottom: 2px solid #EDE9DF !important;
}

.cart_totals table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin-bottom: 20px !important;
}
.cart_totals table tr {
    border-bottom: 1px solid #EDE9DF !important;
}
.cart_totals table tr:last-child {
    border-bottom: none !important;
}
.cart_totals table th,
.cart_totals table td {
    padding: 12px 0 !important;
    border: none !important;
    background: transparent !important;
    font-size: 0.95rem !important;
}
.cart_totals table th {
    font-weight: 600 !important;
    color: #665C4E !important;
    font-family: 'Inter', sans-serif !important;
}
.cart_totals table td {
    text-align: right !important;
    font-weight: 700 !important;
    color: #1C1A17 !important;
}
.cart_totals table .order-total th,
.cart_totals table .order-total td {
    font-size: 1.1rem !important;
    padding-top: 16px !important;
    border-top: 2px solid #D8C7A5 !important;
}
.cart_totals table .order-total .amount {
    font-family: 'Cinzel', serif !important;
    color: #B88A3B !important;
    font-size: 1.3rem !important;
}

/* --- Botão finalizar compra --- */
.wc-proceed-to-checkout {
    margin-top: 24px !important;
}
.checkout-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    padding: 16px 32px !important;
    border-radius: 999px !important;
    border: 2px solid #B88A3B !important;
    background: linear-gradient(135deg, #F5E6C8, #D9B96E) !important;
    color: #4A3720 !important;
    font-family: 'Cinzel', serif !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    box-shadow: 0 6px 22px rgba(184,138,59,0.35) !important;
    transition: all 0.3s ease !important;
    text-decoration: none !important;
}
.checkout-button:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 12px 34px rgba(184,138,59,0.5) !important;
    filter: brightness(1.06) !important;
}

/* --- Responsividade --- */
@media (max-width: 768px) {
    .shop_table.cart thead {
        display: none !important;
    }
    .shop_table.cart tbody tr {
        display: block !important;
        margin-bottom: 20px !important;
        border: 1px solid #EDE9DF !important;
        border-radius: 12px !important;
        padding: 16px !important;
        background: #FFFDF8 !important;
    }
    .shop_table.cart td {
        display: flex !important;
        justify-content: space-between !important;
        padding: 8px 0 !important;
        border-bottom: 1px solid #F5F1E8 !important;
        align-items: center !important;
    }
    .shop_table.cart td:last-child {
        border-bottom: none !important;
    }
    .shop_table.cart td::before {
        content: attr(data-title) ": " !important;
        font-weight: 600 !important;
        color: #665C4E !important;
        font-size: 0.85rem !important;
    }
    .product-thumbnail img {
        max-width: 40px !important;
    }
    .coupon {
        flex-direction: column !important;
        align-items: stretch !important;
    }
    .coupon input#coupon_code {
        min-width: auto !important;
        width: 100% !important;
    }
    .cart_totals {
        max-width: 100% !important;
        margin: 0 !important;
    }
    .actions {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 10px !important;
    }
    button[name="apply_coupon"],
    button[name="update_cart"] {
        width: 100% !important;
        justify-content: center !important;
    }
}

@media (max-width: 480px) {
    .woocommerce {
        padding: 20px 12px !important;
    }
    .shop_table.cart td {
        flex-wrap: wrap !important;
        gap: 4px !important;
    }
    .product-thumbnail {
        justify-content: center !important;
    }
    .checkout-button {
        font-size: 0.9rem !important;
        padding: 14px 20px !important;
    }
}/* End custom CSS */