.elementor-14 .elementor-element.elementor-element-6779eda3{--display:flex;}/* Start custom CSS for shortcode, class: .elementor-element-bd4529a *//* =========================================================
   🛒 TUBABYSHOWER - CARRITO PREMIUM V4
   Página: /carrito/
   Reemplazar TODO el CSS anterior del carrito por este bloque

   Objetivos:
   - Evitar sobreposición entre tabla y totales
   - Ordenar campo cupón + botón aplicar
   - Mejorar tabla de compra en desktop y móvil
   - Mantener diseño premium babyshower
   - Corregir flecha volver arriba en carrito móvil
========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;600;700;800;900&display=swap');

/* =========================================================
   1. VARIABLES
========================================================= */

:root {
    --tbs-cart-pink: #ec3f86;
    --tbs-cart-pink-dark: #d82d74;
    --tbs-cart-pink-soft: #fff1f7;

    --tbs-cart-blue: #4c99cf;
    --tbs-cart-blue-dark: #2d83bf;
    --tbs-cart-blue-soft: #eef8ff;

    --tbs-cart-lav: #a57be8;
    --tbs-cart-gold: #cfa34d;

    --tbs-cart-ink: #2f3445;
    --tbs-cart-muted: #687083;
    --tbs-cart-soft: #fff8fc;
    --tbs-cart-white: #ffffff;

    --tbs-cart-border: rgba(236, 63, 134, .14);
    --tbs-cart-blue-border: rgba(76, 153, 207, .18);

    --tbs-cart-shadow: 0 26px 70px rgba(160, 103, 138, .16);
    --tbs-cart-shadow-soft: 0 16px 42px rgba(51, 38, 68, .08);
    --tbs-cart-shadow-hover: 0 32px 82px rgba(160, 103, 138, .22);

    --tbs-cart-radius-xl: 34px;
    --tbs-cart-radius-lg: 28px;
    --tbs-cart-radius-md: 18px;

    --tbs-cart-max: 1240px;
}

/* =========================================================
   2. BASE GENERAL
========================================================= */

body.woocommerce-cart {
    background:
        radial-gradient(circle at 0% 2%, rgba(255, 198, 222, .30), transparent 30%),
        radial-gradient(circle at 100% 8%, rgba(167, 216, 255, .26), transparent 24%),
        linear-gradient(180deg, #fffafd 0%, #ffffff 42%, #fff8fc 100%) !important;
}

.woocommerce-cart,
.woocommerce-cart *,
.woocommerce-cart *::before,
.woocommerce-cart *::after,
.tbs-cart-empty-premium,
.tbs-cart-empty-premium *,
.tbs-cart-empty-premium *::before,
.tbs-cart-empty-premium *::after {
    box-sizing: border-box !important;
    font-family: "Roboto", "Inter", Arial, Helvetica, sans-serif !important;
}

.woocommerce-cart .woocommerce,
.woocommerce-cart .entry-content > .woocommerce {
    width: 100% !important;
    max-width: var(--tbs-cart-max) !important;

    margin: 0 auto !important;
    padding: 34px 20px 64px !important;

    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* Limpia espacios raros de Elementor / tema */
body.woocommerce-cart .site-main,
body.woocommerce-cart #content,
body.woocommerce-cart .content-area,
body.woocommerce-cart .entry-content,
body.woocommerce-cart .page-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* =========================================================
   3. NOTIFICACIONES WOOCOMMERCE
========================================================= */

.woocommerce-cart .woocommerce-notices-wrapper {
    width: 100% !important;
    max-width: var(--tbs-cart-max) !important;
    margin: 0 auto 18px !important;
}

.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-error {
    border-radius: 22px !important;
    border: 1px solid rgba(236, 63, 134, .14) !important;

    background:
        radial-gradient(circle at 0% 0%, rgba(255, 219, 237, .34), transparent 34%),
        linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,248,252,.92)) !important;

    color: var(--tbs-cart-muted) !important;

    box-shadow: var(--tbs-cart-shadow-soft) !important;

    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
}

.woocommerce-cart .woocommerce-message::before,
.woocommerce-cart .woocommerce-info::before,
.woocommerce-cart .woocommerce-error::before {
    color: var(--tbs-cart-pink) !important;
}

.woocommerce-cart .woocommerce-message .button,
.woocommerce-cart .woocommerce-notices-wrapper .button {
    min-height: 42px !important;
    height: 42px !important;

    padding: 0 20px !important;

    border-radius: 999px !important;

    color: #ffffff !important;
    background:
        radial-gradient(circle at 25% 18%, rgba(255,255,255,.34), transparent 30%),
        linear-gradient(135deg, var(--tbs-cart-pink), var(--tbs-cart-pink-dark)) !important;

    font-size: 13px !important;
    font-weight: 900 !important;

    box-shadow: 0 12px 26px rgba(236, 63, 134, .22) !important;
}

/* =========================================================
   4. CARRITO CON PRODUCTOS - LAYOUT PRINCIPAL
   Corrige sobreposición entre tabla y totales
========================================================= */

.woocommerce-cart form.woocommerce-cart-form {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    float: none !important;
    clear: both !important;
}

/* Contenedor de tabla + totales */
.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart-collaterals {
    position: relative !important;
    z-index: 1 !important;
}

/* WooCommerce normalmente usa floats: los limpiamos */
.woocommerce-cart .cart-collaterals,
.woocommerce-cart .cart-collaterals::before,
.woocommerce-cart .cart-collaterals::after {
    clear: both !important;
}

.woocommerce-cart .cart-collaterals {
    width: 100% !important;
    max-width: 100% !important;

    display: flex !important;
    justify-content: flex-end !important;
    align-items: flex-start !important;

    margin: 28px 0 0 !important;
    padding: 0 !important;

    float: none !important;
}

/* Totales: ya no se monta sobre la tabla */
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-cart .cart_totals {
    position: relative !important;
    z-index: 2 !important;

    float: none !important;
    clear: both !important;

    width: min(100%, 380px) !important;
    max-width: 380px !important;

    margin: 0 !important;
    padding: 28px !important;

    border-radius: 30px !important;
    border: 1px solid rgba(255,255,255,.88) !important;

    background:
        radial-gradient(circle at 0% 0%, rgba(255, 198, 222, .24), transparent 34%),
        radial-gradient(circle at 100% 8%, rgba(207, 233, 255, .24), transparent 32%),
        linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,248,252,.92)) !important;

    box-shadow:
        0 22px 54px rgba(160, 103, 138, .14),
        inset 0 1px 0 rgba(255,255,255,.92) !important;

    text-align: left !important;
}

.woocommerce-cart .cart_totals h2 {
    margin: 0 0 20px !important;

    color: var(--tbs-cart-ink) !important;

    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 34px !important;
    font-weight: 500 !important;
    line-height: 1.05 !important;
    letter-spacing: -.04em !important;
}

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

    margin: 0 0 24px !important;

    border-collapse: separate !important;
    border-spacing: 0 !important;

    overflow: hidden !important;
    border-radius: 22px !important;

    background: rgba(255,255,255,.82) !important;
    box-shadow:
        0 10px 28px rgba(51, 38, 68, .055),
        inset 0 1px 0 rgba(255,255,255,.90) !important;
}

.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
    padding: 16px 18px !important;

    border: none !important;
    border-bottom: 1px solid rgba(236, 63, 134, .08) !important;

    color: var(--tbs-cart-ink) !important;

    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1.35 !important;
}

.woocommerce-cart .cart_totals table tr:last-child th,
.woocommerce-cart .cart_totals table tr:last-child td {
    border-bottom: none !important;
}

.woocommerce-cart .cart_totals table th {
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
    color: #5d5260 !important;
}

.woocommerce-cart .cart_totals table td {
    text-align: right !important;
    color: var(--tbs-cart-ink) !important;
}

/* =========================================================
   5. TABLA DEL CARRITO
========================================================= */

.woocommerce-cart table.shop_table,
.woocommerce-cart table.cart {
    width: 100% !important;

    margin: 0 !important;

    overflow: hidden !important;

    border-collapse: separate !important;
    border-spacing: 0 !important;

    border-radius: 30px !important;
    border: 1px solid rgba(236, 63, 134, .12) !important;

    background:
        radial-gradient(circle at 0% 0%, rgba(255, 219, 237, .18), transparent 32%),
        rgba(255,255,255,.88) !important;

    box-shadow:
        0 18px 52px rgba(160, 103, 138, .10),
        inset 0 1px 0 rgba(255,255,255,.92) !important;
}

/* Encabezados */
.woocommerce-cart table.shop_table thead th,
.woocommerce-cart table.cart thead th {
    padding: 18px 18px !important;

    border: none !important;
    border-bottom: 1px solid rgba(236, 63, 134, .10) !important;

    background: rgba(255, 248, 252, .92) !important;
    color: var(--tbs-cart-ink) !important;

    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
    text-transform: uppercase !important;
    letter-spacing: .10em !important;
    text-align: center !important;
}

/* Celdas */
.woocommerce-cart table.shop_table tbody td,
.woocommerce-cart table.cart tbody td {
    padding: 18px 18px !important;

    border: none !important;
    border-bottom: 1px solid rgba(236, 63, 134, .08) !important;

    background: rgba(255,255,255,.72) !important;
    color: var(--tbs-cart-muted) !important;

    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
    vertical-align: middle !important;
    text-align: center !important;
}

/* Producto */
.woocommerce-cart table.cart .product-name,
.woocommerce-cart table.shop_table .product-name {
    text-align: left !important;
}

.woocommerce-cart table.cart .product-name a,
.woocommerce-cart table.shop_table .product-name a {
    color: var(--tbs-cart-ink) !important;

    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1.45 !important;
    text-decoration: none !important;
}

.woocommerce-cart table.cart .product-name a:hover,
.woocommerce-cart table.shop_table .product-name a:hover {
    color: var(--tbs-cart-pink) !important;
}

/* Imagen producto */
.woocommerce-cart table.cart img,
.woocommerce-cart table.shop_table img {
    width: 58px !important;
    height: 58px !important;

    object-fit: cover !important;

    border-radius: 14px !important;

    background: #fff !important;
    box-shadow: 0 10px 20px rgba(51,38,68,.08) !important;
}

/* Botón eliminar */
.woocommerce-cart table.cart .product-remove a.remove,
.woocommerce-cart a.remove {
    width: 34px !important;
    height: 34px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    margin: 0 auto !important;

    border-radius: 999px !important;

    color: #ffffff !important;
    background:
        radial-gradient(circle at 25% 18%, rgba(255,255,255,.34), transparent 30%),
        linear-gradient(135deg, #f06ca5, #d82d74) !important;

    font-size: 22px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    text-decoration: none !important;

    box-shadow:
        0 10px 22px rgba(236,63,134,.20),
        inset 0 1px 0 rgba(255,255,255,.32) !important;
}

.woocommerce-cart table.cart .product-remove a.remove:hover,
.woocommerce-cart a.remove:hover {
    color: #ffffff !important;
    background:
        radial-gradient(circle at 25% 18%, rgba(255,255,255,.34), transparent 30%),
        linear-gradient(135deg, #ec3f86, #b91d5d) !important;

    transform: translateY(-1px) !important;
}

/* Cantidad */
.woocommerce-cart .quantity {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    border-radius: 16px !important;
    overflow: hidden !important;

    border: 1px solid rgba(104,112,131,.18) !important;

    background: rgba(255,255,255,.92) !important;
    box-shadow: 0 8px 18px rgba(51,38,68,.045) !important;
}

.woocommerce-cart .quantity input.qty {
    width: 58px !important;
    height: 46px !important;

    border: none !important;
    border-radius: 0 !important;

    background: transparent !important;
    color: var(--tbs-cart-ink) !important;

    font-size: 16px !important;
    font-weight: 800 !important;
    text-align: center !important;

    box-shadow: none !important;
    outline: none !important;
}

/* Precio / subtotal */
.woocommerce-cart table.cart .product-price,
.woocommerce-cart table.cart .product-subtotal,
.woocommerce-cart table.shop_table .product-price,
.woocommerce-cart table.shop_table .product-subtotal {
    color: var(--tbs-cart-ink) !important;
    font-size: 15px !important;
    font-weight: 900 !important;
}

/* =========================================================
   6. ACCIONES: CUPÓN + ACTUALIZAR CARRITO
   Corrige botones desordenados
========================================================= */

.woocommerce-cart table.cart td.actions {
    padding: 20px 22px !important;

    background:
        linear-gradient(135deg, rgba(255,248,252,.82), rgba(255,255,255,.88)) !important;

    border-top: 1px solid rgba(236, 63, 134, .08) !important;
    border-bottom: none !important;

    text-align: left !important;
}

/* Usamos flex en la celda completa para ordenar cupón a la izquierda y actualizar a la derecha */
.woocommerce-cart table.cart td.actions {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    flex-wrap: wrap !important;
}

/* Contenedor del cupón */
.woocommerce-cart table.cart td.actions .coupon,
.woocommerce-cart .coupon,
.woocommerce-cart form.woocommerce-cart-form .coupon {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;

    width: auto !important;
    max-width: 520px !important;

    margin: 0 !important;
    padding: 0 !important;

    float: none !important;
    clear: none !important;

    overflow: visible !important;

    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* Campo cupón */
.woocommerce-cart .coupon input.input-text,
.woocommerce-cart .coupon #coupon_code,
.woocommerce-cart table.cart td.actions .coupon input.input-text,
.woocommerce-cart table.cart td.actions .coupon #coupon_code {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    flex: 0 0 290px !important;

    width: 290px !important;
    min-width: 290px !important;
    max-width: 290px !important;

    height: 46px !important;
    min-height: 46px !important;

    margin: 0 !important;
    padding: 0 20px !important;

    border-radius: 999px !important;
    border: 1px solid rgba(236, 63, 134, .14) !important;

    background: rgba(255, 255, 255, .96) !important;
    color: var(--tbs-cart-ink) !important;

    font-size: 13.5px !important;
    font-weight: 750 !important;
    line-height: 46px !important;

    text-align: left !important;
    text-indent: 0 !important;

    outline: none !important;

    box-shadow:
        0 8px 18px rgba(51, 38, 68, .045),
        inset 0 1px 0 rgba(255,255,255,.88) !important;

    appearance: none !important;
    -webkit-appearance: none !important;
}

.woocommerce-cart .coupon input.input-text::placeholder,
.woocommerce-cart .coupon #coupon_code::placeholder {
    color: #747b8d !important;
    opacity: .82 !important;
}

.woocommerce-cart .coupon input.input-text:focus,
.woocommerce-cart .coupon #coupon_code:focus {
    border-color: rgba(236, 63, 134, .32) !important;

    background: #ffffff !important;

    box-shadow:
        0 0 0 4px rgba(236, 63, 134, .10),
        0 10px 22px rgba(51, 38, 68, .06),
        inset 0 1px 0 rgba(255,255,255,.92) !important;
}

