/* ══════════════════════════════════════════════════════════════════════
   InverNovaK — WooCommerce (dark brand theme)
   Aplica en: single-product, cart, checkout
   ══════════════════════════════════════════════════════════════════════ */

/* ── Variables ────────────────────────────────────────────────────────── */
:root {
    --invkw-bg:       #010b20;
    --invkw-card:     #0e1120;
    --invkw-card2:    #131629;
    --invkw-border:   rgba(255,255,255,.08);
    --invkw-accent:   #2563eb;
    --invkw-teal:     #06d6f0;
    --invkw-txt1:     #e8eaf0;
    --invkw-txt2:     #8892b0;
    --invkw-txt3:     #4d5678;
    --invkw-radius:   12px;
    --invkw-error:    #ef4444;
    --invkw-success:  #22c55e;
}

/* ── Base de página ───────────────────────────────────────────────────── */
body.woocommerce-cart,
body.woocommerce-checkout,
body.single-product,
body.woocommerce {
    background: var(--invkw-bg) !important;
    color: var(--invkw-txt1) !important;
}
body.woocommerce-cart .site-content,
body.woocommerce-checkout .site-content,
body.woocommerce-cart #content,
body.woocommerce-checkout #content,
body.woocommerce-cart .entry-content,
body.woocommerce-checkout .entry-content,
body.woocommerce-cart article,
body.woocommerce-checkout article {
    background: transparent !important;
}

/* ── Topbar y header en estas páginas ────────────────────────────────── */
body.woocommerce-cart .site-header,
body.woocommerce-checkout .site-header,
body.woocommerce-cart .elementor-location-header,
body.woocommerce-checkout .elementor-location-header {
    background: var(--invkw-card) !important;
    border-bottom: 1px solid var(--invkw-border) !important;
}

/* ── Títulos de página ────────────────────────────────────────────────── */
body.woocommerce-cart h1,
body.woocommerce-cart h2,
body.woocommerce-cart h3,
body.woocommerce-checkout h1,
body.woocommerce-checkout h2,
body.woocommerce-checkout h3 {
    color: var(--invkw-txt1) !important;
}
body.woocommerce-cart .entry-title,
body.woocommerce-checkout .entry-title {
    color: var(--invkw-txt1) !important;
    font-size: 1.75rem !important;
    font-weight: 700 !important;
    margin-bottom: 1.5rem !important;
}

/* ══ CARRITO ══════════════════════════════════════════════════════════ */

/* Tabla del carrito */
.woocommerce-cart-form .shop_table {
    background: var(--invkw-card) !important;
    border: 1px solid var(--invkw-border) !important;
    border-radius: var(--invkw-radius) !important;
    border-collapse: separate !important;
    overflow: hidden !important;
}
.woocommerce-cart-form .shop_table thead tr th {
    background: var(--invkw-card2) !important;
    color: var(--invkw-txt2) !important;
    font-size: .72rem !important;
    font-weight: 700 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    padding: .85rem 1.25rem !important;
    border-bottom: 1px solid var(--invkw-border) !important;
}
.woocommerce-cart-form .shop_table tbody tr td {
    background: var(--invkw-card) !important;
    color: var(--invkw-txt1) !important;
    border-bottom: 1px solid var(--invkw-border) !important;
    padding: 1rem 1.25rem !important;
    vertical-align: middle !important;
}
.woocommerce-cart-form .shop_table tbody tr:last-child td {
    border-bottom: none !important;
}

/* Nombre del producto */
.woocommerce-cart-form .product-name a {
    color: var(--invkw-txt1) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    font-size: .95rem !important;
}
.woocommerce-cart-form .product-name a:hover {
    color: var(--invkw-teal) !important;
}

/* Precio en carrito */
.woocommerce-cart-form .product-price,
.woocommerce-cart-form .product-subtotal {
    color: var(--invkw-txt1) !important;
    font-weight: 600 !important;
}

/* Botón eliminar producto */
.woocommerce-cart-form a.remove {
    color: var(--invkw-txt3) !important;
    font-size: 1.1rem !important;
    background: transparent !important;
    border-radius: 50% !important;
    transition: color .15s !important;
}
.woocommerce-cart-form a.remove:hover {
    color: var(--invkw-error) !important;
    background: rgba(239,68,68,.08) !important;
}

