/* ============================================================
   VETRACK RESTYLE — "hoja clara" para el proceso de compra
   (checkout / carrito / order-pay / thankyou) sobre sitio dark.
   Cuenta Woo y Ultimate Member permanecen en dark.
   Acentos: naranja-rojizo Vetrack #E8442E/#FF6B00 + cian #0E8A96.
   Scoping estricto a esas páginas. Solo estética.
   ============================================================ */

/* ------------------------------------------------------------
   TOKENS
   ------------------------------------------------------------ */
body.single-product,
body.woocommerce-checkout,
body.woocommerce-cart,
body.woocommerce-order-pay,
body.woocommerce-order-received {
    --vt2-bg: #f4f5f7;
    --vt2-card: #ffffff;
    --vt2-card2: #f7f8fa;
    --vt2-border: #e3e6ec;
    --vt2-text: #1a1a1e;
    --vt2-muted: #5d6673;
    --vt2-acc: #e8442e;
    --vt2-acc2: #ff6b00;
    --vt2-cyan: #0e8a96;
    --vt2-danger: #d42c3e;
    --vt2-ok: #15803d;
    --vt2-radius: 16px;
    background: var(--vt2-bg);
}

body.woocommerce-account,
.um {
    --vt2-bg: #0b0d12;
    --vt2-card: #16181e;
    --vt2-card2: #1d212a;
    --vt2-border: #2a2e38;
    --vt2-text: #f2f4f7;
    --vt2-muted: #98a0ab;
    --vt2-acc: #ff6b00;
    --vt2-acc2: #ff5e4d;
    --vt2-cyan: #00e5ff;
    --vt2-danger: #ff4d5e;
    --vt2-ok: #22c55e;
    --vt2-radius: 16px;
}

/* ------------------------------------------------------------
   HOJA CLARA: neutralizar fondos oscuros del tema en el área
   de contenido de las páginas de compra (header/footer intactos)
   ------------------------------------------------------------ */
body.single-product #content,
body.single-product #primary,
body.single-product main,
body.single-product .site-content,
body.single-product .content-area,
body.single-product .entry-content,
body.single-product .entry,
body.single-product article,
body.woocommerce-checkout #content,
body.woocommerce-checkout #primary,
body.woocommerce-checkout main,
body.woocommerce-checkout .site-content,
body.woocommerce-checkout .content-area,
body.woocommerce-checkout .entry-content,
body.woocommerce-checkout .entry,
body.woocommerce-checkout article,
body.woocommerce-cart #content,
body.woocommerce-cart #primary,
body.woocommerce-cart main,
body.woocommerce-cart .site-content,
body.woocommerce-cart .content-area,
body.woocommerce-cart .entry-content,
body.woocommerce-cart .entry,
body.woocommerce-cart article,
body.woocommerce-order-pay #content,
body.woocommerce-order-pay #primary,
body.woocommerce-order-pay main,
body.woocommerce-order-pay .site-content,
body.woocommerce-order-pay .content-area,
body.woocommerce-order-pay .entry-content,
body.woocommerce-order-pay .entry,
body.woocommerce-order-pay article,
body.woocommerce-order-received #content,
body.woocommerce-order-received #primary,
body.woocommerce-order-received main,
body.woocommerce-order-received .site-content,
body.woocommerce-order-received .content-area,
body.woocommerce-order-received .entry-content,
body.woocommerce-order-received .entry,
body.woocommerce-order-received article {
    background: transparent;
}

/* Fondo claro forzado en todo el flujo de compra: el tema aplica
   background-image oscuro a wrappers externos — los pisamos. */
body.single-product,
body.woocommerce-checkout,
body.woocommerce-cart,
body.woocommerce-order-pay,
body.woocommerce-order-received {
    background-color: var(--vt2-bg) !important;
    background-image: none !important;
}
body.single-product #page,
body.single-product .site,
body.single-product .hfeed,
body.single-product .page-wrapper,
body.single-product .site-main,
body.single-product .wrapper,
body.single-product .ast-container,
body.woocommerce-checkout #page,
body.woocommerce-checkout .site,
body.woocommerce-checkout .hfeed,
body.woocommerce-checkout .page-wrapper,
body.woocommerce-checkout .site-main,
body.woocommerce-checkout .wrapper,
body.woocommerce-checkout .ast-container,
body.woocommerce-cart #page,
body.woocommerce-cart .site,
body.woocommerce-cart .hfeed,
body.woocommerce-cart .page-wrapper,
body.woocommerce-cart .site-main,
body.woocommerce-cart .wrapper,
body.woocommerce-cart .ast-container,
body.woocommerce-order-pay #page,
body.woocommerce-order-pay .site,
body.woocommerce-order-pay .hfeed,
body.woocommerce-order-pay .page-wrapper,
body.woocommerce-order-pay .site-main,
body.woocommerce-order-pay .wrapper,
body.woocommerce-order-pay .ast-container,
body.woocommerce-order-received #page,
body.woocommerce-order-received .site,
body.woocommerce-order-received .hfeed,
body.woocommerce-order-received .page-wrapper,
body.woocommerce-order-received .site-main,
body.woocommerce-order-received .wrapper,
body.woocommerce-order-received .ast-container {
    background-color: var(--vt2-bg) !important;
    background-image: none !important;
}

/* Hero / page-title / banners decorativos del tema: fuera del flujo */
body.single-product .page-title,
body.single-product .page-header,
body.single-product .page-banner,
body.single-product .page-hero,
body.single-product .hero,
body.single-product .hero-section,
body.single-product .banner,
body.single-product .entry-header,
body.woocommerce-checkout .page-title,
body.woocommerce-checkout .page-header,
body.woocommerce-checkout .page-banner,
body.woocommerce-checkout .page-hero,
body.woocommerce-checkout .hero,
body.woocommerce-checkout .hero-section,
body.woocommerce-checkout .banner,
body.woocommerce-checkout .entry-header,
body.woocommerce-cart .page-title,
body.woocommerce-cart .page-header,
body.woocommerce-cart .page-banner,
body.woocommerce-cart .page-hero,
body.woocommerce-cart .hero,
body.woocommerce-cart .hero-section,
body.woocommerce-cart .banner,
body.woocommerce-cart .entry-header,
body.woocommerce-order-pay .page-title,
body.woocommerce-order-pay .page-header,
body.woocommerce-order-pay .page-banner,
body.woocommerce-order-pay .page-hero,
body.woocommerce-order-pay .hero,
body.woocommerce-order-pay .hero-section,
body.woocommerce-order-pay .banner,
body.woocommerce-order-pay .entry-header,
body.woocommerce-order-received .page-title,
body.woocommerce-order-received .page-header,
body.woocommerce-order-received .page-banner,
body.woocommerce-order-received .page-hero,
body.woocommerce-order-received .hero,
body.woocommerce-order-received .hero-section,
body.woocommerce-order-received .banner,
body.woocommerce-order-received .entry-header {
    display: none !important;
}

/* Bloques "trust badges" del tema en la página de producto —
   selector amplio + el JS de respaldo en core los remueve por texto */
body.single-product .trust-badges,
body.single-product .product-trust-badges,
body.single-product .secure-checkout-badges,
body.single-product .guaranteed-safe-checkout,
body.single-product .safe-checkout,
body.single-product .payment-badges,
body.single-product .payment-logos,
body.single-product .single-product-extra,
body.single-product .product-extra-badges,
body.single-product .woolentor-trust-badges {
    display: none !important;
}

body.single-product .woocommerce,
body.woocommerce-checkout .woocommerce,
body.woocommerce-cart .woocommerce,
body.woocommerce-order-pay .woocommerce,
body.woocommerce-order-received .woocommerce,
body.single-product .entry-content,
body.woocommerce-checkout .entry-content,
body.woocommerce-cart .entry-content,
body.woocommerce-order-pay .entry-content,
body.woocommerce-order-received .entry-content {
    color: var(--vt2-text);
}

/* Títulos del contenido en las páginas claras (el tema los pinta blancos) */
body.woocommerce-checkout .entry-content h1,
body.woocommerce-checkout .entry-content h2,
body.woocommerce-checkout .entry-content h3,
body.woocommerce-checkout .entry-content h4,
body.woocommerce-checkout .entry-title,
body.woocommerce-checkout .woocommerce h3,
body.woocommerce-cart .entry-content h1,
body.woocommerce-cart .entry-content h2,
body.woocommerce-cart .entry-content h3,
body.woocommerce-cart .entry-title,
body.woocommerce-cart .woocommerce h2,
body.woocommerce-order-pay .entry-content h1,
body.woocommerce-order-pay .entry-content h2,
body.woocommerce-order-pay .entry-content h3,
body.woocommerce-order-pay .entry-title,
body.woocommerce-order-received .entry-content h1,
body.woocommerce-order-received .entry-content h2,
body.woocommerce-order-received .entry-content h3,
body.woocommerce-order-received .entry-title,
body.woocommerce-order-received .woocommerce h2,
body.woocommerce-order-received .woocommerce h3 {
    color: var(--vt2-text);
}

body.woocommerce-checkout .woocommerce a,
body.woocommerce-cart .woocommerce a,
body.woocommerce-order-pay .woocommerce a,
body.woocommerce-order-received .woocommerce a {
    color: var(--vt2-acc);
}

/* ------------------------------------------------------------
   SHARED: notices, buttons, inputs
   ------------------------------------------------------------ */
body.woocommerce-checkout .woocommerce-error,
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-cart .woocommerce-error,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-message,
body.woocommerce-order-pay .woocommerce-error,
body.woocommerce-order-pay .woocommerce-info,
body.woocommerce-order-pay .woocommerce-message,
body.woocommerce-order-received .woocommerce-error,
body.woocommerce-order-received .woocommerce-info,
body.woocommerce-order-received .woocommerce-message,
body.woocommerce-account .woocommerce-error,
body.woocommerce-account .woocommerce-info,
body.woocommerce-account .woocommerce-message {
    background: var(--vt2-card);
    border: 1px solid var(--vt2-border);
    border-left: 3px solid var(--vt2-acc);
    border-radius: 12px;
    color: var(--vt2-text);
    padding: 14px 18px;
    font-size: 14px;
    box-shadow: 0 2px 10px rgba(16, 20, 28, .05);
}

