/* =============================
   WooCommerce — estilos da loja
   ============================= */

/* =====================================================
   Checkout — Dois cards de billing lado a lado
   ===================================================== */

@media (min-width: 768px) {
    .ef-billing-cards {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 24px;
    }
}

/* Remover float padrão do WooCommerce */
form.woocommerce-checkout #customer_details .col-1,
form.woocommerce-checkout #customer_details .col-2 {
    float: none;
    width: 100%;
    padding: 0;
}

/* =====================================================
   Checkout — Headings de seção
   ===================================================== */

form.woocommerce-checkout .ef-heading-label,
form.woocommerce-checkout #order_review_heading,
form.woocommerce-checkout .ef-payment-heading {
    font-family: 'Inter', sans-serif;
    font-size: 20px;
    font-weight: 600;
    color: #000;
    margin: 0 0 16px;
    padding: 0;
    border: none;
    background: none;
    line-height: 1.4;
}

/* Ocultar heading padrão WooCommerce "Detalhes de cobrança" */
form.woocommerce-checkout .woocommerce-billing-fields > h3 {
    display: none;
}

form.woocommerce-checkout .ef-section-heading {
    margin: 24px 0 16px;
}

form.woocommerce-checkout .ef-section-heading:first-child {
    margin-top: 0;
}

/* =====================================================
   Checkout — Formulário de billing (coluna esquerda)
   ===================================================== */

/* Card cinza — dados pessoais */
form.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
    background: #f7f7f7;
    border-radius: 20px;
    padding: 24px;
}

/* Card cinza — endereço de entrega (criado via JS) */
form.woocommerce-checkout .ef-address-card {
    background: #f7f7f7;
    border-radius: 20px;
    padding: 24px;
    margin-top: 24px;
}

@media (min-width: 768px) {
    form.woocommerce-checkout .ef-address-card {
        margin-top: 0;
    }
}

form.woocommerce-checkout .ef-address-card .ef-section-heading {
    margin: 0 0 16px;
    padding-top: 0;
    border-top: none;
}

form.woocommerce-checkout .form-row {
    margin-bottom: 12px;
    padding: 0;
    clear: none;
}

form.woocommerce-checkout .form-row:last-child {
    margin-bottom: 0;
}

/* Labels */
form.woocommerce-checkout .form-row label {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: #4b4b4b;
    line-height: 1.4;
    margin-bottom: 6px;
    display: block;
}

/* Ocultar asterisco de obrigatório */
form.woocommerce-checkout .form-row label .required {
    display: none;
}

/* Inputs e selects */
form.woocommerce-checkout .form-row .input-text,
form.woocommerce-checkout .form-row select {
    background-color: #fff !important;
    border: none !important;
    border-radius: 15px !important;
    height: 53px !important;
    padding: 0 20px !important;
    font-size: 14px !important;
    font-family: 'Inter', sans-serif !important;
    color: #4b4b4b !important;
    width: 100% !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
    outline: none !important;
    -webkit-appearance: none;
    appearance: none;
}

form.woocommerce-checkout .form-row .input-text:focus,
form.woocommerce-checkout .form-row select:focus {
    outline: 2px solid #008eff !important;
    outline-offset: -2px !important;
}

/* Textarea */
form.woocommerce-checkout .form-row textarea.input-text {
    height: auto !important;
    min-height: 80px !important;
    padding: 14px 20px !important;
    resize: none !important;
    border-radius: 15px !important;
}

/* Campos lado a lado (form-row-first / form-row-last) */
@media (min-width: 768px) {
    form.woocommerce-checkout .form-row-first,
    form.woocommerce-checkout .form-row-last {
        width: calc(50% - 6px);
        float: left;
    }

    form.woocommerce-checkout .form-row-last {
        float: right;
    }

    form.woocommerce-checkout .form-row-first + .form-row-last + .form-row {
        clear: both;
    }
}

/* =====================================================
   Checkout — Upload de logomarca
   ===================================================== */

form.woocommerce-checkout .ef-logo-upload {
    margin-top: 24px;
    background: #f7f7f7;
    border-radius: 20px;
    padding: 24px;
}

