/* ============================================================
   ONDACOR — CHECKOUT.CSS
   Páginas: cart + checkout + my-account
   Sub-fase F — Páginas Transacionais
   Iniciado: 2026-05-18
   ============================================================ */


/* ============================================================
   F1 — Fix do overlap entre .page-header e .woocommerce-notices-wrapper
   
   Sintoma: título "Carrinho" parcialmente coberto pelo notice verde.
   Causa: margem negativa / positioning herdado de Hello Elementor
   ou defaults do WooCommerce.
   
   Abordagem defensiva em 4 camadas:
     1. Margin-bottom positivo no .page-header
     2. Reset margin-top no wrapper de notices
     3. Esconder wrapper vazio (gap fantasma)
     4. Reset de margens nas mensagens individuais
   ============================================================ */

/* 1. Espaço claro entre título e conteúdo WC */
body.woocommerce-cart .page-header,
body.woocommerce-checkout .page-header,
body.woocommerce-account .page-header {
    margin-bottom: 2rem;
    position: relative;
    z-index: 1;
}

/* 2. Reset do wrapper de notices */
body.woocommerce-cart .woocommerce-notices-wrapper,
body.woocommerce-checkout .woocommerce-notices-wrapper,
body.woocommerce-account .woocommerce-notices-wrapper {
    margin-top: 0;
    margin-bottom: 1.5rem;
}

/* 3. Esconder wrapper vazio */
body.woocommerce-cart .woocommerce-notices-wrapper:empty,
body.woocommerce-checkout .woocommerce-notices-wrapper:empty,
body.woocommerce-account .woocommerce-notices-wrapper:empty {
    display: none;
}

/* 4. Reset de margens nas mensagens individuais */
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-error,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-error,
body.woocommerce-account .woocommerce-message,
body.woocommerce-account .woocommerce-info,
body.woocommerce-account .woocommerce-error {
    margin-top: 0 !important;
}


/* ============================================================
   F5 — Layout do carrinho: grid 2-col + item cards
   Sub-fase F — Páginas Transacionais
   ============================================================ */

/* WRAPPER & GRID */

.ondacor-cart-wrapper {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    grid-template-areas:
        "items   coupon"
        "items   totals"
        "actions totals";
    gap: 16px 32px;
    align-items: start;
    margin: 32px 0 48px;
}

/* Form participa do grid via display:contents (filhos herdam grid placement) */
.ondacor-cart-wrapper .woocommerce-cart-form {
    display: contents;
}

.ondacor-cart-items        { grid-area: items; }
.ondacor-cart-coupon       { grid-area: coupon; }
.ondacor-cart-form-actions { grid-area: actions; justify-self: start; }
.cart-collaterals.ondacor-cart-totals-wrap { grid-area: totals; }


/* ITEM CARDS */