/* Input cantidad */
.woocommerce-cart-form .quantity .qty,
.woocommerce input.qty {
    background: var(--invkw-card2) !important;
    border: 1px solid var(--invkw-border) !important;
    color: var(--invkw-txt1) !important;
    border-radius: 8px !important;
    padding: .35rem .6rem !important;
    width: 64px !important;
    text-align: center !important;
}

/* Cupón */
.woocommerce-cart-form .coupon {
    display: flex !important;
    gap: .6rem !important;
    align-items: center !important;
}
.woocommerce-cart-form .coupon input#coupon_code {
    background: var(--invkw-card2) !important;
    border: 1px solid var(--invkw-border) !important;
    color: var(--invkw-txt1) !important;
    border-radius: 8px !important;
    padding: .55rem 1rem !important;
    font-size: .875rem !important;
}
.woocommerce-cart-form .coupon input#coupon_code::placeholder {
    color: var(--invkw-txt3) !important;
}
.woocommerce-cart-form .coupon input#coupon_code:focus {
    outline: none !important;
    border-color: var(--invkw-accent) !important;
    box-shadow: 0 0 0 3px rgba(37,99,235,.15) !important;
}

/* Totales del carrito */
.cart_totals {
    background: var(--invkw-card) !important;
    border: 1px solid var(--invkw-border) !important;
    border-radius: var(--invkw-radius) !important;
    padding: 1.5rem !important;
}
.cart_totals h2 {
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: var(--invkw-txt2) !important;
    letter-spacing: .05em !important;
    text-transform: uppercase !important;
    margin: 0 0 1rem !important;
    padding-bottom: .75rem !important;
    border-bottom: 1px solid var(--invkw-border) !important;
}
.cart_totals .shop_table {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
}
.cart_totals .shop_table th,
.cart_totals .shop_table td {
    background: transparent !important;
    color: var(--invkw-txt2) !important;
    border-bottom: 1px solid var(--invkw-border) !important;
    padding: .65rem 0 !important;
    font-size: .875rem !important;
}
.cart_totals .shop_table .order-total th,
.cart_totals .shop_table .order-total td {
    color: var(--invkw-txt1) !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    border-bottom: none !important;
}
.cart_totals .shop_table .order-total .woocommerce-Price-amount {
    color: var(--invkw-accent) !important;
}

/* ══ CHECKOUT — Clásico ══════════════════════════════════════════════ */

.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
    background: var(--invkw-card) !important;
    border: 1px solid var(--invkw-border) !important;
    border-radius: var(--invkw-radius) !important;
    padding: 1.75rem !important;
}
.woocommerce-checkout h3#order_review_heading,
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3 {
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: var(--invkw-txt2) !important;
    letter-spacing: .05em !important;
    text-transform: uppercase !important;
    margin: 0 0 1.25rem !important;
    padding: 0 0 .75rem !important;
    border: none !important;
    border-bottom: 1px solid var(--invkw-border) !important;
    background: transparent !important;
}
.woocommerce-checkout .form-row label,
.woocommerce-checkout .woocommerce-form__label {
    color: var(--invkw-txt2) !important;
    font-size: .8rem !important;
    font-weight: 600 !important;
    letter-spacing: .03em !important;
    margin-bottom: .35rem !important;
    display: block !important;
}
.woocommerce-checkout .form-row input[type="text"],
.woocommerce-checkout .form-row input[type="email"],
.woocommerce-checkout .form-row input[type="tel"],
.woocommerce-checkout .form-row input[type="password"],
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
    background: var(--invkw-card2) !important;
    border: 1px solid var(--invkw-border) !important;
    color: var(--invkw-txt1) !important;
    border-radius: 8px !important;
    padding: .65rem 1rem !important;
    font-size: .875rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.woocommerce-checkout .form-row input:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus {
    outline: none !important;
    border-color: var(--invkw-accent) !important;
    box-shadow: 0 0 0 3px rgba(37,99,235,.15) !important;
}
.woocommerce-checkout .form-row input::placeholder,
.woocommerce-checkout .form-row textarea::placeholder {
    color: var(--invkw-txt3) !important;
}
.woocommerce-checkout .form-row select option {
    background: var(--invkw-card2) !important;
    color: var(--invkw-txt1) !important;
}