form.woocommerce-checkout .ef-logo-upload .ef-section-heading {
    margin-top: 0;
    margin-bottom: 8px;
    padding-top: 0;
    border-top: none;
}

form.woocommerce-checkout .ef-logo-description {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 400;
    color: #4b4b4b;
    margin: 0 0 16px;
}

form.woocommerce-checkout #ef_logomarca_file {
    display: none;
}

form.woocommerce-checkout .ef-logo-upload-label {
    display: inline-block;
    background: #fff;
    border-radius: 15px;
    padding: 12px 24px;
    font-size: 14px;
    font-weight: 600;
    font-family: 'Inter', sans-serif;
    color: #4b4b4b;
    cursor: pointer;
    transition: opacity 0.2s;
}

form.woocommerce-checkout .ef-logo-upload-label:hover {
    opacity: 0.8;
}

form.woocommerce-checkout .ef-logo-upload-status {
    margin-top: 10px;
    font-size: 13px;
    color: #4b4b4b;
}

form.woocommerce-checkout .ef-logo-upload-status.success { color: #1a9b4a; }
form.woocommerce-checkout .ef-logo-upload-status.error   { color: #cc0000; }

/* =====================================================
   Checkout — Resumo do pedido
   ===================================================== */

form.woocommerce-checkout #order_review_heading {
    margin-top: 32px;
}

/* Container sem background — filhos têm cards próprios */
form.woocommerce-checkout #order_review {
    background: none;
    padding: 0;
    border-radius: 0;
}

/* Card da tabela de resumo */
form.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table {
    background: #f7f7f7;
    border-radius: 20px;
    padding: 24px;
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin-bottom: 24px;
}

form.woocommerce-checkout .woocommerce-checkout-review-order-table thead th {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: #4b4b4b;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding-bottom: 12px;
    border-bottom: 1px solid #e0e0e0;
    text-align: left;
}

form.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td {
    padding: 14px 0;
    border-bottom: 1px solid #e0e0e0;
    vertical-align: top;
    font-size: 14px;
    font-family: 'Inter', sans-serif;
    color: #4b4b4b;
}

form.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th,
form.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: #4b4b4b;
    padding: 10px 0;
    border-bottom: 1px solid #e0e0e0;
}

/* Total — destaque em azul */
form.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total th,
form.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total td {
    font-size: 14px;
    font-weight: 700;
    color: #008eff;
    border-bottom: none;
    padding-top: 14px;
}

/* Cor e prazos por item */
form.woocommerce-checkout .ef-cor-selecionada,
form.woocommerce-checkout .ef-prazos {
    margin-top: 6px;
    font-size: 13px;
    color: #4b4b4b;
}

form.woocommerce-checkout .ef-cor-selecionada span,
form.woocommerce-checkout .ef-prazos span {
    font-weight: 700;
}

form.woocommerce-checkout .ef-prazos > div {
    margin-top: 3px;
}

/* =====================================================
   Checkout — Pagamento
   ===================================================== */

form.woocommerce-checkout .ef-payment-heading {
    margin: 0 0 16px;
}

/* Card do pagamento */
form.woocommerce-checkout #payment {
    background: #f7f7f7;
    border-radius: 20px;
    padding: 24px;
    margin-top: 0;
}

form.woocommerce-checkout #payment .wc_payment_methods {
    list-style: none;
    margin: 0 0 20px;
    padding: 0;
    border: none;
    background: none;
}

form.woocommerce-checkout #payment .wc_payment_methods .wc_payment_method {
    background: #fff;
    border: none;
    border-radius: 15px;
    padding: 14px 20px;
    margin-bottom: 10px;
    cursor: pointer;
    transition: background 0.2s;
}

form.woocommerce-checkout #payment .wc_payment_methods .wc_payment_method:last-child {
    margin-bottom: 0;
}

form.woocommerce-checkout #payment .wc_payment_methods .wc_payment_method label {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #4b4b4b;
    cursor: pointer;
    display: inline;
    margin: 0;
    line-height: 1.4;
}

form.woocommerce-checkout #payment .wc_payment_methods .wc_payment_method input[type="radio"] {
    margin-right: 10px;
    accent-color: #008eff;
}