.ondacor-cart-items {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ondacor-cart-item {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr) auto auto auto;
    grid-template-areas: "thumb main qty subtotal remove";
    gap: 24px;
    align-items: center;
    padding: 20px;
    background: #fff;
    border: 1px solid #ececec;
    border-radius: 8px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.ondacor-cart-item:hover {
    border-color: #d4d4d4;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}

.ondacor-cart-item__thumb       { grid-area: thumb; }
.ondacor-cart-item__main        { grid-area: main; min-width: 0; }
.ondacor-cart-item__qty         { grid-area: qty; }
.ondacor-cart-item__subtotal    { grid-area: subtotal; text-align: right; min-width: 80px; }
.ondacor-cart-item__remove-wrap { grid-area: remove; }

.ondacor-cart-item__thumb,
.ondacor-cart-item__thumb a,
.ondacor-cart-item__thumb img {
    display: block;
    width: 96px;
    height: 96px;
}

.ondacor-cart-item__thumb img {
    object-fit: cover;
    border-radius: 6px;
}

.ondacor-cart-item__name {
    margin: 0 0 4px;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.3;
}

.ondacor-cart-item__name a {
    color: inherit;
    text-decoration: none;
}

.ondacor-cart-item__name a:hover {
    text-decoration: underline;
}

.ondacor-cart-item__meta {
    font-size: 0.85rem;
    color: #666;
    margin: 4px 0;
}

.ondacor-cart-item__meta p {
    margin: 0 0 4px;
}

.ondacor-cart-item__price {
    font-size: 0.9rem;
    color: #888;
    margin-top: 6px;
}

.ondacor-cart-item__subtotal-label {
    display: none; /* Hidden on desktop, shown on mobile */
    font-size: 0.85rem;
    color: #666;
}

.ondacor-cart-item__subtotal-amount {
    font-size: 1.05rem;
    font-weight: 700;
    color: #2c2c2c;
}

.ondacor-cart-item__remove {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #f5f5f5;
    color: #888;
    font-size: 1.4rem;
    line-height: 1;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.ondacor-cart-item__remove:hover {
    background: #e74c3c;
    color: #fff;
}


/* COUPON CARD */

.ondacor-cart-coupon {
    background: #fff;
    border: 1px solid #ececec;
    border-radius: 8px;
    padding: 20px;
}

.ondacor-cart-coupon__title {
    margin: 0 0 12px;
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #555;
}

.ondacor-cart-coupon__row {
    display: flex;
    gap: 8px;
}

.ondacor-cart-coupon__input {
    flex: 1;
    min-width: 0;
    padding: 10px 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 0.95rem;
}

.ondacor-cart-coupon__button {
    flex-shrink: 0;
}


/* FORM ACTIONS — subtle Update Cart button below items */

.ondacor-cart-form-actions .ondacor-cart-update {
    opacity: 0.65;
    transition: opacity 0.2s ease;
}

.ondacor-cart-form-actions .ondacor-cart-update:hover {
    opacity: 1;
}


/* RESPONSIVE — tablet */

@media (max-width: 1024px) {
    .ondacor-cart-wrapper {
        grid-template-columns: 1fr;
        grid-template-areas:
            "items"
            "coupon"
            "totals"
            "actions";
    }
}


/* RESPONSIVE — mobile */

@media (max-width: 640px) {
    .ondacor-cart-item {
        grid-template-columns: 80px minmax(0, 1fr) auto;
        grid-template-areas:
            "thumb main remove"
            "qty   qty  subtotal";
        gap: 12px 16px;
        padding: 16px;
    }

    .ondacor-cart-item__thumb,
    .ondacor-cart-item__thumb a,
    .ondacor-cart-item__thumb img {
        width: 80px;
        height: 80px;
    }

    .ondacor-cart-item__subtotal {
        text-align: right;
    }

    .ondacor-cart-item__subtotal-label {
        display: inline-block;
        margin-right: 6px;
    }
}


/* ============================================================
   F5 — Fixes iterativos: gap visual, uppercase, continue shopping
   ============================================================ */

/* Grid simplificado 2-row: items+coupon na linha 1, actions+totals na linha 2.
   Resultado: update cart + continue link ficam logo abaixo dos items, não no fundo. */
.ondacor-cart-wrapper {
    grid-template-areas:
        "items   coupon"
        "actions totals" !important;
    grid-template-rows: auto auto;
}

/* Form actions: continue link à esquerda, update button à direita, no mesmo row */
.ondacor-cart-form-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 0;
    padding: 16px 4px;
    border-top: 1px solid #ececec;
}

.ondacor-cart-continue {
    color: var(--ond-ink, #2c2c2c);
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 500;
    transition: color 0.2s ease;
}

.ondacor-cart-continue:hover {
    color: var(--ond-accent, #c4a574);
    text-decoration: underline;
}

/* Uppercase consistency em todos os buttons do cart (sem dependência de .actions) */
.woocommerce-cart .ondacor-cart-coupon__button,
.woocommerce-cart .ondacor-cart-update {
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
}

/* Qty selector mais compacto dentro de cart items (vs single-product hero) */
@media (min-width: 641px) {
    .ondacor-cart-item .ondacor-quantity {
        height: 42px;
    }
    .ondacor-cart-item .ondacor-quantity .ondacor-qty-btn {
        width: 36px;
        height: 42px;
    }
    .ondacor-cart-item .ondacor-quantity input.qty {
        width: 44px !important;
        height: 42px !important;
        line-height: 42px;
        font-size: 14px;
    }
}

/* Mobile: actions row vira coluna */
@media (max-width: 640px) {
    .ondacor-cart-form-actions {
        flex-direction: column;
        align-items: stretch;
    }
    .ondacor-cart-continue {
        order: 2;
        text-align: center;
    }
    .ondacor-cart-update {
        order: 1;
    }
}


/* ============================================================
   F5 — Iteration 2: polish pós-deploy
   Fixes: unit price duplicado, endereço wrappado, gap visual,
   actions row espalhada, totals card sem ancoragem.
   ============================================================ */

/* 1. Esconder unit price - subtotal já mostra o valor (evita duplicação confusa) */
.ondacor-cart-item__price {
    display: none;
}

/* 2. Subtotal mais prominente (agora é a única indicação de preço no card) */
.ondacor-cart-item__subtotal-amount {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--ond-ink, #2c2c2c);
}

/* 3. Coluna direita: width flexível (acomoda endereços de envio longos sem wrap em 4 linhas) */
.ondacor-cart-wrapper {
    grid-template-columns: minmax(0, 1fr) clamp(360px, 30vw, 440px) !important;
}

/* 4. Endereço de envio compacto - era 0.9rem com line-height alto, vira pequeno e cinza */
.woocommerce-shipping-destination,
.cart_totals .woocommerce-shipping-destination {
    font-size: 0.82rem;
    line-height: 1.4;
    color: #666;
    margin: 6px 0;
}

/* 5. Sticky totals em desktop - segue scroll do utilizador, alivia a percepção do gap */
@media (min-width: 1025px) {
    .cart-collaterals.ondacor-cart-totals-wrap {
        position: sticky;
        top: 24px;
        align-self: start;
    }
}

/* 6. Actions row: agrupar visualmente (link + botão lado-a-lado, não espalhados) */
.ondacor-cart-form-actions {
    justify-content: flex-start !important;
    gap: 12px !important;
}

/* 7. Continue link com presença visual (chip-style em vez de link nu) */
.ondacor-cart-continue {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 16px;
    border: 1px solid #d4d4d4;
    border-radius: 4px;
    background: #fff;
    transition: all 0.2s ease;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
}

.ondacor-cart-continue:hover {
    background: #f8f8f8;
    border-color: var(--ond-accent, #c4a574);
    color: var(--ond-accent, #c4a574);
    text-decoration: none;
}

/* Mobile ajusta gap */
@media (max-width: 640px) {
    .ondacor-cart-form-actions {
        gap: 8px !important;
    }
}


/* ============================================================
   F6 — Resumo da Encomenda (substitui cart-totals.php default)
   Sub-fase F.
   ============================================================ */

.ondacor-cart-summary {
    background: #fff;
    border: 1px solid #ececec;
    border-radius: 8px;
    padding: 24px;
}

.ondacor-cart-summary__title {
    margin: 0 0 18px;
    padding: 0 0 16px;
    border-bottom: 1px solid #ececec;
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #666;
    line-height: 1;
}

.ondacor-cart-summary__rows {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-bottom: 20px;
}

.ondacor-cart-summary__row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    font-size: 0.95rem;
}

.ondacor-cart-summary__label {
    color: #666;
    flex-shrink: 0;
}

.ondacor-cart-summary__value {
    text-align: right;
    color: var(--ond-ink, #2c2c2c);
    font-weight: 500;
}

.ondacor-cart-summary__row--discount .ondacor-cart-summary__value {
    color: var(--ond-accent, #c4a574);
}

/* Shipping methods (radio list) */
.ondacor-cart-summary__row--shipping {
    flex-direction: column;
    gap: 10px;
}

.ondacor-cart-summary__row--shipping .ondacor-cart-summary__label {
    width: 100%;
}

.ondacor-cart-summary__row--shipping .ondacor-cart-summary__value {
    width: 100%;
    text-align: left;
    font-weight: 400;
}

.ondacor-shipping-methods {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.ondacor-shipping-method {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 8px 0;
}

.ondacor-shipping-method__radio {
    margin: 0;
    flex-shrink: 0;
    accent-color: var(--ond-accent, #c4a574);
}

.ondacor-shipping-method__label {
    margin: 0;
    cursor: pointer;
    font-size: 0.9rem;
    line-height: 1.4;
    color: var(--ond-ink, #2c2c2c);
    flex: 1;
    font-weight: 400;
}

.ondacor-shipping-destination {
    font-size: 0.8rem;
    line-height: 1.5;
    color: #888;
    margin: 8px 0 0;
    padding-top: 10px;
    border-top: 1px dashed #ececec;
}

.shipping-calculator-button {
    display: inline-block;
    font-size: 0.82rem;
    color: var(--ond-accent, #c4a574);
    text-decoration: none;
    border-bottom: 1px dashed currentColor;
    margin-top: 4px;
}

.shipping-calculator-button:hover {
    color: var(--ond-ink, #2c2c2c);
}

/* Total — bem destacado */
.ondacor-cart-summary__total {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding-top: 16px;
    border-top: 1px solid #ececec;
    margin-bottom: 24px;
}

.ondacor-cart-summary__total-label {
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 600;
    color: var(--ond-ink, #2c2c2c);
}

.ondacor-cart-summary__total-value,
.ondacor-cart-summary__total-value .amount {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--ond-ink, #2c2c2c);
}

/* CTA — Checkout button (override total do styling default) */
.ondacor-cart-summary__cta {
    margin-bottom: 20px;
}

.ondacor-cart-summary__cta .checkout-button,
.ondacor-cart-summary__cta .wc-forward,
.ondacor-cart-summary__cta a.button {
    display: block !important;
    width: 100%;
    box-sizing: border-box;
    text-align: center;
    padding: 16px 24px !important;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    background: var(--ond-accent, #c4a574) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    transition: background 0.2s ease, transform 0.1s ease, box-shadow 0.2s ease;
    box-shadow: 0 2px 8px rgba(196, 165, 116, 0.25);
    line-height: 1.2;
}

.ondacor-cart-summary__cta .checkout-button:hover,
.ondacor-cart-summary__cta .wc-forward:hover,
.ondacor-cart-summary__cta a.button:hover {
    background: #b09360 !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(196, 165, 116, 0.35);
}

/* Trust badges */
.ondacor-cart-summary__trust {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-top: 16px;
    border-top: 1px solid #ececec;
}

.ondacor-cart-summary__trust-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.82rem;
    color: #666;
}

.ondacor-cart-summary__trust-item svg {
    color: var(--ond-accent, #c4a574);
    flex-shrink: 0;
}

/* Defensive: esconder qualquer h2 default que possa aparecer no .cart_totals (sem a nossa class) */
.cart_totals > h2:not(.ondacor-cart-summary__title) {
    display: none;
}

/* Esconder o coupon card no carrinho (vamos integrá-lo no summary em F6.1 se quisermos,
   por agora deixamos como está - já está visualmente OK) */


/* ============================================================
   F7 — Single-column layout (Opção A)
   Substitui completamente o grid 2-col por stack vertical centrado.
   Items → Actions → Cupão → Resumo, tudo numa coluna max-width 880px.
   Sub-fase F.
   ============================================================ */

/* Override total do grid 2-col anterior - tudo em block flow */
.ondacor-cart-wrapper {
    display: block !important;
    grid-template-columns: none !important;
    grid-template-areas: none !important;
    grid-template-rows: none !important;
    max-width: 880px;
    margin: 32px auto 64px;
    padding: 0 16px;
    box-sizing: border-box;
}

/* Form volta a block flow normal */
.ondacor-cart-wrapper .woocommerce-cart-form {
    display: block;
}

/* Items section */
.ondacor-cart-items {
    margin-bottom: 24px;
}

/* Form actions row: continue link à esquerda + update à direita, separador subtil */
.ondacor-cart-form-actions {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: wrap;
    gap: 12px !important;
    margin: 0 0 32px;
    padding: 0;
    border: none;
}

/* Continue link: simples (anular chip style do iter 2) */
.ondacor-cart-continue {
    border: none !important;
    background: transparent !important;
    padding: 8px 0 !important;
    border-radius: 0 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-weight: 500 !important;
    font-size: 0.95rem !important;
    color: var(--ond-ink, #2c2c2c) !important;
}

.ondacor-cart-continue:hover {
    background: transparent !important;
    border: none !important;
    color: var(--ond-accent, #c4a574) !important;
    text-decoration: underline !important;
}

/* Coupon: centrado no stack, sem ser focal */
.ondacor-cart-coupon {
    margin: 0 0 16px;
}

/* Summary: anular sticky (já não faz sentido no stack), block flow */
.cart-collaterals.ondacor-cart-totals-wrap {
    position: static !important;
    top: auto !important;
    align-self: auto !important;
    margin: 0;
    width: 100%;
    max-width: none;
    grid-column: auto !important;
    grid-row: auto !important;
    grid-area: auto !important;
}

/* Mobile */
@media (max-width: 640px) {
    .ondacor-cart-wrapper {
        padding: 0;
        margin: 16px auto 32px;
    }

    .ondacor-cart-form-actions {
        flex-direction: column-reverse;
        align-items: stretch;
    }

    .ondacor-cart-continue {
        text-align: center;
    }
}


/* ============================================================
   F7.1 — Override aggressivo dos floats default do WC
   O WC core tem .cart-collaterals { float: right; width: 47.7% } e
   .woocommerce-cart-form { float: left; width: 47.7% } que partem
   completamente o nosso layout single-column.
   ============================================================ */

.woocommerce-cart .ondacor-cart-wrapper,
.woocommerce-cart .ondacor-cart-wrapper * {
    box-sizing: border-box;
}

.woocommerce-cart .ondacor-cart-wrapper {
    display: block !important;
    float: none !important;
    width: auto !important;
    max-width: 880px !important;
    margin: 32px auto 64px !important;
    padding: 0 16px !important;
}

.woocommerce-cart .ondacor-cart-wrapper > form,
.woocommerce-cart .ondacor-cart-wrapper .woocommerce-cart-form {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

.woocommerce-cart .ondacor-cart-wrapper .cart-collaterals,
.woocommerce-cart .ondacor-cart-wrapper .cart-collaterals.ondacor-cart-totals-wrap {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
}

/* Garantir que o ondacor-cart-form-actions ocupa todo o width */
.woocommerce-cart .ondacor-cart-form-actions {
    width: 100% !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: wrap;
    gap: 12px !important;
    margin: 0 0 32px !important;
}

/* O item card também deve estender ao max-width disponível, sem floats */
.woocommerce-cart .ondacor-cart-items,
.woocommerce-cart .ondacor-cart-coupon {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: none !important;
}

/* Clearfix no wrapper para o caso de algum float residual */
.woocommerce-cart .ondacor-cart-wrapper::after {
    content: "";
    display: table;
    clear: both;
}


/* ============================================================
   F7.2 — Override do verdadeiro culpado: .cart_totals (não .cart-collaterals)
   Match exacto do selector WC core com !important para ganhar.
   ============================================================ */

.woocommerce .cart-collaterals .cart_totals,
.woocommerce-page .cart-collaterals .cart_totals,
.woocommerce .ondacor-cart-summary.cart_totals,
.woocommerce-cart .ondacor-cart-wrapper .ondacor-cart-summary {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    clear: both !important;
}

/* Defensive: cross-sells também tem float:left width:48% no WC core */
.woocommerce .cart-collaterals .cross-sells,
.woocommerce-page .cart-collaterals .cross-sells {
    float: none !important;
    width: 100% !important;
    margin: 0 0 32px !important;
}


/* ============================================================
   F8 — Identidade visual (Sub-fase F)
   Page title escondido, sistema de botões 3-tier, × uniformizado,
   Manrope enforced, paleta Ondacor consistente.
   ============================================================ */

/* 1. ESCONDER título "Carrinho" do page header */
body.woocommerce-cart .page-header,
body.woocommerce-cart .entry-header,
body.woocommerce-cart h1.entry-title,
body.woocommerce-cart .page-title,
body.woocommerce-cart > .site-main > article > header {
    display: none !important;
}

/* 2. MANROPE em tudo dentro do cart */
body.woocommerce-cart .ondacor-cart-wrapper,
body.woocommerce-cart .ondacor-cart-wrapper *,
body.woocommerce-cart .woocommerce-notices-wrapper,
body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .cart-collaterals,
body.woocommerce-cart .cart-collaterals * {
    font-family: 'Manrope', system-ui, -apple-system, sans-serif !important;
}

/* ============================================================
   3. SISTEMA DE BOTÕES — 3 TIERS
   ============================================================ */

/* === PRIMARY: Gold filled (Seguir para Pagamento) === */
body.woocommerce-cart .ondacor-cart-summary__cta .checkout-button,
body.woocommerce-cart .ondacor-cart-summary__cta .wc-forward,
body.woocommerce-cart .ondacor-cart-summary__cta a.button {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box;
    padding: 18px 24px !important;
    background: var(--ond-accent, #c4a574) !important;
    color: #fff !important;
    border: 1px solid var(--ond-accent, #c4a574) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    text-align: center;
    text-decoration: none !important;
    line-height: 1.2 !important;
    transition: background 0.25s ease, border-color 0.25s ease !important;
    transform: none !important;
}

body.woocommerce-cart .ondacor-cart-summary__cta .checkout-button:hover,
body.woocommerce-cart .ondacor-cart-summary__cta .wc-forward:hover,
body.woocommerce-cart .ondacor-cart-summary__cta a.button:hover {
    background: var(--ond-ink, #2c2c2c) !important;
    border-color: var(--ond-ink, #2c2c2c) !important;
    color: #fff !important;
    transform: none !important;
    box-shadow: none !important;
}

/* === SECONDARY: Outline ink (Actualizar, Aplicar Cupão, banner Continue a Comprar) === */
body.woocommerce-cart .ondacor-cart-update,
body.woocommerce-cart .ondacor-cart-coupon__button,
body.woocommerce-cart button[name="update_cart"],
body.woocommerce-cart button[name="apply_coupon"],
body.woocommerce-cart .woocommerce-info .button,
body.woocommerce-cart .flexible-shipping-notice .button,
body.woocommerce-cart .free-shipping-notice .button,
body.woocommerce-cart .woocommerce-notices-wrapper .button {
    display: inline-block !important;
    padding: 12px 24px !important;
    background: transparent !important;
    color: var(--ond-ink, #2c2c2c) !important;
    border: 1px solid var(--ond-ink, #2c2c2c) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    line-height: 1.2 !important;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
    opacity: 1 !important;
}

body.woocommerce-cart .ondacor-cart-update:hover,
body.woocommerce-cart .ondacor-cart-coupon__button:hover,
body.woocommerce-cart button[name="update_cart"]:hover,
body.woocommerce-cart button[name="apply_coupon"]:hover,
body.woocommerce-cart .woocommerce-info .button:hover,
body.woocommerce-cart .flexible-shipping-notice .button:hover,
body.woocommerce-cart .free-shipping-notice .button:hover {
    background: var(--ond-ink, #2c2c2c) !important;
    color: #fff !important;
    border-color: var(--ond-ink, #2c2c2c) !important;
}

/* Disabled state (Actualizar carrinho quando não há alterações) */
body.woocommerce-cart .ondacor-cart-update:disabled {
    border-color: var(--ond-rule, #e0e0e0) !important;
    color: var(--ond-muted-soft, #aaa) !important;
    cursor: not-allowed;
}

body.woocommerce-cart .ondacor-cart-update:disabled:hover {
    background: transparent !important;
    color: var(--ond-muted-soft, #aaa) !important;
}

/* === TERTIARY: Text link com seta (Continuar compras) === */
.ondacor-cart-continue {
    background: transparent !important;
    border: none !important;
    padding: 12px 0 !important;
    color: var(--ond-ink, #2c2c2c) !important;
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
}

.ondacor-cart-continue:hover {
    background: transparent !important;
    border: none !important;
    color: var(--ond-accent, #c4a574) !important;
    text-decoration: underline !important;
    text-underline-offset: 4px;
}

/* ============================================================
   4. × ICON UNIFORMIZADO (item remove)
   ============================================================ */
body.woocommerce-cart .ondacor-cart-item__remove,
body.woocommerce-cart a.remove.ondacor-cart-item__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: var(--ond-muted-soft, #999) !important;
    border: 1px solid var(--ond-rule, #e0e0e0) !important;
    font-size: 1rem !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    text-decoration: none !important;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
    box-shadow: none !important;
    padding: 0 !important;
}

body.woocommerce-cart .ondacor-cart-item__remove:hover,
body.woocommerce-cart a.remove.ondacor-cart-item__remove:hover {
    background: var(--ond-ink, #2c2c2c) !important;
    color: #fff !important;
    border-color: var(--ond-ink, #2c2c2c) !important;
}

/* ============================================================
   5. INPUTS: coerência visual (cupão, futuros campos)
   ============================================================ */
body.woocommerce-cart .ondacor-cart-coupon__input,
body.woocommerce-cart input.input-text[type="text"] {
    padding: 12px 14px !important;
    background: #fff !important;
    border: 1px solid var(--ond-rule, #e0e0e0) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 0.9rem !important;
    color: var(--ond-ink, #2c2c2c) !important;
    transition: border-color 0.2s ease;
}

body.woocommerce-cart .ondacor-cart-coupon__input:focus,
body.woocommerce-cart input.input-text[type="text"]:focus {
    outline: none !important;
    border-color: var(--ond-ink, #2c2c2c) !important;
}

body.woocommerce-cart .ondacor-cart-coupon__input::placeholder {
    color: var(--ond-muted-soft, #999);
}

/* ============================================================
   6. TIPOGRAFIA: cores e pesos consistentes
   ============================================================ */
body.woocommerce-cart .ondacor-cart-coupon__title,
body.woocommerce-cart .ondacor-cart-summary__title {
    color: var(--ond-muted, #666) !important;
    font-weight: 600 !important;
    letter-spacing: 0.1em !important;
}

body.woocommerce-cart .ondacor-cart-summary__total-label,
body.woocommerce-cart .ondacor-cart-summary__total-value {
    color: var(--ond-ink, #2c2c2c) !important;
}

/* Free-shipping banner texto: garantir Manrope + ink */
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .flexible-shipping-notice {
    font-family: 'Manrope', system-ui, sans-serif !important;
    color: var(--ond-ink, #2c2c2c) !important;
}

/* Border do banner e radius — match resto da página (rectangular, sem radius) */
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .flexible-shipping-notice {
    border-radius: 0 !important;
}


/* ============================================================
   F8 v2 — Identidade visual corrigida com paleta exacta da loja
   - Primary CTA hover: var(--ond-accent-dark) e NÃO ink
   - Secundários (Actualizar, Aplicar, Continue a Comprar): ink outline
     hover ink filled (alinhado com sistema do site)
   - Banner free-shipping: transparente, top border accent
   ============================================================ */

/* === PRIMARY CTA (Seguir para Pagamento) === */
/* Mesmo padrão de botão da loja: caramelo → caramelo-dark no hover */
body.woocommerce-cart .ondacor-cart-summary__cta .checkout-button,
body.woocommerce-cart .ondacor-cart-summary__cta .wc-forward,
body.woocommerce-cart .ondacor-cart-summary__cta a.button {
    background-color: var(--ond-accent) !important;
    background: var(--ond-accent) !important;
    color: var(--ond-paper) !important;
    border: 1px solid var(--ond-accent) !important;
    border-radius: 0 !important;
    padding: 18px 24px !important;
    font-family: var(--ond-sans) !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    box-shadow: none !important;
    transform: none !important;
    transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease !important;
    width: 100% !important;
    display: block !important;
    text-align: center !important;
    text-decoration: none !important;
}

body.woocommerce-cart .ondacor-cart-summary__cta .checkout-button:hover,
body.woocommerce-cart .ondacor-cart-summary__cta .wc-forward:hover,
body.woocommerce-cart .ondacor-cart-summary__cta a.button:hover {
    background-color: var(--ond-accent-dark) !important;
    background: var(--ond-accent-dark) !important;
    border-color: var(--ond-accent-dark) !important;
    color: var(--ond-paper) !important;
    transform: none !important;
    box-shadow: none !important;
}


/* === SECONDARY (Actualizar, Aplicar Cupão, Continue a Comprar do banner) === */
/* Ink outline em repouso, ink filled no hover */
body.woocommerce-cart .ondacor-cart-form-actions button[name="update_cart"],
body.woocommerce-cart .ondacor-cart-coupon__row button[name="apply_coupon"],
body.woocommerce-cart .woocommerce-info .button,
body.woocommerce-cart .flexible-shipping-notice .button,
body.woocommerce-cart .flexible-shipping-free-shipping-notice .button,
body.woocommerce-cart .woocommerce-notices-wrapper .button,
body.woocommerce-cart .woocommerce-message .button {
    background-color: transparent !important;
    background: transparent !important;
    color: var(--ond-ink) !important;
    border: 1px solid var(--ond-ink) !important;
    border-radius: 0 !important;
    padding: 12px 24px !important;
    font-family: var(--ond-sans) !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    box-shadow: none !important;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
    text-decoration: none !important;
    cursor: pointer;
    opacity: 1 !important;
    line-height: 1.2 !important;
}

body.woocommerce-cart .ondacor-cart-form-actions button[name="update_cart"]:hover,
body.woocommerce-cart .ondacor-cart-coupon__row button[name="apply_coupon"]:hover,
body.woocommerce-cart .woocommerce-info .button:hover,
body.woocommerce-cart .flexible-shipping-notice .button:hover,
body.woocommerce-cart .flexible-shipping-free-shipping-notice .button:hover,
body.woocommerce-cart .woocommerce-notices-wrapper .button:hover,
body.woocommerce-cart .woocommerce-message .button:hover {
    background-color: var(--ond-ink) !important;
    background: var(--ond-ink) !important;
    color: var(--ond-paper) !important;
    border-color: var(--ond-ink) !important;
}

/* Disabled state do Actualizar Carrinho (quando não há mudanças) */
body.woocommerce-cart .ondacor-cart-form-actions button[name="update_cart"]:disabled,
body.woocommerce-cart .ondacor-cart-form-actions button[name="update_cart"][disabled] {
    border-color: var(--ond-rule-strong) !important;
    color: var(--ond-muted-soft) !important;
    cursor: not-allowed;
}

body.woocommerce-cart .ondacor-cart-form-actions button[name="update_cart"]:disabled:hover {
    background-color: transparent !important;
    color: var(--ond-muted-soft) !important;
}


/* === TERTIARY (Continuar Compras link) === */
.ondacor-cart-continue {
    background: transparent !important;
    border: none !important;
    padding: 12px 0 !important;
    color: var(--ond-ink) !important;
    font-family: var(--ond-sans) !important;
    font-size: 0.8rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
}

.ondacor-cart-continue:hover {
    background: transparent !important;
    border: none !important;
    color: var(--ond-accent) !important;
    text-decoration: underline !important;
    text-underline-offset: 4px;
}


/* === BANNER FREE-SHIPPING === */
/* Sem fundo cinza, com top border accent e respiração do header */
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .flexible-shipping-notice,
body.woocommerce-cart .flexible-shipping-free-shipping-notice,
body.woocommerce-cart .woocommerce-message {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    border-top: 1px solid var(--ond-accent) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 24px 0 !important;
    margin: 40px 0 24px !important;
    color: var(--ond-ink) !important;
    font-family: var(--ond-sans) !important;
    font-size: 0.9rem !important;
}

/* Esconder o ícone default do banner (caixa azul/check) que o WC usa */
body.woocommerce-cart .woocommerce-info::before,
body.woocommerce-cart .flexible-shipping-notice::before {
    display: none !important;
}


/* === × ICON UNIFORMIZADO (cart item remove) === */
/* Override do .remove default do WC + força paleta Ondacor */
body.woocommerce-cart .ondacor-cart-item__remove,
body.woocommerce-cart a.remove.ondacor-cart-item__remove,
body.woocommerce-cart .ondacor-cart-item a.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;
    background-color: transparent !important;
    color: var(--ond-muted-soft) !important;
    border: 1px solid var(--ond-rule-strong) !important;
    font-size: 0.95rem !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    text-decoration: none !important;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
    box-shadow: none !important;
    padding: 0 !important;
}

body.woocommerce-cart .ondacor-cart-item__remove:hover,
body.woocommerce-cart a.remove.ondacor-cart-item__remove:hover,
body.woocommerce-cart .ondacor-cart-item a.remove:hover {
    background: var(--ond-ink) !important;
    background-color: var(--ond-ink) !important;
    color: var(--ond-paper) !important;
    border-color: var(--ond-ink) !important;
}


/* ============================================================
   F8 v3 — Botões unificados na família caramelo (PERSONALIZAR style)
   - Todos os botões: var(--ond-accent) → var(--ond-accent-dark) no hover
   - Hierarquia por SIZE (Seguir Pagamento maior, restantes compactos)
   - × icon: hover passa de ink para accent (família coerente)
   ============================================================ */

/* === SECONDARIES → agora todos caramelo cheio (override do F8 v2) === */
body.woocommerce-cart .ondacor-cart-form-actions button[name="update_cart"],
body.woocommerce-cart .ondacor-cart-coupon__row button[name="apply_coupon"],
body.woocommerce-cart .ondacor-cart-coupon__button,
body.woocommerce-cart .woocommerce-info .button,
body.woocommerce-cart .flexible-shipping-notice .button,
body.woocommerce-cart .flexible-shipping-free-shipping-notice .button,
body.woocommerce-cart .woocommerce-notices-wrapper .button,
body.woocommerce-cart .woocommerce-message .button {
    background-color: var(--ond-accent) !important;
    background: var(--ond-accent) !important;
    color: var(--ond-paper) !important;
    border: 1px solid var(--ond-accent) !important;
    border-radius: 0 !important;
    padding: 12px 24px !important;
    font-family: var(--ond-sans) !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    box-shadow: none !important;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
    text-decoration: none !important;
    cursor: pointer;
    opacity: 1 !important;
    line-height: 1.2 !important;
}

body.woocommerce-cart .ondacor-cart-form-actions button[name="update_cart"]:hover,
body.woocommerce-cart .ondacor-cart-coupon__row button[name="apply_coupon"]:hover,
body.woocommerce-cart .ondacor-cart-coupon__button:hover,
body.woocommerce-cart .woocommerce-info .button:hover,
body.woocommerce-cart .flexible-shipping-notice .button:hover,
body.woocommerce-cart .flexible-shipping-free-shipping-notice .button:hover,
body.woocommerce-cart .woocommerce-notices-wrapper .button:hover,
body.woocommerce-cart .woocommerce-message .button:hover {
    background-color: var(--ond-accent-dark) !important;
    background: var(--ond-accent-dark) !important;
    border-color: var(--ond-accent-dark) !important;
    color: var(--ond-paper) !important;
}

/* Update Cart disabled (sem mudanças): caramelo muito esbatido */
body.woocommerce-cart .ondacor-cart-form-actions button[name="update_cart"]:disabled,
body.woocommerce-cart .ondacor-cart-form-actions button[name="update_cart"][disabled] {
    background-color: var(--ond-warm) !important;
    background: var(--ond-warm) !important;
    border-color: var(--ond-rule-strong) !important;
    color: var(--ond-muted) !important;
    cursor: not-allowed;
}

body.woocommerce-cart .ondacor-cart-form-actions button[name="update_cart"]:disabled:hover {
    background-color: var(--ond-warm) !important;
    color: var(--ond-muted) !important;
}


/* === × ICON: hover passa para caramelo (consistência com botões) === */
body.woocommerce-cart .ondacor-cart-item__remove:hover,
body.woocommerce-cart a.remove.ondacor-cart-item__remove:hover,
body.woocommerce-cart .ondacor-cart-item a.remove:hover {
    background: var(--ond-accent) !important;
    background-color: var(--ond-accent) !important;
    color: var(--ond-paper) !important;
    border-color: var(--ond-accent) !important;
}


/* ============================================================
   F9 — Checkout page identidade visual (Sub-fase F)
   CSS-only. Estrutura Elementor intacta, só paleta + tipografia.
   ============================================================ */

/* === FONTE: Manrope em tudo === */
body.woocommerce-checkout,
body.woocommerce-checkout *,
body.woocommerce-checkout .e-checkout,
body.woocommerce-checkout .e-checkout *,
body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #customer_details *,
body.woocommerce-checkout #order_review,
body.woocommerce-checkout #order_review *,
body.woocommerce-checkout #payment,
body.woocommerce-checkout #payment * {
    font-family: var(--ond-sans) !important;
}

/* === Esconder título de página se existir === */
body.woocommerce-checkout .page-header,
body.woocommerce-checkout .entry-header,
body.woocommerce-checkout h1.entry-title,
body.woocommerce-checkout .page-title {
    display: none !important;
}

/* === BANNER FREE-SHIPPING (mesma identidade do cart) === */
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .flexible-shipping-notice,
body.woocommerce-checkout .flexible-shipping-free-shipping-notice,
body.woocommerce-checkout .woocommerce-message {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    border-top: 1px solid var(--ond-accent) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 24px 0 !important;
    margin: 40px 0 24px !important;
    color: var(--ond-ink) !important;
    font-family: var(--ond-sans) !important;
    font-size: 0.9rem !important;
}

body.woocommerce-checkout .woocommerce-info::before,
body.woocommerce-checkout .flexible-shipping-notice::before {
    display: none !important;
}

/* Banner button (Continue a Comprar) - secondary caramelo cheio compact */
body.woocommerce-checkout .woocommerce-info .button,
body.woocommerce-checkout .flexible-shipping-notice .button,
body.woocommerce-checkout .flexible-shipping-free-shipping-notice .button,
body.woocommerce-checkout .woocommerce-notices-wrapper .button,
body.woocommerce-checkout .woocommerce-message .button {
    background-color: var(--ond-accent) !important;
    background: var(--ond-accent) !important;
    color: var(--ond-paper) !important;
    border: 1px solid var(--ond-accent) !important;
    border-radius: 0 !important;
    padding: 12px 24px !important;
    font-family: var(--ond-sans) !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    box-shadow: none !important;
    transition: background-color 0.2s ease, border-color 0.2s ease !important;
    text-decoration: none !important;
    cursor: pointer;
    line-height: 1.2 !important;
}

body.woocommerce-checkout .woocommerce-info .button:hover,
body.woocommerce-checkout .flexible-shipping-notice .button:hover,
body.woocommerce-checkout .flexible-shipping-free-shipping-notice .button:hover,
body.woocommerce-checkout .woocommerce-message .button:hover {
    background-color: var(--ond-accent-dark) !important;
    background: var(--ond-accent-dark) !important;
    border-color: var(--ond-accent-dark) !important;
    color: var(--ond-paper) !important;
}

/* === LINKS: azul → caramelo (todos os links do checkout) === */
body.woocommerce-checkout .woocommerce-form-coupon-toggle a,
body.woocommerce-checkout .woocommerce-form-coupon-toggle .showcoupon,
body.woocommerce-checkout a.showcoupon,
body.woocommerce-checkout .showcoupon,
body.woocommerce-checkout .woocommerce-form-coupon a,
body.woocommerce-checkout #order_review a,
body.woocommerce-checkout .woocommerce-checkout p a,
body.woocommerce-checkout .woocommerce-privacy-policy-text a {
    color: var(--ond-accent) !important;
    text-decoration: underline;
    text-underline-offset: 3px;
    font-weight: 500;
    transition: color 0.2s ease;
}

body.woocommerce-checkout .woocommerce-form-coupon-toggle a:hover,
body.woocommerce-checkout a.showcoupon:hover,
body.woocommerce-checkout #order_review a:hover,
body.woocommerce-checkout .woocommerce-checkout p a:hover {
    color: var(--ond-accent-dark) !important;
}

/* === RADIOS & CHECKBOXES: accent color === */
body.woocommerce-checkout input[type="radio"],
body.woocommerce-checkout input[type="checkbox"] {
    accent-color: var(--ond-accent) !important;
}

/* === HEADINGS: Detalhe da compra / O seu pedido / Envio / etc === */
body.woocommerce-checkout h3,
body.woocommerce-checkout h3#order_review_heading,
body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout .woocommerce-additional-fields h3,
body.woocommerce-checkout #ship-to-different-address,
body.woocommerce-checkout #ship-to-different-address span {
    font-family: var(--ond-sans) !important;
    color: var(--ond-ink) !important;
    font-weight: 600 !important;
    letter-spacing: 0.06em !important;
    font-size: 0.95rem !important;
}

/* === ORDER REVIEW table === */
body.woocommerce-checkout #order_review table,
body.woocommerce-checkout #order_review table th,
body.woocommerce-checkout #order_review table td,
body.woocommerce-checkout .woocommerce-checkout-review-order-table th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td {
    font-family: var(--ond-sans) !important;
    color: var(--ond-ink) !important;
    border-color: var(--ond-rule) !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total .amount {
    color: var(--ond-ink) !important;
    font-weight: 700 !important;
    font-size: 1.1rem !important;
}

/* === PAYMENT METHODS box === */
body.woocommerce-checkout #payment {
    background: transparent !important;
    border: none !important;
}

body.woocommerce-checkout #payment ul.payment_methods {
    border: none !important;
    padding: 0 !important;
    margin: 0 0 16px !important;
}

body.woocommerce-checkout #payment ul.payment_methods li.payment_method,
body.woocommerce-checkout #payment ul.payment_methods > li {
    background: transparent !important;
    border: 1px solid var(--ond-rule) !important;
    border-radius: 0 !important;
    padding: 14px 16px !important;
    margin-bottom: 8px !important;
    transition: border-color 0.2s ease;
}

body.woocommerce-checkout #payment ul.payment_methods li.payment_method:has(input:checked),
body.woocommerce-checkout #payment ul.payment_methods > li:has(input:checked) {
    border-color: var(--ond-accent) !important;
    background: var(--ond-warm) !important;
}

body.woocommerce-checkout #payment .payment_box {
    background: var(--ond-warm) !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 14px !important;
    margin-top: 12px !important;
    color: var(--ond-ink) !important;
    font-size: 0.88rem !important;
}

body.woocommerce-checkout #payment .payment_box::before {
    display: none !important;
}

/* === FINALIZAR ENCOMENDA: primary CTA caramelo === */
body.woocommerce-checkout #place_order,
body.woocommerce-checkout button#place_order,
body.woocommerce-checkout button[type="submit"][name="woocommerce_checkout_place_order"] {
    background-color: var(--ond-accent) !important;
    background: var(--ond-accent) !important;
    color: var(--ond-paper) !important;
    border: 1px solid var(--ond-accent) !important;
    border-radius: 0 !important;
    padding: 18px 24px !important;
    font-family: var(--ond-sans) !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    box-shadow: none !important;
    width: 100% !important;
    display: block !important;
    text-align: center !important;
    line-height: 1.2 !important;
    transition: background-color 0.25s ease, border-color 0.25s ease !important;
}

body.woocommerce-checkout #place_order:hover,
body.woocommerce-checkout button#place_order:hover {
    background-color: var(--ond-accent-dark) !important;
    background: var(--ond-accent-dark) !important;
    border-color: var(--ond-accent-dark) !important;
    color: var(--ond-paper) !important;
}

/* Privacy notice texto */
body.woocommerce-checkout .woocommerce-privacy-policy-text {
    color: var(--ond-muted) !important;
    font-size: 0.82rem !important;
    line-height: 1.5 !important;
    margin: 16px 0 !important;
}


/* ============================================================
   F9 — Checkout page identidade visual (Sub-fase F)
   CSS-only. Estrutura Elementor intacta, só paleta + tipografia.
   ============================================================ */

/* === FONTE: Manrope em tudo === */
body.woocommerce-checkout,
body.woocommerce-checkout *,
body.woocommerce-checkout .e-checkout,
body.woocommerce-checkout .e-checkout *,
body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #customer_details *,
body.woocommerce-checkout #order_review,
body.woocommerce-checkout #order_review *,
body.woocommerce-checkout #payment,
body.woocommerce-checkout #payment * {
    font-family: var(--ond-sans) !important;
}

/* === Esconder título de página se existir === */
body.woocommerce-checkout .page-header,
body.woocommerce-checkout .entry-header,
body.woocommerce-checkout h1.entry-title,
body.woocommerce-checkout .page-title {
    display: none !important;
}

/* === BANNER FREE-SHIPPING (mesma identidade do cart) === */
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .flexible-shipping-notice,
body.woocommerce-checkout .flexible-shipping-free-shipping-notice,
body.woocommerce-checkout .woocommerce-message {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    border-top: 1px solid var(--ond-accent) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 24px 0 !important;
    margin: 40px 0 24px !important;
    color: var(--ond-ink) !important;
    font-family: var(--ond-sans) !important;
    font-size: 0.9rem !important;
}

body.woocommerce-checkout .woocommerce-info::before,
body.woocommerce-checkout .flexible-shipping-notice::before {
    display: none !important;
}

/* Banner button (Continue a Comprar) - secondary caramelo cheio compact */
body.woocommerce-checkout .woocommerce-info .button,
body.woocommerce-checkout .flexible-shipping-notice .button,
body.woocommerce-checkout .flexible-shipping-free-shipping-notice .button,
body.woocommerce-checkout .woocommerce-notices-wrapper .button,
body.woocommerce-checkout .woocommerce-message .button {
    background-color: var(--ond-accent) !important;
    background: var(--ond-accent) !important;
    color: var(--ond-paper) !important;
    border: 1px solid var(--ond-accent) !important;
    border-radius: 0 !important;
    padding: 12px 24px !important;
    font-family: var(--ond-sans) !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    box-shadow: none !important;
    transition: background-color 0.2s ease, border-color 0.2s ease !important;
    text-decoration: none !important;
    cursor: pointer;
    line-height: 1.2 !important;
}

body.woocommerce-checkout .woocommerce-info .button:hover,
body.woocommerce-checkout .flexible-shipping-notice .button:hover,
body.woocommerce-checkout .flexible-shipping-free-shipping-notice .button:hover,
body.woocommerce-checkout .woocommerce-message .button:hover {
    background-color: var(--ond-accent-dark) !important;
    background: var(--ond-accent-dark) !important;
    border-color: var(--ond-accent-dark) !important;
    color: var(--ond-paper) !important;
}

/* === LINKS: azul → caramelo (todos os links do checkout) === */
body.woocommerce-checkout .woocommerce-form-coupon-toggle a,
body.woocommerce-checkout .woocommerce-form-coupon-toggle .showcoupon,
body.woocommerce-checkout a.showcoupon,
body.woocommerce-checkout .showcoupon,
body.woocommerce-checkout .woocommerce-form-coupon a,
body.woocommerce-checkout #order_review a,
body.woocommerce-checkout .woocommerce-checkout p a,
body.woocommerce-checkout .woocommerce-privacy-policy-text a {
    color: var(--ond-accent) !important;
    text-decoration: underline;
    text-underline-offset: 3px;
    font-weight: 500;
    transition: color 0.2s ease;
}

body.woocommerce-checkout .woocommerce-form-coupon-toggle a:hover,
body.woocommerce-checkout a.showcoupon:hover,
body.woocommerce-checkout #order_review a:hover,
body.woocommerce-checkout .woocommerce-checkout p a:hover {
    color: var(--ond-accent-dark) !important;
}

/* === RADIOS & CHECKBOXES: accent color === */
body.woocommerce-checkout input[type="radio"],
body.woocommerce-checkout input[type="checkbox"] {
    accent-color: var(--ond-accent) !important;
}

/* === HEADINGS: Detalhe da compra / O seu pedido / Envio / etc === */
body.woocommerce-checkout h3,
body.woocommerce-checkout h3#order_review_heading,
body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout .woocommerce-additional-fields h3,
body.woocommerce-checkout #ship-to-different-address,
body.woocommerce-checkout #ship-to-different-address span {
    font-family: var(--ond-sans) !important;
    color: var(--ond-ink) !important;
    font-weight: 600 !important;
    letter-spacing: 0.06em !important;
    font-size: 0.95rem !important;
}

/* === ORDER REVIEW table === */
body.woocommerce-checkout #order_review table,
body.woocommerce-checkout #order_review table th,
body.woocommerce-checkout #order_review table td,
body.woocommerce-checkout .woocommerce-checkout-review-order-table th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td {
    font-family: var(--ond-sans) !important;
    color: var(--ond-ink) !important;
    border-color: var(--ond-rule) !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total .amount {
    color: var(--ond-ink) !important;
    font-weight: 700 !important;
    font-size: 1.1rem !important;
}

/* === PAYMENT METHODS box === */
body.woocommerce-checkout #payment {
    background: transparent !important;
    border: none !important;
}

body.woocommerce-checkout #payment ul.payment_methods {
    border: none !important;
    padding: 0 !important;
    margin: 0 0 16px !important;
}

body.woocommerce-checkout #payment ul.payment_methods li.payment_method,
body.woocommerce-checkout #payment ul.payment_methods > li {
    background: transparent !important;
    border: 1px solid var(--ond-rule) !important;
    border-radius: 0 !important;
    padding: 14px 16px !important;
    margin-bottom: 8px !important;
    transition: border-color 0.2s ease;
}

body.woocommerce-checkout #payment ul.payment_methods li.payment_method:has(input:checked),
body.woocommerce-checkout #payment ul.payment_methods > li:has(input:checked) {
    border-color: var(--ond-accent) !important;
    background: var(--ond-warm) !important;
}

body.woocommerce-checkout #payment .payment_box {
    background: var(--ond-warm) !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 14px !important;
    margin-top: 12px !important;
    color: var(--ond-ink) !important;
    font-size: 0.88rem !important;
}

body.woocommerce-checkout #payment .payment_box::before {
    display: none !important;
}

/* === FINALIZAR ENCOMENDA: primary CTA caramelo === */
body.woocommerce-checkout #place_order,
body.woocommerce-checkout button#place_order,
body.woocommerce-checkout button[type="submit"][name="woocommerce_checkout_place_order"] {
    background-color: var(--ond-accent) !important;
    background: var(--ond-accent) !important;
    color: var(--ond-paper) !important;
    border: 1px solid var(--ond-accent) !important;
    border-radius: 0 !important;
    padding: 18px 24px !important;
    font-family: var(--ond-sans) !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    box-shadow: none !important;
    width: 100% !important;
    display: block !important;
    text-align: center !important;
    line-height: 1.2 !important;
    transition: background-color 0.25s ease, border-color 0.25s ease !important;
}

body.woocommerce-checkout #place_order:hover,
body.woocommerce-checkout button#place_order:hover {
    background-color: var(--ond-accent-dark) !important;
    background: var(--ond-accent-dark) !important;
    border-color: var(--ond-accent-dark) !important;
    color: var(--ond-paper) !important;
}

/* Privacy notice texto */
body.woocommerce-checkout .woocommerce-privacy-policy-text {
    color: var(--ond-muted) !important;
    font-size: 0.82rem !important;
    line-height: 1.5 !important;
    margin: 16px 0 !important;
}


/* ============================================================
   F9.1 — Apply button do coupon form do checkout
   (não coberto pelo F9 inicial, este é dentro de .checkout_coupon)
   ============================================================ */

body.woocommerce-checkout form.checkout_coupon button,
body.woocommerce-checkout form.woocommerce-form-coupon button,
body.woocommerce-checkout form.checkout_coupon button[name="apply_coupon"],
body.woocommerce-checkout form.woocommerce-form-coupon button[name="apply_coupon"],
body.woocommerce-checkout .woocommerce-form-coupon .button {
    background-color: var(--ond-accent) !important;
    background: var(--ond-accent) !important;
    color: var(--ond-paper) !important;
    border: 1px solid var(--ond-accent) !important;
    border-radius: 0 !important;
    padding: 14px 28px !important;
    font-family: var(--ond-sans) !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    box-shadow: none !important;
    transition: background-color 0.2s ease, border-color 0.2s ease !important;
    text-decoration: none !important;
    cursor: pointer;
    line-height: 1.2 !important;
    margin: 0 !important;
}

body.woocommerce-checkout form.checkout_coupon button:hover,
body.woocommerce-checkout form.woocommerce-form-coupon button:hover,
body.woocommerce-checkout .woocommerce-form-coupon .button:hover {
    background-color: var(--ond-accent-dark) !important;
    background: var(--ond-accent-dark) !important;
    border-color: var(--ond-accent-dark) !important;
    color: var(--ond-paper) !important;
}

/* Coupon input: garantir match com identidade */
body.woocommerce-checkout form.checkout_coupon input[name="coupon_code"],
body.woocommerce-checkout form.woocommerce-form-coupon input#coupon_code {
    font-family: var(--ond-sans) !important;
    color: var(--ond-ink) !important;
    border: none !important;
    border-bottom: 1px solid var(--ond-rule-strong) !important;
    border-radius: 0 !important;
    padding: 12px 0 !important;
    background: transparent !important;
    font-size: 0.95rem !important;
}

body.woocommerce-checkout form.checkout_coupon input[name="coupon_code"]:focus,
body.woocommerce-checkout form.woocommerce-form-coupon input#coupon_code:focus {
    outline: none !important;
    border-bottom-color: var(--ond-accent) !important;
}

body.woocommerce-checkout form.checkout_coupon input[name="coupon_code"]::placeholder,
body.woocommerce-checkout form.woocommerce-form-coupon input#coupon_code::placeholder {
    color: var(--ond-muted-soft) !important;
}


/* ============================================================
   F9.3 — Aplicar button: override mais agressivo contra Elementor
   Cobre rest + hover + focus + active, com todos os selectors possíveis
   ============================================================ */

body.woocommerce-checkout button[name="apply_coupon"],
body.woocommerce-checkout input[name="apply_coupon"],
body.woocommerce-checkout .coupon button,
body.woocommerce-checkout .coupon input.button,
body.woocommerce-checkout form#checkout_coupon button,
body.woocommerce-checkout form.checkout_coupon button,
body.woocommerce-checkout form.woocommerce-form-coupon button,
body.woocommerce-checkout form.woocommerce-form-coupon button.button,
body.woocommerce-checkout .elementor-widget-woocommerce-checkout-page button[name="apply_coupon"],
body.woocommerce-checkout .e-coupon-anchor + form button,
body.woocommerce-checkout .e-coupon-box button {
    background-color: var(--ond-accent) !important;
    background: var(--ond-accent) !important;
    background-image: none !important;
    color: var(--ond-paper) !important;
    border: 1px solid var(--ond-accent) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

body.woocommerce-checkout button[name="apply_coupon"]:hover,
body.woocommerce-checkout button[name="apply_coupon"]:focus,
body.woocommerce-checkout button[name="apply_coupon"]:active,
body.woocommerce-checkout input[name="apply_coupon"]:hover,
body.woocommerce-checkout .coupon button:hover,
body.woocommerce-checkout form#checkout_coupon button:hover,
body.woocommerce-checkout form.checkout_coupon button:hover,
body.woocommerce-checkout form.woocommerce-form-coupon button:hover,
body.woocommerce-checkout form.woocommerce-form-coupon button.button:hover,
body.woocommerce-checkout .elementor-widget-woocommerce-checkout-page button[name="apply_coupon"]:hover,
body.woocommerce-checkout .e-coupon-box button:hover {
    background-color: var(--ond-accent-dark) !important;
    background: var(--ond-accent-dark) !important;
    background-image: none !important;
    color: var(--ond-paper) !important;
    border-color: var(--ond-accent-dark) !important;
    box-shadow: none !important;
}

/* ========================================================
   F10 — Página Encomenda Recebida (order-received / thankyou)
   ======================================================== */

/* Wrapper geral */
body.woocommerce-order-received .woocommerce {
  max-width: 880px;
  margin: 2rem auto 4rem;
  padding: 0 1rem;
}

/* "Obrigado. A sua encomenda foi recebida." */
body.woocommerce-order-received p.woocommerce-thankyou-order-received {
  font-family: var(--ond-serif);
  font-size: 2.5rem;
  font-weight: 500;
  color: var(--ond-ink);
  line-height: 1.2;
  text-align: center;
  margin: 0 0 2.5rem;
  padding: 2rem 0 1.5rem;
  border-bottom: 1px solid var(--ond-rule);
  background: none !important;
  letter-spacing: -0.01em;
}

/* Order overview (NÚMERO / DATA / EMAIL / TOTAL / MÉTODO) */
body.woocommerce-order-received ul.woocommerce-order-overview {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2.5rem;
  padding: 0 !important;
  margin: 0 0 3rem !important;
  list-style: none;
  border: none !important;
  background: none !important;
}
body.woocommerce-order-received ul.woocommerce-order-overview li {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  display: flex;
  flex-direction: column;
  font-family: var(--ond-sans);
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ond-muted);
  flex: 0 0 auto;
}
body.woocommerce-order-received ul.woocommerce-order-overview li strong {
  margin-top: 0.4rem;
  font-family: var(--ond-sans);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  color: var(--ond-ink);
  display: block;
}

/* Headings */
body.woocommerce-order-received .woocommerce-order-details__title,
body.woocommerce-order-received .woocommerce-column__title {
  font-family: var(--ond-serif);
  font-weight: 500;
  font-size: 1.75rem;
  color: var(--ond-ink);
  margin: 3rem 0 1.5rem;
  letter-spacing: -0.01em;
}

/* Tabela de detalhes */
body.woocommerce-order-received .woocommerce-table--order-details {
  border: 1px solid var(--ond-rule);
  border-collapse: collapse;
  width: 100%;
  font-family: var(--ond-sans);
  margin: 0;
}
body.woocommerce-order-received .woocommerce-table--order-details thead th {
  background: var(--ond-warm);
  font-family: var(--ond-sans);
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ond-muted);
  padding: 1rem;
  border-bottom: 1px solid var(--ond-rule);
}
body.woocommerce-order-received .woocommerce-table--order-details tbody td,
body.woocommerce-order-received .woocommerce-table--order-details tfoot th,
body.woocommerce-order-received .woocommerce-table--order-details tfoot td {
  padding: 1rem;
  border-bottom: 1px solid var(--ond-rule);
  color: var(--ond-ink);
  font-size: 0.92rem;
}
body.woocommerce-order-received .woocommerce-table--order-details tfoot th {
  font-family: var(--ond-sans);
  font-weight: 600;
  color: var(--ond-muted);
  text-transform: uppercase;
  font-size: 0.72rem;
  letter-spacing: 0.05em;
  text-align: left;
}

/* Link do produto em caramelo */
body.woocommerce-order-received .woocommerce-table--order-details .product-name a {
  color: var(--ond-accent) !important;
  text-decoration: none !important;
  font-weight: 500;
  transition: color 0.2s ease;
}
body.woocommerce-order-received .woocommerce-table--order-details .product-name a:hover {
  color: var(--ond-accent-dark) !important;
  text-decoration: underline !important;
}

/* Botão PAGAR — caramelo secondary */
body.woocommerce-order-received a.woocommerce-button.button.pay,
body.woocommerce-order-received .order-actions-button {
  background: var(--ond-accent) !important;
  color: #fff !important;
  border: none !important;
  padding: 12px 24px !important;
  font-family: var(--ond-sans) !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  text-decoration: none !important;
  display: inline-block;
  transition: background 0.2s ease !important;
  box-shadow: none !important;
}
body.woocommerce-order-received a.woocommerce-button.button.pay:hover,
body.woocommerce-order-received .order-actions-button:hover {
  background: var(--ond-accent-dark) !important;
  color: #fff !important;
}

/* Address box */
body.woocommerce-order-received .woocommerce-customer-details address {
  border: 1px solid var(--ond-rule);
  padding: 1.5rem;
  font-style: normal;
  font-family: var(--ond-sans);
  color: var(--ond-ink);
  line-height: 1.7;
  background: var(--ond-paper);
}
body.woocommerce-order-received .woocommerce-customer-details--phone,
body.woocommerce-order-received .woocommerce-customer-details--email {
  margin: 0.75rem 0 0;
  color: var(--ond-muted);
  font-size: 0.9rem;
}
body.woocommerce-order-received .woocommerce-customer-details--email {
  margin-top: 0.25rem;
}

/* Multibanco table — refinar */
body.woocommerce-order-received table.multibanco_ifthen_for_woocommerce_table {
  border: 1px solid var(--ond-rule) !important;
  margin: 0 auto 3rem !important;
}
body.woocommerce-order-received table.multibanco_ifthen_for_woocommerce_table th {
  font-family: var(--ond-serif) !important;
  font-weight: 500 !important;
  font-size: 1.1rem !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  border-bottom: 1px solid var(--ond-rule) !important;
  background: var(--ond-warm) !important;
  color: var(--ond-ink) !important;
}
body.woocommerce-order-received table.multibanco_ifthen_for_woocommerce_table td {
  font-family: var(--ond-sans) !important;
  font-size: 0.9rem !important;
  background: #fff !important;
  border-bottom: 1px solid var(--ond-rule) !important;
}
body.woocommerce-order-received table.multibanco_ifthen_for_woocommerce_table td.mb_value {
  font-weight: 600 !important;
  color: var(--ond-ink) !important;
}
body.woocommerce-order-received table.multibanco_ifthen_for_woocommerce_table td.extra_instructions {
  font-size: 0.82rem !important;
  color: var(--ond-muted) !important;
  background: var(--ond-warm) !important;
  line-height: 1.6;
}

/* Responsivo */
@media (max-width: 768px) {
  body.woocommerce-order-received p.woocommerce-thankyou-order-received {
    font-size: 1.75rem;
    padding: 1.5rem 0 1rem;
  }
  body.woocommerce-order-received ul.woocommerce-order-overview {
    flex-direction: column;
    gap: 1.25rem;
    align-items: flex-start;
  }
  body.woocommerce-order-received .woocommerce-order-details__title,
  body.woocommerce-order-received .woocommerce-column__title {
    font-size: 1.5rem;
    margin: 2.5rem 0 1rem;
  }
  body.woocommerce-order-received .woocommerce-table--order-details thead th,
  body.woocommerce-order-received .woocommerce-table--order-details tbody td,
  body.woocommerce-order-received .woocommerce-table--order-details tfoot th,
  body.woocommerce-order-received .woocommerce-table--order-details tfoot td {
    padding: 0.75rem;
    font-size: 0.85rem;
  }
}

/* === F10 reinforce — botão PAGAR + meta row gap === */
body.woocommerce-order-received .elementor-widget-woocommerce-checkout-page a.woocommerce-button.button.pay,
body.woocommerce-order-received .elementor-widget-woocommerce-checkout-page a.order-actions-button,
body.woocommerce-order-received .elementor-widget-woocommerce-checkout-page .woocommerce-button.button.pay {
  background: var(--ond-accent) !important;
  background-color: var(--ond-accent) !important;
  color: #fff !important;
  border: none !important;
  padding: 12px 28px !important;
  font-family: var(--ond-sans) !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: background-color 0.2s ease !important;
  display: inline-block;
}

body.woocommerce-order-received .elementor-widget-woocommerce-checkout-page a.woocommerce-button.button.pay:hover,
body.woocommerce-order-received .elementor-widget-woocommerce-checkout-page a.order-actions-button:hover,
body.woocommerce-order-received .elementor-widget-woocommerce-checkout-page .woocommerce-button.button.pay:hover {
  background: var(--ond-accent-dark) !important;
  background-color: var(--ond-accent-dark) !important;
  color: #fff !important;
}

/* Meta row — reduzir gap para caber em 1 linha */
body.woocommerce-order-received ul.woocommerce-order-overview {
  gap: 1.5rem 2rem !important;
}
@media (min-width: 769px) {
  body.woocommerce-order-received ul.woocommerce-order-overview {
    flex-wrap: nowrap !important;
  }
}