body.woocommerce-checkout .woocommerce-error,
body.woocommerce-cart .woocommerce-error,
body.woocommerce-order-pay .woocommerce-error,
body.woocommerce-order-received .woocommerce-error,
body.woocommerce-account .woocommerce-error {
    border-left-color: var(--vt2-danger);
}

body.woocommerce-checkout .woocommerce-message,
body.woocommerce-cart .woocommerce-message,
body.woocommerce-order-pay .woocommerce-message,
body.woocommerce-order-received .woocommerce-message,
body.woocommerce-account .woocommerce-message {
    border-left-color: var(--vt2-ok);
}

body.woocommerce-checkout .woocommerce-error::before,
body.woocommerce-checkout .woocommerce-info::before,
body.woocommerce-checkout .woocommerce-message::before,
body.woocommerce-cart .woocommerce-error::before,
body.woocommerce-cart .woocommerce-info::before,
body.woocommerce-cart .woocommerce-message::before,
body.woocommerce-order-pay .woocommerce-error::before,
body.woocommerce-order-pay .woocommerce-info::before,
body.woocommerce-order-pay .woocommerce-message::before {
    position: static;
    margin-right: 8px;
}

/* Botones genéricos */
body.woocommerce-checkout .woocommerce .button,
body.woocommerce-checkout .woocommerce button.button,
body.woocommerce-cart .woocommerce .button,
body.woocommerce-cart .woocommerce button.button,
body.woocommerce-order-pay .woocommerce .button,
body.woocommerce-order-pay .woocommerce button.button,
body.woocommerce-order-received .woocommerce .button,
body.woocommerce-account .woocommerce .button {
    border-radius: 999px;
    padding: 12px 26px;
    font-weight: 700;
    letter-spacing: .3px;
    text-transform: uppercase;
    font-size: 13px;
    border: 1px solid var(--vt2-border);
    background: var(--vt2-card);
    color: var(--vt2-text);
    transition: all .2s ease;
    box-shadow: none;
}

body.woocommerce-checkout .woocommerce .button:hover,
body.woocommerce-cart .woocommerce .button:hover,
body.woocommerce-order-pay .woocommerce .button:hover,
body.woocommerce-order-received .woocommerce .button:hover,
body.woocommerce-account .woocommerce .button:hover {
    border-color: var(--vt2-acc);
    color: var(--vt2-acc);
    background: var(--vt2-card);
}

/* CTA principal: pagar / finalizar */
body.woocommerce-checkout .woocommerce #place_order,
body.woocommerce-order-pay .woocommerce #place_order,
body.woocommerce-cart .woocommerce .checkout-button,
body.woocommerce-order-pay .woocommerce .button.alt {
    background: linear-gradient(135deg, var(--vt2-acc), var(--vt2-acc2)) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 999px !important;
    padding: 16px 30px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    letter-spacing: .5px;
    width: 100%;
    text-align: center;
    display: block;
    box-shadow: 0 8px 24px rgba(232, 68, 46, .3);
    transition: transform .15s ease, box-shadow .2s ease;
}

body.woocommerce-checkout .woocommerce #place_order:hover,
body.woocommerce-order-pay .woocommerce #place_order:hover,
body.woocommerce-cart .woocommerce .checkout-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 32px rgba(232, 68, 46, .42);
}

/* Inputs — hoja clara (checkout/cart/order-pay) */
body.woocommerce-checkout .woocommerce input.input-text,
body.woocommerce-checkout .woocommerce select,
body.woocommerce-checkout .woocommerce textarea,
body.woocommerce-cart .woocommerce input.input-text,
body.woocommerce-cart .woocommerce input.qty,
body.woocommerce-cart .woocommerce select,
body.woocommerce-order-pay .woocommerce input.input-text,
body.woocommerce-order-pay .woocommerce select {
    background: #fff;
    border: 1px solid var(--vt2-border);
    border-radius: 12px;
    color: var(--vt2-text);
    padding: 13px 16px;
    font-size: 15px;
    box-shadow: none;
    transition: border-color .2s ease, box-shadow .2s ease;
}

/* Inputs — cuenta (dark) */
body.woocommerce-account .woocommerce input.input-text,
body.woocommerce-account .woocommerce select {
    background: var(--vt2-bg);
    border: 1px solid var(--vt2-border);
    border-radius: 12px;
    color: var(--vt2-text);
    padding: 13px 16px;
    font-size: 15px;
    box-shadow: none;
}

body.woocommerce-checkout .woocommerce input.input-text:focus,
body.woocommerce-checkout .woocommerce select:focus,
body.woocommerce-checkout .woocommerce textarea:focus,
body.woocommerce-cart .woocommerce input.input-text:focus,
body.woocommerce-cart .woocommerce select:focus,
body.woocommerce-order-pay .woocommerce input.input-text:focus,
body.woocommerce-order-pay .woocommerce select:focus,
body.woocommerce-account .woocommerce input.input-text:focus,
body.woocommerce-account .woocommerce select:focus {
    border-color: var(--vt2-acc);
    outline: none;
    box-shadow: 0 0 0 3px rgba(232, 68, 46, .14);
}

body.woocommerce-checkout .woocommerce .form-row label,
body.woocommerce-order-pay .woocommerce .form-row label,
body.woocommerce-account .woocommerce .form-row label {
    color: #39404b;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 6px;
}
body.woocommerce-account .woocommerce .form-row label { color: var(--vt2-muted); }

body.woocommerce-checkout .woocommerce .form-row .required,
body.woocommerce-order-pay .woocommerce .form-row .required {
    color: var(--vt2-acc);
}

/* Radios/checkboxes con acento */
body.woocommerce-checkout input[type=checkbox],
body.woocommerce-checkout input[type=radio],
body.woocommerce-cart input[type=checkbox],
body.woocommerce-order-pay input[type=checkbox],
body.woocommerce-order-pay input[type=radio] {
    accent-color: var(--vt2-acc);
}

/* Select2 (país/provincia nativos de Woo) */
body.woocommerce-checkout .select2-container--default .select2-selection--single,
body.woocommerce-order-pay .select2-container--default .select2-selection--single {
    background: #fff;
    border: 1px solid var(--vt2-border);
    border-radius: 12px;
    height: 48px;
    display: flex;
    align-items: center;
}
body.woocommerce-account .select2-container--default .select2-selection--single {
    background: var(--vt2-bg);
    border: 1px solid var(--vt2-border);
    border-radius: 12px;
    height: 48px;
    display: flex;
    align-items: center;
}
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered,
body.woocommerce-order-pay .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--vt2-text);
    line-height: normal;
}
body.woocommerce-account .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--vt2-text);
    line-height: normal;
}
body.woocommerce-checkout .select2-dropdown,
body.woocommerce-order-pay .select2-dropdown {
    background: #fff;
    border: 1px solid var(--vt2-border);
    border-radius: 12px;
    color: var(--vt2-text);
    box-shadow: 0 12px 32px rgba(16, 20, 28, .12);
}
body.woocommerce-checkout .select2-results__option--highlighted.select2-results__option--selectable,
body.woocommerce-order-pay .select2-results__option--highlighted.select2-results__option--selectable {
    background: var(--vt2-acc);
    color: #fff;
}
body.woocommerce-checkout .select2-container--default .select2-search--dropdown .select2-search__field {
    border: 1px solid var(--vt2-border);
    border-radius: 8px;
    color: var(--vt2-text);
}

/* ------------------------------------------------------------
   CHECKOUT: stepper
   ------------------------------------------------------------ */
.vt-steps {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 0;
    list-style: none;
    margin: 6px auto 30px;
    padding: 0;
    max-width: 520px;
}

.vt-steps li {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;
    flex: 1;
    position: relative;
    color: var(--vt2-muted);
    font-size: 12.5px;
    font-weight: 600;
}

.vt-steps li .vt-step-dot {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: 2px solid #cdd2da;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 15px;
    color: var(--vt2-muted);
    position: relative;
    z-index: 2;
}

.vt-steps li::before {
    content: '';
    position: absolute;
    top: 19px;
    left: -50%;
    width: 100%;
    height: 2px;
    background: #d8dce3;
    z-index: 1;
}
.vt-steps li:first-child::before { display: none; }

.vt-steps li.is-done .vt-step-dot {
    background: linear-gradient(135deg, var(--vt2-acc), var(--vt2-acc2));
    border-color: transparent;
    color: #fff;
    font-size: 0;
}
.vt-steps li.is-done .vt-step-dot::after { content: '✓'; font-size: 16px; }
.vt-steps li.is-done::before { background: var(--vt2-acc); }
.vt-steps li.is-done { color: var(--vt2-text); }

.vt-steps li.is-active { color: var(--vt2-text); }
.vt-steps li.is-active .vt-step-dot {
    background: var(--vt2-cyan);
    border-color: var(--vt2-cyan);
    color: #fff;
    box-shadow: 0 0 0 5px rgba(14, 138, 150, .18);
}
.vt-steps li.is-active::before { background: var(--vt2-acc); }

/* ------------------------------------------------------------
   CHECKOUT: layout 2 columnas (datos | pedido sticky)
   ------------------------------------------------------------ */
body.woocommerce-checkout form.checkout .vt-co-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 400px;
    gap: 28px;
    align-items: start;
}

body.woocommerce-checkout .vt-co-main { min-width: 0; }
body.woocommerce-checkout .vt-co-side {
    min-width: 0;
    position: sticky;
    top: 90px;
    background: var(--vt2-card);
    border: 1px solid var(--vt2-border);
    border-radius: var(--vt2-radius);
    padding: 22px 24px;
    box-shadow: 0 10px 34px rgba(16, 20, 28, .07);
}

/* El col2-set pasa a ser una columna simple dentro de la izquierda */
body.woocommerce-checkout .woocommerce-checkout .col2-set,
body.woocommerce-checkout form.checkout .col2-set {
    width: 100%;
}
body.woocommerce-checkout .col2-set .col-1,
body.woocommerce-checkout .col2-set .col-2 {
    width: 100%;
    float: none;
    max-width: none;
}