/* Método selecionado */
form.woocommerce-checkout #payment .wc_payment_methods .wc_payment_method:has(input[type="radio"]:checked) {
    background: #008eff;
}

form.woocommerce-checkout #payment .wc_payment_methods .wc_payment_method:has(input[type="radio"]:checked) label {
    color: #fff;
}

/* =====================================================
   Checkout — Checkboxes de termos
   ===================================================== */

form.woocommerce-checkout .ef-checkout-terms {
    margin-bottom: 20px;
}

form.woocommerce-checkout .ef-checkout-terms .ef-checkbox-field {
    margin-bottom: 12px;
}

form.woocommerce-checkout .ef-checkout-terms .ef-checkbox-field:last-child {
    margin-bottom: 0;
}

form.woocommerce-checkout .ef-checkout-terms .ef-checkbox-field label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 12px;
    font-weight: 700;
    color: #4b4b4b;
    cursor: pointer;
    font-family: 'Inter', sans-serif;
}

form.woocommerce-checkout .ef-checkout-terms .ef-checkbox-field input[type="checkbox"] {
    width: 16px;
    height: 16px;
    min-width: 16px;
    margin-top: 1px;
    border: 1px solid #4b4b4b;
    border-radius: 2px;
    cursor: pointer;
    accent-color: #008eff;
}

/* =====================================================
   Checkout — Botão Finalizar Pedido
   ===================================================== */

form.woocommerce-checkout #place_order {
    background-color: #008eff !important;
    color: #fff !important;
    border: none !important;
    border-radius: 55px !important;
    padding: 16px 25px !important;
    height: auto !important;
    width: auto !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    font-family: 'Inter', sans-serif !important;
    cursor: pointer;
    transition: opacity 0.2s;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: none !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

form.woocommerce-checkout #place_order:hover {
    opacity: 0.88 !important;
}

/* =====================================================
   Checkout — Responsivo mobile
   ===================================================== */

@media (max-width: 767px) {
    form.woocommerce-checkout .form-row-first,
    form.woocommerce-checkout .form-row-last {
        width: 100%;
        float: none;
    }
}

/* =====================================================
   Checkout — Label dentro do campo como placeholder
   ===================================================== */

/* Ocultar labels externos — o placeholder mostra o nome do campo */
form.woocommerce-checkout .form-row > label {
    display: none !important;
}

/* Estilo do placeholder */
form.woocommerce-checkout .form-row .input-text::placeholder,
form.woocommerce-checkout .form-row select::placeholder,
form.woocommerce-checkout .form-row textarea.input-text::placeholder {
    color: #4b4b4b;
    opacity: 1;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 400;
}

/* Fallback explícito por classe do WooCommerce */
form.woocommerce-checkout .form-row label.required_field,
form.woocommerce-checkout .form-row label.optional_field {
    display: none !important;
}

/* =====================================================
   Checkout — Logo upload + Additional fields lado a lado
   ===================================================== */

form.woocommerce-checkout .ef-extra-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-top: 24px;
}

@media (max-width: 767px) {
    form.woocommerce-checkout .ef-extra-row {
        grid-template-columns: 1fr;
    }
}

/* Additional fields — mesmo estilo dos cards */
form.woocommerce-checkout .woocommerce-additional-fields {
    background: #f7f7f7;
    border-radius: 20px;
    padding: 24px;
    margin-top: 0;
}

form.woocommerce-checkout .woocommerce-additional-fields h3 {
    font-family: 'Inter', sans-serif;
    font-size: 20px;
    font-weight: 600;
    color: #000;
    margin: 0 0 16px;
    padding: 0;
    border: none;
    background: none;
    line-height: 1.4;
}

/* =====================================================
   Checkout — Cards logo + additional com mesma altura
   ===================================================== */

form.woocommerce-checkout .ef-extra-row {
    align-items: stretch;
}

form.woocommerce-checkout .ef-logo-upload,
form.woocommerce-checkout .woocommerce-additional-fields {
    height: 100%;
    box-sizing: border-box;
}

/* =====================================================
   Checkout — Tabela resumo: linhas do tbody arredondadas
   ===================================================== */

/* Usar border-spacing para criar gap entre linhas */
form.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table {
    border-collapse: separate !important;
    border-spacing: 0 6px !important;
    padding: 18px 24px !important;
}