/* ══ CHECKOUT — Bloque Gutenberg (wc-blocks) ═════════════════════════ */

/* Wrapper principal del bloque */
.wp-block-woocommerce-checkout,
.wc-block-checkout {
    color: var(--invkw-txt1) !important;
}

/* Headings de sección */
.wc-block-components-title,
.wc-block-checkout__contact-fields .wc-block-components-checkout-step__title,
.wc-block-checkout__shipping-fields .wc-block-components-checkout-step__title,
.wc-block-checkout__billing-fields .wc-block-components-checkout-step__title,
.wc-block-checkout__payment-method .wc-block-components-checkout-step__title,
.wc-block-checkout__order-notes .wc-block-components-checkout-step__title,
.wc-block-components-checkout-step__title {
    color: var(--invkw-txt1) !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
}
.wc-block-components-checkout-step__description {
    color: var(--invkw-txt2) !important;
}

/* Labels */
.wc-block-components-form .wc-block-components-text-input label,
.wc-block-components-form .wc-block-components-select label,
.wc-block-components-form .wc-block-components-textarea label,
.wc-block-components-label {
    color: var(--invkw-txt2) !important;
    font-size: .8rem !important;
    font-weight: 600 !important;
}

/* Inputs de texto */
.wc-block-components-text-input input,
.wc-block-components-text-input input[type="text"],
.wc-block-components-text-input input[type="email"],
.wc-block-components-text-input input[type="tel"],
.wc-block-components-text-input input[type="password"],
.wc-block-components-form input[type="text"],
.wc-block-components-form input[type="email"],
.wc-block-components-form input[type="tel"] {
    background: var(--invkw-card2) !important;
    border: 1px solid var(--invkw-border) !important;
    color: var(--invkw-txt1) !important;
    border-radius: 8px !important;
    font-size: .875rem !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-form input:focus {
    outline: none !important;
    border-color: var(--invkw-accent) !important;
    box-shadow: 0 0 0 3px rgba(37,99,235,.15) !important;
}
.wc-block-components-text-input input::placeholder,
.wc-block-components-form input::placeholder {
    color: var(--invkw-txt3) !important;
}

/* Selects del bloque */
.wc-block-components-select select,
.wc-block-components-country-input select,
.wc-block-components-state-input select,
.wc-block-components-form select {
    background: var(--invkw-card2) !important;
    border: 1px solid var(--invkw-border) !important;
    color: var(--invkw-txt1) !important;
    border-radius: 8px !important;
    font-size: .875rem !important;
}
.wc-block-components-select select option {
    background: var(--invkw-card2) !important;
    color: var(--invkw-txt1) !important;
}

/* Textarea notas */
.wc-block-components-textarea textarea {
    background: var(--invkw-card2) !important;
    border: 1px solid var(--invkw-border) !important;
    color: var(--invkw-txt1) !important;
    border-radius: 8px !important;
}
.wc-block-components-textarea textarea::placeholder {
    color: var(--invkw-txt3) !important;
}

/* Checkbox (notas, crear cuenta, etc.) */
.wc-block-components-checkbox .wc-block-components-checkbox__label {
    color: var(--invkw-txt2) !important;
    font-size: .85rem !important;
}
.wc-block-components-checkbox__input[type="checkbox"] {
    accent-color: var(--invkw-accent) !important;
}

/* Panel derecho: resumen del pedido (bloque) */
.wp-block-woocommerce-checkout-order-summary-block,
.wc-block-checkout__sidebar,
.wc-block-components-order-summary {
    background: var(--invkw-card) !important;
    border: 1px solid var(--invkw-border) !important;
    border-radius: var(--invkw-radius) !important;
    padding: 1.25rem !important;
    color: var(--invkw-txt1) !important;
}
.wc-block-components-order-summary__title,
.wc-block-checkout__sidebar h2 {
    color: var(--invkw-txt1) !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
}
.wc-block-components-order-summary-item__individual-price,
.wc-block-components-order-summary-item__full-price,
.wc-block-components-order-summary-item__name,
.wc-block-components-order-summary-item__description,
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value {
    color: var(--invkw-txt2) !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    color: var(--invkw-txt1) !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    color: var(--invkw-accent) !important;
}

/* Separadores dentro del resumen */
.wc-block-components-totals-item {
    border-top: 1px solid var(--invkw-border) !important;
}

/* Opciones de pago (bloque) */
.wc-block-components-payment-method-label,
.wc-block-components-payment-method-label__brand {
    color: var(--invkw-txt1) !important;
}
.wc-block-components-radio-control-accordion-content {
    background: rgba(37,99,235,.07) !important;
    border: 1px solid rgba(37,99,235,.2) !important;
    border-radius: 8px !important;
    color: var(--invkw-txt2) !important;
    font-size: .83rem !important;
}
.wc-block-components-radio-control__input {
    accent-color: var(--invkw-accent) !important;
}
.wc-block-components-radio-control-accordion-option {
    border: 1px solid var(--invkw-border) !important;
    border-radius: 8px !important;
    margin-bottom: .5rem !important;
    background: var(--invkw-card2) !important;
}
.wc-block-components-radio-control-accordion-option--checked {
    border-color: rgba(37,99,235,.4) !important;
    background: rgba(37,99,235,.06) !important;
}

/* Aviso de privacidad / términos */
.wc-block-checkout__privacy-policy,
.wc-block-checkout__terms {
    color: var(--invkw-txt3) !important;
    font-size: .78rem !important;
}
.wc-block-checkout__privacy-policy a,
.wc-block-checkout__terms a {
    color: var(--invkw-teal) !important;
}

/* Cupón (bloque) */
.wc-block-components-totals-coupon__form input {
    background: var(--invkw-card2) !important;
    border: 1px solid var(--invkw-border) !important;
    color: var(--invkw-txt1) !important;
    border-radius: 8px !important;
}
.wc-block-components-totals-coupon__form input::placeholder {
    color: var(--invkw-txt3) !important;
}

/* Select2 si está activo (checkout clásico) */
.woocommerce-checkout .select2-container .select2-selection--single {
    background: var(--invkw-card2) !important;
    border: 1px solid var(--invkw-border) !important;
    border-radius: 8px !important;
    height: 42px !important;
}
.woocommerce-checkout .select2-container .select2-selection__rendered {
    color: var(--invkw-txt1) !important;
    line-height: 40px !important;
    padding-left: 1rem !important;
}
.woocommerce-checkout .select2-container .select2-selection__arrow {
    height: 40px !important;
}
.select2-dropdown {
    background: var(--invkw-card2) !important;
    border: 1px solid var(--invkw-border) !important;
    color: var(--invkw-txt1) !important;
}
.select2-results__option--highlighted {
    background: var(--invkw-accent) !important;
}
.select2-search__field {
    background: var(--invkw-card) !important;
    border: 1px solid var(--invkw-border) !important;
    color: var(--invkw-txt1) !important;
}

/* Resumen del pedido */
.woocommerce-checkout-review-order-table {
    background: transparent !important;
    border: none !important;
    width: 100% !important;
}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
    background: transparent !important;
    color: var(--invkw-txt2) !important;
    border-bottom: 1px solid var(--invkw-border) !important;
    padding: .7rem 0 !important;
    font-size: .875rem !important;
}
.woocommerce-checkout-review-order-table .product-name {
    color: var(--invkw-txt1) !important;
    font-weight: 600 !important;
}
.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
    color: var(--invkw-txt1) !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    border-bottom: none !important;
    padding-top: 1rem !important;
}
.woocommerce-checkout-review-order-table .order-total .woocommerce-Price-amount {
    color: var(--invkw-accent) !important;
}