/* Header del evento dentro de "Tu pedido" */
.vt-order-event {
    display: flex;
    gap: 14px;
    align-items: center;
    background: var(--vt2-card2);
    border: 1px solid var(--vt2-border);
    border-radius: 12px;
    padding: 14px 16px;
    margin-bottom: 18px;
}
.vt-order-event-img img {
    width: 64px;
    height: 64px;
    object-fit: cover;
    border-radius: 10px;
    display: block;
}
.vt-order-event-name {
    color: var(--vt2-text);
    font-weight: 800;
    font-size: 15.5px;
    line-height: 1.3;
}
.vt-order-event-meta {
    color: var(--vt2-muted);
    font-size: 13px;
    margin-top: 4px;
}

/* ------------------------------------------------------------
   CHECKOUT: secciones de campos como cards blancas
   ------------------------------------------------------------ */
body.woocommerce-checkout .woocommerce-billing-fields > h3,
body.woocommerce-checkout .woocommerce-additional-fields > h3,
body.woocommerce-checkout .woocommerce-shipping-fields > h3 {
    display: none;
}

/* Fix: el wrapper viene en flex del tema — forzar block para que
   las cards se apilen a lo ancho y no queden en columna angosta */
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
    display: block !important;
}

body.woocommerce-checkout .vt-section-card {
    background: var(--vt2-card);
    border: 1px solid var(--vt2-border);
    border-radius: var(--vt2-radius);
    padding: 20px 22px;
    margin-bottom: 18px;
    width: 100%;
    box-sizing: border-box;
    box-shadow: 0 6px 22px rgba(16, 20, 28, .05);
}
body.woocommerce-checkout .vt-section-card::after {
    content: '';
    display: table;
    clear: both;
}

.vt-section-head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}
.vt-section-ico {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--vt2-acc), var(--vt2-acc2));
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    flex: none;
    box-shadow: 0 4px 14px rgba(232, 68, 46, .25);
}
.vt-section-head h4 {
    color: var(--vt2-text);
    font-size: 16.5px;
    font-weight: 800;
    margin: 0;
    padding-bottom: 6px;
    position: relative;
    flex: 1;
    text-transform: uppercase;
    letter-spacing: .4px;
}
.vt-section-head h4::after {
    content: '';
    position: absolute;
    left: 0; bottom: 0;
    width: 44px; height: 3px;
    border-radius: 2px;
    background: linear-gradient(90deg, var(--vt2-acc), var(--vt2-acc2));
}

body.woocommerce-checkout .woocommerce .vt-section-card .form-row { margin-bottom: 14px; }
body.woocommerce-checkout .woocommerce .vt-section-card .form-row:last-child { margin-bottom: 2px; }

/* Campos adicionales (notas) como card */
body.woocommerce-checkout .woocommerce-additional-fields {
    background: var(--vt2-card);
    border: 1px solid var(--vt2-border);
    border-radius: var(--vt2-radius);
    padding: 20px 22px;
    margin-bottom: 18px;
    box-shadow: 0 6px 22px rgba(16, 20, 28, .05);
}
body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper { border: none; padding: 0; margin: 0; background: none; }
body.woocommerce-checkout .woocommerce-additional-fields .form-row label { color: #39404b; }

/* Checks legales */
body.woocommerce-checkout .vetrack-legal-check-group {
    background: var(--vt2-card2);
    border: 1px solid var(--vt2-border);
    border-radius: 12px;
}
body.woocommerce-checkout .vetrack-legal-check-row {
    background: #fff;
    border: 1px solid var(--vt2-border);
    border-radius: 10px;
    color: var(--vt2-text);
}

/* ------------------------------------------------------------
   CHECKOUT: columna "Tu pedido" (order review nativo)
   ------------------------------------------------------------ */
body.woocommerce-checkout #order_review_heading {
    color: var(--vt2-text);
    font-size: 17px;
    font-weight: 800;
    margin: 0 0 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--vt2-border);
    text-transform: uppercase;
    letter-spacing: .4px;
}
body.woocommerce-checkout .vt-co-side #order_review {
    background: transparent;
    border: none;
    padding: 0;
}
/* order-pay: la review sí es su propia card (no hay layout grid) */
body.woocommerce-order-pay #order_review {
    background: var(--vt2-card);
    border: 1px solid var(--vt2-border);
    border-radius: var(--vt2-radius);
    padding: 22px 24px;
    box-shadow: 0 10px 34px rgba(16, 20, 28, .07);
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table.shop_table,
body.woocommerce-order-pay .shop_table,
body.woocommerce-cart .shop_table {
    border: none;
    color: var(--vt2-text);
    border-radius: 0;
}
body.woocommerce-checkout .shop_table th,
body.woocommerce-order-pay .shop_table th,
body.woocommerce-cart .shop_table th {
    color: var(--vt2-muted);
    font-size: 11.5px;
    text-transform: uppercase;
    letter-spacing: .5px;
    border: none;
    border-bottom: 1px solid var(--vt2-border);
    padding: 8px 0;
    font-weight: 700;
}
body.woocommerce-checkout .shop_table td,
body.woocommerce-order-pay .shop_table td,
body.woocommerce-cart .shop_table td {
    border: none;
    border-bottom: 1px solid var(--vt2-border);
    color: var(--vt2-text);
    padding: 10px 0;
    background: transparent;
}
body.woocommerce-checkout .shop_table tr:last-child td,
body.woocommerce-checkout .shop_table tfoot th,
body.woocommerce-checkout .shop_table tfoot td { border-bottom: none; }
body.woocommerce-checkout .shop_table tfoot th { color: var(--vt2-muted); }
body.woocommerce-checkout .shop_table .order-total td,
body.woocommerce-checkout .shop_table .order-total th,
body.woocommerce-order-pay .shop_table .order-total td,
body.woocommerce-order-pay .shop_table .order-total th {
    font-size: 19px;
    font-weight: 800;
    color: var(--vt2-text);
}
body.woocommerce-checkout .shop_table .order-total .amount,
body.woocommerce-order-pay .shop_table .order-total .amount { color: var(--vt2-acc); }

/* Métodos de pago como rows seleccionables */
body.woocommerce-checkout #payment,
body.woocommerce-order-pay #payment {
    background: transparent;
    border-radius: 0;
    margin-top: 14px;
}
body.woocommerce-checkout #payment ul.payment_methods,
body.woocommerce-order-pay #payment ul.payment_methods {
    padding: 0;
    border: none;
    background: transparent;
}
body.woocommerce-checkout #payment ul.payment_methods li,
body.woocommerce-order-pay #payment ul.payment_methods li {
    background: var(--vt2-card2);
    border: 1px solid var(--vt2-border);
    border-radius: 12px;
    padding: 14px 16px;
    margin-bottom: 10px;
    list-style: none;
    color: var(--vt2-text);
}
body.woocommerce-checkout #payment ul.payment_methods li:has(input:checked),
body.woocommerce-order-pay #payment ul.payment_methods li:has(input:checked) {
    border-color: var(--vt2-acc);
    box-shadow: 0 0 0 3px rgba(232, 68, 46, .12);
    background: #fff;
}
body.woocommerce-checkout #payment .payment_box,
body.woocommerce-order-pay #payment .payment_box {
    background: #fff;
    border: 1px solid var(--vt2-border);
    border-radius: 10px;
    color: var(--vt2-muted);
    font-size: 13.5px;
}
body.woocommerce-checkout #payment .payment_box::before,
body.woocommerce-order-pay #payment .payment_box::before {
    border-bottom-color: var(--vt2-border);
}
body.woocommerce-checkout #payment div.form-row,
body.woocommerce-order-pay #payment div.form-row {
    border-top: none;
    padding: 14px 0 0;
}
body.woocommerce-checkout #payment .woocommerce-privacy-policy-text,
body.woocommerce-order-pay #payment .woocommerce-privacy-policy-text,
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
    color: var(--vt2-muted);
    font-size: 12.5px;
}
body.woocommerce-checkout #payment label,
body.woocommerce-order-pay #payment label {
    color: var(--vt2-text);
    font-weight: 700;
}

/* Cupón como botón fantasma */
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
    background: var(--vt2-card);
    border: 1px dashed var(--vt2-acc);
    border-radius: var(--vt2-radius);
    text-align: center;
    color: var(--vt2-acc);
    font-weight: 700;
}
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a { color: var(--vt2-acc); text-decoration: underline; }
body.woocommerce-checkout .checkout_coupon.woocommerce-form-coupon {
    background: var(--vt2-card);
    border: 1px solid var(--vt2-border);
    border-radius: var(--vt2-radius);
    padding: 18px;
    margin-bottom: 26px;
}

/* Título de página checkout (oculto: el stepper cumple ese rol) */
body.woocommerce-checkout .woocommerce > form.checkout h3,
body.woocommerce-checkout .vt-checkout-page-title { display: none; }

/* ------------------------------------------------------------
   CART (hoja clara)
   ------------------------------------------------------------ */
body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .cart-collaterals .cart_totals {
    background: var(--vt2-card);
    border: 1px solid var(--vt2-border);
    border-radius: var(--vt2-radius);
    padding: 20px 22px;
    box-shadow: 0 6px 22px rgba(16, 20, 28, .05);
}
body.woocommerce-cart .cart_totals h2 {
    color: var(--vt2-text);
    font-weight: 800;
    font-size: 18px;
}
body.woocommerce-cart .woocommerce-cart-form__cart-item .product-name a { color: var(--vt2-text); font-weight: 700; }
body.woocommerce-cart .woocommerce-cart-form__cart-item .amount { color: var(--vt2-text); font-weight: 700; }
body.woocommerce-cart .actions .coupon input.input-text { min-width: 160px; }
body.woocommerce-cart .cart-empty,
body.woocommerce-cart .return-to-shop a { color: var(--vt2-muted); }
body.woocommerce-cart .shop_table .product-remove a.remove { color: var(--vt2-danger) !important; }

/* ------------------------------------------------------------
   ORDER-PAY: "Pago no procesado" (versión clara)
   ------------------------------------------------------------ */