/* Remover borda bottom dos tds normais */
form.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td {
    border-bottom: none !important;
    background: #fff;
    padding: 12px 16px !important;
}

/* Arredondar primeira e última célula da linha */
form.woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr td:first-child {
    border-radius: 12px 0 0 12px;
}

form.woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr td:last-child {
    border-radius: 0 12px 12px 0;
}

/* Linha com apenas uma célula (colspan) */
form.woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr td[colspan] {
    border-radius: 12px !important;
}

/* =====================================================
   Checkout — Correções gerais v1.8
   ===================================================== */

/* 1. Remover margin-top do ef-logo-upload (estava causando altura diferente) */
form.woocommerce-checkout .ef-logo-upload {
    margin-top: 0 !important;
}

/* 2. Tabela resumo — remover todas as bordas internas */
form.woocommerce-checkout .woocommerce-checkout-review-order-table tr,
form.woocommerce-checkout .woocommerce-checkout-review-order-table th,
form.woocommerce-checkout .woocommerce-checkout-review-order-table td {
    border: none !important;
    border-bottom: none !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
}

/* thead — linha separadora suave abaixo */
form.woocommerce-checkout .woocommerce-checkout-review-order-table thead tr {
    border-bottom: 1px solid #e0e0e0 !important;
}

form.woocommerce-checkout .woocommerce-checkout-review-order-table thead th {
    border-bottom: 1px solid #e0e0e0 !important;
}

/* 3. woocommerce-info — ícone, cor do link e borda arredondada */
.woocommerce-info {
    border-radius: 12px !important;
    border-top-color: #008eff !important;
    background-color: #f0f7ff !important;
    color: #4b4b4b !important;
}

.woocommerce-info::before {
    content: "!" !important;
    font-weight: 700;
    color: #008eff !important;
}

.woocommerce-info a,
.woocommerce-info .showcoupon,
.woocommerce-info .showlogin {
    color: #008eff !important;
}

/* 4. Links globais WooCommerce — cor azul padrão */
.woocommerce a,
.woocommerce-page a {
    color: #008eff;
}

.woocommerce a:hover,
.woocommerce-page a:hover {
    color: #0070cc;
}

/* 5. Notices WooCommerce — arredondar bordas */
.woocommerce-message,
.woocommerce-error,
.woocommerce-warning {
    border-radius: 12px !important;
}

/* Página de produto: woocommerce-message como toast flutuante */
.single-product .woocommerce-message {
    position: fixed !important;
    top: 24px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    z-index: 9999 !important;
    width: auto !important;
    max-width: 560px !important;
    min-width: 320px !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.12) !important;
    margin: 0 !important;
    padding: 16px 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    outline: none !important;
    white-space: nowrap !important;
}

.single-product .woocommerce-message:focus {
    outline: none !important;
}

.single-product .woocommerce-message .button {
    white-space: nowrap !important;
    flex-shrink: 0 !important;
}

.woocommerce-message {
    border-radius: 12px !important;
    border-top: none !important;
    border: none !important;
    box-shadow: none !important;
    background-color: #f0fff6 !important;
    color: #4b4b4b !important;
    margin-bottom: 16px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 14px 20px !important;
}

.woocommerce-message::before {
    content: "✓" !important;
    font-weight: 700 !important;
    color: #1a9b4a !important;
    flex-shrink: 0 !important;
    position: static !important;
    font-family: inherit !important;
    font-size: 16px !important;
}

.woocommerce-message a {
    color: #008eff !important;
}

.woocommerce-error {
    border-radius: 12px !important;
    border-top: none !important;
    border: none !important;
    box-shadow: none !important;
    background-color: #fff0f0 !important;
    color: #4b4b4b !important;
    margin-bottom: 16px !important;
}

.woocommerce-error::before {
    content: "!" !important;
    font-weight: 700 !important;
    color: #cc0000 !important;
}

.woocommerce-error a {
    color: #008eff !important;
}

.woocommerce-warning {
    border-top-color: #f59e0b !important;
}