/* Métodos de pago */
#payment {
    background: var(--invkw-card2) !important;
    border: 1px solid var(--invkw-border) !important;
    border-radius: var(--invkw-radius) !important;
    padding: 1.25rem !important;
    margin-top: 1rem !important;
}
#payment ul.payment_methods {
    border-bottom: 1px solid var(--invkw-border) !important;
    padding-bottom: 1rem !important;
    margin-bottom: 1rem !important;
}
#payment ul.payment_methods li {
    color: var(--invkw-txt1) !important;
    padding: .5rem 0 !important;
}
#payment ul.payment_methods li label {
    color: var(--invkw-txt1) !important;
    font-size: .9rem !important;
    cursor: pointer !important;
}
#payment .payment_box {
    background: rgba(37,99,235,.07) !important;
    border: 1px solid rgba(37,99,235,.2) !important;
    border-radius: 8px !important;
    padding: .75rem 1rem !important;
    color: var(--invkw-txt2) !important;
    font-size: .83rem !important;
}
#payment input[type="radio"] {
    accent-color: var(--invkw-accent) !important;
}

/* Aviso de privacidad en checkout */
.woocommerce-checkout .woocommerce-privacy-policy-text,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
    color: var(--invkw-txt3) !important;
    font-size: .78rem !important;
}
.woocommerce-checkout .woocommerce-privacy-policy-text a,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a {
    color: var(--invkw-teal) !important;
}