/* =========================================================
   7. BOTONES GENERALES
========================================================= */

.woocommerce-cart .button,
.woocommerce-cart button.button,
.woocommerce-cart input.button,
.woocommerce-cart .checkout-button,
.tbs-cart-btn {
    appearance: none !important;
    -webkit-appearance: none !important;

    min-height: 46px !important;
    height: 46px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 0 22px !important;

    border-radius: 999px !important;
    border: 1px solid transparent !important;

    color: #ffffff !important;
    background:
        radial-gradient(circle at 25% 18%, rgba(255,255,255,.34), transparent 30%),
        linear-gradient(135deg, var(--tbs-cart-pink), var(--tbs-cart-pink-dark)) !important;

    font-size: 13.5px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: none !important;
    white-space: nowrap !important;

    box-shadow:
        0 12px 26px rgba(236, 63, 134, .22),
        inset 0 1px 0 rgba(255,255,255,.32) !important;

    cursor: pointer !important;

    transition:
        transform .20s ease,
        box-shadow .20s ease,
        filter .20s ease !important;
}

.woocommerce-cart .button:hover,
.woocommerce-cart button.button:hover,
.woocommerce-cart input.button:hover,
.woocommerce-cart .checkout-button:hover,
.tbs-cart-btn:hover {
    color: #ffffff !important;
    transform: translateY(-1px) !important;
    filter: saturate(1.04) brightness(1.02) !important;

    box-shadow:
        0 16px 34px rgba(236, 63, 134, .30),
        inset 0 1px 0 rgba(255,255,255,.36) !important;
}

/* Elimina X / íconos heredados de botones */
.woocommerce-cart button.button::before,
.woocommerce-cart button.button::after,
.woocommerce-cart .button::before,
.woocommerce-cart .button::after,
.woocommerce-cart input.button::before,
.woocommerce-cart input.button::after {
    content: none !important;
    display: none !important;
}

/* Botón aplicar cupón */
.woocommerce-cart .coupon button.button,
.woocommerce-cart .coupon .button,
.woocommerce-cart .coupon button[name="apply_coupon"],
.woocommerce-cart .coupon input[name="apply_coupon"],
.woocommerce-cart button[name="apply_coupon"],
.woocommerce-cart input[name="apply_coupon"] {
    flex: 0 0 150px !important;

    width: 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;

    height: 46px !important;
    min-height: 46px !important;

    margin: 0 !important;
    padding: 0 16px !important;

    float: none !important;
    clear: none !important;

    font-size: 13px !important;
}