/* Botões dentro de notices */
.woocommerce-message .button,
.woocommerce-error .button,
.woocommerce-warning .button,
.woocommerce-info .button {
    background-color: #008eff !important;
    color: #fff !important;
    border-radius: 55px !important;
    border: none !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    padding: 10px 20px !important;
}

/* 6. Inputs globais WooCommerce fora do checkout */
.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce select {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #4b4b4b;
    border-radius: 15px;
    border: 1px solid #e0e0e0;
    padding: 12px 16px;
    box-sizing: border-box;
}

.woocommerce input.input-text:focus,
.woocommerce textarea:focus,
.woocommerce select:focus {
    outline: 2px solid #008eff;
    outline-offset: -2px;
    border-color: transparent;
}

/* 7. Botões primários WooCommerce */
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button,
.woocommerce .button.alt {
    background-color: #008eff;
    color: #fff;
    border-radius: 55px;
    border: none;
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 14px;
    padding: 12px 24px;
    cursor: pointer;
    transition: opacity 0.2s;
}

.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button:hover,
.woocommerce .button.alt:hover {
    background-color: #008eff;
    opacity: 0.88;
    color: #fff;
}

/* =====================================================
   WooCommerce — Notices (info, message, error, warning)
   ===================================================== */

/* Remover borda do topo do woocommerce-info */
.woocommerce-info {
    border-top: none !important;
    border: none !important;
    box-shadow: none !important;
}

/* =====================================================
   WooCommerce — Cart page
   ===================================================== */

.woocommerce-cart .shop_table {
    border-collapse: separate;
    border-spacing: 0;
    border: none;
    width: 100%;
}

.woocommerce-cart .shop_table th,
.woocommerce-cart .shop_table td {
    border: none !important;
    border-bottom: 1px solid #e0e0e0 !important;
    padding: 16px 12px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #4b4b4b;
}

.woocommerce-cart .shop_table thead th {
    font-weight: 700;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #4b4b4b;
    border-bottom: 1px solid #e0e0e0 !important;
}

.woocommerce-cart .shop_table tbody tr:last-child td {
    border-bottom: none !important;
}

/* Cupom */
.woocommerce-cart .coupon input.input-text {
    border-radius: 15px;
    border: 1px solid #e0e0e0;
    padding: 10px 16px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    height: 44px;
    margin-right: 8px;
}

.woocommerce-cart .coupon .button {
    border-radius: 55px !important;
    background: #008eff !important;
    color: #fff !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    padding: 10px 20px !important;
    border: none !important;
    height: 44px;
}

/* Totais do carrinho */
.cart_totals h2 {
    font-family: 'Inter', sans-serif;
    font-size: 20px;
    font-weight: 600;
    color: #000;
    margin-bottom: 16px;
}

.cart_totals .shop_table {
    background: #f7f7f7;
    border-radius: 20px;
    padding: 20px 24px;
    border: none !important;
}

.cart_totals .shop_table tr th,
.cart_totals .shop_table tr td {
    border: none !important;
    border-bottom: 1px solid #e0e0e0 !important;
    padding: 12px 0;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #4b4b4b;
}

.cart_totals .shop_table tr:last-child th,
.cart_totals .shop_table tr:last-child td {
    border-bottom: none !important;
    font-weight: 700;
    color: #008eff;
}

.wc-proceed-to-checkout .checkout-button {
    background-color: #008eff !important;
    color: #fff !important;
    border-radius: 55px !important;
    border: none !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    padding: 16px 32px !important;
    width: 100%;
    display: block;
    text-align: center;
    margin-top: 16px;
}

/* =====================================================
   WooCommerce — My Account page
   ===================================================== */

.woocommerce-account .woocommerce-MyAccount-navigation {
    background: #f7f7f7;
    border-radius: 20px;
    padding: 16px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: block;
    padding: 10px 16px;
    border-radius: 12px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #4b4b4b;
    text-decoration: none;
    transition: background 0.2s;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
    background: #008eff;
    color: #fff;
}

/* Formulários da conta */
.woocommerce-account .woocommerce-form input.input-text,
.woocommerce-account .woocommerce-EditAccountForm input,
.woocommerce-account .woocommerce-address-fields input {
    border-radius: 15px !important;
    border: 1px solid #e0e0e0 !important;
    padding: 12px 16px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #4b4b4b !important;
    width: 100%;
    box-sizing: border-box;
    height: 50px;
}