/* Checkbox crear cuenta / términos */
.woocommerce-checkout .woocommerce-form__label-for-checkbox,
.woocommerce-checkout .woocommerce-form-login__rememberme {
    color: var(--invkw-txt2) !important;
    font-size: .85rem !important;
}

/* ══ BOTONES GLOBALES (carrito + checkout) ═══════════════════════════ */

/* Botón principal — clásico y bloque */
.woocommerce .checkout-button,
.woocommerce #payment #place_order,
.woocommerce button[type="submit"].button,
.woocommerce input[type="submit"].button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.wc-block-components-checkout-place-order-button,
.wc-block-checkout__place-order button,
.wp-block-woocommerce-checkout-place-order-block button,
button.wc-block-components-checkout-place-order-button {
    background: var(--invkw-accent) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 10px !important;
    padding: .85rem 1.75rem !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    letter-spacing: .02em !important;
    cursor: pointer !important;
    width: 100% !important;
    text-align: center !important;
    transition: background .15s, transform .1s !important;
    display: block !important;
    text-decoration: none !important;
    box-shadow: none !important;
    outline: none !important;
}
.woocommerce .checkout-button:hover,
.woocommerce #payment #place_order:hover,
.woocommerce button[type="submit"].button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.wp-block-woocommerce-checkout-place-order-block button:hover {
    background: #1d50c8 !important;
    transform: translateY(-1px) !important;
    border: none !important;
    color: #ffffff !important;
}

/* Botón secundario: Actualizar carrito / Aplicar cupón */
.woocommerce-cart-form .button[name="update_cart"],
.woocommerce-cart-form .button[name="apply_coupon"],
.woocommerce .button.alt {
    background: var(--invkw-card2) !important;
    color: var(--invkw-txt2) !important;
    border: 1px solid var(--invkw-border) !important;
    border-radius: 8px !important;
    padding: .55rem 1.1rem !important;
    font-size: .85rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: border-color .15s, color .15s !important;
}
.woocommerce-cart-form .button[name="update_cart"]:hover,
.woocommerce-cart-form .button[name="apply_coupon"]:hover {
    border-color: rgba(255,255,255,.2) !important;
    color: var(--invkw-txt1) !important;
}

/* ══ MENSAJES Y NOTIFICACIONES ════════════════════════════════════════ */