/* Botón actualizar carrito */
.woocommerce-cart table.cart td.actions > button[name="update_cart"],
.woocommerce-cart table.cart td.actions > input[name="update_cart"] {
    flex: 0 0 auto !important;

    width: auto !important;
    min-width: 220px !important;
    max-width: 280px !important;

    height: 46px !important;
    min-height: 46px !important;

    margin: 0 !important;
    padding: 0 24px !important;

    float: none !important;
    clear: none !important;

    opacity: .78 !important;

    background:
        radial-gradient(circle at 25% 18%, rgba(255,255,255,.34), transparent 30%),
        linear-gradient(135deg, #f15aa0, #d82d74) !important;
}

/* Botón finalizar compra */
.woocommerce-cart .wc-proceed-to-checkout {
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
.woocommerce-cart .checkout-button {
    width: 100% !important;

    min-height: 54px !important;
    height: 54px !important;

    margin: 0 !important;
    padding: 0 26px !important;

    font-size: 15px !important;
    font-weight: 900 !important;
    letter-spacing: .05em !important;

    box-shadow:
        0 18px 38px rgba(236, 63, 134, .28),
        inset 0 1px 0 rgba(255,255,255,.34) !important;
}

/* =========================================================
   8. CARRITO VACÍO PREMIUM
========================================================= */

.woocommerce-cart .wc-empty-cart-message,
.woocommerce-cart .cart-empty,
.woocommerce-cart .woocommerce-info.cart-empty,
.woocommerce-cart .return-to-shop,
.woocommerce-cart .cart-empty::before,
.woocommerce-cart .cart-empty::after,
.woocommerce-cart .woocommerce-info.cart-empty::before,
.woocommerce-cart .woocommerce-info.cart-empty::after {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: none !important;
    background: none !important;
    box-shadow: none !important;
}

/* Ocultar sugeridos nativos */
.woocommerce-cart .cross-sells,
.woocommerce-cart .related.products,
.woocommerce-cart .upsells.products,
.woocommerce-cart ul.products,
.woocommerce-cart .cart-collaterals .cross-sells {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

/* Bloque vacío personalizado */
.tbs-cart-empty-premium {
    width: 100% !important;
    max-width: var(--tbs-cart-max) !important;

    margin: clamp(30px, 5vw, 58px) auto clamp(48px, 7vw, 78px) !important;
    padding: clamp(26px, 4vw, 46px) !important;

    position: relative !important;
    overflow: hidden !important;

    border-radius: var(--tbs-cart-radius-xl) !important;
    border: 1px solid rgba(255, 255, 255, .86) !important;

    background:
        radial-gradient(circle at 0% 0%, rgba(255, 198, 222, .36), transparent 32%),
        radial-gradient(circle at 100% 6%, rgba(167, 216, 255, .30), transparent 28%),
        radial-gradient(circle at 54% 110%, rgba(246, 232, 255, .48), transparent 38%),
        rgba(255, 255, 255, .76) !important;

    box-shadow: var(--tbs-cart-shadow) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;

    color: var(--tbs-cart-ink) !important;
    text-align: center !important;
}

.tbs-cart-empty-premium::before {
    content: "" !important;
    position: absolute !important;
    inset: 14px !important;
    border-radius: calc(var(--tbs-cart-radius-xl) - 10px) !important;
    border: 1px solid rgba(255, 255, 255, .74) !important;
    pointer-events: none !important;
    z-index: 0 !important;
}

.tbs-cart-empty-premium::after {
    content: "♡" !important;
    position: absolute !important;
    right: clamp(18px, 4vw, 54px) !important;
    top: clamp(18px, 4vw, 42px) !important;

    color: rgba(236, 63, 134, .10) !important;

    font-size: clamp(58px, 8vw, 104px) !important;
    font-weight: 300 !important;
    line-height: 1 !important;

    pointer-events: none !important;
    z-index: 1 !important;
}

.tbs-cart-empty-premium > * {
    position: relative !important;
    z-index: 2 !important;
}

/* Hero vacío */
.tbs-cart-empty-hero {
    width: 100% !important;
    max-width: 850px !important;

    margin: 0 auto 38px !important;
    padding: clamp(30px, 4.5vw, 48px) clamp(20px, 4vw, 44px) !important;

    position: relative !important;
    overflow: hidden !important;

    border-radius: 32px !important;
    border: 1px solid rgba(255, 255, 255, .88) !important;

    background:
        radial-gradient(circle at 12% 0%, rgba(255, 255, 255, .96), transparent 32%),
        radial-gradient(circle at 88% 18%, rgba(238, 248, 255, .86), transparent 34%),
        linear-gradient(135deg, rgba(255,255,255,.92), rgba(255,248,252,.78)) !important;

    box-shadow: var(--tbs-cart-shadow-soft) !important;
}

.tbs-cart-empty-icon {
    width: 78px !important;
    height: 78px !important;

    display: grid !important;
    place-items: center !important;

    margin: 0 auto 18px !important;

    border-radius: 24px !important;

    background:
        radial-gradient(circle at 25% 18%, rgba(255,255,255,.58), transparent 32%),
        linear-gradient(135deg, var(--tbs-cart-pink), var(--tbs-cart-pink-dark)) !important;

    color: #ffffff !important;

    font-size: 34px !important;
    line-height: 1 !important;

    box-shadow:
        0 18px 38px rgba(236, 63, 134, .26),
        inset 0 1px 0 rgba(255,255,255,.42) !important;
}

.tbs-cart-empty-eyebrow {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 34px !important;

    padding: 0 18px !important;
    margin: 0 auto 16px !important;

    border-radius: 999px !important;
    border: 1px solid rgba(236, 63, 134, .16) !important;

    background: rgba(255,255,255,.78) !important;
    color: var(--tbs-cart-pink) !important;

    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: .18em !important;
    text-transform: uppercase !important;

    box-shadow: 0 10px 24px rgba(160,103,138,.08) !important;
}

.tbs-cart-empty-hero h1 {
    max-width: 760px !important;
    margin: 0 auto 16px !important;

    color: var(--tbs-cart-ink) !important;

    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(38px, 5vw, 66px) !important;
    font-weight: 500 !important;
    line-height: 1.02 !important;
    letter-spacing: -.04em !important;
    text-align: center !important;
}

.tbs-cart-empty-hero h1 strong,
.tbs-cart-empty-hero h1 span {
    color: var(--tbs-cart-pink) !important;
}

.tbs-cart-empty-hero p {
    max-width: 690px !important;
    margin: 0 auto !important;

    color: var(--tbs-cart-muted) !important;

    font-size: clamp(15.5px, 1.4vw, 19px) !important;
    font-weight: 500 !important;
    line-height: 1.68 !important;
    text-align: center !important;
}

/* =========================================================
   9. PLANES EN CARRITO VACÍO
========================================================= */

.tbs-cart-plans-grid {
    width: 100% !important;
    max-width: 1060px !important;

    margin: 0 auto !important;

    display: grid !important;
    grid-template-columns: repeat(2, minmax(320px, 1fr)) !important;
    gap: 26px !important;
    align-items: stretch !important;
}

.tbs-cart-plan-card {
    width: 100% !important;

    position: relative !important;
    overflow: hidden !important;

    display: flex !important;
    flex-direction: column !important;

    border-radius: 32px !important;
    border: 1px solid rgba(255, 255, 255, .88) !important;

    background:
        radial-gradient(circle at 14% 0%, rgba(255, 255, 255, .94), transparent 34%),
        radial-gradient(circle at 100% 12%, rgba(238, 248, 255, .60), transparent 32%),
        linear-gradient(180deg, rgba(255,255,255,.94) 0%, rgba(255,248,252,.88) 100%) !important;

    box-shadow: var(--tbs-cart-shadow-soft) !important;

    text-align: center !important;

    transition:
        transform .24s ease,
        box-shadow .24s ease,
        border-color .24s ease,
        filter .24s ease !important;
}

.tbs-cart-plan-card:hover {
    transform: translateY(-6px) !important;
    border-color: rgba(236, 63, 134, .22) !important;
    box-shadow: var(--tbs-cart-shadow-hover) !important;
}

.tbs-cart-plan-card::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    height: 7px !important;
    background: linear-gradient(90deg, var(--tbs-cart-pink), var(--tbs-cart-blue), var(--tbs-cart-lav)) !important;
    z-index: 3 !important;
}

.tbs-cart-plan-badge {
    position: absolute !important;
    top: 20px !important;
    left: 20px !important;
    z-index: 8 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 32px !important;
    padding: 0 14px !important;

    border-radius: 999px !important;

    background: rgba(255,255,255,.90) !important;
    color: var(--tbs-cart-pink) !important;

    font-size: 10px !important;
    font-weight: 900 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;

    border: 1px solid rgba(236, 63, 134, .16) !important;

    box-shadow: 0 12px 26px rgba(51,38,68,.09) !important;
}

.tbs-cart-plan-image-wrap {
    width: 100% !important;
    height: 335px !important;

    overflow: hidden !important;

    background:
        radial-gradient(circle at 0% 0%, rgba(255, 198, 222, .28), transparent 34%),
        radial-gradient(circle at 100% 8%, rgba(167, 216, 255, .24), transparent 28%),
        linear-gradient(135deg, #fff8fc 0%, #eef8ff 100%) !important;
}

.tbs-cart-plan-image-wrap img {
    width: 100% !important;
    height: 100% !important;

    display: block !important;

    object-fit: cover !important;
    object-position: center !important;

    transition: transform .36s ease, filter .36s ease !important;
}

.tbs-cart-plan-card:hover .tbs-cart-plan-image-wrap img {
    transform: scale(1.035) !important;
    filter: saturate(1.04) brightness(1.02) !important;
}

.tbs-cart-plan-content {
    padding: 32px 30px 32px !important;

    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;

    text-align: center !important;
}

.tbs-cart-plan-content h2 {
    max-width: 100% !important;
    margin: 0 auto 8px !important;

    color: var(--tbs-cart-ink) !important;

    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(34px, 3.2vw, 44px) !important;
    font-weight: 500 !important;
    line-height: 1.02 !important;
    letter-spacing: -.052em !important;
    text-align: center !important;
}

.tbs-cart-plan-content h2 strong,
.tbs-cart-plan-content h2 span {
    color: var(--tbs-cart-pink) !important;
}

.tbs-cart-plan-price {
    margin: 0 auto 18px !important;

    color: var(--tbs-cart-pink) !important;

    font-size: clamp(40px, 4vw, 52px) !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    letter-spacing: -.055em !important;
    text-align: center !important;
}

.tbs-cart-plan-price small,
.tbs-cart-plan-price span {
    color: var(--tbs-cart-muted) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
}

.tbs-cart-plan-content p {
    max-width: 520px !important;
    margin: 0 auto 24px !important;

    color: var(--tbs-cart-muted) !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.68 !important;
    text-align: center !important;
}

/* Features planes */
.tbs-cart-plan-features {
    list-style: none !important;

    margin: 0 0 28px !important;
    padding: 0 !important;

    display: grid !important;
    gap: 12px !important;

    text-align: left !important;
}

.tbs-cart-plan-features li {
    position: relative !important;

    min-height: 42px !important;
    padding: 11px 14px 11px 50px !important;

    border-radius: 999px !important;
    border: 1px solid rgba(236, 63, 134, .12) !important;

    background:
        linear-gradient(135deg, rgba(255,255,255,.86), rgba(255,248,252,.74)) !important;

    color: var(--tbs-cart-ink) !important;

    font-size: 15px !important;
    font-weight: 850 !important;
    line-height: 1.35 !important;

    box-shadow:
        0 10px 24px rgba(51,38,68,.045),
        inset 0 1px 0 rgba(255,255,255,.82) !important;
}

.tbs-cart-plan-features li::before {
    content: "✓" !important;

    position: absolute !important;
    left: 13px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;

    width: 26px !important;
    height: 26px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    border-radius: 999px !important;

    color: #ffffff !important;

    font-size: 12px !important;
    font-weight: 950 !important;
    line-height: 1 !important;

    background:
        radial-gradient(circle at 25% 18%, rgba(255,255,255,.42), transparent 30%),
        linear-gradient(135deg, var(--tbs-cart-pink), var(--tbs-cart-blue)) !important;

    box-shadow:
        0 9px 20px rgba(236, 63, 134, .18),
        inset 0 1px 0 rgba(255,255,255,.35) !important;
}

.tbs-cart-plan-actions {
    margin-top: auto !important;

    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
}

/* Oculta botón demo */
.tbs-cart-btn-demo,
.tbs-cart-plan-actions .tbs-cart-btn-demo,
.tbs-cart-plan-actions a.tbs-cart-btn-demo {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

.tbs-cart-btn,
.tbs-cart-btn-buy {
    width: 100% !important;
    min-height: 54px !important;
    height: 54px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;

    padding: 0 24px !important;

    border-radius: 999px !important;
    border: 1px solid transparent !important;

    color: #ffffff !important;
    background:
        radial-gradient(circle at 25% 18%, rgba(255,255,255,.34), transparent 30%),
        linear-gradient(135deg, var(--tbs-cart-pink), var(--tbs-cart-pink-dark)) !important;

    font-size: 15px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    text-align: center !important;

    box-shadow:
        0 18px 38px rgba(236, 63, 134, .30),
        inset 0 1px 0 rgba(255,255,255,.34) !important;
}

/* Nota carrito vacío */
.tbs-cart-empty-note {
    max-width: 790px !important;

    margin: 34px auto 0 !important;
    padding: 18px 24px !important;

    border-radius: 24px !important;
    border: 1px solid rgba(255,255,255,.86) !important;

    background:
        radial-gradient(circle at 0% 0%, rgba(255, 255, 255, .90), transparent 34%),
        linear-gradient(135deg, rgba(255,255,255,.82), rgba(238,248,255,.70)) !important;

    color: var(--tbs-cart-muted) !important;

    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.55 !important;
    text-align: center !important;

    box-shadow: var(--tbs-cart-shadow-soft) !important;
}

.tbs-cart-empty-note strong,
.tbs-cart-empty-note b {
    color: var(--tbs-cart-pink) !important;
    font-weight: 900 !important;
}

/* =========================================================
   10. RESPONSIVE TABLET
========================================================= */

@media (max-width: 980px) {

    .woocommerce-cart .woocommerce,
    .woocommerce-cart .entry-content > .woocommerce {
        padding: 28px 16px 54px !important;
    }

    .woocommerce-cart .cart-collaterals {
        justify-content: center !important;
        margin-top: 24px !important;
    }

    .woocommerce-cart .cart-collaterals .cart_totals,
    .woocommerce-cart .cart_totals {
        width: 100% !important;
        max-width: 560px !important;
    }

    .tbs-cart-plans-grid {
        grid-template-columns: 1fr !important;
        max-width: 590px !important;
        gap: 24px !important;
    }

    .tbs-cart-plan-image-wrap {
        height: 330px !important;
    }
}

/* =========================================================
   11. RESPONSIVE MÓVIL
========================================================= */

@media (max-width: 767px) {

    .woocommerce-cart .woocommerce,
    .woocommerce-cart .entry-content > .woocommerce {
        padding: 22px 10px 44px !important;
    }

    /* Tabla móvil estable */
    .woocommerce-cart table.shop_table,
    .woocommerce-cart table.cart {
        border-radius: 24px !important;
        overflow: hidden !important;
    }

    .woocommerce-cart table.shop_table thead,
    .woocommerce-cart table.cart thead {
        display: none !important;
    }

    .woocommerce-cart table.shop_table tbody tr,
    .woocommerce-cart table.cart tbody tr {
        display: block !important;

        margin: 0 !important;
        padding: 0 !important;

        border-bottom: 1px solid rgba(236, 63, 134, .10) !important;
        background: rgba(255,255,255,.88) !important;
    }

    .woocommerce-cart table.shop_table tbody td,
    .woocommerce-cart table.cart tbody td {
        display: grid !important;
        grid-template-columns: 42% 58% !important;
        align-items: center !important;
        gap: 10px !important;

        width: 100% !important;

        padding: 16px !important;

        border-bottom: 1px solid rgba(236, 63, 134, .08) !important;

        text-align: right !important;
        background: rgba(255,255,255,.72) !important;
    }

    .woocommerce-cart table.shop_table tbody td::before,
    .woocommerce-cart table.cart tbody td::before {
        content: attr(data-title) ": " !important;

        color: var(--tbs-cart-ink) !important;

        font-size: 14px !important;
        font-weight: 800 !important;
        text-align: left !important;
        line-height: 1.35 !important;
    }

    .woocommerce-cart table.shop_table tbody td.product-remove,
    .woocommerce-cart table.cart tbody td.product-remove,
    .woocommerce-cart table.shop_table tbody td.product-thumbnail,
    .woocommerce-cart table.cart tbody td.product-thumbnail {
        grid-template-columns: 1fr !important;
        text-align: center !important;
    }

    .woocommerce-cart table.shop_table tbody td.product-remove::before,
    .woocommerce-cart table.cart tbody td.product-remove::before,
    .woocommerce-cart table.shop_table tbody td.product-thumbnail::before,
    .woocommerce-cart table.cart tbody td.product-thumbnail::before {
        display: none !important;
    }

    .woocommerce-cart table.cart img,
    .woocommerce-cart table.shop_table img {
        margin: 0 auto !important;
        width: 76px !important;
        height: 76px !important;
    }

    .woocommerce-cart table.cart .product-name,
    .woocommerce-cart table.shop_table .product-name {
        text-align: right !important;
    }

    .woocommerce-cart table.cart .product-name a,
    .woocommerce-cart table.shop_table .product-name a {
        display: inline-block !important;
        max-width: 100% !important;
        text-align: right !important;
        font-size: 15px !important;
    }

    /* Acciones en móvil */
    .woocommerce-cart table.cart td.actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;

        padding: 18px 16px !important;

        text-align: center !important;
    }

    .woocommerce-cart table.cart td.actions::before {
        display: none !important;
    }

    .woocommerce-cart table.cart td.actions .coupon,
    .woocommerce-cart .coupon,
    .woocommerce-cart form.woocommerce-cart-form .coupon {
        display: grid !important;
        grid-template-columns: 1fr !important;
        grid-template-rows: auto auto !important;
        gap: 10px !important;

        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        float: none !important;
        clear: both !important;
    }

    .woocommerce-cart .coupon input.input-text,
    .woocommerce-cart .coupon #coupon_code,
    .woocommerce-cart table.cart td.actions .coupon input.input-text,
    .woocommerce-cart table.cart td.actions .coupon #coupon_code {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;

        height: 48px !important;
        min-height: 48px !important;

        flex: none !important;

        text-align: center !important;
        line-height: 48px !important;

        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .woocommerce-cart .coupon button.button,
    .woocommerce-cart .coupon .button,
    .woocommerce-cart .coupon button[name="apply_coupon"],
    .woocommerce-cart .coupon input[name="apply_coupon"],
    .woocommerce-cart button[name="apply_coupon"],
    .woocommerce-cart input[name="apply_coupon"],
    .woocommerce-cart table.cart td.actions > button[name="update_cart"],
    .woocommerce-cart table.cart td.actions > input[name="update_cart"] {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;

        height: 48px !important;
        min-height: 48px !important;

        flex: none !important;
        float: none !important;

        margin: 0 !important;

        font-size: 14px !important;
    }

    .woocommerce-cart table.cart td.actions > button[name="update_cart"],
    .woocommerce-cart table.cart td.actions > input[name="update_cart"] {
        margin-top: 2px !important;
        opacity: .82 !important;
    }

    .woocommerce-cart .cart-collaterals {
        display: block !important;
        width: 100% !important;
        margin-top: 22px !important;
    }

    .woocommerce-cart .cart-collaterals .cart_totals,
    .woocommerce-cart .cart_totals {
        width: 100% !important;
        max-width: 100% !important;

        padding: 24px 18px !important;
        border-radius: 26px !important;
    }

    .woocommerce-cart .cart_totals h2 {
        font-size: 31px !important;
        text-align: center !important;
    }

    .woocommerce-cart .wc-proceed-to-checkout .checkout-button,
    .woocommerce-cart .checkout-button {
        min-height: 54px !important;
        height: 54px !important;

        font-size: 14.5px !important;
    }

    /* Vacío móvil */
    .tbs-cart-empty-premium {
        margin: 24px auto 42px !important;
        padding: 18px 12px 24px !important;
        border-radius: 24px !important;
    }

    .tbs-cart-empty-premium::before {
        inset: 8px !important;
        border-radius: 18px !important;
    }

    .tbs-cart-empty-premium::after {
        right: 18px !important;
        top: 18px !important;
        font-size: 54px !important;
    }

    .tbs-cart-empty-hero {
        padding: 28px 18px !important;
        border-radius: 22px !important;
        margin-bottom: 24px !important;
    }

    .tbs-cart-empty-icon {
        width: 62px !important;
        height: 62px !important;
        border-radius: 20px !important;
        font-size: 28px !important;
        margin-bottom: 15px !important;
    }

    .tbs-cart-empty-eyebrow {
        min-height: 31px !important;
        padding: 0 14px !important;
        margin-bottom: 14px !important;
        font-size: 10px !important;
        letter-spacing: .14em !important;
    }

    .tbs-cart-empty-hero h1 {
        font-size: clamp(31px, 9vw, 40px) !important;
        line-height: 1.04 !important;
        letter-spacing: -.035em !important;
        margin-bottom: 14px !important;
    }

    .tbs-cart-empty-hero p {
        font-size: 14.5px !important;
        line-height: 1.62 !important;
    }

    .tbs-cart-plans-grid {
        max-width: 100% !important;
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }

    .tbs-cart-plan-card {
        border-radius: 24px !important;
    }

    .tbs-cart-plan-badge {
        top: 16px !important;
        left: 16px !important;
        min-height: 30px !important;
        font-size: 9px !important;
    }

    .tbs-cart-plan-image-wrap {
        height: 250px !important;
    }

    .tbs-cart-plan-content {
        padding: 24px 18px 24px !important;
    }

    .tbs-cart-plan-content h2 {
        font-size: clamp(29px, 8.2vw, 36px) !important;
        line-height: 1.05 !important;
    }

    .tbs-cart-plan-price {
        font-size: clamp(34px, 8vw, 42px) !important;
        margin-bottom: 15px !important;
    }

    .tbs-cart-plan-content p {
        font-size: 14px !important;
        line-height: 1.58 !important;
        margin-bottom: 20px !important;
    }

    .tbs-cart-plan-features {
        gap: 9px !important;
    }

    .tbs-cart-plan-features li {
        min-height: 38px !important;
        padding: 9px 11px 9px 43px !important;
        font-size: 13px !important;
    }

    .tbs-cart-plan-features li::before {
        left: 11px !important;
        width: 23px !important;
        height: 23px !important;
        font-size: 10.5px !important;
    }

    .tbs-cart-btn,
    .tbs-cart-btn-buy {
        min-height: 52px !important;
        height: 52px !important;
        padding: 0 18px !important;
        font-size: 14px !important;
        white-space: normal !important;
        line-height: 1.18 !important;
    }

    .tbs-cart-empty-note {
        margin-top: 26px !important;
        padding: 16px 18px !important;
        border-radius: 20px !important;
        font-size: 13.5px !important;
        line-height: 1.5 !important;
    }
}

/* =========================================================
   12. MÓVIL MUY PEQUEÑO
========================================================= */

@media (max-width: 390px) {

    .woocommerce-cart .woocommerce,
    .woocommerce-cart .entry-content > .woocommerce {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    .woocommerce-cart table.shop_table tbody td,
    .woocommerce-cart table.cart tbody td {
        padding: 14px 12px !important;
        grid-template-columns: 40% 60% !important;
        gap: 8px !important;
    }

    .woocommerce-cart table.shop_table tbody td::before,
    .woocommerce-cart table.cart tbody td::before {
        font-size: 13px !important;
    }

    .woocommerce-cart table.cart .product-name a,
    .woocommerce-cart table.shop_table .product-name a {
        font-size: 14px !important;
    }

    .woocommerce-cart .cart_totals {
        padding: 22px 14px !important;
    }

    .woocommerce-cart .cart_totals h2 {
        font-size: 28px !important;
    }

    .woocommerce-cart .coupon input.input-text,
    .woocommerce-cart .coupon #coupon_code,
    .woocommerce-cart .coupon button.button,
    .woocommerce-cart .coupon .button,
    .woocommerce-cart button[name="apply_coupon"],
    .woocommerce-cart input[name="apply_coupon"],
    .woocommerce-cart table.cart td.actions > button[name="update_cart"],
    .woocommerce-cart table.cart td.actions > input[name="update_cart"] {
        height: 46px !important;
        min-height: 46px !important;
        font-size: 13px !important;
    }

    .tbs-cart-plan-image-wrap {
        height: 220px !important;
    }

    .tbs-cart-plan-content {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .tbs-cart-empty-hero h1 {
        font-size: 30px !important;
    }

    .tbs-cart-plan-content h2 {
        font-size: 28px !important;
    }

    .tbs-cart-plan-price {
        font-size: 34px !important;
    }

    .tbs-cart-plan-features li {
        font-size: 12.8px !important;
    }
}

/* =========================================================
   13. FLECHA VOLVER ARRIBA - SOLO CARRITO
   Corrige X / ícono roto del tema Lovebite
========================================================= */

body.woocommerce-cart .scroll-to-top,
body.woocommerce-cart #scrollUp,
body.woocommerce-cart .back-to-top,
body.woocommerce-cart .tm-scroll-to-top,
body.woocommerce-cart .tm-scroller-top,
body.woocommerce-cart .footer-scroll-to-top {
    position: fixed !important;

    right: 22px !important;
    bottom: 82px !important;

    z-index: 999999 !important;

    width: 52px !important;
    height: 52px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    border-radius: 999px !important;
    overflow: hidden !important;

    border: 1px solid rgba(255, 255, 255, .48) !important;

    background:
        radial-gradient(circle at 28% 20%, rgba(255,255,255,.24), transparent 32%),
        linear-gradient(135deg, rgba(248, 203, 237, .90) 0%, rgba(236, 166, 224, .90) 100%) !important;

    color: transparent !important;
    text-decoration: none !important;

    box-shadow:
        0 10px 24px rgba(223, 119, 195, .16),
        inset 0 1px 0 rgba(255,255,255,.34) !important;

    cursor: pointer !important;

    transition:
        transform .22s ease,
        opacity .22s ease,
        visibility .22s ease,
        box-shadow .22s ease,
        background .22s ease !important;
}

body.woocommerce-cart .scroll-to-top:hover,
body.woocommerce-cart #scrollUp:hover,
body.woocommerce-cart .back-to-top:hover,
body.woocommerce-cart .tm-scroll-to-top:hover,
body.woocommerce-cart .tm-scroller-top:hover,
body.woocommerce-cart .footer-scroll-to-top:hover {
    transform: translateY(-2px) !important;

    box-shadow:
        0 14px 30px rgba(223, 119, 195, .22),
        inset 0 1px 0 rgba(255,255,255,.38) !important;
}

/* Oculta X / íconos heredados */
body.woocommerce-cart .scroll-to-top i,
body.woocommerce-cart .scroll-to-top svg,
body.woocommerce-cart .scroll-to-top span,
body.woocommerce-cart #scrollUp i,
body.woocommerce-cart #scrollUp svg,
body.woocommerce-cart #scrollUp span,
body.woocommerce-cart .back-to-top i,
body.woocommerce-cart .back-to-top svg,
body.woocommerce-cart .back-to-top span,
body.woocommerce-cart .tm-scroll-to-top i,
body.woocommerce-cart .tm-scroll-to-top svg,
body.woocommerce-cart .tm-scroll-to-top span,
body.woocommerce-cart .tm-scroller-top i,
body.woocommerce-cart .tm-scroller-top svg,
body.woocommerce-cart .tm-scroller-top span,
body.woocommerce-cart .footer-scroll-to-top i,
body.woocommerce-cart .footer-scroll-to-top svg,
body.woocommerce-cart .footer-scroll-to-top span {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;

    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;

    font-size: 0 !important;
    line-height: 0 !important;
}

/* Resetea pseudo-elementos */
body.woocommerce-cart .scroll-to-top::before,
body.woocommerce-cart .scroll-to-top::after,
body.woocommerce-cart #scrollUp::before,
body.woocommerce-cart #scrollUp::after,
body.woocommerce-cart .back-to-top::before,
body.woocommerce-cart .back-to-top::after,
body.woocommerce-cart .tm-scroll-to-top::before,
body.woocommerce-cart .tm-scroll-to-top::after,
body.woocommerce-cart .tm-scroller-top::before,
body.woocommerce-cart .tm-scroller-top::after,
body.woocommerce-cart .footer-scroll-to-top::before,
body.woocommerce-cart .footer-scroll-to-top::after {
    content: "" !important;
    position: absolute !important;

    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    background: none !important;
    box-shadow: none !important;
}

/* Línea vertical */
body.woocommerce-cart .scroll-to-top::before,
body.woocommerce-cart #scrollUp::before,
body.woocommerce-cart .back-to-top::before,
body.woocommerce-cart .tm-scroll-to-top::before,
body.woocommerce-cart .tm-scroller-top::before,
body.woocommerce-cart .footer-scroll-to-top::before {
    left: 50% !important;
    top: 17px !important;

    width: 2.3px !important;
    height: 18px !important;

    transform: translateX(-50%) !important;

    border-radius: 999px !important;

    background: rgba(255,255,255,.95) !important;
}

/* Punta */
body.woocommerce-cart .scroll-to-top::after,
body.woocommerce-cart #scrollUp::after,
body.woocommerce-cart .back-to-top::after,
body.woocommerce-cart .tm-scroll-to-top::after,
body.woocommerce-cart .tm-scroller-top::after,
body.woocommerce-cart .footer-scroll-to-top::after {
    left: 50% !important;
    top: 16px !important;

    width: 10px !important;
    height: 10px !important;

    margin-left: -5px !important;

    border-left: 2.3px solid rgba(255,255,255,.95) !important;
    border-top: 2.3px solid rgba(255,255,255,.95) !important;

    transform: rotate(45deg) !important;
}

@media (max-width: 767px) {

    body.woocommerce-cart .scroll-to-top,
    body.woocommerce-cart #scrollUp,
    body.woocommerce-cart .back-to-top,
    body.woocommerce-cart .tm-scroll-to-top,
    body.woocommerce-cart .tm-scroller-top,
    body.woocommerce-cart .footer-scroll-to-top {
        right: 18px !important;
        bottom: 78px !important;

        width: 52px !important;
        height: 52px !important;

        display: inline-flex !important;

        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }
}

@media (max-width: 390px) {

    body.woocommerce-cart .scroll-to-top,
    body.woocommerce-cart #scrollUp,
    body.woocommerce-cart .back-to-top,
    body.woocommerce-cart .tm-scroll-to-top,
    body.woocommerce-cart .tm-scroller-top,
    body.woocommerce-cart .footer-scroll-to-top {
        right: 16px !important;
        bottom: 72px !important;

        width: 50px !important;
        height: 50px !important;
    }

    body.woocommerce-cart .scroll-to-top::before,
    body.woocommerce-cart #scrollUp::before,
    body.woocommerce-cart .back-to-top::before,
    body.woocommerce-cart .tm-scroll-to-top::before,
    body.woocommerce-cart .tm-scroller-top::before,
    body.woocommerce-cart .footer-scroll-to-top::before {
        top: 16px !important;
        height: 17px !important;
    }

    body.woocommerce-cart .scroll-to-top::after,
    body.woocommerce-cart #scrollUp::after,
    body.woocommerce-cart .back-to-top::after,
    body.woocommerce-cart .tm-scroll-to-top::after,
    body.woocommerce-cart .tm-scroller-top::after,
    body.woocommerce-cart .footer-scroll-to-top::after {
        top: 15px !important;
        width: 9px !important;
        height: 9px !important;
        margin-left: -4.5px !important;
    }
}





/* =========================================================
   🛒 TUBABYSHOWER - AJUSTE FINAL CARRITO CON PRODUCTOS
   Página: /carrito/

   Ajustes:
   1. Mueve el botón eliminar producto hacia la izquierda.
   2. Compacta y reordena columnas de la tabla.
   3. Sube visualmente la ventana de Totales del carrito.
   4. Coloca Actualizar carrito a la derecha de Aplicar cupón.
========================================================= */


/* =========================================================
   1. CONTENEDOR GENERAL MÁS COMPACTO
========================================================= */

body.woocommerce-cart .woocommerce,
body.woocommerce-cart .entry-content > .woocommerce {
    max-width: 1240px !important;
    padding-top: 28px !important;
    padding-bottom: 54px !important;
}


/* =========================================================
   2. TABLA DEL CARRITO - COLUMNAS MÁS ORDENADAS
========================================================= */

body.woocommerce-cart table.cart,
body.woocommerce-cart table.shop_table {
    table-layout: fixed !important;
    width: 100% !important;
}

/* Anchos de columnas */
body.woocommerce-cart table.cart th.product-remove,
body.woocommerce-cart table.cart td.product-remove {
    width: 70px !important;
    min-width: 70px !important;
    max-width: 70px !important;
}

body.woocommerce-cart table.cart th.product-thumbnail,
body.woocommerce-cart table.cart td.product-thumbnail {
    width: 92px !important;
    min-width: 92px !important;
    max-width: 92px !important;
}

body.woocommerce-cart table.cart th.product-name,
body.woocommerce-cart table.cart td.product-name {
    width: auto !important;
}

body.woocommerce-cart table.cart th.product-price,
body.woocommerce-cart table.cart td.product-price {
    width: 120px !important;
}

body.woocommerce-cart table.cart th.product-quantity,
body.woocommerce-cart table.cart td.product-quantity {
    width: 130px !important;
}

body.woocommerce-cart table.cart th.product-subtotal,
body.woocommerce-cart table.cart td.product-subtotal {
    width: 130px !important;
}

/* Celdas más compactas para reducir altura general */
body.woocommerce-cart table.cart thead th,
body.woocommerce-cart table.shop_table thead th {
    padding: 17px 14px !important;
}

body.woocommerce-cart table.cart tbody td,
body.woocommerce-cart table.shop_table tbody td {
    padding: 16px 14px !important;
    vertical-align: middle !important;
}


/* =========================================================
   3. BOTÓN ELIMINAR PRODUCTO MÁS A LA IZQUIERDA
========================================================= */

body.woocommerce-cart table.cart td.product-remove,
body.woocommerce-cart table.shop_table td.product-remove {
    text-align: left !important;
    padding-left: 22px !important;
    padding-right: 6px !important;
}

body.woocommerce-cart table.cart .product-remove a.remove,
body.woocommerce-cart table.shop_table .product-remove a.remove,
body.woocommerce-cart a.remove {
    margin-left: 0 !important;
    margin-right: auto !important;

    width: 36px !important;
    height: 36px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    border-radius: 999px !important;

    color: #ffffff !important;
    background:
        radial-gradient(circle at 25% 18%, rgba(255,255,255,.36), transparent 30%),
        linear-gradient(135deg, #f06ca5, #d82d74) !important;

    font-size: 23px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    text-decoration: none !important;

    box-shadow:
        0 10px 22px rgba(236,63,134,.22),
        inset 0 1px 0 rgba(255,255,255,.34) !important;

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        filter .2s ease !important;
}

body.woocommerce-cart table.cart .product-remove a.remove:hover,
body.woocommerce-cart table.shop_table .product-remove a.remove:hover,
body.woocommerce-cart a.remove:hover {
    color: #ffffff !important;
    transform: translateY(-1px) !important;
    filter: saturate(1.04) brightness(1.02) !important;

    background:
        radial-gradient(circle at 25% 18%, rgba(255,255,255,.36), transparent 30%),
        linear-gradient(135deg, #ec3f86, #b91d5d) !important;

    box-shadow:
        0 14px 28px rgba(236,63,134,.28),
        inset 0 1px 0 rgba(255,255,255,.36) !important;
}


/* =========================================================
   4. IMAGEN Y NOMBRE DEL PRODUCTO MÁS COMPACTOS
========================================================= */

body.woocommerce-cart table.cart td.product-thumbnail,
body.woocommerce-cart table.shop_table td.product-thumbnail {
    text-align: left !important;
    padding-left: 4px !important;
    padding-right: 10px !important;
}

body.woocommerce-cart table.cart img,
body.woocommerce-cart table.shop_table img {
    width: 54px !important;
    height: 54px !important;
    object-fit: cover !important;
    border-radius: 14px !important;
}

body.woocommerce-cart table.cart td.product-name,
body.woocommerce-cart table.shop_table td.product-name {
    text-align: left !important;
    padding-left: 4px !important;
}

body.woocommerce-cart table.cart .product-name a,
body.woocommerce-cart table.shop_table .product-name a {
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1.35 !important;
    color: #2f3445 !important;
    text-decoration: none !important;
}


/* =========================================================
   5. PRECIO, CANTIDAD Y SUBTOTAL ALINEADOS
========================================================= */

body.woocommerce-cart table.cart td.product-price,
body.woocommerce-cart table.cart td.product-quantity,
body.woocommerce-cart table.cart td.product-subtotal,
body.woocommerce-cart table.shop_table td.product-price,
body.woocommerce-cart table.shop_table td.product-quantity,
body.woocommerce-cart table.shop_table td.product-subtotal {
    text-align: center !important;
    color: #2f3445 !important;
    font-size: 15px !important;
    font-weight: 900 !important;
}

body.woocommerce-cart .quantity {
    margin: 0 auto !important;
}

body.woocommerce-cart .quantity input.qty {
    width: 54px !important;
    height: 42px !important;
    font-size: 15px !important;
}


/* =========================================================
   6. ACCIONES DEL CARRITO
   Cupón + aplicar + actualizar en una sola línea
========================================================= */

body.woocommerce-cart table.cart td.actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 14px !important;
    flex-wrap: wrap !important;

    padding: 18px 22px 20px !important;

    text-align: left !important;

    background:
        linear-gradient(135deg, rgba(255,248,252,.84), rgba(255,255,255,.90)) !important;

    border-top: 1px solid rgba(236, 63, 134, .08) !important;
    border-bottom: none !important;
}

/* Contenedor cupón */
body.woocommerce-cart table.cart td.actions .coupon,
body.woocommerce-cart form.woocommerce-cart-form .coupon,
body.woocommerce-cart .coupon {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;

    width: auto !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    float: none !important;
    clear: none !important;

    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* Campo del cupón más proporcionado */
body.woocommerce-cart .coupon input.input-text,
body.woocommerce-cart .coupon #coupon_code,
body.woocommerce-cart table.cart td.actions .coupon input.input-text,
body.woocommerce-cart table.cart td.actions .coupon #coupon_code {
    flex: 0 0 230px !important;

    width: 230px !important;
    min-width: 230px !important;
    max-width: 230px !important;

    height: 46px !important;
    min-height: 46px !important;

    margin: 0 !important;
    padding: 0 18px !important;

    border-radius: 999px !important;
    border: 1px solid rgba(236, 63, 134, .14) !important;

    background: rgba(255,255,255,.96) !important;
    color: #2f3445 !important;

    font-size: 13.5px !important;
    font-weight: 750 !important;
    line-height: 46px !important;

    text-align: left !important;

    outline: none !important;

    box-shadow:
        0 8px 18px rgba(51, 38, 68, .045),
        inset 0 1px 0 rgba(255,255,255,.88) !important;
}

body.woocommerce-cart .coupon input.input-text::placeholder,
body.woocommerce-cart .coupon #coupon_code::placeholder {
    color: #747b8d !important;
    opacity: .82 !important;
}

/* Botón aplicar cupón */
body.woocommerce-cart .coupon button.button,
body.woocommerce-cart .coupon .button,
body.woocommerce-cart .coupon button[name="apply_coupon"],
body.woocommerce-cart .coupon input[name="apply_coupon"],
body.woocommerce-cart button[name="apply_coupon"],
body.woocommerce-cart input[name="apply_coupon"] {
    flex: 0 0 150px !important;

    width: 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;

    height: 46px !important;
    min-height: 46px !important;

    margin: 0 !important;
    padding: 0 16px !important;

    float: none !important;
    clear: none !important;

    border-radius: 999px !important;

    font-size: 13px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
}

/* Botón actualizar carrito justo a la derecha del cupón */
body.woocommerce-cart table.cart td.actions > button[name="update_cart"],
body.woocommerce-cart table.cart td.actions > input[name="update_cart"] {
    flex: 0 0 190px !important;

    width: 190px !important;
    min-width: 190px !important;
    max-width: 190px !important;

    height: 46px !important;
    min-height: 46px !important;

    margin: 0 0 0 4px !important;
    padding: 0 18px !important;

    float: none !important;
    clear: none !important;

    border-radius: 999px !important;

    opacity: .86 !important;

    font-size: 13px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;

    background:
        radial-gradient(circle at 25% 18%, rgba(255,255,255,.34), transparent 30%),
        linear-gradient(135deg, #f15aa0, #d82d74) !important;

    box-shadow:
        0 12px 26px rgba(236,63,134,.20),
        inset 0 1px 0 rgba(255,255,255,.32) !important;
}

body.woocommerce-cart table.cart td.actions > button[name="update_cart"]:hover,
body.woocommerce-cart table.cart td.actions > input[name="update_cart"]:hover {
    opacity: 1 !important;
    transform: translateY(-1px) !important;
}


/* =========================================================
   7. SUBIR TOTALES DEL CARRITO
========================================================= */

body.woocommerce-cart .cart-collaterals {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: flex-start !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 16px 0 0 !important;
    padding: 0 !important;

    float: none !important;
    clear: both !important;
}

/* Ventana de totales más arriba y compacta */
body.woocommerce-cart .cart-collaterals .cart_totals,
body.woocommerce-cart .cart_totals {
    width: min(100%, 380px) !important;
    max-width: 380px !important;

    margin-top: -2px !important;
    padding: 26px 26px 28px !important;

    border-radius: 30px !important;

    position: relative !important;
    z-index: 5 !important;
}

body.woocommerce-cart .cart_totals h2 {
    margin-bottom: 16px !important;
    font-size: 33px !important;
}

body.woocommerce-cart .cart_totals table {
    margin-bottom: 18px !important;
}

body.woocommerce-cart .cart_totals table th,
body.woocommerce-cart .cart_totals table td {
    padding: 15px 18px !important;
}

body.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
body.woocommerce-cart .checkout-button {
    min-height: 52px !important;
    height: 52px !important;
}


/* =========================================================
   8. DESKTOP MEDIO
========================================================= */

@media (min-width: 981px) {

    body.woocommerce-cart table.cart td.actions {
        flex-wrap: nowrap !important;
    }

    body.woocommerce-cart table.cart td.actions .coupon {
        flex: 0 0 auto !important;
    }

    body.woocommerce-cart .cart-collaterals {
        margin-top: 14px !important;
    }
}


/* =========================================================
   9. TABLET
========================================================= */

@media (max-width: 980px) {

    body.woocommerce-cart table.cart,
    body.woocommerce-cart table.shop_table {
        table-layout: auto !important;
    }

    body.woocommerce-cart table.cart th.product-remove,
    body.woocommerce-cart table.cart td.product-remove {
        width: 64px !important;
        min-width: 64px !important;
        max-width: 64px !important;
    }

    body.woocommerce-cart table.cart td.product-remove,
    body.woocommerce-cart table.shop_table td.product-remove {
        padding-left: 16px !important;
    }

    body.woocommerce-cart table.cart th.product-thumbnail,
    body.woocommerce-cart table.cart td.product-thumbnail {
        width: 82px !important;
        min-width: 82px !important;
        max-width: 82px !important;
    }

    body.woocommerce-cart table.cart img,
    body.woocommerce-cart table.shop_table img {
        width: 52px !important;
        height: 52px !important;
    }

    body.woocommerce-cart .cart-collaterals {
        justify-content: center !important;
        margin-top: 18px !important;
    }

    body.woocommerce-cart .cart-collaterals .cart_totals,
    body.woocommerce-cart .cart_totals {
        width: 100% !important;
        max-width: 560px !important;
        margin-top: 0 !important;
    }
}


/* =========================================================
   10. MÓVIL
========================================================= */

@media (max-width: 767px) {

    body.woocommerce-cart .woocommerce,
    body.woocommerce-cart .entry-content > .woocommerce {
        padding-top: 22px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    body.woocommerce-cart table.cart,
    body.woocommerce-cart table.shop_table {
        table-layout: auto !important;
    }

    body.woocommerce-cart table.cart tbody td,
    body.woocommerce-cart table.shop_table tbody td {
        display: grid !important;
        grid-template-columns: 42% 58% !important;
        align-items: center !important;
        gap: 10px !important;

        width: 100% !important;
        padding: 15px 16px !important;

        text-align: right !important;
    }

    body.woocommerce-cart table.cart tbody td::before,
    body.woocommerce-cart table.shop_table tbody td::before {
        content: attr(data-title) ": " !important;
        color: #2f3445 !important;
        font-size: 14px !important;
        font-weight: 800 !important;
        text-align: left !important;
    }

    /* Eliminar centrado y limpio en móvil */
    body.woocommerce-cart table.cart tbody td.product-remove,
    body.woocommerce-cart table.shop_table tbody td.product-remove {
        display: flex !important;
        justify-content: flex-start !important;
        align-items: center !important;

        padding: 16px 18px 8px !important;

        text-align: left !important;
    }

    body.woocommerce-cart table.cart tbody td.product-remove::before,
    body.woocommerce-cart table.shop_table tbody td.product-remove::before {
        display: none !important;
    }

    body.woocommerce-cart table.cart .product-remove a.remove,
    body.woocommerce-cart table.shop_table .product-remove a.remove {
        margin-left: 0 !important;
        margin-right: auto !important;
    }

    body.woocommerce-cart table.cart tbody td.product-thumbnail,
    body.woocommerce-cart table.shop_table tbody td.product-thumbnail {
        grid-template-columns: 1fr !important;
        text-align: center !important;
        padding-top: 8px !important;
    }

    body.woocommerce-cart table.cart tbody td.product-thumbnail::before,
    body.woocommerce-cart table.shop_table tbody td.product-thumbnail::before {
        display: none !important;
    }

    body.woocommerce-cart table.cart img,
    body.woocommerce-cart table.shop_table img {
        width: 76px !important;
        height: 76px !important;
        margin: 0 auto !important;
    }

    body.woocommerce-cart table.cart .product-name,
    body.woocommerce-cart table.shop_table .product-name {
        text-align: right !important;
    }

    body.woocommerce-cart table.cart .product-name a,
    body.woocommerce-cart table.shop_table .product-name a {
        text-align: right !important;
    }

    /* Acciones móviles en orden vertical */
    body.woocommerce-cart table.cart td.actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;

        padding: 18px 16px !important;
        text-align: center !important;
    }

    body.woocommerce-cart table.cart td.actions::before {
        display: none !important;
    }

    body.woocommerce-cart table.cart td.actions .coupon,
    body.woocommerce-cart form.woocommerce-cart-form .coupon,
    body.woocommerce-cart .coupon {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;

        width: 100% !important;
        max-width: 100% !important;
    }

    body.woocommerce-cart .coupon input.input-text,
    body.woocommerce-cart .coupon #coupon_code,
    body.woocommerce-cart table.cart td.actions .coupon input.input-text,
    body.woocommerce-cart table.cart td.actions .coupon #coupon_code,
    body.woocommerce-cart .coupon button.button,
    body.woocommerce-cart .coupon .button,
    body.woocommerce-cart .coupon button[name="apply_coupon"],
    body.woocommerce-cart .coupon input[name="apply_coupon"],
    body.woocommerce-cart button[name="apply_coupon"],
    body.woocommerce-cart input[name="apply_coupon"],
    body.woocommerce-cart table.cart td.actions > button[name="update_cart"],
    body.woocommerce-cart table.cart td.actions > input[name="update_cart"] {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;

        height: 48px !important;
        min-height: 48px !important;

        flex: none !important;

        margin: 0 !important;

        font-size: 14px !important;
    }

    body.woocommerce-cart .coupon input.input-text,
    body.woocommerce-cart .coupon #coupon_code {
        text-align: center !important;
    }

    body.woocommerce-cart .cart-collaterals {
        display: block !important;
        margin-top: 18px !important;
    }

    body.woocommerce-cart .cart-collaterals .cart_totals,
    body.woocommerce-cart .cart_totals {
        width: 100% !important;
        max-width: 100% !important;

        margin-top: 0 !important;
        padding: 24px 18px !important;
        border-radius: 26px !important;
    }

    body.woocommerce-cart .cart_totals h2 {
        font-size: 31px !important;
        text-align: center !important;
    }
}


/* =========================================================
   11. MÓVIL PEQUEÑO
========================================================= */

@media (max-width: 390px) {

    body.woocommerce-cart table.cart tbody td,
    body.woocommerce-cart table.shop_table tbody td {
        grid-template-columns: 40% 60% !important;
        padding: 14px 12px !important;
    }

    body.woocommerce-cart table.cart tbody td.product-remove,
    body.woocommerce-cart table.shop_table tbody td.product-remove {
        padding-left: 14px !important;
    }

    body.woocommerce-cart table.cart .product-remove a.remove,
    body.woocommerce-cart table.shop_table .product-remove a.remove {
        width: 34px !important;
        height: 34px !important;
        font-size: 22px !important;
    }

    body.woocommerce-cart table.cart .product-name a,
    body.woocommerce-cart table.shop_table .product-name a {
        font-size: 14px !important;
    }

    body.woocommerce-cart .cart_totals h2 {
        font-size: 28px !important;
    }
}


/* =========================================================
   🛒 TBS CARRITO - AJUSTE ESPACIO CUPÓN + BOTONES
   Pegar al final del CSS actual
========================================================= */

/* Celda de acciones más amplia y ordenada */
body.woocommerce-cart table.cart td.actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 18px !important;
    flex-wrap: nowrap !important;

    padding: 18px 26px 22px !important;

    text-align: left !important;
}

/* Grupo: campo cupón + botón aplicar */
body.woocommerce-cart table.cart td.actions .coupon,
body.woocommerce-cart form.woocommerce-cart-form .coupon,
body.woocommerce-cart .coupon {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 14px !important;

    width: auto !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    float: none !important;
    clear: none !important;
}

/* Campo del código de cupón con más espacio */
body.woocommerce-cart .coupon input.input-text,
body.woocommerce-cart .coupon #coupon_code,
body.woocommerce-cart table.cart td.actions .coupon input.input-text,
body.woocommerce-cart table.cart td.actions .coupon #coupon_code {
    flex: 0 0 300px !important;

    width: 300px !important;
    min-width: 300px !important;
    max-width: 300px !important;

    height: 46px !important;
    min-height: 46px !important;

    padding: 0 22px !important;

    text-align: left !important;
}

/* Botón Aplicar cupón más a la derecha */
body.woocommerce-cart .coupon button.button,
body.woocommerce-cart .coupon .button,
body.woocommerce-cart .coupon button[name="apply_coupon"],
body.woocommerce-cart .coupon input[name="apply_coupon"],
body.woocommerce-cart button[name="apply_coupon"],
body.woocommerce-cart input[name="apply_coupon"] {
    flex: 0 0 165px !important;

    width: 165px !important;
    min-width: 165px !important;
    max-width: 165px !important;

    margin-left: 0 !important;
}

/* Botón Actualizar carrito más a la derecha */
body.woocommerce-cart table.cart td.actions > button[name="update_cart"],
body.woocommerce-cart table.cart td.actions > input[name="update_cart"] {
    flex: 0 0 205px !important;

    width: 205px !important;
    min-width: 205px !important;
    max-width: 205px !important;

    margin-left: 4px !important;
}


/* =========================================================
   AJUSTE PARA DESKTOP ANCHO
========================================================= */

@media (min-width: 1180px) {

    body.woocommerce-cart .coupon input.input-text,
    body.woocommerce-cart .coupon #coupon_code,
    body.woocommerce-cart table.cart td.actions .coupon input.input-text,
    body.woocommerce-cart table.cart td.actions .coupon #coupon_code {
        flex-basis: 330px !important;

        width: 330px !important;
        min-width: 330px !important;
        max-width: 330px !important;
    }

    body.woocommerce-cart table.cart td.actions {
        gap: 20px !important;
    }
}


/* =========================================================
   AJUSTE PARA TABLET
========================================================= */

@media (max-width: 980px) {

    body.woocommerce-cart table.cart td.actions {
        flex-wrap: wrap !important;
        gap: 14px !important;
    }

    body.woocommerce-cart .coupon input.input-text,
    body.woocommerce-cart .coupon #coupon_code,
    body.woocommerce-cart table.cart td.actions .coupon input.input-text,
    body.woocommerce-cart table.cart td.actions .coupon #coupon_code {
        flex: 0 0 280px !important;

        width: 280px !important;
        min-width: 280px !important;
        max-width: 280px !important;
    }
}


/* =========================================================
   AJUSTE PARA MÓVIL
========================================================= */

@media (max-width: 767px) {

    body.woocommerce-cart table.cart td.actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;

        padding: 18px 16px !important;
    }

    body.woocommerce-cart table.cart td.actions .coupon,
    body.woocommerce-cart form.woocommerce-cart-form .coupon,
    body.woocommerce-cart .coupon {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;

        width: 100% !important;
        max-width: 100% !important;
    }

    body.woocommerce-cart .coupon input.input-text,
    body.woocommerce-cart .coupon #coupon_code,
    body.woocommerce-cart table.cart td.actions .coupon input.input-text,
    body.woocommerce-cart table.cart td.actions .coupon #coupon_code,
    body.woocommerce-cart .coupon button.button,
    body.woocommerce-cart .coupon .button,
    body.woocommerce-cart .coupon button[name="apply_coupon"],
    body.woocommerce-cart .coupon input[name="apply_coupon"],
    body.woocommerce-cart button[name="apply_coupon"],
    body.woocommerce-cart input[name="apply_coupon"],
    body.woocommerce-cart table.cart td.actions > button[name="update_cart"],
    body.woocommerce-cart table.cart td.actions > input[name="update_cart"] {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;

        flex: none !important;
        margin-left: 0 !important;
    }

    body.woocommerce-cart .coupon input.input-text,
    body.woocommerce-cart .coupon #coupon_code {
        text-align: center !important;
    }
}