body.woocommerce-order-pay .entry-content { max-width: 720px; margin: 0 auto; }

.vt-payfail {
    text-align: center;
    padding: 18px 0 8px;
}
.vt-payfail-x {
    width: 86px;
    height: 86px;
    border-radius: 50%;
    background: var(--vt2-danger);
    color: #fff;
    font-size: 42px;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    box-shadow: 0 12px 34px rgba(212, 44, 62, .32);
}
.vt-payfail h2 {
    color: var(--vt2-text);
    font-size: 30px;
    font-weight: 900;
    margin: 0 0 10px;
}
.vt-payfail p { color: var(--vt2-muted); font-size: 15px; margin: 0 auto; max-width: 460px; }

.vt-payfail-card {
    background: var(--vt2-card);
    border: 1px solid var(--vt2-border);
    border-radius: var(--vt2-radius);
    padding: 20px 22px;
    margin: 18px auto;
    max-width: 640px;
    text-align: left;
    box-shadow: 0 6px 22px rgba(16, 20, 28, .05);
}
.vt-payfail-card h4 {
    color: var(--vt2-text);
    font-size: 16px;
    font-weight: 800;
    margin: 0 0 14px;
    display: flex;
    align-items: center;
    gap: 10px;
}
.vt-payfail-card h4 .vt-ico {
    width: 30px; height: 30px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--vt2-acc), var(--vt2-acc2));
    color: #fff;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 14px; flex: none;
}
.vt-payfail-card ul { margin: 0; padding: 0; list-style: none; }
.vt-payfail-card li {
    display: flex;
    gap: 12px;
    padding: 10px 0;
    color: var(--vt2-text);
    font-size: 14px;
}
.vt-payfail-card li .vt-li-ico {
    width: 34px; height: 34px;
    border-radius: 50%;
    background: var(--vt2-card2);
    border: 1px solid var(--vt2-border);
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 15px; flex: none;
}
.vt-payfail-card li small { display: block; color: var(--vt2-muted); margin-top: 2px; font-size: 12.5px; }