.woocommerce-message,
.woocommerce-info {
    background: rgba(37,99,235,.10) !important;
    border-top: 3px solid var(--invkw-accent) !important;
    color: var(--invkw-txt1) !important;
    border-radius: 0 0 8px 8px !important;
}
.woocommerce-error {
    background: rgba(239,68,68,.08) !important;
    border-top: 3px solid var(--invkw-error) !important;
    color: var(--invkw-txt1) !important;
    border-radius: 0 0 8px 8px !important;
}
.woocommerce-message a.button,
.woocommerce-info a.button {
    background: var(--invkw-accent) !important;
    color: #fff !important;
    border-radius: 6px !important;
    padding: .3rem .8rem !important;
    font-size: .82rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

/* Precio con moneda */
.woocommerce-Price-amount {
    color: var(--invkw-txt1) !important;
    font-weight: 700 !important;
}

/* ══ PÁGINA THANK YOU ═════════════════════════════════════════════════ */

body.woocommerce-order-received {
    background: var(--invkw-bg) !important;
}
.woocommerce-order-received .woocommerce-order {
    background: var(--invkw-card) !important;
    border: 1px solid var(--invkw-border) !important;
    border-radius: var(--invkw-radius) !important;
    padding: 2rem !important;
    color: var(--invkw-txt1) !important;
}
.woocommerce-order-received .woocommerce-thankyou-order-received {
    color: var(--invkw-success) !important;
    font-size: 1.3rem !important;
    font-weight: 700 !important;
}
.woocommerce-order-received .woocommerce-order-overview {
    background: var(--invkw-card2) !important;
    border: 1px solid var(--invkw-border) !important;
    border-radius: 8px !important;
    padding: 1rem 1.5rem !important;
}
.woocommerce-order-received .woocommerce-order-overview li {
    color: var(--invkw-txt2) !important;
    border-right: 1px solid var(--invkw-border) !important;
}
.woocommerce-order-received .woocommerce-order-overview li strong {
    color: var(--invkw-txt1) !important;
}
.woocommerce-order-received .woocommerce-order-details table,
.woocommerce-order-received .woocommerce-customer-details {
    background: var(--invkw-card2) !important;
    border: 1px solid var(--invkw-border) !important;
    border-radius: 8px !important;
    color: var(--invkw-txt2) !important;
}
.woocommerce-order-received .woocommerce-order-details table th,
.woocommerce-order-received .woocommerce-order-details table td {
    border-bottom: 1px solid var(--invkw-border) !important;
    padding: .75rem 1rem !important;
    color: var(--invkw-txt2) !important;
}
.woocommerce-order-received .woocommerce-order-details table tfoot th,
.woocommerce-order-received .woocommerce-order-details table tfoot td {
    color: var(--invkw-txt1) !important;
    font-weight: 700 !important;
}

/* ── Responsive ───────────────────────────────────────────────────────── */
@media (max-width: 768px) {
    .woocommerce-cart-form .shop_table thead { display: none; }
    .woocommerce-cart-form .shop_table tbody td {
        display: block !important;
        text-align: right !important;
        padding: .5rem 1rem !important;
    }
    .woocommerce-cart-form .shop_table tbody td::before {
        content: attr(data-title) ": ";
        float: left;
        color: var(--invkw-txt3);
        font-size: .75rem;
        text-transform: uppercase;
        letter-spacing: .04em;
    }
    .woocommerce-checkout #customer_details,
    .woocommerce-checkout #order_review {
        padding: 1.25rem !important;
    }
}

/* ══ PÁGINA DE PRODUCTO (single-product) ════════════════════════════ */

/* ── Fondo y contenedor general ────────────────────────────────────── */
body.single-product .site-content,
body.single-product #content,
body.single-product .entry-content,
body.single-product article,
body.single-product .elementor-section,
body.single-product .e-con {
    background: transparent !important;
}

/* Breadcrumb */
.woocommerce-breadcrumb {
    color: var(--invkw-txt3) !important;
    font-size: .78rem !important;
    padding: .75rem 0 !important;
    background: transparent !important;
}
.woocommerce-breadcrumb a {
    color: var(--invkw-txt3) !important;
    text-decoration: none !important;
    transition: color .15s !important;
}
.woocommerce-breadcrumb a:hover {
    color: var(--invkw-teal) !important;
}

/* ── Layout del producto ────────────────────────────────────────────── */
.woocommerce div.product {
    background: transparent !important;
    color: var(--invkw-txt1) !important;
}

/* ── Galería de imagen ─────────────────────────────────────────────── */
.woocommerce-product-gallery {
    border-radius: var(--invkw-radius) !important;
    overflow: hidden !important;
    background: var(--invkw-card) !important;
    border: 1px solid var(--invkw-border) !important;
}
.woocommerce-product-gallery__image img {
    border-radius: var(--invkw-radius) !important;
    display: block !important;
}
/* Zoom icon */
.woocommerce-product-gallery__trigger {
    background: rgba(10,11,15,.65) !important;
    border-radius: 50% !important;
    border: 1px solid var(--invkw-border) !important;
    backdrop-filter: blur(6px) !important;
}
.woocommerce-product-gallery__trigger:before {
    border-color: var(--invkw-txt2) !important;
}

/* ── Summary (columna derecha) ─────────────────────────────────────── */
.summary {
    background: var(--invkw-card) !important;
    border: 1px solid var(--invkw-border) !important;
    border-radius: var(--invkw-radius) !important;
    padding: 2rem !important;
}