/* =========================================================
   🎀 TBS PLANES - FUNCIONES PREMIUM SIN IMÁGENES
   Mantiene viñeta premium de color, elimina emojis/imágenes
   Pegar al final del CSS actual
========================================================= */

/* Contenedor de funciones */
.tbs-cart-plan-features {
    gap: 12px !important;
}

/* Función base premium */
.tbs-cart-plan-features li {
    position: relative !important;

    min-height: 46px !important;
    padding: 12px 16px 12px 52px !important;

    border-radius: 20px !important;
    border: 1px solid rgba(255, 255, 255, .88) !important;

    color: #303548 !important;

    font-size: 15px !important;
    font-weight: 850 !important;
    line-height: 1.38 !important;

    background:
        radial-gradient(circle at 0% 0%, rgba(255,255,255,.96), transparent 34%),
        radial-gradient(circle at 100% 0%, rgba(255,226,240,.42), transparent 36%),
        linear-gradient(135deg, rgba(255,255,255,.95), rgba(255,247,251,.86)) !important;

    box-shadow:
        0 12px 28px rgba(51, 38, 68, .055),
        inset 0 1px 0 rgba(255,255,255,.92) !important;

    transition:
        transform .22s ease,
        box-shadow .22s ease,
        border-color .22s ease,
        background .22s ease,
        color .22s ease !important;
}

