/* White Fox · regalos y cupones. Componentes compartidos por carrito y checkout. */
.wfcp-gift-tag {
    display: flex; align-items: center; gap: 6px; width: fit-content; margin: 0 0 6px;
    padding: 3px 12px 3px 8px; border-radius: 999px;
    background: #E3EDDD; color: #2F5D2B; font-family: "PT Serif", serif;
    font-size: 13px; font-weight: 700; line-height: 1.3; letter-spacing: 0;
}
.wfcp-gift-tag .wfcp-gift-icon { display: block; flex: 0 0 17px; width: 17px; height: 17px; }
.wfcp-gift-price { color: #2F5D2B; font-weight: 400; white-space: nowrap; }

.block-promo.wfcp-promo {
    --wf-navy: #1E2A3A;
    --wf-gold: #B3956A;
    --wf-cream: #F9F4F0;
    --wf-line: rgba(30, 42, 58, .12);
    --wf-muted: rgba(30, 42, 58, .68);
    margin-top: 8px; padding: 16px 0 0; border-top: 1px solid var(--wf-line);
    font-family: "PT Serif", serif;
}
/* El refresco nativo inserta el bloque en el contenedor anterior. */
.block-promo.wfcp-promo .block-promo.wfcp-promo { margin: 0; padding: 0; border: 0; }
#checkout #js-checkout-summary > .block-promo.wfcp-promo { margin: 8px 15px 0; }
.block-promo.wfcp-promo .cart-voucher p { margin: 0; }
.block-promo.wfcp-promo .promo-name,
.block-promo.wfcp-promo .promo-discounts {
    list-style: none; margin: 0 0 12px; padding: 0; color: var(--wf-navy); font-weight: 400;
}
.block-promo.wfcp-promo .cart-summary-line .label { color: var(--wf-navy); font-weight: 400; }

/* Cupón aplicado */
.block-promo.wfcp-promo .wfcp-voucher {
    display: flex; align-items: center; gap: 14px; margin: 0 0 12px; padding: 14px 16px;
    background: rgba(30, 42, 58, .05);
}
.block-promo.wfcp-promo .wfcp-voucher__check {
    display: flex; align-items: center; justify-content: center; flex: 0 0 32px;
    width: 32px; height: 32px; border-radius: 50%; background: #4F7A3A; color: #fff;
}
.block-promo.wfcp-promo .wfcp-voucher__check i { margin: 0; font-size: 20px; }
.block-promo.wfcp-promo .wfcp-voucher__text { display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; }
.block-promo.wfcp-promo .wfcp-voucher__title { color: #2F5D2B; font-size: 16px; font-weight: 700; line-height: 1.3; }
.block-promo.wfcp-promo .wfcp-voucher__name {
    color: var(--wf-muted); font-size: 14px; line-height: 1.4;
    letter-spacing: .04em; text-transform: uppercase; overflow-wrap: anywhere;
}
.block-promo.wfcp-promo .wfcp-voucher__name--text { letter-spacing: 0; text-transform: none; }
.block-promo.wfcp-promo .promo-name a.wfcp-voucher__remove {
    flex: none; color: var(--wf-navy); font-size: 14px; text-decoration: underline;
}
.block-promo.wfcp-promo .promo-name a.wfcp-voucher__remove:hover { color: var(--wf-gold); }

/* Formulario de cupón: se conservan los selectores y el comportamiento AJAX nativos. */
.block-promo.wfcp-promo .promo-code-button {
    display: flex; align-items: center; justify-content: space-between; min-height: 40px;
    margin: 0; padding: 0; color: var(--wf-navy); font-size: 15px; text-decoration: none;
}
.block-promo.wfcp-promo .promo-code-button::after { content: "+"; font-size: 22px; line-height: 1; }
.block-promo.wfcp-promo .promo-code-button[aria-expanded="true"]::after { content: "\2212"; }
.block-promo.wfcp-promo .promo-code { padding: 0; background: transparent; border: 0; }
.block-promo.wfcp-promo .promo-code form { display: flex; gap: 8px; margin: 4px 0 8px; }
.block-promo.wfcp-promo .promo-code .promo-input {
    flex: 1 1 auto; width: auto; min-width: 0; height: 44px; padding: 0 12px; text-indent: 0;
    border: 1px solid rgba(30, 42, 58, .28); border-radius: 0; background: #fff; color: var(--wf-navy);
    font-family: "PT Serif", serif; font-size: 15px;
}
.block-promo.wfcp-promo .promo-code form button.tvall-inner-btn {
    display: inline-flex; align-items: center; justify-content: center; line-height: 1;
    flex: none; height: 44px; margin: 0; padding: 0 22px; border: 0; border-radius: 0;
    background: var(--wf-navy); color: #fff; font-family: "PT Serif", serif; font-size: 15px;
    font-weight: 400; text-transform: none; letter-spacing: .02em;
}
.block-promo.wfcp-promo .promo-code form button.tvall-inner-btn span {
    display: block; margin: 0; padding: 0; line-height: 1; position: static; color: inherit;
}
.block-promo.wfcp-promo .promo-code form button.tvall-inner-btn:hover { background: #2B3B50; color: #fff; }
.block-promo.wfcp-promo .block-promo.promo-highlighted { margin: 12px 0 8px; padding: 0; color: var(--wf-muted); font-size: 14px; }
.block-promo.wfcp-promo .promo-discounts .code { color: var(--wf-navy); text-decoration: underline; cursor: pointer; }

/* Verificación: terracota suave, texto legible y sin el triángulo rojo del theme. */
.block-promo.wfcp-promo .promo-code .wfcp-promo__error {
    display: none; position: relative; margin: 10px 0 0; padding: 12px 14px;
    border: 1px solid #E0CDC4; border-left: 3px solid #9F7565; border-radius: 0;
    background: #F5ECE6; color: #79554B; box-shadow: none;
    font-family: "PT Serif", serif; font-size: 13px; font-weight: 400;
    line-height: 1.5; text-align: left; letter-spacing: 0;
}
.block-promo.wfcp-promo .promo-code .wfcp-promo__error::before,
.block-promo.wfcp-promo .promo-code .wfcp-promo__error::after { display: none; content: none; }
.block-promo.wfcp-promo .wfcp-promo__feedback { display: flex; align-items: flex-start; gap: 10px; }
.block-promo.wfcp-promo .wfcp-promo__feedback .material-icons {
    flex: 0 0 20px; width: 20px; height: 20px; margin: 1px 0 0;
    font-size: 20px; line-height: 1; color: #9F7565; cursor: default;
}
.block-promo.wfcp-promo .js-error-text { display: block; min-width: 0; margin: 0; overflow-wrap: anywhere; }
.block-promo.wfcp-promo .promo-input:focus-visible,
.block-promo.wfcp-promo a:focus-visible,
.block-promo.wfcp-promo button:focus-visible { outline: 2px solid #B3956A; outline-offset: 3px; }

@media (max-width: 359px) {
    .block-promo.wfcp-promo .wfcp-voucher { gap: 10px; padding: 12px; }
    .block-promo.wfcp-promo .promo-code form button.tvall-inner-btn { padding: 0 14px; }
}