/* Título */
.summary .product_title {
    color: var(--invkw-txt1) !important;
    font-size: 1.8rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    margin-bottom: 1rem !important;
}

/* Precio */
.summary .price {
    color: var(--invkw-accent) !important;
    font-size: 1.5rem !important;
    font-weight: 800 !important;
    margin-bottom: 1.25rem !important;
    display: block !important;
}
.summary .price del {
    color: var(--invkw-txt3) !important;
    font-size: 1rem !important;
    text-decoration: line-through !important;
}
.summary .price ins {
    text-decoration: none !important;
    color: var(--invkw-accent) !important;
}

/* Descripción corta */
.woocommerce-product-details__short-description {
    color: var(--invkw-txt2) !important;
    font-size: .92rem !important;
    line-height: 1.65 !important;
    margin-bottom: 1.5rem !important;
    padding-bottom: 1.25rem !important;
    border-bottom: 1px solid var(--invkw-border) !important;
}
.woocommerce-product-details__short-description p {
    color: var(--invkw-txt2) !important;
    margin: 0 !important;
}

/* Formulario add-to-cart */
.woocommerce div.product form.cart {
    display: flex !important;
    gap: .75rem !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    margin-bottom: 1.25rem !important;
}

/* Cantidad */
.woocommerce div.product form.cart .quantity {
    flex-shrink: 0 !important;
}
.woocommerce div.product form.cart .quantity input.qty {
    background: var(--invkw-card2) !important;
    border: 1px solid var(--invkw-border) !important;
    color: var(--invkw-txt1) !important;
    border-radius: 8px !important;
    padding: .65rem .85rem !important;
    font-size: .95rem !important;
    width: 68px !important;
    text-align: center !important;
}
.woocommerce div.product form.cart .quantity input.qty:focus {
    outline: none !important;
    border-color: var(--invkw-accent) !important;
    box-shadow: 0 0 0 3px rgba(37,99,235,.15) !important;
}