.vt-payfail-warn {
    background: #fff8ec;
    border: 1px solid #f0d9a8;
    border-radius: 12px;
    color: #8a6210;
    padding: 14px 18px;
    font-size: 13.5px;
    max-width: 640px;
    margin: 18px auto;
}
.vt-payfail-warn strong { color: #6d4c0a; }

.vt-payfail-support {
    background: var(--vt2-card2);
    border: 1px solid var(--vt2-border);
    border-radius: 12px;
    padding: 14px 18px;
    color: var(--vt2-muted);
    font-size: 13.5px;
    max-width: 640px;
    margin: 18px auto 8px;
    text-align: center;
}
.vt-payfail-support a { color: var(--vt2-acc); font-weight: 700; }

/* ------------------------------------------------------------
   THANKYOU / ORDER-RECEIVED (hoja clara)
   ------------------------------------------------------------ */
body.woocommerce-order-received .woocommerce-order,
body.woocommerce-order-received .woocommerce-thankyou-order-received,
body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details {
    background: var(--vt2-card);
    border: 1px solid var(--vt2-border);
    border-radius: var(--vt2-radius);
    padding: 20px 22px;
    color: var(--vt2-text);
    box-shadow: 0 6px 22px rgba(16, 20, 28, .05);
}
body.woocommerce-order-received .woocommerce-thankyou-order-received {
    font-size: 17px;
    font-weight: 700;
    border-left: 3px solid var(--vt2-ok);
}
body.woocommerce-order-received .woocommerce-order-overview li {
    color: var(--vt2-muted);
    border-right-color: var(--vt2-border);
}
body.woocommerce-order-received .woocommerce-order-overview li strong { color: var(--vt2-text); }
body.woocommerce-order-received h2,
body.woocommerce-order-received h3 { color: var(--vt2-text); }
body.woocommerce-order-received .woocommerce-order-details .shop_table td,
body.woocommerce-order-received .woocommerce-order-details .shop_table th {
    color: var(--vt2-text);
    border-color: var(--vt2-border);
}

/* ------------------------------------------------------------
   WOOCOMMERCE ACCOUNT (/cuenta) — permanece dark
   ------------------------------------------------------------ */
body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-content {
    background: var(--vt2-card);
    border: 1px solid var(--vt2-border);
    border-radius: var(--vt2-radius);
    padding: 18px 20px;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
body.woocommerce-account .woocommerce-MyAccount-navigation li a {
    display: block;
    padding: 12px 14px;
    border-radius: 10px;
    color: var(--vt2-text);
    font-weight: 600;
    text-decoration: none;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li a:hover,
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
    background: var(--vt2-card2);
    color: var(--vt2-acc);
}
body.woocommerce-account .woocommerce-MyAccount-content { color: var(--vt2-text); }
body.woocommerce-account .woocommerce-MyAccount-content a { color: var(--vt2-acc); }

/* ------------------------------------------------------------
   ULTIMATE MEMBER — login / registro / recuperación / cuenta
   (dark, consistente con el sitio)
   ------------------------------------------------------------ */
.um .um-form,
.um .um-account-main {
    background: var(--vt2-card);
    border: 1px solid var(--vt2-border);
    border-radius: var(--vt2-radius);
    padding: 26px 24px;
    max-width: 460px;
    margin: 24px auto;
    box-shadow: 0 14px 44px rgba(0,0,0,.35);
}
.um .um-account-main { max-width: 900px; }

.um .um-form .um-field-label label,
.um .um-field-label {
    color: var(--vt2-muted);
    font-size: 13px;
    font-weight: 600;
}

.um .um-form input[type=text],
.um .um-form input[type=email],
.um .um-form input[type=password],
.um .um-form input[type=tel],
.um .um-form input[type=number],
.um .um-form input[type=date],
.um .um-form input[type=url],
.um .um-form select,
.um .um-form textarea {
    background: var(--vt2-bg) !important;
    border: 1px solid var(--vt2-border) !important;
    border-radius: 12px !important;
    color: var(--vt2-text) !important;
    padding: 13px 16px !important;
    font-size: 15px;
    box-shadow: none !important;
    transition: border-color .2s ease;
}

.um .um-form input:focus,
.um .um-form select:focus,
.um .um-form textarea:focus {
    border-color: var(--vt2-acc) !important;
    outline: none;
    box-shadow: 0 0 0 3px rgba(255, 107, 0, .15) !important;
}

.um .um-button,
.um input[type=submit].um-button,
.um a.um-button {
    background: linear-gradient(135deg, var(--vt2-acc), var(--vt2-acc2)) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 999px !important;
    padding: 15px 26px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    letter-spacing: .4px;
    box-shadow: 0 6px 24px rgba(255,107,0,.28);
}
.um .um-button:hover, .um a.um-button:hover { filter: brightness(1.07); }

.um .um-button.um-alt,
.um a.um-button.um-alt {
    background: var(--vt2-card2) !important;
    border: 1px solid var(--vt2-border) !important;
    color: var(--vt2-text) !important;
    box-shadow: none;
}
.um .um-button.um-alt:hover { border-color: var(--vt2-acc) !important; color: var(--vt2-acc) !important; }

.um .um-form .um-field-area { margin-top: 4px; }
.um .um-form .um-field { margin-bottom: 14px; }
.um .um-meta, .um .um-field-checkbox-option, .um .um-field-radio-option { color: var(--vt2-muted); }
.um a, .um .um-link { color: var(--vt2-acc); }

.um .um-field-icon { color: var(--vt2-muted); }
.um .um-alert, .um .um-notice, .um .um-message {
    background: var(--vt2-card2) !important;
    border: 1px solid var(--vt2-border) !important;
    border-left: 3px solid var(--vt2-acc) !important;
    border-radius: 10px !important;
    color: var(--vt2-text) !important;
    padding: 12px 14px !important;
}
.um .um-field-error, .um .um-error {
    background: rgba(255,77,94,.1) !important;
    border: 1px solid rgba(255,77,94,.4) !important;
    color: var(--vt2-danger) !important;
    border-radius: 10px !important;
}

.um .um-form .um-heading, .um .um-heading {
    color: var(--vt2-text) !important;
    font-weight: 800;
}
.um .um-profile, .um .um-header { color: var(--vt2-text); }

.um .um-account-nav, .um .um-account-side {
    background: var(--vt2-card);
    border: 1px solid var(--vt2-border);
    border-radius: var(--vt2-radius);
}
.um .um-account-nav a, .um .um-account-side li a { color: var(--vt2-text); }
.um .um-account-nav a:hover, .um .um-account-side li a:hover,
.um .um-account-side li.current a { color: var(--vt2-acc); background: var(--vt2-card2); }

/* Nextend Social Login dentro de UM */
.um .nsl-container, .um .nsl-container-buttons { margin-top: 14px; }
.um .nsl-button { border-radius: 999px !important; }

/* ------------------------------------------------------------
   Responsive
   ------------------------------------------------------------ */
@media (max-width: 980px) {
    body.woocommerce-checkout form.checkout .vt-co-grid {
        grid-template-columns: 1fr;
    }
    body.woocommerce-checkout .vt-co-side { position: static; }
}

@media (max-width: 640px) {
    .vt-payfail-card, .vt-payfail-warn, .vt-payfail-support { margin-left: 0; margin-right: 0; }
    .vt-steps li { font-size: 11px; }
    .vt-steps li .vt-step-dot { width: 32px; height: 32px; font-size: 13px; }
    .vt-steps li::before { top: 16px; }
    body.woocommerce-checkout .vt-section-card { padding: 16px 16px; }
    body.woocommerce-checkout .vt-co-side { padding: 18px 18px; }
}

/* ============================================================
   NEUTRALIZACIÓN DEL SKIN DARK HEREDADO (vetrack-style.css §12)
   Mismas propiedades con !important + prefijo body. → ganan por
   cascada (este archivo carga después). Solo páginas de compra.
   ============================================================ */

/* --- Tipografía sobre hoja clara --- */
body.single-product .woocommerce h1,
body.single-product .woocommerce h2,
body.single-product .woocommerce h3,
body.single-product .entry-title,
body.woocommerce-cart .woocommerce h1,
body.woocommerce-cart .woocommerce h2,
body.woocommerce-cart .woocommerce h3,
body.woocommerce-cart .entry-title,
body.woocommerce-checkout .woocommerce h1,
body.woocommerce-checkout .woocommerce h2,
body.woocommerce-checkout .woocommerce h3,
body.woocommerce-checkout .entry-title,
body.woocommerce-order-pay .woocommerce h1,
body.woocommerce-order-pay .woocommerce h2,
body.woocommerce-order-pay .woocommerce h3,
body.woocommerce-order-pay .entry-title,
body.woocommerce-order-received .woocommerce h1,
body.woocommerce-order-received .woocommerce h2,
body.woocommerce-order-received .woocommerce h3,
body.woocommerce-order-received .entry-title {
    color: var(--vt2-text) !important;
}

body.single-product .woocommerce p,
body.single-product .woocommerce label,
body.woocommerce-cart .woocommerce p,
body.woocommerce-cart .woocommerce label,
body.woocommerce-cart .woocommerce th,
body.woocommerce-cart .woocommerce td,
body.woocommerce-checkout .woocommerce p,
body.woocommerce-checkout .woocommerce label,
body.woocommerce-checkout .woocommerce th,
body.woocommerce-checkout .woocommerce td,
body.woocommerce-order-pay .woocommerce p,
body.woocommerce-order-pay .woocommerce label,
body.woocommerce-order-pay .woocommerce th,
body.woocommerce-order-pay .woocommerce td,
body.woocommerce-order-received .woocommerce p,
body.woocommerce-order-received .woocommerce label {
    color: var(--vt2-text) !important;
}

/* Re-afinar a muted donde corresponde */
body.woocommerce-checkout #payment .woocommerce-privacy-policy-text,
body.woocommerce-checkout #payment .woocommerce-privacy-policy-text p,
body.woocommerce-checkout #payment .payment_box,
body.woocommerce-checkout #payment .payment_box p,
body.woocommerce-order-pay #payment .payment_box,
body.woocommerce-order-pay #payment .payment_box p,
body.woocommerce-checkout .woocommerce-terms-and-conditions,
body.woocommerce-checkout .vetrack-mp-payment-notice,
body.woocommerce-cart .cart_totals table th {
    color: var(--vt2-muted) !important;
}

/* --- Inputs claros (vencen al dark !important heredado) --- */
body.woocommerce-checkout .form-row input.input-text,
body.woocommerce-checkout .form-row textarea,
body.woocommerce-checkout .form-row select,
body.woocommerce-checkout .woocommerce-form-coupon .input-text,
body.woocommerce-cart .coupon .input-text,
body.woocommerce-cart table.cart .product-quantity .qty,
body.woocommerce-order-pay .form-row input.input-text,
body.woocommerce-order-pay .form-row select,
body.single-product .product .quantity .qty {
    background: #fff !important;
    border: 1px solid var(--vt2-border) !important;
    border-radius: 12px !important;
    color: var(--vt2-text) !important;
    box-shadow: none !important;
}

body.woocommerce-checkout .form-row input.input-text:focus,
body.woocommerce-checkout .form-row textarea:focus,
body.woocommerce-checkout .form-row select:focus,
body.woocommerce-cart .coupon .input-text:focus,
body.woocommerce-cart table.cart .product-quantity .qty:focus,
body.woocommerce-order-pay .form-row input.input-text:focus,
body.single-product .product .quantity .qty:focus {
    border-color: var(--vt2-acc) !important;
    box-shadow: 0 0 0 3px rgba(232, 68, 46, .14) !important;
}

body.woocommerce-checkout .form-row label,
body.woocommerce-order-pay .form-row label {
    color: #39404b !important;
}
body.woocommerce-checkout .form-row .required,
body.woocommerce-order-pay .form-row .required {
    color: var(--vt2-acc) !important;
}

/* --- Wrappers de campos: transparentes (las cards son propias) --- */
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-shipping-fields {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}
body.woocommerce-checkout .woocommerce-additional-fields {
    background: var(--vt2-card) !important;
    border: 1px solid var(--vt2-border) !important;
    border-radius: var(--vt2-radius) !important;
    padding: 20px 22px !important;
    box-shadow: 0 6px 22px rgba(16, 20, 28, .05) !important;
}

/* --- Tablas Woo (review, cart, totales) --- */
body.woocommerce-checkout table.shop_table,
body.woocommerce-cart table.cart,
body.woocommerce-cart table.shop_table,
body.woocommerce-order-pay table.shop_table {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}
body.woocommerce-checkout table.shop_table th,
body.woocommerce-cart table.cart th,
body.woocommerce-cart table.shop_table th,
body.woocommerce-order-pay table.shop_table th {
    background: transparent !important;
    color: var(--vt2-muted) !important;
    border-bottom: 1px solid var(--vt2-border) !important;
}
body.woocommerce-checkout table.shop_table td,
body.woocommerce-cart table.cart td,
body.woocommerce-cart table.shop_table td,
body.woocommerce-order-pay table.shop_table td {
    background: transparent !important;
    color: var(--vt2-text) !important;
    border-bottom: 1px solid var(--vt2-border) !important;
}
body.woocommerce-checkout table.shop_table .product-name,
body.woocommerce-checkout table.shop_table .product-name a,
body.woocommerce-cart table.cart .product-name a,
body.woocommerce-checkout table.shop_table .product-total,
body.woocommerce-checkout table.shop_table .order-total td,
body.woocommerce-cart .cart_totals table td {
    color: var(--vt2-text) !important;
}
body.woocommerce-checkout table.shop_table .order-total td,
body.woocommerce-checkout table.shop_table .order-total .amount,
body.woocommerce-cart .cart_totals .order-total th,
body.woocommerce-cart .cart_totals .order-total td,
body.woocommerce-cart .cart_totals .order-total .amount {
    color: var(--vt2-acc) !important;
}
/* Fondo negro puro heredado en tfoot */
body.woocommerce-checkout table.shop_table tbody tr th,
body.woocommerce-checkout table.shop_table tbody tr td,
body.woocommerce-checkout table.shop_table tfoot tr th,
body.woocommerce-checkout table.shop_table tfoot tr td,
body.woocommerce-checkout table.shop_table .cart-subtotal th,
body.woocommerce-checkout table.shop_table .cart-subtotal td,
body.woocommerce-checkout table.shop_table .fee th,
body.woocommerce-checkout table.shop_table .fee td,
body.woocommerce-checkout table.shop_table .order-total th {
    background: transparent !important;
}

/* --- Totales del carrito --- */
body.woocommerce-cart .cart_totals {
    background: var(--vt2-card) !important;
    border: 1px solid var(--vt2-border) !important;
    box-shadow: 0 6px 22px rgba(16, 20, 28, .05) !important;
}
body.woocommerce-cart .cart_totals h2 {
    color: var(--vt2-text) !important;
}
body.woocommerce-cart .cart_totals table td {
    border-bottom: 1px solid var(--vt2-border) !important;
}

/* --- Botones carrito (outline naranja legible sobre claro) --- */
body.woocommerce-cart .actions .button,
body.woocommerce-cart a.button,
body.woocommerce-cart button.button,
body.woocommerce-cart .coupon button[name="apply_coupon"],
body.woocommerce-checkout .woocommerce-form-coupon button[name="apply_coupon"] {
    background: #fff !important;
    color: var(--vt2-acc) !important;
    border: 1px solid var(--vt2-acc) !important;
}
body.woocommerce-cart .actions .button:hover,
body.woocommerce-cart a.button:hover,
body.woocommerce-cart button.button:hover,
body.woocommerce-cart .coupon button[name="apply_coupon"]:hover,
body.woocommerce-checkout .woocommerce-form-coupon button[name="apply_coupon"]:hover {
    background: var(--vt2-acc) !important;
    color: #fff !important;
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    background: linear-gradient(135deg, var(--vt2-acc), var(--vt2-acc2)) !important;
    color: #fff !important;
    border: none !important;
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
    background: linear-gradient(135deg, #d23a26, #f55f00) !important;
    box-shadow: 0 10px 32px rgba(232, 68, 46, .42) !important;
}

/* --- Notices Woo sobre hoja clara --- */
body.single-product .woocommerce-message,
body.single-product .woocommerce-info,
body.single-product .woocommerce-notice,
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-notice,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-notice,
body.woocommerce-order-pay .woocommerce-message,
body.woocommerce-order-pay .woocommerce-info,
body.woocommerce-order-received .woocommerce-message,
body.woocommerce-order-received .woocommerce-info {
    background: var(--vt2-card) !important;
    border: 1px solid var(--vt2-border) !important;
    border-left: 3px solid var(--vt2-acc) !important;
    color: var(--vt2-text) !important;
}
body.single-product .woocommerce-message,
body.woocommerce-cart .woocommerce-message,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-order-pay .woocommerce-message,
body.woocommerce-order-received .woocommerce-message {
    border-left-color: var(--vt2-ok) !important;
}
body.woocommerce-cart .woocommerce-error,
body.woocommerce-checkout .woocommerce-error,
body.woocommerce-order-pay .woocommerce-error {
    background: #fdf1f0 !important;
    border: 1px solid #f3d2cd !important;
    border-left: 3px solid var(--vt2-danger) !important;
    color: var(--vt2-danger) !important;
}
body.woocommerce-cart .woocommerce-message a,
body.woocommerce-checkout .woocommerce-message a,
body.single-product .woocommerce-message a,
body.woocommerce-cart .woocommerce-info a,
body.woocommerce-checkout .woocommerce-info a {
    color: var(--vt2-acc) !important;
}

/* --- Checkout: contenedores heredados → claros --- */
body.woocommerce-checkout #order_review_heading {
    color: var(--vt2-text) !important;
}
body.woocommerce-checkout #payment {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}
body.woocommerce-checkout #payment ul.payment_methods li,
body.woocommerce-order-pay #payment ul.payment_methods li,
body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method,
body.woocommerce-order-pay #payment ul.payment_methods li.wc_payment_method {
    background: var(--vt2-card2) !important;
    border: 1px solid var(--vt2-border) !important;
    border-radius: 12px !important;
    color: var(--vt2-text) !important;
}
body.woocommerce-checkout #payment ul.payment_methods li:has(input:checked),
body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:has(input:checked),
body.woocommerce-order-pay #payment ul.payment_methods li:has(input:checked) {
    background: #fff !important;
    border-color: var(--vt2-acc) !important;
    box-shadow: 0 0 0 3px rgba(232, 68, 46, .12) !important;
}
body.woocommerce-checkout #payment ul.payment_methods li label,
body.woocommerce-order-pay #payment ul.payment_methods li label {
    color: var(--vt2-text) !important;
}
body.woocommerce-checkout #payment .payment_box,
body.woocommerce-order-pay #payment .payment_box {
    background: #fff !important;
    border: 1px solid var(--vt2-border) !important;
    border-radius: 10px !important;
}
body.woocommerce-checkout #payment .payment_box::before,
body.woocommerce-order-pay #payment .payment_box::before {
    border-bottom-color: var(--vt2-border) !important;
}