.woocommerce-account .woocommerce-Button,
.woocommerce-account .button {
    background-color: #008eff !important;
    color: #fff !important;
    border-radius: 55px !important;
    border: none !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 700 !important;
    padding: 12px 24px !important;
}

/* Login form */
.woocommerce-form-login .woocommerce-form-row input.input-text,
.woocommerce-form-register .woocommerce-form-row input.input-text {
    border-radius: 15px !important;
    border: 1px solid #e0e0e0 !important;
    padding: 12px 16px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    height: 50px;
    width: 100%;
    box-sizing: border-box;
}

.woocommerce-form-login .button,
.woocommerce-form-register .button {
    background-color: #008eff !important;
    color: #fff !important;
    border-radius: 55px !important;
    border: none !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 700 !important;
    padding: 12px 24px !important;
}

/* =====================================================
   Checkout — tfoot tabela resumo: padding e bordas
   ===================================================== */

form.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th,
form.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
    padding: 12px 16px !important;
    background: #fff;
}

/* Arredondar primeira e última célula do tfoot */
form.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr th:first-child,
form.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr td:first-child {
    border-radius: 12px 0 0 12px;
}

form.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr th:last-child,
form.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr td:last-child {
    border-radius: 0 12px 12px 0;
}

/* thead também com padding lateral consistente */
form.woocommerce-checkout .woocommerce-checkout-review-order-table thead th {
    padding: 12px 16px !important;
}

/* woocommerce-info — equilibrar espaçamento */
.woocommerce-info {
    margin-bottom: 16px !important;
}

/* =====================================================
   Cart — Layout de cards por produto
   ===================================================== */

/* Ocultar thead (labels ficam via data-title no mobile) */
.woocommerce-cart .shop_table thead {
    display: none !important;
}

/* Tabela vira container flex de cards */
.woocommerce-cart table.shop_table.cart {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    border: none !important;
    background: none !important;
    width: 100% !important;
}

.woocommerce-cart table.shop_table.cart tbody {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
}