/* Botón Comprar */
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce div.product form.cart button[type="submit"] {
    background: var(--invkw-accent) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 10px !important;
    padding: .75rem 1.75rem !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    letter-spacing: .02em !important;
    cursor: pointer !important;
    flex: 1 !important;
    text-align: center !important;
    transition: background .15s, transform .1s !important;
    min-width: 160px !important;
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover {
    background: #1d50c8 !important;
    transform: translateY(-1px) !important;
}

/* Meta (categoría, SKU) */
.product_meta {
    margin-top: .75rem !important;
    padding-top: .75rem !important;
    border-top: 1px solid var(--invkw-border) !important;
}
.product_meta span {
    font-size: .8rem !important;
    color: var(--invkw-txt3) !important;
    display: block !important;
    margin-bottom: .25rem !important;
}
.product_meta span a {
    color: var(--invkw-teal) !important;
    text-decoration: none !important;
}
.product_meta span a:hover {
    text-decoration: underline !important;
}
.product_meta .posted_in .label,
.product_meta .tagged_as .label,
.product_meta .sku_wrapper .label {
    color: var(--invkw-txt3) !important;
}

/* ── Tabs (Descripción / Valoraciones) ─────────────────────────────── */
.woocommerce-tabs {
    margin-top: 2rem !important;
}
.woocommerce-tabs ul.tabs {
    background: transparent !important;
    border-bottom: 1px solid var(--invkw-border) !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    display: flex !important;
    gap: .25rem !important;
}
.woocommerce-tabs ul.tabs::before {
    display: none !important;
}
.woocommerce-tabs ul.tabs li {
    background: transparent !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
}
.woocommerce-tabs ul.tabs li::before,
.woocommerce-tabs ul.tabs li::after {
    display: none !important;
}
.woocommerce-tabs ul.tabs li a {
    color: var(--invkw-txt3) !important;
    font-size: .9rem !important;
    font-weight: 600 !important;
    padding: .75rem 1.25rem !important;
    display: block !important;
    text-decoration: none !important;
    transition: color .15s !important;
    border: none !important;
    background: transparent !important;
}
.woocommerce-tabs ul.tabs li.active {
    border-bottom: 2px solid var(--invkw-accent) !important;
    background: transparent !important;
}
.woocommerce-tabs ul.tabs li.active a {
    color: var(--invkw-txt1) !important;
    background: transparent !important;
}
.woocommerce-tabs ul.tabs li:hover a {
    color: var(--invkw-txt1) !important;
}

/* Contenido de los tabs */
.woocommerce-tabs .panel {
    background: var(--invkw-card) !important;
    border: 1px solid var(--invkw-border) !important;
    border-top: none !important;
    border-radius: 0 0 var(--invkw-radius) var(--invkw-radius) !important;
    padding: 1.75rem !important;
    color: var(--invkw-txt2) !important;
}
.woocommerce-tabs .panel h2 {
    color: var(--invkw-txt1) !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    margin-bottom: 1rem !important;
}
.woocommerce-tabs .panel p {
    color: var(--invkw-txt2) !important;
    line-height: 1.7 !important;
}

/* Valoraciones / Reviews */
#reviews #comments ol.commentlist li {
    background: var(--invkw-card2) !important;
    border: 1px solid var(--invkw-border) !important;
    border-radius: 8px !important;
    padding: 1rem !important;
    margin-bottom: .75rem !important;
}
#reviews #comments ol.commentlist li .comment-text p {
    color: var(--invkw-txt2) !important;
}
#reviews #comments ol.commentlist li .meta {
    color: var(--invkw-txt3) !important;
    font-size: .78rem !important;
}
#reviews #reply-title {
    color: var(--invkw-txt1) !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
}
#reviews .comment-form label {
    color: var(--invkw-txt2) !important;
    font-size: .8rem !important;
}
#reviews .comment-form input,
#reviews .comment-form textarea {
    background: var(--invkw-card2) !important;
    border: 1px solid var(--invkw-border) !important;
    color: var(--invkw-txt1) !important;
    border-radius: 8px !important;
    padding: .6rem .9rem !important;
}
#reviews .comment-form input:focus,
#reviews .comment-form textarea:focus {
    outline: none !important;
    border-color: var(--invkw-accent) !important;
    box-shadow: 0 0 0 3px rgba(37,99,235,.15) !important;
}
#reviews .comment-form .submit {
    background: var(--invkw-accent) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: .6rem 1.25rem !important;
    font-weight: 700 !important;
    cursor: pointer !important;
}
/* Stars */
.star-rating span::before,
.woocommerce .star-rating span::before {
    color: #f59e0b !important;
}
.woocommerce-product-rating .woocommerce-review-link {
    color: var(--invkw-txt3) !important;
    font-size: .8rem !important;
}

/* ── Productos relacionados ─────────────────────────────────────────── */
.related.products > h2,
.upsells.products > h2 {
    color: var(--invkw-txt1) !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    margin-bottom: 1.25rem !important;
    padding-bottom: .75rem !important;
    border-bottom: 1px solid var(--invkw-border) !important;
}
.related .product,
.upsells .product {
    background: var(--invkw-card) !important;
    border: 1px solid var(--invkw-border) !important;
    border-radius: var(--invkw-radius) !important;
    overflow: hidden !important;
    transition: border-color .2s !important;
}
.related .product:hover,
.upsells .product:hover {
    border-color: rgba(37,99,235,.4) !important;
}
.related .product .woocommerce-loop-product__title,
.upsells .product .woocommerce-loop-product__title {
    color: var(--invkw-txt1) !important;
    font-size: .95rem !important;
    font-weight: 600 !important;
}
.related .product .price,
.upsells .product .price {
    color: var(--invkw-accent) !important;
    font-weight: 700 !important;
}
.related .product .button,
.upsells .product .button {
    background: var(--invkw-accent) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    padding: .5rem 1rem !important;
    font-size: .85rem !important;
}

/* ── Responsive producto ────────────────────────────────────────────── */
@media (max-width: 768px) {
    .summary {
        padding: 1.25rem !important;
        margin-top: 1rem !important;
    }
    .summary .product_title {
        font-size: 1.35rem !important;
    }
    .woocommerce div.product form.cart {
        flex-direction: column !important;
        align-items: stretch !important;
    }
    .woocommerce div.product form.cart .quantity {
        width: 100% !important;
    }
    .woocommerce div.product form.cart .quantity input.qty {
        width: 100% !important;
    }
}