/* Hover premium */
.tbs-cart-plan-features li:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(236, 63, 134, .20) !important;

    color: #25293a !important;

    background:
        radial-gradient(circle at 0% 0%, rgba(255,255,255,.99), transparent 34%),
        radial-gradient(circle at 100% 0%, rgba(210,235,255,.56), transparent 38%),
        linear-gradient(135deg, rgba(255,255,255,.98), rgba(255,241,247,.92)) !important;

    box-shadow:
        0 18px 40px rgba(160, 103, 138, .13),
        inset 0 1px 0 rgba(255,255,255,.96) !important;
}

/* Elimina línea lateral o decoraciones anteriores */
.tbs-cart-plan-features li::after {
    content: none !important;
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* Viñeta premium sin imagen: check simple */
.tbs-cart-plan-features li::before {
    content: "✓" !important;

    position: absolute !important;
    left: 13px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;

    width: 28px !important;
    height: 28px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    border-radius: 999px !important;

    color: #ffffff !important;

    font-size: 13px !important;
    font-weight: 950 !important;
    line-height: 1 !important;

    background:
        radial-gradient(circle at 28% 18%, rgba(255,255,255,.52), transparent 32%),
        linear-gradient(135deg, #ec3f86, #4c99cf) !important;

    box-shadow:
        0 9px 20px rgba(51, 38, 68, .13),
        inset 0 1px 0 rgba(255,255,255,.40) !important;
}


/* =========================================================
   COLORES PREMIUM POR FUNCIÓN
   Sin emojis, solo viñetas de color diferenciadas
========================================================= */

/* 1 */
.tbs-cart-plan-features li:nth-child(1) {
    border-color: rgba(236, 63, 134, .13) !important;

    background:
        radial-gradient(circle at 0% 0%, rgba(255,255,255,.97), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #fff1f7 100%) !important;
}

.tbs-cart-plan-features li:nth-child(1)::before {
    content: "✓" !important;
    background:
        radial-gradient(circle at 28% 18%, rgba(255,255,255,.54), transparent 32%),
        linear-gradient(135deg, #ff6aa8, #d82d74) !important;
}

/* 2 */
.tbs-cart-plan-features li:nth-child(2) {
    border-color: rgba(165, 123, 232, .15) !important;

    background:
        radial-gradient(circle at 0% 0%, rgba(255,255,255,.97), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #f7f1ff 100%) !important;
}

.tbs-cart-plan-features li:nth-child(2)::before {
    content: "✓" !important;
    background:
        radial-gradient(circle at 28% 18%, rgba(255,255,255,.54), transparent 32%),
        linear-gradient(135deg, #b68cff, #7c5bd6) !important;
}

/* 3 */
.tbs-cart-plan-features li:nth-child(3) {
    border-color: rgba(76, 153, 207, .15) !important;

    background:
        radial-gradient(circle at 0% 0%, rgba(255,255,255,.97), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #eef8ff 100%) !important;
}

.tbs-cart-plan-features li:nth-child(3)::before {
    content: "✓" !important;
    background:
        radial-gradient(circle at 28% 18%, rgba(255,255,255,.54), transparent 32%),
        linear-gradient(135deg, #63b7ee, #2d83bf) !important;
}

/* 4 */
.tbs-cart-plan-features li:nth-child(4) {
    border-color: rgba(207, 163, 77, .16) !important;

    background:
        radial-gradient(circle at 0% 0%, rgba(255,255,255,.97), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #fff8e8 100%) !important;
}

.tbs-cart-plan-features li:nth-child(4)::before {
    content: "✓" !important;
    background:
        radial-gradient(circle at 28% 18%, rgba(255,255,255,.54), transparent 32%),
        linear-gradient(135deg, #f7c76c, #cfa34d) !important;
}

/* 5 */
.tbs-cart-plan-features li:nth-child(5) {
    border-color: rgba(236, 63, 134, .14) !important;

    background:
        radial-gradient(circle at 0% 0%, rgba(255,255,255,.97), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #fff0f4 100%) !important;
}

.tbs-cart-plan-features li:nth-child(5)::before {
    content: "✓" !important;
    background:
        radial-gradient(circle at 28% 18%, rgba(255,255,255,.54), transparent 32%),
        linear-gradient(135deg, #ff9fba, #ec3f86) !important;
}

/* 6 */
.tbs-cart-plan-features li:nth-child(6) {
    border-color: rgba(42, 168, 149, .15) !important;

    background:
        radial-gradient(circle at 0% 0%, rgba(255,255,255,.97), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #ecfffb 100%) !important;
}

.tbs-cart-plan-features li:nth-child(6)::before {
    content: "✓" !important;
    background:
        radial-gradient(circle at 28% 18%, rgba(255,255,255,.54), transparent 32%),
        linear-gradient(135deg, #5fd2bf, #2aa895) !important;
}

/* 7 */
.tbs-cart-plan-features li:nth-child(7) {
    border-color: rgba(240, 108, 165, .15) !important;

    background:
        radial-gradient(circle at 0% 0%, rgba(255,255,255,.97), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #fff2ec 100%) !important;
}

.tbs-cart-plan-features li:nth-child(7)::before {
    content: "✓" !important;
    background:
        radial-gradient(circle at 28% 18%, rgba(255,255,255,.54), transparent 32%),
        linear-gradient(135deg, #ffab84, #f06ca5) !important;
}

/* 8 */
.tbs-cart-plan-features li:nth-child(8) {
    border-color: rgba(93, 120, 232, .15) !important;

    background:
        radial-gradient(circle at 0% 0%, rgba(255,255,255,.97), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #f0f3ff 100%) !important;
}

.tbs-cart-plan-features li:nth-child(8)::before {
    content: "✓" !important;
    background:
        radial-gradient(circle at 28% 18%, rgba(255,255,255,.54), transparent 32%),
        linear-gradient(135deg, #91a8ff, #5d78e8) !important;
}

/* 9 */
.tbs-cart-plan-features li:nth-child(9) {
    border-color: rgba(216, 174, 86, .18) !important;

    background:
        radial-gradient(circle at 0% 0%, rgba(255,255,255,.97), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #fff9e9 100%) !important;
}

.tbs-cart-plan-features li:nth-child(9)::before {
    content: "✓" !important;
    background:
        radial-gradient(circle at 28% 18%, rgba(255,255,255,.54), transparent 32%),
        linear-gradient(135deg, #d8ae56, #ec3f86) !important;
}

/* 10 en adelante */
.tbs-cart-plan-features li:nth-child(n+10) {
    border-color: rgba(76, 153, 207, .13) !important;

    background:
        radial-gradient(circle at 0% 0%, rgba(255,255,255,.97), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #f7fbff 100%) !important;
}

.tbs-cart-plan-features li:nth-child(n+10)::before {
    content: "✓" !important;
    background:
        radial-gradient(circle at 28% 18%, rgba(255,255,255,.54), transparent 32%),
        linear-gradient(135deg, #ec3f86, #4c99cf) !important;
}


/* =========================================================
   VARIANTE PREMIUM POR PLAN
========================================================= */

/* Plan 1: más rosado */
.tbs-cart-plan-card:nth-child(1) .tbs-cart-plan-features li {
    box-shadow:
        0 12px 28px rgba(236, 63, 134, .065),
        inset 0 1px 0 rgba(255,255,255,.95) !important;
}

.tbs-cart-plan-card:nth-child(1) .tbs-cart-plan-features li:hover {
    border-color: rgba(236, 63, 134, .24) !important;

    box-shadow:
        0 18px 40px rgba(236, 63, 134, .13),
        inset 0 1px 0 rgba(255,255,255,.98) !important;
}

/* Plan 2: celeste/lavanda */
.tbs-cart-plan-card:nth-child(2) .tbs-cart-plan-features li {
    box-shadow:
        0 12px 28px rgba(76, 153, 207, .065),
        inset 0 1px 0 rgba(255,255,255,.95) !important;
}

.tbs-cart-plan-card:nth-child(2) .tbs-cart-plan-features li:hover {
    border-color: rgba(76, 153, 207, .24) !important;

    background:
        radial-gradient(circle at 0% 0%, rgba(255,255,255,1), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #eef8ff 100%) !important;

    box-shadow:
        0 18px 40px rgba(76, 153, 207, .13),
        inset 0 1px 0 rgba(255,255,255,.98) !important;
}

/* Plan 3 si existe: dorado premium */
.tbs-cart-plan-card:nth-child(3) .tbs-cart-plan-features li {
    box-shadow:
        0 12px 28px rgba(207, 163, 77, .075),
        inset 0 1px 0 rgba(255,255,255,.95) !important;
}

.tbs-cart-plan-card:nth-child(3) .tbs-cart-plan-features li:hover {
    border-color: rgba(207, 163, 77, .30) !important;

    background:
        radial-gradient(circle at 0% 0%, rgba(255,255,255,1), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #fff8e8 100%) !important;

    box-shadow:
        0 18px 40px rgba(207, 163, 77, .14),
        inset 0 1px 0 rgba(255,255,255,.98) !important;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 767px) {

    .tbs-cart-plan-features {
        gap: 10px !important;
        margin-bottom: 24px !important;
    }

    .tbs-cart-plan-features li {
        min-height: 42px !important;
        padding: 11px 14px 11px 48px !important;

        border-radius: 18px !important;

        font-size: 13.5px !important;
        line-height: 1.35 !important;
    }

    .tbs-cart-plan-features li::before {
        left: 12px !important;

        width: 26px !important;
        height: 26px !important;

        border-radius: 999px !important;

        font-size: 12px !important;
    }
}

@media (max-width: 390px) {

    .tbs-cart-plan-features li {
        padding: 10px 13px 10px 46px !important;
        font-size: 12.8px !important;
    }

    .tbs-cart-plan-features li::before {
        width: 25px !important;
        height: 25px !important;
        font-size: 11.5px !important;
    }
}




/* =========================================================
   🛒 TBS CARRITO - AJUSTE FINAL CAMPO CANTIDAD
   Objetivo:
   - Aumentar espacio de la columna Cantidad.
   - Mostrar completo el número digitado.
   - Mostrar controles + / - o flechas nativas.
   - Evitar que el campo se corte visualmente.
   Pegar al final del CSS actual.
========================================================= */


/* =========================================================
   1. COLUMNA CANTIDAD MÁS AMPLIA
========================================================= */

body.woocommerce-cart table.cart th.product-quantity,
body.woocommerce-cart table.cart td.product-quantity,
body.woocommerce-cart table.shop_table th.product-quantity,
body.woocommerce-cart table.shop_table td.product-quantity {
    width: 180px !important;
    min-width: 180px !important;
    max-width: 180px !important;

    padding-left: 18px !important;
    padding-right: 18px !important;

    text-align: center !important;
    overflow: visible !important;
}


/* =========================================================
   2. CONTENEDOR DE CANTIDAD MÁS GRANDE
========================================================= */

body.woocommerce-cart .quantity,
body.woocommerce-cart table.cart .quantity,
body.woocommerce-cart table.shop_table .quantity {
    width: 126px !important;
    min-width: 126px !important;
    max-width: 126px !important;

    height: 48px !important;
    min-height: 48px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;

    margin: 0 auto !important;
    padding: 0 !important;

    border-radius: 18px !important;
    overflow: visible !important;

    border: 1px solid rgba(104,112,131,.18) !important;

    background:
        radial-gradient(circle at 20% 15%, rgba(255,255,255,.95), transparent 34%),
        linear-gradient(135deg, rgba(255,255,255,.98), rgba(255,248,252,.86)) !important;

    box-shadow:
        0 10px 22px rgba(51,38,68,.055),
        inset 0 1px 0 rgba(255,255,255,.90) !important;
}


/* =========================================================
   3. INPUT NUMÉRICO VISIBLE Y CENTRADO
========================================================= */

body.woocommerce-cart .quantity input.qty,
body.woocommerce-cart table.cart .quantity input.qty,
body.woocommerce-cart table.shop_table .quantity input.qty,
body.woocommerce-cart input.qty {
    width: 68px !important;
    min-width: 68px !important;
    max-width: 68px !important;

    height: 46px !important;
    min-height: 46px !important;

    display: inline-flex !important;

    margin: 0 !important;
    padding: 0 6px !important;

    border: none !important;
    border-radius: 0 !important;

    background: transparent !important;
    color: #2f3445 !important;

    font-size: 17px !important;
    font-weight: 900 !important;
    line-height: 46px !important;
    text-align: center !important;

    opacity: 1 !important;
    visibility: visible !important;

    box-shadow: none !important;
    outline: none !important;

    appearance: auto !important;
    -webkit-appearance: auto !important;
    -moz-appearance: textfield !important;
}


/* =========================================================
   4. MOSTRAR FLECHAS NATIVAS DEL INPUT
========================================================= */

body.woocommerce-cart .quantity input.qty::-webkit-inner-spin-button,
body.woocommerce-cart .quantity input.qty::-webkit-outer-spin-button,
body.woocommerce-cart input.qty::-webkit-inner-spin-button,
body.woocommerce-cart input.qty::-webkit-outer-spin-button {
    opacity: 1 !important;
    display: block !important;

    width: 18px !important;
    height: auto !important;

    margin: 0 !important;

    appearance: auto !important;
    -webkit-appearance: inner-spin-button !important;
}


/* =========================================================
   5. BOTONES + / - SI EL TEMA LOS GENERA
========================================================= */

body.woocommerce-cart .quantity .plus,
body.woocommerce-cart .quantity .minus,
body.woocommerce-cart table.cart .quantity .plus,
body.woocommerce-cart table.cart .quantity .minus,
body.woocommerce-cart table.shop_table .quantity .plus,
body.woocommerce-cart table.shop_table .quantity .minus,
body.woocommerce-cart .quantity button.plus,
body.woocommerce-cart .quantity button.minus,
body.woocommerce-cart .quantity input.plus,
body.woocommerce-cart .quantity input.minus {
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;

    height: 46px !important;
    min-height: 46px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    margin: 0 !important;
    padding: 0 !important;

    border: none !important;
    border-radius: 15px !important;

    background:
        linear-gradient(135deg, rgba(255,255,255,.95), rgba(255,241,247,.88)) !important;

    color: #687083 !important;

    font-size: 18px !important;
    font-weight: 900 !important;
    line-height: 1 !important;

    opacity: 1 !important;
    visibility: visible !important;

    cursor: pointer !important;

    box-shadow: none !important;

    position: relative !important;
    z-index: 2 !important;
}

body.woocommerce-cart .quantity .minus {
    border-right: 1px solid rgba(104,112,131,.10) !important;
}

body.woocommerce-cart .quantity .plus {
    border-left: 1px solid rgba(104,112,131,.10) !important;
}

body.woocommerce-cart .quantity .plus:hover,
body.woocommerce-cart .quantity .minus:hover {
    background:
        linear-gradient(135deg, rgba(255,241,247,.98), rgba(238,248,255,.96)) !important;

    color: #ec3f86 !important;
}


/* =========================================================
   6. EVITAR RECORTES DE LA CELDA
========================================================= */

body.woocommerce-cart table.cart td.product-quantity *,
body.woocommerce-cart table.shop_table td.product-quantity * {
    overflow: visible !important;
}

body.woocommerce-cart table.cart td.product-quantity,
body.woocommerce-cart table.shop_table td.product-quantity {
    vertical-align: middle !important;
}


/* =========================================================
   7. TABLET
========================================================= */

@media (max-width: 980px) {

    body.woocommerce-cart table.cart th.product-quantity,
    body.woocommerce-cart table.cart td.product-quantity,
    body.woocommerce-cart table.shop_table th.product-quantity,
    body.woocommerce-cart table.shop_table td.product-quantity {
        width: 170px !important;
        min-width: 170px !important;
        max-width: 170px !important;
    }

    body.woocommerce-cart .quantity,
    body.woocommerce-cart table.cart .quantity,
    body.woocommerce-cart table.shop_table .quantity {
        width: 124px !important;
        min-width: 124px !important;
        max-width: 124px !important;
    }
}


/* =========================================================
   8. MÓVIL
========================================================= */

@media (max-width: 767px) {

    body.woocommerce-cart table.cart td.product-quantity,
    body.woocommerce-cart table.shop_table td.product-quantity {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;

        padding-left: 16px !important;
        padding-right: 16px !important;

        overflow: visible !important;
    }

    body.woocommerce-cart .quantity,
    body.woocommerce-cart table.cart .quantity,
    body.woocommerce-cart table.shop_table .quantity {
        width: 132px !important;
        min-width: 132px !important;
        max-width: 132px !important;

        height: 50px !important;
        min-height: 50px !important;

        justify-self: end !important;
    }

    body.woocommerce-cart .quantity input.qty,
    body.woocommerce-cart table.cart .quantity input.qty,
    body.woocommerce-cart table.shop_table .quantity input.qty,
    body.woocommerce-cart input.qty {
        width: 70px !important;
        min-width: 70px !important;
        max-width: 70px !important;

        height: 48px !important;
        min-height: 48px !important;

        font-size: 17px !important;
        line-height: 48px !important;
    }

    body.woocommerce-cart .quantity .plus,
    body.woocommerce-cart .quantity .minus,
    body.woocommerce-cart .quantity button.plus,
    body.woocommerce-cart .quantity button.minus,
    body.woocommerce-cart .quantity input.plus,
    body.woocommerce-cart .quantity input.minus {
        width: 36px !important;
        min-width: 36px !important;
        max-width: 36px !important;

        height: 48px !important;
        min-height: 48px !important;

        font-size: 18px !important;
    }
}


/* =========================================================
   9. MÓVIL PEQUEÑO
========================================================= */

@media (max-width: 390px) {

    body.woocommerce-cart .quantity,
    body.woocommerce-cart table.cart .quantity,
    body.woocommerce-cart table.shop_table .quantity {
        width: 124px !important;
        min-width: 124px !important;
        max-width: 124px !important;
    }

    body.woocommerce-cart .quantity input.qty,
    body.woocommerce-cart table.cart .quantity input.qty,
    body.woocommerce-cart table.shop_table .quantity input.qty,
    body.woocommerce-cart input.qty {
        width: 66px !important;
        min-width: 66px !important;
        max-width: 66px !important;

        font-size: 16px !important;
    }

    body.woocommerce-cart .quantity .plus,
    body.woocommerce-cart .quantity .minus,
    body.woocommerce-cart .quantity button.plus,
    body.woocommerce-cart .quantity button.minus,
    body.woocommerce-cart .quantity input.plus,
    body.woocommerce-cart .quantity input.minus {
        width: 34px !important;
        min-width: 34px !important;
        max-width: 34px !important;
    }
}








/* =========================================================
   🛒 TBS CARRITO - FORMATO MÓVIL PRODUCTO PREMIUM V2
   Ajustes:
   - Botón eliminar a la izquierda de la imagen.
   - Imagen y eliminar en una misma fila superior.
   - Producto legible debajo.
   - Precio, cantidad y subtotal completos.
   - Evita quiebres como "Preci o" o "Subto tal".
   Pegar al final del CSS actual.
========================================================= */

@media (max-width: 767px) {

    /* Contenedor general */
    body.woocommerce-cart .woocommerce,
    body.woocommerce-cart .entry-content > .woocommerce {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    /* Tabla como tarjeta */
    body.woocommerce-cart table.cart,
    body.woocommerce-cart table.shop_table {
        display: block !important;
        width: 100% !important;

        border-radius: 28px !important;
        overflow: hidden !important;

        background: rgba(255,255,255,.94) !important;
        border: 1px solid rgba(236, 63, 134, .12) !important;

        box-shadow:
            0 18px 48px rgba(160, 103, 138, .12),
            inset 0 1px 0 rgba(255,255,255,.92) !important;
    }

    body.woocommerce-cart table.cart thead,
    body.woocommerce-cart table.shop_table thead {
        display: none !important;
    }

    body.woocommerce-cart table.cart tbody,
    body.woocommerce-cart table.shop_table tbody {
        display: block !important;
        width: 100% !important;
    }

    /* Cada producto como una tarjeta interna */
    body.woocommerce-cart table.cart tbody tr.cart_item,
    body.woocommerce-cart table.shop_table tbody tr.cart_item {
        display: grid !important;
        grid-template-columns: 58px 1fr !important;
        grid-template-areas:
            "remove thumb"
            "name name"
            "price price"
            "quantity quantity"
            "subtotal subtotal" !important;

        width: 100% !important;

        margin: 0 !important;
        padding: 22px 18px 18px !important;

        background:
            radial-gradient(circle at 0% 0%, rgba(255, 219, 237, .18), transparent 32%),
            linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,248,252,.86)) !important;

        border-bottom: 1px solid rgba(236, 63, 134, .10) !important;
    }

    body.woocommerce-cart table.cart tbody tr.cart_item:last-child,
    body.woocommerce-cart table.shop_table tbody tr.cart_item:last-child {
        border-bottom: none !important;
    }

    /* Reset de celdas */
    body.woocommerce-cart table.cart tbody tr.cart_item td,
    body.woocommerce-cart table.shop_table tbody tr.cart_item td {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;

        display: flex !important;
        align-items: center !important;

        padding: 0 !important;
        margin: 0 !important;

        border: none !important;
        background: transparent !important;

        text-align: left !important;
    }

    /* Ocultar labels automáticos solo donde no aplican */
    body.woocommerce-cart table.cart tbody tr.cart_item td.product-remove::before,
    body.woocommerce-cart table.cart tbody tr.cart_item td.product-thumbnail::before,
    body.woocommerce-cart table.shop_table tbody tr.cart_item td.product-remove::before,
    body.woocommerce-cart table.shop_table tbody tr.cart_item td.product-thumbnail::before {
        display: none !important;
        content: none !important;
    }

    /* =====================================================
       FILA SUPERIOR: ELIMINAR + IMAGEN
    ===================================================== */

    body.woocommerce-cart table.cart tbody tr.cart_item td.product-remove,
    body.woocommerce-cart table.shop_table tbody tr.cart_item td.product-remove {
        grid-area: remove !important;

        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;

        min-height: 86px !important;

        padding: 0 !important;
    }

    body.woocommerce-cart table.cart tbody tr.cart_item td.product-thumbnail,
    body.woocommerce-cart table.shop_table tbody tr.cart_item td.product-thumbnail {
        grid-area: thumb !important;

        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;

        min-height: 86px !important;

        padding: 0 !important;
    }

    /* Botón eliminar a la izquierda de la imagen */
    body.woocommerce-cart table.cart .product-remove a.remove,
    body.woocommerce-cart table.shop_table .product-remove a.remove,
    body.woocommerce-cart a.remove {
        width: 42px !important;
        height: 42px !important;

        min-width: 42px !important;
        min-height: 42px !important;

        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        margin: 0 !important;

        border-radius: 999px !important;

        color: #ffffff !important;
        background:
            radial-gradient(circle at 25% 18%, rgba(255,255,255,.36), transparent 30%),
            linear-gradient(135deg, #f06ca5, #d82d74) !important;

        font-size: 25px !important;
        font-weight: 400 !important;
        line-height: 1 !important;

        box-shadow:
            0 12px 24px rgba(236,63,134,.24),
            inset 0 1px 0 rgba(255,255,255,.36) !important;
    }

    /* Imagen más visible */
    body.woocommerce-cart table.cart img,
    body.woocommerce-cart table.shop_table img {
        width: 92px !important;
        height: 92px !important;

        margin: 0 !important;

        object-fit: cover !important;
        border-radius: 20px !important;

        background: #ffffff !important;

        box-shadow:
            0 14px 28px rgba(51,38,68,.10),
            inset 0 1px 0 rgba(255,255,255,.80) !important;
    }

    /* =====================================================
       PRODUCTO
    ===================================================== */

    body.woocommerce-cart table.cart tbody tr.cart_item td.product-name,
    body.woocommerce-cart table.shop_table tbody tr.cart_item td.product-name {
        grid-area: name !important;

        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;

        margin-top: 18px !important;
        padding-top: 18px !important;

        border-top: 1px solid rgba(236, 63, 134, .08) !important;

        text-align: left !important;
    }

    body.woocommerce-cart table.cart tbody tr.cart_item td.product-name::before,
    body.woocommerce-cart table.shop_table tbody tr.cart_item td.product-name::before {
        content: "Producto" !important;

        display: block !important;

        color: #687083 !important;

        font-size: 12px !important;
        font-weight: 900 !important;
        line-height: 1 !important;
        letter-spacing: .10em !important;
        text-transform: uppercase !important;
        text-align: left !important;
    }

    body.woocommerce-cart table.cart .product-name a,
    body.woocommerce-cart table.shop_table .product-name a {
        display: block !important;

        max-width: 100% !important;

        color: #2f3445 !important;

        font-size: 18px !important;
        font-weight: 900 !important;
        line-height: 1.28 !important;
        text-align: left !important;
        text-decoration: none !important;

        word-break: normal !important;
        overflow-wrap: anywhere !important;
    }

    /* =====================================================
       PRECIO / CANTIDAD / SUBTOTAL COMPLETOS
    ===================================================== */

    body.woocommerce-cart table.cart tbody tr.cart_item td.product-price,
    body.woocommerce-cart table.shop_table tbody tr.cart_item td.product-price {
        grid-area: price !important;
    }

    body.woocommerce-cart table.cart tbody tr.cart_item td.product-quantity,
    body.woocommerce-cart table.shop_table tbody tr.cart_item td.product-quantity {
        grid-area: quantity !important;
    }

    body.woocommerce-cart table.cart tbody tr.cart_item td.product-subtotal,
    body.woocommerce-cart table.shop_table tbody tr.cart_item td.product-subtotal {
        grid-area: subtotal !important;
    }

    body.woocommerce-cart table.cart tbody tr.cart_item td.product-price,
    body.woocommerce-cart table.cart tbody tr.cart_item td.product-quantity,
    body.woocommerce-cart table.cart tbody tr.cart_item td.product-subtotal,
    body.woocommerce-cart table.shop_table tbody tr.cart_item td.product-price,
    body.woocommerce-cart table.shop_table tbody tr.cart_item td.product-quantity,
    body.woocommerce-cart table.shop_table tbody tr.cart_item td.product-subtotal {
        display: grid !important;
        grid-template-columns: minmax(118px, 38%) 1fr !important;
        align-items: center !important;
        gap: 14px !important;

        min-height: 72px !important;

        padding: 16px 0 !important;

        border-top: 1px solid rgba(236, 63, 134, .08) !important;

        color: #2f3445 !important;

        text-align: left !important;
    }

    /* Labels completos sin partir palabras */
    body.woocommerce-cart table.cart tbody tr.cart_item td.product-price::before,
    body.woocommerce-cart table.cart tbody tr.cart_item td.product-quantity::before,
    body.woocommerce-cart table.cart tbody tr.cart_item td.product-subtotal::before,
    body.woocommerce-cart table.shop_table tbody tr.cart_item td.product-price::before,
    body.woocommerce-cart table.shop_table tbody tr.cart_item td.product-quantity::before,
    body.woocommerce-cart table.shop_table tbody tr.cart_item td.product-subtotal::before {
        display: block !important;

        color: #2f3445 !important;

        font-size: 15px !important;
        font-weight: 900 !important;
        line-height: 1.2 !important;

        text-align: left !important;
        white-space: nowrap !important;
        word-break: keep-all !important;
        overflow-wrap: normal !important;
        hyphens: none !important;
    }

    body.woocommerce-cart table.cart tbody tr.cart_item td.product-price::before,
    body.woocommerce-cart table.shop_table tbody tr.cart_item td.product-price::before {
        content: "Precio:" !important;
    }

    body.woocommerce-cart table.cart tbody tr.cart_item td.product-quantity::before,
    body.woocommerce-cart table.shop_table tbody tr.cart_item td.product-quantity::before {
        content: "Cantidad:" !important;
    }

    body.woocommerce-cart table.cart tbody tr.cart_item td.product-subtotal::before,
    body.woocommerce-cart table.shop_table tbody tr.cart_item td.product-subtotal::before {
        content: "Subtotal:" !important;
    }

    /* Valores */
    body.woocommerce-cart table.cart tbody tr.cart_item td.product-price,
    body.woocommerce-cart table.cart tbody tr.cart_item td.product-subtotal,
    body.woocommerce-cart table.shop_table tbody tr.cart_item td.product-price,
    body.woocommerce-cart table.shop_table tbody tr.cart_item td.product-subtotal {
        font-size: 20px !important;
        font-weight: 950 !important;
        line-height: 1.2 !important;
    }

    body.woocommerce-cart table.cart tbody tr.cart_item td.product-price .amount,
    body.woocommerce-cart table.cart tbody tr.cart_item td.product-subtotal .amount,
    body.woocommerce-cart table.shop_table tbody tr.cart_item td.product-price .amount,
    body.woocommerce-cart table.shop_table tbody tr.cart_item td.product-subtotal .amount {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-start !important;

        color: #2f3445 !important;

        font-size: 20px !important;
        font-weight: 950 !important;
        line-height: 1 !important;

        white-space: nowrap !important;
    }

    /* Cantidad alineada y completa */
    body.woocommerce-cart table.cart tbody tr.cart_item td.product-quantity,
    body.woocommerce-cart table.shop_table tbody tr.cart_item td.product-quantity {
        overflow: visible !important;
    }

    body.woocommerce-cart .quantity,
    body.woocommerce-cart table.cart .quantity,
    body.woocommerce-cart table.shop_table .quantity {
        justify-self: start !important;

        width: 142px !important;
        min-width: 142px !important;
        max-width: 142px !important;

        height: 48px !important;
        min-height: 48px !important;

        margin: 0 !important;

        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        border-radius: 18px !important;
        overflow: visible !important;

        border: 1px solid rgba(104,112,131,.16) !important;

        background:
            linear-gradient(135deg, rgba(255,255,255,.98), rgba(255,248,252,.90)) !important;

        box-shadow:
            0 10px 22px rgba(51,38,68,.055),
            inset 0 1px 0 rgba(255,255,255,.90) !important;
    }

    body.woocommerce-cart .quantity input.qty,
    body.woocommerce-cart table.cart .quantity input.qty,
    body.woocommerce-cart table.shop_table .quantity input.qty,
    body.woocommerce-cart input.qty {
        width: 74px !important;
        min-width: 74px !important;
        max-width: 74px !important;

        height: 46px !important;
        min-height: 46px !important;

        padding: 0 6px !important;

        color: #2f3445 !important;
        background: transparent !important;

        font-size: 18px !important;
        font-weight: 950 !important;
        line-height: 46px !important;
        text-align: center !important;

        opacity: 1 !important;
        visibility: visible !important;

        border: none !important;
        box-shadow: none !important;
        outline: none !important;
    }

    body.woocommerce-cart .quantity .plus,
    body.woocommerce-cart .quantity .minus,
    body.woocommerce-cart .quantity button.plus,
    body.woocommerce-cart .quantity button.minus,
    body.woocommerce-cart .quantity input.plus,
    body.woocommerce-cart .quantity input.minus {
        width: 34px !important;
        min-width: 34px !important;
        max-width: 34px !important;

        height: 46px !important;
        min-height: 46px !important;

        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        color: #687083 !important;
        background: rgba(255, 241, 247, .72) !important;

        font-size: 18px !important;
        font-weight: 950 !important;

        border: none !important;
        box-shadow: none !important;
    }

    /* =====================================================
       ACCIONES CUPÓN / ACTUALIZAR
    ===================================================== */

    body.woocommerce-cart table.cart td.actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;

        width: 100% !important;

        padding: 20px 18px 22px !important;

        background:
            linear-gradient(180deg, rgba(255,248,252,.86), rgba(255,255,255,.96)) !important;
    }

    body.woocommerce-cart table.cart td.actions::before {
        display: none !important;
        content: none !important;
    }

    body.woocommerce-cart table.cart td.actions .coupon,
    body.woocommerce-cart form.woocommerce-cart-form .coupon,
    body.woocommerce-cart .coupon {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;

        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
    }

    body.woocommerce-cart .coupon input.input-text,
    body.woocommerce-cart .coupon #coupon_code,
    body.woocommerce-cart table.cart td.actions .coupon input.input-text,
    body.woocommerce-cart table.cart td.actions .coupon #coupon_code {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;

        height: 50px !important;
        min-height: 50px !important;

        padding: 0 18px !important;

        text-align: center !important;

        font-size: 14px !important;
        font-weight: 800 !important;
    }

    body.woocommerce-cart .coupon button.button,
    body.woocommerce-cart .coupon .button,
    body.woocommerce-cart .coupon button[name="apply_coupon"],
    body.woocommerce-cart .coupon input[name="apply_coupon"],
    body.woocommerce-cart button[name="apply_coupon"],
    body.woocommerce-cart input[name="apply_coupon"],
    body.woocommerce-cart table.cart td.actions > button[name="update_cart"],
    body.woocommerce-cart table.cart td.actions > input[name="update_cart"] {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;

        height: 54px !important;
        min-height: 54px !important;

        margin: 0 !important;
        padding: 0 18px !important;

        font-size: 15px !important;
        font-weight: 950 !important;
        letter-spacing: .02em !important;

        border-radius: 999px !important;
    }
}


/* =========================================================
   MÓVIL MUY PEQUEÑO
========================================================= */

@media (max-width: 390px) {

    body.woocommerce-cart table.cart tbody tr.cart_item,
    body.woocommerce-cart table.shop_table tbody tr.cart_item {
        grid-template-columns: 54px 1fr !important;
        padding: 20px 14px 16px !important;
    }

    body.woocommerce-cart table.cart .product-remove a.remove,
    body.woocommerce-cart table.shop_table .product-remove a.remove,
    body.woocommerce-cart a.remove {
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        min-height: 40px !important;
    }

    body.woocommerce-cart table.cart img,
    body.woocommerce-cart table.shop_table img {
        width: 86px !important;
        height: 86px !important;
    }

    body.woocommerce-cart table.cart .product-name a,
    body.woocommerce-cart table.shop_table .product-name a {
        font-size: 17px !important;
    }

    body.woocommerce-cart table.cart tbody tr.cart_item td.product-price,
    body.woocommerce-cart table.cart tbody tr.cart_item td.product-quantity,
    body.woocommerce-cart table.cart tbody tr.cart_item td.product-subtotal,
    body.woocommerce-cart table.shop_table tbody tr.cart_item td.product-price,
    body.woocommerce-cart table.shop_table tbody tr.cart_item td.product-quantity,
    body.woocommerce-cart table.shop_table tbody tr.cart_item td.product-subtotal {
        grid-template-columns: minmax(106px, 40%) 1fr !important;
        gap: 10px !important;
        min-height: 68px !important;
    }

    body.woocommerce-cart table.cart tbody tr.cart_item td.product-price::before,
    body.woocommerce-cart table.cart tbody tr.cart_item td.product-quantity::before,
    body.woocommerce-cart table.cart tbody tr.cart_item td.product-subtotal::before,
    body.woocommerce-cart table.shop_table tbody tr.cart_item td.product-price::before,
    body.woocommerce-cart table.shop_table tbody tr.cart_item td.product-quantity::before,
    body.woocommerce-cart table.shop_table tbody tr.cart_item td.product-subtotal::before {
        font-size: 14px !important;
    }

    body.woocommerce-cart .quantity,
    body.woocommerce-cart table.cart .quantity,
    body.woocommerce-cart table.shop_table .quantity {
        width: 132px !important;
        min-width: 132px !important;
        max-width: 132px !important;
    }

    body.woocommerce-cart .quantity input.qty,
    body.woocommerce-cart table.cart .quantity input.qty,
    body.woocommerce-cart table.shop_table .quantity input.qty,
    body.woocommerce-cart input.qty {
        width: 66px !important;
        min-width: 66px !important;
        max-width: 66px !important;
        font-size: 17px !important;
    }
}/* End custom CSS */