/* Cada produto vira um card */
.woocommerce-cart tr.cart_item {
    display: flex !important;
    align-items: center !important;
    position: relative !important;
    background: #f7f7f7 !important;
    border-radius: 16px !important;
    padding: 24px !important;
    gap: 16px !important;
    border: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Linha das actions (atualizar carrinho) — ocultar */
.woocommerce-cart tr.cart_item + tr:not(.cart_item) {
    display: none !important;
}

/* Thumbnail */
.woocommerce-cart tr.cart_item .product-thumbnail {
    flex: 0 0 72px !important;
    width: 72px !important;
    padding: 0 !important;
    border: none !important;
}

.woocommerce-cart tr.cart_item .product-thumbnail img {
    width: 72px !important;
    height: 72px !important;
    object-fit: cover !important;
    border-radius: 8px !important;
    display: block !important;
}

/* Nome do produto */
.woocommerce-cart tr.cart_item .product-name {
    flex: 1 1 auto !important;
    padding: 0 !important;
    border: none !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #000 !important;
}

.woocommerce-cart tr.cart_item .product-name a {
    color: #000 !important;
    text-decoration: none !important;
    font-weight: 600 !important;
}

.woocommerce-cart tr.cart_item .product-name a:hover {
    color: #008eff !important;
}

/* Quantidade — td oculto (conteúdo movido para product-name via JS) */
.woocommerce-cart tr.cart_item .product-quantity {
    display: none !important;
}

/* Subtotal — oculto (preço aparece em product-price) */
.woocommerce-cart tr.cart_item .product-subtotal {
    display: none !important;
}

/* =====================================================
   Cart — Cupom
   ===================================================== */

.woocommerce-cart .coupon.e-cart-section {
    background: #f7f7f7 !important;
    border-radius: 16px !important;
    padding: 16px !important;
    margin-top: 0 !important;
    border: none !important;
}

.woocommerce-cart .coupon input.input-text {
    border-radius: 55px !important;
    border: none !important;
    background: #fff !important;
    height: 44px !important;
    padding: 0 16px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #4b4b4b !important;
    flex: 1 !important;
}

.woocommerce-cart .coupon .form-row.coupon-col {
    display: flex !important;
    gap: 10px !important;
    align-items: center !important;
    margin: 0 !important;
}

.woocommerce-cart .coupon button.e-apply-coupon {
    border-radius: 55px !important;
    background: #008eff !important;
    color: #fff !important;
    border: none !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    padding: 0 20px !important;
    height: 44px !important;
    cursor: pointer !important;
    white-space: nowrap !important;
}

/* =====================================================
   Cart — Totais (coluna direita)
   ===================================================== */

.woocommerce-cart .cart_totals {
    background: #fff !important;
    border-radius: 20px !important;
    border: none !important;
    padding: 30px !important;
}

.woocommerce-cart .cart_totals h2 {
    font-family: 'Inter', sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #000 !important;
    margin: 0 0 20px !important;
    padding: 0 !important;
    border: none !important;
}

.woocommerce-cart .cart_totals table.shop_table {
    display: table !important;
    flex-direction: unset !important;
    gap: unset !important;
    border: none !important;
    background: none !important;
    width: 100% !important;
    border-collapse: collapse !important;
}

.woocommerce-cart .cart_totals table.shop_table tbody {
    display: table-row-group !important;
    flex-direction: unset !important;
    gap: unset !important;
}

.woocommerce-cart .cart_totals table.shop_table tr {
    display: table-row !important;
    background: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    flex-direction: unset !important;
}

.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td {
    display: table-cell !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid #e0e0e0 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #4b4b4b !important;
    background: none !important;
    border-radius: 0 !important;
}

.woocommerce-cart .cart_totals table.shop_table tr.order-total th,
.woocommerce-cart .cart_totals table.shop_table tr.order-total td {
    border-bottom: none !important;
    font-weight: 700 !important;
    color: #000 !important;
    font-size: 15px !important;
    padding-top: 16px !important;
}

.woocommerce-cart .cart_totals table.shop_table td {
    text-align: right !important;
}

/* Botão avançar */
.woocommerce-cart .wc-proceed-to-checkout {
    margin-top: 20px !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    background: #008eff !important;
    color: #fff !important;
    border-radius: 55px !important;
    border: none !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    padding: 14px 0 !important;
    text-decoration: none !important;
    transition: opacity 0.2s !important;
    box-sizing: border-box !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
    opacity: 0.88 !important;
    color: #fff !important;
}

/* e-shop-table — remover borda e padding lateral */
.woocommerce-cart .e-shop-table.e-cart-section {
    border: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 0 !important;
}

/* Cart — ocultar thumbnail duplicada do Elementor */
.woocommerce-cart tr.cart_item .product-thumbnail a:not(:first-child) {
    display: none !important;
}

/* Cart totais — ocultar th (label duplicado) */
.woocommerce-cart .cart_totals table.shop_table th {
    display: none !important;
}

.woocommerce-cart .cart_totals table.shop_table td {
    width: 100% !important;
}

/* =====================================================
   Cart — Preço com badge/del/ins e lixeira
   ===================================================== */

/* Coluna de preço */
.woocommerce-cart tr.cart_item .product-price {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    flex: 0 0 auto !important;
    padding: 0 !important;
    border: none !important;
    gap: 2px !important;
    order: 5 !important;
}

.woocommerce-cart tr.cart_item .product-subtotal {
    display: none !important;
}

/* Badge no topo, alinhado à direita */
.woocommerce-cart tr.cart_item .product-price .badge-desconto {
    align-self: flex-end !important;
    margin-bottom: 4px !important;
}

/* del + ins lado a lado */
.woocommerce-cart tr.cart_item .product-price del,
.woocommerce-cart tr.cart_item .product-price ins {
    display: inline !important;
    text-decoration: none !important;
}

.woocommerce-cart tr.cart_item .product-price del {
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #999 !important;
    text-decoration: line-through !important;
    margin-right: 6px !important;
}

.woocommerce-cart tr.cart_item .product-price del .woocommerce-Price-amount,
.woocommerce-cart tr.cart_item .product-price del .woocommerce-Price-currencySymbol {
    color: #999 !important;
    font-size: 12px !important;
    font-weight: 500 !important;
}

/* Preço atual — grande, amarelo */
.woocommerce-cart tr.cart_item .product-price ins .woocommerce-Price-amount,
.woocommerce-cart tr.cart_item .product-price ins .woocommerce-Price-currencySymbol,
.woocommerce-cart tr.cart_item .product-price > .woocommerce-Price-amount {
    color: #D19800 !important;
    font-weight: 700 !important;
    font-size: 20px !important;
}

/* Produto sem promoção: preço direto */
.woocommerce-cart tr.cart_item .product-price > .woocommerce-Price-amount {
    color: #D19800 !important;
    font-weight: 700 !important;
    font-size: 20px !important;
}

/* Lixeira — dentro do product-price (movida via JS), alinhada à direita */
.woocommerce-cart tr.cart_item .product-remove {
    position: static !important;
    align-self: flex-end !important;
    margin-top: 8px !important;
    padding: 0 !important;
    border: none !important;
}

.woocommerce-cart tr.cart_item .product-remove a.remove {
    color: #cc0000 !important;
    background: transparent !important;
}

.woocommerce-cart tr.cart_item .product-remove a.remove svg {
    stroke: #cc0000 !important;
    width: 20px !important;
    height: 20px !important;
    display: block !important;
}

/* =====================================================
   Cart — Totais: remover borda/padding do wrapper
   ===================================================== */

.woocommerce-cart .e-cart-totals.e-cart-section {
    border: none !important;
    padding: 0 !important;
    background: none !important;
}

.woocommerce-cart .cart-collaterals .cart_totals {
    background: #f7f7f7 !important;
    border-radius: 16px !important;
    border: none !important;
    padding: 30px !important;
}

.woocommerce-cart .cart_totals h2 {
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #000 !important;
    margin-bottom: 16px !important;
}

/* Cupom dentro do cart_totals */
.woocommerce-cart .cart_totals .coupon.e-cart-section {
    margin-bottom: 16px !important;
    border-radius: 10px !important;
}

/* Badge acima dos preços: del+ins em linha */
.woocommerce-cart tr.cart_item .product-price .price-wrap {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}

/* =====================================================
   Cart — Quantity stepper (+/-)
   ===================================================== */

/* product-name: coluna, nome em cima, stepper embaixo */
.woocommerce-cart tr.cart_item td.product-name {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}
.woocommerce-cart tr.cart_item td.product-name a {
    order: 1 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #4b4b4b !important;
}
.woocommerce-cart tr.cart_item td.product-name .quantity {
    order: 2 !important;
}

/* Wrapper do stepper */
.woocommerce-cart tr.cart_item .quantity {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    background: none !important;
}

/* Input do stepper */
.woocommerce-cart tr.cart_item .quantity input.qty {
    width: 25px !important;
    height: 32px !important;
    border: 2px solid #e8e8e8 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    text-align: center !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #4b4b4b !important;
    -moz-appearance: textfield !important;
    appearance: textfield !important;
}
.woocommerce-cart tr.cart_item .quantity input.qty::-webkit-outer-spin-button,
.woocommerce-cart tr.cart_item .quantity input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

/* Botões +/- */
.woocommerce-cart tr.cart_item .qty-btn {
    width: 20px !important;
    height: 20px !important;
    border: none !important;
    background: none !important;
    color: #6b6b6b !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    border-radius: 0 !important;
    transition: color 0.2s !important;
}
.woocommerce-cart tr.cart_item .qty-btn:hover {
    color: #008eff !important;
}

.woocommerce table.shop_table {
    border: none !important;
}

/* Mini cart — preço riscado */
.elementor-menu-cart__product-price del,
.elementor-menu-cart__product-price del .woocommerce-Price-amount {
    color: #999999 !important;
    font-size: 12px !important;
    font-weight: 500 !important;
}

/* Mini cart — badge de desconto (quando movido acima do nome) */
.elementor-menu-cart__product > .badge-desconto--sm {
    margin-left: 18px !important;
    display: inline-block !important;
    width: 63px !important;
    align-self: flex-start !important;
    margin-bottom: 0px !important;
}