/* Términos nativos wrapper */
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
    background: var(--vt2-card2) !important;
    border: 1px solid var(--vt2-border) !important;
    box-shadow: none !important;
}

/* Checks legales sobre claro */
body.woocommerce-checkout .vetrack-legal-check-group {
    background: var(--vt2-card2) !important;
    border: 1px solid var(--vt2-border) !important;
}
body.woocommerce-checkout .vetrack-legal-check-row {
    background: transparent !important;
}
body.woocommerce-checkout .vetrack-legal-check-row label {
    color: var(--vt2-text) !important;
}
body.woocommerce-checkout .vetrack-legal-check-row a {
    color: var(--vt2-acc) !important;
}

/* --- Página de producto (light) --- */
body.single-product .product {
    background: var(--vt2-card) !important;
    border: 1px solid var(--vt2-border) !important;
    border-radius: var(--vt2-radius) !important;
    padding: 30px !important;
    box-shadow: 0 10px 34px rgba(16, 20, 28, .07) !important;
}
body.single-product .summary > h1.product_title,
body.single-product .product_title {
    color: var(--vt2-text) !important;
}
body.single-product .product .price {
    color: var(--vt2-acc) !important;
}
body.single-product .product .price del {
    color: var(--vt2-muted) !important;
}
body.single-product .product .stock {
    color: var(--vt2-ok) !important;
}
body.single-product .product form.cart {
    border-top: 1px solid var(--vt2-border) !important;
}
body.single-product .product button.button.alt,
body.single-product .product a.button,
body.single-product .product button.button,
body.single-product .product .single_add_to_cart_button {
    background: linear-gradient(135deg, var(--vt2-acc), var(--vt2-acc2)) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 999px !important;
    box-shadow: 0 8px 24px rgba(232, 68, 46, .3) !important;
}
body.single-product .product button.button.alt:hover,
body.single-product .product button.button:hover {
    box-shadow: 0 10px 32px rgba(232, 68, 46, .42) !important;
}

/* Tabs del producto */
body.single-product .woocommerce-tabs {
    background: var(--vt2-card) !important;
    border: 1px solid var(--vt2-border) !important;
    box-shadow: 0 6px 22px rgba(16, 20, 28, .05) !important;
}
body.single-product .woocommerce-tabs ul.tabs li a {
    color: var(--vt2-muted) !important;
}
body.single-product .woocommerce-tabs ul.tabs li.active a {
    color: var(--vt2-acc) !important;
    border-bottom: 2px solid var(--vt2-acc) !important;
}
body.single-product .woocommerce-Tabs-panel {
    background: transparent !important;
    color: var(--vt2-text) !important;
}
body.single-product .woocommerce-Tabs-panel h2,
body.single-product .woocommerce-Tabs-panel h3,
body.single-product .woocommerce-Tabs-panel strong {
    color: var(--vt2-text) !important;
}

/* Info de competencia dentro del producto (versión clara) */
.vetrack-product-competition-info,
body.single-product .vetrack-product-competition-info {
    background: #fff4f0 !important;
    border: 1px solid #f6d9d0 !important;
    border-left: 4px solid var(--vt2-acc) !important;
}
body.single-product .vetrack-product-competition-info h4 {
    color: var(--vt2-text) !important;
}
body.single-product .vetrack-product-competition-info p {
    color: var(--vt2-text) !important;
}
body.single-product .vetrack-product-competition-info strong {
    color: var(--vt2-acc) !important;
}
.vetrack-competition-info,
body.single-product .vetrack-competition-info {
    background: var(--vt2-card2) !important;
    color: var(--vt2-text) !important;
}
body.single-product .vetrack-competition-info h3 {
    color: var(--vt2-text) !important;
}
body.single-product .vetrack-competition-info p {
    color: var(--vt2-text) !important;
}
body.single-product .vetrack-competition-info strong {
    color: var(--vt2-text) !important;
}

/* Tabla de atributos del producto */
body.single-product table.shop_attributes,
body.single-product table.shop_attributes th,
body.single-product table.shop_attributes td {
    background: transparent !important;
    color: var(--vt2-text) !important;
    border-color: var(--vt2-border) !important;
}

/* Breadcrumb sobre hoja clara */
body.single-product .woocommerce .woocommerce-breadcrumb,
body.woocommerce-cart .woocommerce .woocommerce-breadcrumb,
body.woocommerce-checkout .woocommerce .woocommerce-breadcrumb {
    color: var(--vt2-muted) !important;
}
body.single-product .woocommerce .woocommerce-breadcrumb a,
body.woocommerce-cart .woocommerce .woocommerce-breadcrumb a,
body.woocommerce-checkout .woocommerce .woocommerce-breadcrumb a {
    color: var(--vt2-acc) !important;
}

/* Productos relacionados */
body.single-product .related.products h2,
body.single-product .related.products .woocommerce-loop-product__title {
    color: var(--vt2-text) !important;
}
body.single-product .related.products .price {
    color: var(--vt2-acc) !important;
}

/* --- Celda TOTAL negra heredada (faltaba .order-total td) --- */
body.woocommerce-checkout table.shop_table .order-total td,
body.woocommerce-order-pay table.shop_table .order-total td,
body.woocommerce-cart .cart_totals .order-total td {
    background: transparent !important;
}

/* --- Botón de pago: azul Mercado Pago; naranja en Pago Manual --- */
body.woocommerce-checkout .woocommerce #place_order,
body.woocommerce-order-pay .woocommerce #place_order {
    background: linear-gradient(135deg, #3483fa, #005cc6) !important;
    box-shadow: 0 8px 24px rgba(0, 92, 198, .32) !important;
    font-size: 13.5px !important;
    padding: 15px 22px !important;
    line-height: 1.3 !important;
}
body.woocommerce-checkout .woocommerce #place_order:hover,
body.woocommerce-order-pay .woocommerce #place_order:hover {
    box-shadow: 0 10px 32px rgba(0, 92, 198, .45) !important;
}
/* Pago Manual / Preinscripción: naranja Vetrack */
body.woocommerce-checkout:has(#payment_method_vetrack_manual:checked) #place_order {
    background: linear-gradient(135deg, var(--vt2-acc), var(--vt2-acc2)) !important;
    box-shadow: 0 8px 24px rgba(232, 68, 46, .3) !important;
}
body.woocommerce-checkout:has(#payment_method_vetrack_manual:checked) #place_order:hover {
    box-shadow: 0 10px 32px rgba(232, 68, 46, .42) !important;
}

/* --- QR de acreditación en thankyou: card oscura destacada,
   texto claro + botón de descarga --- */
body.woocommerce-order-received .vt-qr-card {
    background: #141414 !important;
    border-color: #2a2a2a !important;
}
body.woocommerce-order-received .vt-qr-card,
body.woocommerce-order-received .vt-qr-card p,
body.woocommerce-order-received .vt-qr-card * {
    color: #e8e8e8 !important;
}
body.woocommerce-order-received .vt-qr-card img {
    border-radius: 8px;
    background: #fff;
    padding: 6px;
}
body.woocommerce-order-received .vt-qr-download {
    display: inline-block;
    padding: 10px 22px !important;
    border: 1px solid #3a3a3a !important;
    border-radius: 999px !important;
    color: #fff !important;
    text-decoration: none !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: .4px;
    transition: all .2s ease;
}
body.woocommerce-order-received .vt-qr-download:hover {
    border-color: var(--vt2-acc2) !important;
    color: var(--vt2-acc2) !important;
}

/* --- Productos relacionados: neutralizar cajas negras internas --- */
body.single-product .related.products li.product,
body.single-product ul.products li.product {
    background: var(--vt2-card) !important;
    border: 1px solid var(--vt2-border) !important;
    border-radius: var(--vt2-radius) !important;
    box-shadow: 0 6px 22px rgba(16, 20, 28, .05) !important;
}
body.single-product .related.products li.product > a,
body.single-product .related.products li.product .product-inner,
body.single-product .related.products li.product .astra-shop-summary-wrap,
body.single-product .related.products li.product .summary-wrap,
body.single-product .related.products li.product .summary,
body.single-product .related.products li.product .woo-entry-inner,
body.single-product .related.products li.product .product-content {
    background: transparent !important;
    box-shadow: none !important;
}
body.single-product .related.products li.product .woocommerce-loop-product__title,
body.single-product ul.products li.product .woocommerce-loop-product__title {
    color: var(--vt2-text) !important;
}
body.single-product .related.products li.product .price,
body.single-product .related.products li.product .price *,
body.single-product ul.products li.product .price {
    color: var(--vt2-acc) !important;
}
body.single-product .related.products li.product .button,
body.single-product ul.products li.product .button {
    background: #fff !important;
    color: var(--vt2-acc) !important;
    border: 1px solid var(--vt2-acc) !important;
    border-radius: 999px !important;
}
body.single-product .related.products li.product .button:hover,
body.single-product ul.products li.product .button:hover {
    background: var(--vt2-acc) !important;
    color: #fff !important;
}

/* ============================================================
   SHOP / ARCHIVO DE PRODUCTOS — hoja clara (es el inicio del
   embudo de compra: catálogo de inscripciones)
   ============================================================ */
