.elementor-800 .elementor-element.elementor-element-ba0536a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:100px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-800 .elementor-element.elementor-element-ba0536a:not(.elementor-motion-effects-element-type-background), .elementor-800 .elementor-element.elementor-element-ba0536a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-800 .elementor-element.elementor-element-f1d7541{--display:flex;--min-height:469px;--padding-top:50px;--padding-bottom:50px;--padding-left:50px;--padding-right:50px;}.elementor-800 .elementor-element.elementor-element-f1d7541:not(.elementor-motion-effects-element-type-background), .elementor-800 .elementor-element.elementor-element-f1d7541 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-bc4fec0 );}@media(max-width:1024px){.elementor-800 .elementor-element.elementor-element-ba0536a{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}@media(max-width:767px){.elementor-800 .elementor-element.elementor-element-ba0536a{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-800 .elementor-element.elementor-element-f1d7541{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}/* Start custom CSS for text-editor, class: .elementor-element-eac5e79 *//* ==========================================================================
   ESTILOS GENERALES (DESKTOP)
   ========================================================================== */

/* BOX SIZING GLOBAL PARA EVITAR DESBORDAMIENTOS */
.woocommerce-cart *, 
.woocommerce-cart *::before, 
.woocommerce-cart *::after {
    box-sizing: border-box;
}

/* CONTENEDOR PRINCIPAL */
.woocommerce-cart .woocommerce {
    max-width: 1200px;
    margin: 60px auto;
    padding: 35px;
    background: transparent;
    border-radius: 8px;
    width: 100%;
}

/* TABLA DE PRODUCTOS */
.woocommerce-cart-form table.shop_table {
    width: 100%;
    border: none;
    border-radius: 8px;
    overflow: hidden;
    background: transparent;
    border-collapse: collapse;
}

/* CABECERA */
.woocommerce-cart-form table.shop_table th {
    background: #C92827;
    color: white;
    padding: 18px;
    font-size: 15px;
    text-transform: uppercase;
    border-radius: 0;
    text-align: left;
}

/* CELDAS */
.woocommerce-cart-form table.shop_table td {
    padding: 22px;
    border-bottom: 1px solid rgba(201, 40, 39, .25);
    vertical-align: middle;
    color: white;
}

/* NOMBRE PRODUCTO */
.woocommerce-cart-form .product-name a {
    color: #C92827;
    font-weight: 600;
    font-size: 17px;
    text-decoration: none;
}

/* PRECIO */
.woocommerce-cart-form .amount {
    color: #C92827;
    font-weight: 700;
}

/* TEXTO GENERAL DEL CARRITO */
.woocommerce-cart-form,
.woocommerce-cart-form span,
.woocommerce-cart-form td,
.cart_totals,
.cart_totals th,
.cart_totals td {
    color: white;
}

/* IMÁGENES */
.woocommerce-cart-form .product-thumbnail img {
    width: 90px;
    height: 90px;
    object-fit: cover;
    border-radius: 8px;
    display: block;
}

/* INPUT CANTIDAD */
.quantity input {
    border-radius: 8px;
    border: 1px solid #C92827;
    padding: 12px;
    width: 70px;
    background: transparent;
    color: white;
    text-align: center;
}

/* BOTONES GENERALES */
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button {
    background: #C92827 !important;
    color: white !important;
    border-radius: 8px;
    padding: 14px 28px;
    border: none;
    font-weight: 600;
    transition: .3s;
    cursor: pointer;
    display: inline-block;
    text-align: center;
}

.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce input.button:hover {
    background: #990606 !important;
    transform: translateY(-2px);
}

/* CUPÓN */
.woocommerce-cart .coupon {
    display: flex;
    gap: 10px;
    align-items: center;
}

.woocommerce-cart .coupon input.input-text {
    border-radius: 8px;
    padding: 14px 20px;
    border: 1px solid #C92827;
    background: transparent;
    color: white;
    min-width: 200px;
}

/* PLACEHOLDER */
::placeholder {
    color: white;
    opacity: .7;
}

/* RESUMEN DEL CARRITO */
.cart_totals {
    background: rgba(201, 40, 39, .08);
    padding: 30px;
    border-radius: 8px;
    margin-top: 35px;
    border: 1px solid rgba(201, 40, 39, .35);
}

.cart_totals h2 {
    color: #C92827;
    font-size: 28px;
    margin-top: 0;
}

.cart_totals table.shop_table {
    width: 100%;
}

.cart_totals table.shop_table th {
    background: transparent;
    padding: 12px 0;
    color: white;
}

.cart_totals table.shop_table td {
    padding: 12px 0;
    border-bottom: 1px solid rgba(201, 40, 39, .15);
}

/* TOTAL */
.cart_totals .order-total strong {
    font-size: 22px;
    color: #C92827;
}


/* ==========================================================================
   1. ADAPTACIÓN PARA TABLETS (768px a 1024px)
   ========================================================================== */

@media (min-width: 768px) and (max-width: 1024px) {

    /* Reducción de padding del contenedor principal */
    .woocommerce-cart .woocommerce {
        padding: 20px;
        margin: 30px auto;
    }

    /* Reducción proporcional del espacio en celdas de la tabla */
    .woocommerce-cart-form table.shop_table th,
    .woocommerce-cart-form table.shop_table td {
        padding: 12px 8px;
        font-size: 14px;
    }

    /* Ajuste de tamaño de imagen para evitar compresión */
    .woocommerce-cart-form .product-thumbnail img {
        width: 65px;
        height: 65px;
    }

    /* Ajuste de inputs en tablet */
    .quantity input {
        padding: 8px;
        width: 60px;
    }

    .woocommerce-cart .coupon {
        flex-wrap: wrap;
    }

    .woocommerce-cart .coupon input.input-text {
        min-width: 150px;
        padding: 10px 14px;
    }

    /* Botones más compactos */
    .woocommerce button.button,
    .woocommerce a.button,
    .woocommerce input.button {
        padding: 10px 18px;
        font-size: 14px;
    }

    /* Resumen de carrito en tablet */
    .cart_totals {
        padding: 20px;
        margin-top: 25px;
    }
}


/* ==========================================================================
   2. ADAPTACIÓN PARA TELÉFONOS / MÓVILES (Hasta 767px)
   ========================================================================== */

@media (max-width: 767px) {

    /* Ajuste del contenedor principal */
    .woocommerce-cart .woocommerce {
        padding: 12px;
        margin: 15px auto;
    }

    /* Ocultar la cabecera original de la tabla */
    .woocommerce-cart-form table.shop_table thead {
        display: none;
    }

    /* Convertir la estructura de la tabla en bloques independientes (Tarjetas) */
    .woocommerce-cart-form table.shop_table,
    .woocommerce-cart-form table.shop_table tbody,
    .woocommerce-cart-form table.shop_table tr {
        display: block;
        width: 100%;
    }

    /* Fila del producto transformada en tarjeta */
    .woocommerce-cart-form table.shop_table tr.cart_item {
        background: rgba(201, 40, 39, 0.05);
        border: 1px solid rgba(201, 40, 39, 0.25);
        border-radius: 8px;
        margin-bottom: 15px;
        padding: 12px;
    }

    /* Celdas tipo flex para formato clave/valor */
    .woocommerce-cart-form table.shop_table td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 10px 0;
        border-bottom: 1px solid rgba(201, 40, 39, 0.15);
        text-align: right;
    }

    .woocommerce-cart-form table.shop_table td:last-child {
        border-bottom: none;
    }

    /* Asignación del nombre del campo mediante data-title */
    .woocommerce-cart-form table.shop_table td::before {
        content: attr(data-title);
        font-weight: 600;
        color: white;
        text-align: left;
        padding-right: 15px;
    }

    /* Excepciones para botón eliminar e imagen */
    .woocommerce-cart-form table.shop_table td.product-remove {
        justify-content: flex-end;
        padding-bottom: 5px;
    }

    .woocommerce-cart-form table.shop_table td.product-remove::before,
    .woocommerce-cart-form table.shop_table td.product-thumbnail::before {
        content: ""; 
    }

    .woocommerce-cart-form table.shop_table td.product-thumbnail {
        justify-content: center;
    }

    .woocommerce-cart-form .product-thumbnail img {
        width: 80px;
        height: 80px;
    }

    /* Formulario de Cupón y actualización de carrito */
    .woocommerce-cart-form td.actions {
        display: block;
        padding: 10px 0 0 0;
        border-bottom: none;
    }

    .woocommerce-cart .coupon {
        flex-direction: column;
        width: 100%;
        margin-bottom: 15px;
    }

    .woocommerce-cart .coupon input.input-text {
        width: 100%;
    }

    /* Botones a ancho completo */
    .woocommerce button.button,
    .woocommerce a.button,
    .woocommerce input.button {
        width: 100%;
        margin-bottom: 10px;
    }

    /* Totales del carrito en formato móvil */
    .cart_totals {
        padding: 15px;
        margin-top: 20px;
    }

    .cart_totals table.shop_table,
    .cart_totals table.shop_table tbody,
    .cart_totals table.shop_table tr,
    .cart_totals table.shop_table th,
    .cart_totals table.shop_table td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
    }

    .cart_totals table.shop_table tr {
        border-bottom: 1px solid rgba(201, 40, 39, 0.15);
        padding: 8px 0;
    }
}/* End custom CSS */