body.post-type-archive-product,
body.tax-product_cat,
body.tax-product_tag {
    --vt2-bg: #f4f5f7;
    --vt2-card: #ffffff;
    --vt2-card2: #f7f8fa;
    --vt2-border: #e3e6ec;
    --vt2-text: #1a1a1e;
    --vt2-muted: #5d6673;
    --vt2-acc: #e8442e;
    --vt2-acc2: #ff6b00;
    --vt2-cyan: #0e8a96;
    --vt2-danger: #d42c3e;
    --vt2-ok: #15803d;
    --vt2-radius: 16px;
    background-color: var(--vt2-bg) !important;
    background-image: none !important;
}
body.post-type-archive-product #page,
body.post-type-archive-product .site,
body.post-type-archive-product .page-wrapper,
body.post-type-archive-product .site-main,
body.post-type-archive-product .site-content,
body.post-type-archive-product #content,
body.post-type-archive-product #primary,
body.post-type-archive-product main,
body.post-type-archive-product .content-area,
body.post-type-archive-product .entry-content,
body.tax-product_cat #page,
body.tax-product_cat .site,
body.tax-product_cat .site-main,
body.tax-product_cat .site-content,
body.tax-product_cat #content,
body.tax-product_cat #primary,
body.tax-product_cat main,
body.tax-product_cat .content-area,
body.tax-product_cat .entry-content,
body.tax-product_tag #page,
body.tax-product_tag .site,
body.tax-product_tag .site-main,
body.tax-product_tag .site-content,
body.tax-product_tag #content,
body.tax-product_tag #primary,
body.tax-product_tag main,
body.tax-product_tag .content-area,
body.tax-product_tag .entry-content {
    background-color: var(--vt2-bg) !important;
    background-image: none !important;
}
body.post-type-archive-product .page-title,
body.post-type-archive-product .page-header,
body.post-type-archive-product .page-banner,
body.post-type-archive-product .hero,
body.post-type-archive-product .entry-header,
body.tax-product_cat .page-title,
body.tax-product_cat .page-header,
body.tax-product_cat .hero,
body.tax-product_cat .entry-header,
body.tax-product_tag .page-title,
body.tax-product_tag .page-header,
body.tax-product_tag .hero,
body.tax-product_tag .entry-header {
    display: none !important;
}
body.post-type-archive-product .woocommerce,
body.tax-product_cat .woocommerce,
body.tax-product_tag .woocommerce {
    color: var(--vt2-text);
}
body.post-type-archive-product .woocommerce h1,
body.post-type-archive-product .woocommerce h2,
body.post-type-archive-product .woocommerce h3,
body.tax-product_cat .woocommerce h2,
body.tax-product_cat .woocommerce h3,
body.tax-product_tag .woocommerce h2,
body.tax-product_tag .woocommerce h3,
body.post-type-archive-product .woocommerce-result-count,
body.tax-product_cat .woocommerce-result-count,
body.tax-product_tag .woocommerce-result-count {
    color: var(--vt2-text) !important;
}
body.post-type-archive-product ul.products li.product,
body.tax-product_cat ul.products li.product,
body.tax-product_tag ul.products li.product {
    background: var(--vt2-card) !important;
    border: 1px solid var(--vt2-border) !important;
    border-radius: var(--vt2-radius) !important;
    overflow: hidden;
    box-shadow: 0 6px 22px rgba(16, 20, 28, .05) !important;
    transition: box-shadow .2s ease, transform .15s ease;
}
body.post-type-archive-product ul.products li.product:hover,
body.tax-product_cat ul.products li.product:hover,
body.tax-product_tag ul.products li.product:hover {
    box-shadow: 0 12px 34px rgba(16, 20, 28, .1) !important;
    transform: translateY(-2px);
}
body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
body.tax-product_tag ul.products li.product .woocommerce-loop-product__title {
    color: var(--vt2-text) !important;
}
body.post-type-archive-product ul.products li.product .price,
body.post-type-archive-product ul.products li.product .price *,
body.tax-product_cat ul.products li.product .price,
body.tax-product_tag ul.products li.product .price {
    color: var(--vt2-acc) !important;
}
body.post-type-archive-product ul.products li.product .button,
body.tax-product_cat ul.products li.product .button,
body.tax-product_tag ul.products li.product .button {
    background: linear-gradient(135deg, var(--vt2-acc), var(--vt2-acc2)) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 999px !important;
}
body.post-type-archive-product ul.products li.product a,
body.tax-product_cat ul.products li.product a,
body.tax-product_tag ul.products li.product a {
    color: var(--vt2-text);
}
body.post-type-archive-product .woocommerce-ordering select,
body.tax-product_cat .woocommerce-ordering select,
body.tax-product_tag .woocommerce-ordering select {
    background: #fff;
    border: 1px solid var(--vt2-border);
    border-radius: 10px;
    color: var(--vt2-text);
    padding: 9px 12px;
}
body.post-type-archive-product .woocommerce .woocommerce-message,
body.post-type-archive-product .woocommerce .woocommerce-info,
body.tax-product_cat .woocommerce .woocommerce-message,
body.tax-product_cat .woocommerce .woocommerce-info {
    background: var(--vt2-card) !important;
    border: 1px solid var(--vt2-border) !important;
    border-left: 3px solid var(--vt2-acc) !important;
    color: var(--vt2-text) !important;
}
body.post-type-archive-product .woocommerce .woocommerce-breadcrumb,
body.tax-product_cat .woocommerce .woocommerce-breadcrumb {
    color: var(--vt2-muted) !important;
}
body.post-type-archive-product .woocommerce .woocommerce-breadcrumb a,
body.tax-product_cat .woocommerce .woocommerce-breadcrumb a {
    color: var(--vt2-acc) !important;
}

/* --- Datos de inscripción en la orden recibida --- */
body.woocommerce-order-received .woocommerce-order-details h3 {
    color: var(--vt2-text) !important;
}
body.woocommerce-order-received .woocommerce-order-details ul {
    color: var(--vt2-text) !important;
}
body.woocommerce-order-received .woocommerce-order-details ul strong {
    color: var(--vt2-acc) !important;
}
body.woocommerce-order-received .woocommerce-order-details table.shop_table th,
body.woocommerce-order-received .woocommerce-order-details table.shop_table td,
body.woocommerce-order-received table.shop_table th,
body.woocommerce-order-received table.shop_table td,
body.woocommerce-order-received table.shop_table tbody tr th,
body.woocommerce-order-received table.shop_table tbody tr td,
body.woocommerce-order-received table.shop_table tfoot tr th,
body.woocommerce-order-received table.shop_table tfoot tr td,
body.woocommerce-order-received table.shop_table .cart-subtotal th,
body.woocommerce-order-received table.shop_table .cart-subtotal td,
body.woocommerce-order-received table.shop_table .fee th,
body.woocommerce-order-received table.shop_table .fee td,
body.woocommerce-order-received table.shop_table .order-total th,
body.woocommerce-order-received table.shop_table .order-total td {
    background: transparent !important;
    color: var(--vt2-text) !important;
    border-color: var(--vt2-border) !important;
}


/* ============================================================
   ÚLTIMOS AJUSTES (caps 1-7)
   ============================================================ */

/* --- Cap 1: producto relacionado — caja negra del precio.
   Forzamos transparente en CUALQUIER descendiente de la card,
   re-afirmando después los fondos que sí deben tener color. --- */
body.single-product .related.products li.product *:not(img):not(input):not(select):not(textarea):not(.onsale):not(.button):not(.add_to_cart_button) {
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}
body.single-product .related.products li.product {
    background: #ffffff !important;
}
body.single-product .related.products li.product .button,
body.single-product .related.products li.product .add_to_cart_button {
    background: #fff !important;
    color: var(--vt2-acc) !important;
    border: 1px solid var(--vt2-acc) !important;
    border-radius: 999px !important;
}
body.single-product .related.products li.product .button:hover,
body.single-product .related.products li.product .add_to_cart_button:hover {
    background: var(--vt2-acc) !important;
    color: #fff !important;
}

/* --- Cap 2: carrito — alinear cupón / aplicar / actualizar.
   .actions es un <td> de shop_table: se saca del flujo tabla
   con display block; el layout interno usa flex. Selectores
   amplificados para cubrir variantes de markup del tema. --- */
body.woocommerce-cart .woocommerce-cart-form .actions,
body.woocommerce-cart .shop_table .actions,
body.woocommerce-cart td.actions,
body.woocommerce-cart .actions {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 14px 18px !important;
    text-align: left !important;
    box-sizing: border-box !important;
}
body.woocommerce-cart .actions .coupon,
body.woocommerce-cart td.actions .coupon {
    display: flex !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 0 12px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}
body.woocommerce-cart .actions .coupon label {
    display: none !important;
}
body.woocommerce-cart .actions .coupon .input-text,
body.woocommerce-cart .actions .coupon input#coupon_code {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    float: none !important;
    box-sizing: border-box !important;
}
body.woocommerce-cart .actions .coupon .button,
body.woocommerce-cart .actions .coupon button[name="apply_coupon"],
body.woocommerce-cart .actions .coupon button.button {
    flex: 0 0 auto !important;
    margin: 0 !important;
    float: none !important;
    width: auto !important;
    white-space: nowrap !important;
}
body.woocommerce-cart .actions > .button[name="update_cart"],
body.woocommerce-cart .actions > button[name="update_cart"],
body.woocommerce-cart .actions button[name="update_cart"],
body.woocommerce-cart td.actions button[name="update_cart"] {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    float: none !important;
    clear: both !important;
    box-sizing: border-box !important;
}

/* --- Cap 4: el "(opcional)" de los checkbox no debe partirse --- */
body.woocommerce-checkout .woocommerce form.checkout .form-row .optional,
body.woocommerce-checkout .woocommerce form.checkout .form-row label .optional {
    float: none !important;
    position: static !important;
    display: inline !important;
    white-space: nowrap !important;
    font-size: 12px;
    color: var(--vt2-muted);
}
body.woocommerce-checkout .woocommerce form.checkout .form-row label.checkbox,
body.woocommerce-checkout .woocommerce form.checkout .form-row .woocommerce-form__label-for-checkbox {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}
body.woocommerce-checkout .woocommerce form.checkout .form-row label.checkbox .input-checkbox,
body.woocommerce-checkout .woocommerce form.checkout .form-row .woocommerce-form__label-for-checkbox .input-checkbox {
    flex: 0 0 auto !important;
    margin-top: 3px !important;
}
body.woocommerce-checkout .woocommerce form.checkout .form-row label.checkbox > span,
body.woocommerce-checkout .woocommerce form.checkout .form-row .woocommerce-form__label-for-checkbox > span {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

/* --- Cap 5: todos los TyC dentro de UN mismo contenedor --- */
body.woocommerce-checkout .vetrack-legal-check-group {
    background: var(--vt2-card2) !important;
    border: 1px solid var(--vt2-border) !important;
    border-radius: 12px !important;
    padding: 14px 16px !important;
    margin: 12px 0 !important;
    box-sizing: border-box !important;
}
body.woocommerce-checkout .vetrack-legal-check-group .vetrack-legal-check-row,
body.woocommerce-checkout .vetrack-legal-check-group p.form-row {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 8px 4px !important;
    margin: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
body.woocommerce-checkout .vetrack-legal-check-master {
    background: transparent !important;
    border: none !important;
    border-bottom: 1px dashed var(--vt2-border) !important;
    margin-bottom: 6px !important;
    padding-bottom: 12px !important;
}
body.woocommerce-checkout .vetrack-legal-check-master span {
    color: var(--vt2-cyan) !important;
    font-size: 14px !important;
}
body.woocommerce-checkout .vetrack-legal-check-master .input-checkbox {
    accent-color: var(--vt2-cyan);
}

/* --- Caps 6 y 7: order-received — títulos enormes a tamaño normal --- */
body.woocommerce-order-received .woocommerce h2,
body.woocommerce-order-received .woocommerce h3,
body.woocommerce-order-received .woocommerce-order-details__title,
body.woocommerce-order-received .woocommerce-order-details h2,
body.woocommerce-order-received .woocommerce-order-details h3,
body.woocommerce-order-received .woocommerce-column__title,
body.woocommerce-order-received .woocommerce-columns h2,
body.woocommerce-order-received .woocommerce-columns h3,
body.woocommerce-order-received .woocommerce-customer-details h2,
body.woocommerce-order-received .woocommerce-customer-details h3 {
    font-size: 15px !important;
    font-weight: 800 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    line-height: 1.3 !important;
    margin: 0 0 14px !important;
}
/* el título del card QR (oscuro) conserva su propio tamaño */
body.woocommerce-order-received .woocommerce .vt-qr-card h2,
body.woocommerce-order-received .woocommerce .vt-qr-card h3,
body.woocommerce-order-received .woocommerce .vt-qr-card h4 {
    font-size: 20px !important;
}

/* ============================================================
   AJUSTES RONDA 2 (caps 1-2)
   ============================================================ */

/* --- Cap 1: la tabla del carrito no debe ser más ancha que la card.
   Toda la cadena de contenedores queda acotada al 100% y las
   celdas pasan a bloque en mobile (layout apilado seguro). --- */
body.woocommerce-cart .woocommerce,
body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart form.woocommerce-cart-form {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow-x: clip !important;
}
body.woocommerce-cart table.shop_table,
body.woocommerce-cart table.cart {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}
@media (max-width: 768px) {
    body.woocommerce-cart .shop_table tbody,
    body.woocommerce-cart .shop_table tfoot,
    body.woocommerce-cart .shop_table tr,
    body.woocommerce-cart .shop_table td,
    body.woocommerce-cart .shop_table th,
    body.woocommerce-cart table.cart tbody,
    body.woocommerce-cart table.cart tfoot,
    body.woocommerce-cart table.cart tr,
    body.woocommerce-cart table.cart td,
    body.woocommerce-cart table.cart th {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }
    body.woocommerce-cart table.shop_table thead,
    body.woocommerce-cart table.cart thead {
        display: none !important;
    }
}

/* --- Cap 2: check al lado del texto en cada TyC.
   Se fuerza flex en la ROW <p> (cubre ambos markups: input dentro
   del label o como hermano) y también en el label. --- */
body.woocommerce-checkout .vetrack-legal-check-group .vetrack-legal-check-row,
body.woocommerce-checkout p.vetrack-legal-check-row,
body.woocommerce-checkout .vetrack-legal-check-group p.form-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: 10px !important;
}
body.woocommerce-checkout .vetrack-legal-check-row label,
body.woocommerce-checkout .vetrack-legal-check-row .woocommerce-form__label-for-checkbox,
body.woocommerce-checkout .vetrack-legal-check-row label.checkbox {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
    flex: 1 1 auto !important;
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}
body.woocommerce-checkout .vetrack-legal-check-row .input-checkbox,
body.woocommerce-checkout .vetrack-legal-check-row input[type="checkbox"] {
    flex: 0 0 16px !important;
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    margin: 2px 0 0 !important;
    padding: 0 !important;
    display: inline-block !important;
    float: none !important;
    position: static !important;
}
body.woocommerce-checkout .vetrack-legal-check-row label span,
body.woocommerce-checkout .vetrack-legal-check-row label .woocommerce-terms-and-conditions-checkbox-text,
body.woocommerce-checkout .vetrack-legal-check-row .woocommerce-form__label-for-checkbox span {
    display: inline !important;
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    float: none !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}

/* ============================================================
   AJUSTES RONDA 3
   ============================================================ */

/* --- Carrito mobile: la card se sale del viewport (scroll
   horizontal). Forzamos que TODA la cadena de contenedores
   pueda achicar (min-width:0 rompe el min-content de flex). --- */
body.woocommerce-cart {
    overflow-x: hidden !important;
}
@media (max-width: 768px) {
    body.woocommerce-cart .site-main,
    body.woocommerce-cart #primary,
    body.woocommerce-cart #content,
    body.woocommerce-cart .entry-content,
    body.woocommerce-cart .container,
    body.woocommerce-cart .ast-container {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        overflow-x: clip !important;
    }
    /* Si el tema pone el carrito en fila flex, pasa a columna */
    body.woocommerce-cart .woocommerce,
    body.woocommerce-cart .woocommerce > div,
    body.woocommerce-cart .woocommerce-cart-form,
    body.woocommerce-cart .cart-collaterals,
    body.woocommerce-cart .cart_totals {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex: 0 0 auto !important;
        float: none !important;
        box-sizing: border-box !important;
    }
    /* Tabla y celdas completamente apiladas */
    body.woocommerce-cart table.shop_table,
    body.woocommerce-cart table.cart {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }
    body.woocommerce-cart .shop_table thead,
    body.woocommerce-cart table.cart thead {
        display: none !important;
    }
    body.woocommerce-cart .shop_table tbody,
    body.woocommerce-cart .shop_table tfoot,
    body.woocommerce-cart .shop_table tr,
    body.woocommerce-cart .shop_table td,
    body.woocommerce-cart .shop_table th,
    body.woocommerce-cart table.cart tbody,
    body.woocommerce-cart table.cart tfoot,
    body.woocommerce-cart table.cart tr,
    body.woocommerce-cart table.cart td,
    body.woocommerce-cart table.cart th {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        text-align: left !important;
    }
    /* cantidad: que el stepper no exceda el ancho */
    body.woocommerce-cart .quantity,
    body.woocommerce-cart .qty {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    body.woocommerce-cart td.product-remove a.remove {
        display: inline-block !important;
        position: static !important;
        float: none !important;
    }
}

/* ============================================================
   AJUSTES RONDA 4
   ============================================================ */

/* --- TyC: checkbox pegado a la primera línea del texto.
   .vt-check-line = clase propia que ponemos en el <label>
   (la ponen nuestros checks y el JS sobre el check nativo).
   Especificidad alta para ganarle a Woo/tema. --- */
body.woocommerce-checkout .woocommerce .vetrack-legal-check-group p.form-row.vetrack-legal-check-row,
body.woocommerce-checkout .vetrack-legal-check-group p.vetrack-legal-check-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: 10px !important;
}
body.woocommerce-checkout .vetrack-legal-check-row label.vt-check-line,
body.woocommerce-checkout label.vt-check-line {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
    flex: 1 1 auto !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
    color: var(--vt2-text) !important;
}
body.woocommerce-checkout label.vt-check-line .input-checkbox,
body.woocommerce-checkout label.vt-check-line input[type="checkbox"] {
    flex: 0 0 16px !important;
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    margin: 1px 0 0 !important;
    padding: 0 !important;
    display: inline-block !important;
    float: none !important;
    position: static !important;
    -webkit-appearance: checkbox !important;
    appearance: auto !important;
}
body.woocommerce-checkout label.vt-check-line span.vt-check-text,
body.woocommerce-checkout label.vt-check-line .woocommerce-terms-and-conditions-checkbox-text,
body.woocommerce-checkout label.vt-check-line > span {
    display: inline !important;
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    float: none !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}
body.woocommerce-checkout label.vt-check-line abbr.required {
    display: inline !important;
    float: none !important;
    margin-left: 2px !important;
}

/* --- Producto: caja de logos de medios de pago (visa/mc/amex/pp)
   por si queda fuera del contenedor que limpia el JS. --- */
body.single-product .summary img[src*="visa" i],
body.single-product .summary img[src*="mastercard" i],
body.single-product .summary img[src*="amex" i],
body.single-product .summary img[src*="american-express" i],
body.single-product .summary img[src*="discover" i],
body.single-product .summary img[src*="paypal" i],
body.single-product .summary img[src*="stripe" i],
body.single-product .summary img[alt*="visa" i],
body.single-product .summary img[alt*="mastercard" i],
body.single-product .summary img[alt*="paypal" i] {
    display: none !important;
}
body.single-product .summary .payment-icons,
body.single-product .summary .payment-methods,
body.single-product .summary .trust-badges,
body.single-product .summary .safe-checkout,
body.single-product .summary .secure-checkout,
body.single-product .summary .guarantee-box,
body.single-product .summary [class*="trust"],
body.single-product .summary [class*="badge"] {
    display: none !important;
}
