.elementor-307 .elementor-element.elementor-element-ca9073b{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--overlay-opacity:0.9;--padding-top:70px;--padding-bottom:50px;--padding-left:100px;--padding-right:80px;}.elementor-307 .elementor-element.elementor-element-ca9073b:not(.elementor-motion-effects-element-type-background), .elementor-307 .elementor-element.elementor-element-ca9073b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://tallergesmovil.com/wp-content/uploads/2026/07/portada-mecanico2.webp");}.elementor-307 .elementor-element.elementor-element-ca9073b::before, .elementor-307 .elementor-element.elementor-element-ca9073b > .elementor-background-video-container::before, .elementor-307 .elementor-element.elementor-element-ca9073b > .e-con-inner > .elementor-background-video-container::before, .elementor-307 .elementor-element.elementor-element-ca9073b > .elementor-background-slideshow::before, .elementor-307 .elementor-element.elementor-element-ca9073b > .e-con-inner > .elementor-background-slideshow::before, .elementor-307 .elementor-element.elementor-element-ca9073b > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#090F1C;--background-overlay:'';}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-307 .elementor-element.elementor-element-aa8c1fd{border-style:solid;border-width:0px 0px 3px 0px;border-color:var( --e-global-color-primary );}.elementor-307 .elementor-element.elementor-element-aa8c1fd .elementor-heading-title{font-family:"Plus Jakarta Sans", Sans-serif;font-size:28px;font-weight:600;color:var( --e-global-color-astglobalcolor4 );}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-307 .elementor-element.elementor-element-2b88591{padding:6px 0px 0px 0px;}.elementor-307 .elementor-element.elementor-element-2b88591 .elementor-icon-wrapper{text-align:center;}.elementor-307 .elementor-element.elementor-element-2b88591.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-307 .elementor-element.elementor-element-2b88591.elementor-view-framed .elementor-icon, .elementor-307 .elementor-element.elementor-element-2b88591.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-307 .elementor-element.elementor-element-2b88591.elementor-view-framed .elementor-icon, .elementor-307 .elementor-element.elementor-element-2b88591.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-307 .elementor-element.elementor-element-2b88591 .elementor-icon{font-size:25px;}.elementor-307 .elementor-element.elementor-element-2b88591 .elementor-icon svg{height:25px;}.elementor-307 .elementor-element.elementor-element-2dcf317 .elementor-heading-title{font-family:"Plus Jakarta Sans", Sans-serif;font-size:28px;font-weight:600;color:var( --e-global-color-secondary );}.elementor-307 .elementor-element.elementor-element-0c809b1{padding:6px 0px 0px 0px;}.elementor-307 .elementor-element.elementor-element-0c809b1 .elementor-icon-wrapper{text-align:center;}.elementor-307 .elementor-element.elementor-element-0c809b1.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-307 .elementor-element.elementor-element-0c809b1.elementor-view-framed .elementor-icon, .elementor-307 .elementor-element.elementor-element-0c809b1.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-307 .elementor-element.elementor-element-0c809b1.elementor-view-framed .elementor-icon, .elementor-307 .elementor-element.elementor-element-0c809b1.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-307 .elementor-element.elementor-element-0c809b1 .elementor-icon{font-size:25px;}.elementor-307 .elementor-element.elementor-element-0c809b1 .elementor-icon svg{height:25px;}.elementor-307 .elementor-element.elementor-element-9195209 .elementor-heading-title{font-family:"Plus Jakarta Sans", Sans-serif;font-size:28px;font-weight:600;color:var( --e-global-color-secondary );}.elementor-307 .elementor-element.elementor-element-27f0ab9b{--display:flex;--overlay-opacity:0.4;--padding-top:60px;--padding-bottom:120px;--padding-left:60px;--padding-right:60px;}.elementor-307 .elementor-element.elementor-element-27f0ab9b:not(.elementor-motion-effects-element-type-background), .elementor-307 .elementor-element.elementor-element-27f0ab9b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F5F5F5;}.elementor-307 .elementor-element.elementor-element-27f0ab9b::before, .elementor-307 .elementor-element.elementor-element-27f0ab9b > .elementor-background-video-container::before, .elementor-307 .elementor-element.elementor-element-27f0ab9b > .e-con-inner > .elementor-background-video-container::before, .elementor-307 .elementor-element.elementor-element-27f0ab9b > .elementor-background-slideshow::before, .elementor-307 .elementor-element.elementor-element-27f0ab9b > .e-con-inner > .elementor-background-slideshow::before, .elementor-307 .elementor-element.elementor-element-27f0ab9b > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-image:url("https://tallergesmovil.com/wp-content/uploads/2026/07/h3_bg1.jpg");--background-overlay:'';}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}:root{--page-title-display:none;}@media(min-width:768px){.elementor-307 .elementor-element.elementor-element-ca9073b{--content-width:1400px;}.elementor-307 .elementor-element.elementor-element-27f0ab9b{--content-width:1400px;}}@media(max-width:1024px){.elementor-307 .elementor-element.elementor-element-ca9073b{--padding-top:80px;--padding-bottom:40px;--padding-left:40px;--padding-right:40px;}}@media(max-width:767px){.elementor-307 .elementor-element.elementor-element-ca9073b{--padding-top:40px;--padding-bottom:20px;--padding-left:30px;--padding-right:30px;}.elementor-307 .elementor-element.elementor-element-aa8c1fd .elementor-heading-title{font-size:35px;}.elementor-307 .elementor-element.elementor-element-2dcf317 .elementor-heading-title{font-size:35px;}.elementor-307 .elementor-element.elementor-element-9195209 .elementor-heading-title{font-size:35px;}}/* Start custom CSS for container, class: .elementor-element-27f0ab9b *//* ==========================================================
   CARRITO WOOCOMMERCE — GESMÓVIL
   CSS COMPLETO, ACTUALIZADO Y UNIFICADO
   ========================================================== */

body.woocommerce-cart {
    --gesmovil-verde: #2DBF4F;
    --gesmovil-verde-hover: #21A940;
    --gesmovil-verde-claro: #F0FAF2;
    --gesmovil-oscuro: #111B29;
    --gesmovil-texto: #344050;
    --gesmovil-gris: #737E8D;
    --gesmovil-borde: #DCE4DE;
    --gesmovil-fondo: #F4F8F5;
    --gesmovil-blanco: #FFFFFF;
    --gesmovil-error: #D92D20;
    --gesmovil-radio: 14px;

    /* Cambia solo este valor para ajustar el espacio de la tabla de productos */
    /* Espacio exterior lateral y superior de la tabla de productos */
    --padding-tabla-productos: 35px;
    /* Separación normal entre columnas internas */
    --padding-interno-columnas: 12px;

    font-family: "Montserrat", sans-serif !important;
}


/* ==========================================================
   FONDO Y TIPOGRAFÍA GENERAL
   ========================================================== */

body.woocommerce-cart .site-content,
body.woocommerce-cart .site-main,
body.woocommerce-cart .entry-content {
    background-color: var(--gesmovil-fondo) !important;
}

body.woocommerce-cart .woocommerce,
body.woocommerce-cart .woocommerce p,
body.woocommerce-cart .woocommerce span,
body.woocommerce-cart .woocommerce a,
body.woocommerce-cart .woocommerce input,
body.woocommerce-cart .woocommerce button,
body.woocommerce-cart .woocommerce table,
body.woocommerce-cart .woocommerce th,
body.woocommerce-cart .woocommerce td {
    font-family: "Montserrat", sans-serif !important;
}


/* ==========================================================
   DISTRIBUCIÓN PRINCIPAL
   PRODUCTOS IZQUIERDA / TOTALES DERECHA
   ========================================================== */

/* Selector específico del widget actual + alternativas de respaldo */
body.woocommerce-cart
.elementor-element-4623c869
.woocommerce,
body.woocommerce-cart
.elementor-widget-text-editor
.elementor-widget-container
> .woocommerce,
body.woocommerce-cart
.elementor-widget-text-editor
> .woocommerce,
body.woocommerce-cart
.entry-content
> .woocommerce {
    display: grid !important;

    grid-template-columns:
        minmax(0, 1.35fr)
        minmax(350px, 0.75fr) !important;

    grid-template-areas:
        "avisos avisos"
        "productos totales" !important;

    column-gap: 70px !important;
    row-gap: 0 !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    align-items: start !important;

    box-sizing: border-box !important;
}


/* Avisos a ancho completo */
body.woocommerce-cart
.elementor-element-4623c869
.woocommerce
> .woocommerce-notices-wrapper,
body.woocommerce-cart
.woocommerce
> .woocommerce-notices-wrapper {
    grid-area: avisos !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 0 24px !important;
    padding: 0 !important;

    box-sizing: border-box !important;
}


/* Si no hay avisos, no debe reservar espacio */
body.woocommerce-cart
.elementor-element-4623c869
.woocommerce
> .woocommerce-notices-wrapper:empty,
body.woocommerce-cart
.woocommerce
> .woocommerce-notices-wrapper:empty {
    display: none !important;
    margin: 0 !important;
}


/* Columna izquierda */
body.woocommerce-cart
.elementor-element-4623c869
.woocommerce
> form.woocommerce-cart-form,
body.woocommerce-cart .woocommerce-cart-form {
    grid-area: productos !important;

    display: block !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    float: none !important;
    clear: none !important;

    box-sizing: border-box !important;
}


/* Columna derecha */
body.woocommerce-cart
.elementor-element-4623c869
.woocommerce
> .cart-collaterals,
body.woocommerce-cart .cart-collaterals {
    grid-area: totales !important;

    display: block !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    float: none !important;
    clear: none !important;

    align-self: start !important;

    box-sizing: border-box !important;
}

body.woocommerce-cart
.cart-collaterals
.cart_totals {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    float: none !important;
    clear: none !important;

    border: 1px solid var(--gesmovil-borde) !important;
    border-radius: var(--gesmovil-radio) !important;

    background-color: var(--gesmovil-blanco) !important;

    overflow: hidden !important;

    box-sizing: border-box !important;
}


/* ==========================================================
   TABLA DE PRODUCTOS
   El padding se controla arriba con --padding-tabla-productos
   ========================================================== */

body.woocommerce-cart
table.woocommerce-cart-form__contents {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;

    border: 1px solid var(--gesmovil-borde) !important;
    border-radius: var(--gesmovil-radio) !important;

    border-collapse: separate !important;
    border-spacing: 0 !important;

    background-color: var(--gesmovil-blanco) !important;

    overflow: hidden !important;

    table-layout: fixed !important;

    box-sizing: border-box !important;
}


/* ==========================================================
   CABECERA DE PRODUCTOS CLARA
   ========================================================== */

body.woocommerce-cart
table.woocommerce-cart-form__contents
thead,
body.woocommerce-cart
table.woocommerce-cart-form__contents
thead tr,
body.woocommerce-cart
table.woocommerce-cart-form__contents
thead th {
    background-color: var(--gesmovil-blanco) !important;
    color: var(--gesmovil-oscuro) !important;
}

body.woocommerce-cart
table.woocommerce-cart-form__contents
thead th {
    padding:
        var(--padding-tabla-productos)
        var(--padding-interno-columnas)
        20px !important;

    border: 0 !important;
    border-bottom: 1px solid var(--gesmovil-borde) !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;

    text-align: left !important;
    text-transform: none !important;

    box-sizing: border-box !important;
}

body.woocommerce-cart
table.woocommerce-cart-form__contents
thead th.product-price,
body.woocommerce-cart
table.woocommerce-cart-form__contents
thead th.product-quantity,
body.woocommerce-cart
table.woocommerce-cart-form__contents
thead th.product-subtotal {
    text-align: center !important;
}

/* Anchos compactos para evitar espacios vacíos innecesarios */
body.woocommerce-cart table.cart th.product-price,
body.woocommerce-cart table.cart td.product-price {
    width: 145px !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: 150px !important;
}



/* Padding exterior: solo borde izquierdo y derecho de la tabla */
@media screen and (min-width: 769px) {
    body.woocommerce-cart
    table.woocommerce-cart-form__contents
    thead th:first-child,
    body.woocommerce-cart
    table.woocommerce-cart-form__contents
    tbody tr.cart_item td:first-child {
        padding-left: var(--padding-tabla-productos) !important;
    }

    body.woocommerce-cart
    table.woocommerce-cart-form__contents
    thead th:last-child,
    body.woocommerce-cart
    table.woocommerce-cart-form__contents
    tbody tr.cart_item td:last-child {
        padding-right: var(--padding-tabla-productos) !important;
    }
}

/* ==========================================================
   FILAS DE PRODUCTOS
   ========================================================== */

body.woocommerce-cart
table.woocommerce-cart-form__contents
tbody
tr.cart_item
td {
    padding: 24px var(--padding-interno-columnas) !important;

    border: 0 !important;
    border-bottom: 1px solid var(--gesmovil-borde) !important;

    background-color: var(--gesmovil-blanco) !important;

    color: var(--gesmovil-texto) !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 14px !important;
    line-height: 1.5 !important;

    vertical-align: middle !important;

    box-sizing: border-box !important;
}

body.woocommerce-cart
table.woocommerce-cart-form__contents
tbody
tr.cart_item
td.product-price,
body.woocommerce-cart
table.woocommerce-cart-form__contents
tbody
tr.cart_item
td.product-quantity,
body.woocommerce-cart
table.woocommerce-cart-form__contents
tbody
tr.cart_item
td.product-subtotal {
    text-align: center !important;
}


/* ==========================================================
   ELIMINAR PRODUCTO
   ========================================================== */

body.woocommerce-cart
table.cart
th.product-remove,
body.woocommerce-cart
table.cart
td.product-remove {
    width: 86px !important;
    min-width: 86px !important;
    max-width: 86px !important;
    padding-right: var(--padding-interno-columnas) !important;
    text-align: center !important;
}

body.woocommerce-cart
table.cart
.product-remove
a.remove {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 34px !important;
    height: 34px !important;

    margin: 0 auto !important;
    padding: 0 !important;

    border: 1px solid var(--gesmovil-borde) !important;
    border-radius: 50% !important;

    background-color: #F8FAF8 !important;

    color: var(--gesmovil-gris) !important;

    text-decoration: none !important;

    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease !important;
}

body.woocommerce-cart
table.cart
.product-remove
a.remove:hover {
    border-color: #F3C5C1 !important;

    background-color: #FFF3F2 !important;

    color: var(--gesmovil-error) !important;

    transform: scale(1.05) !important;
}

body.woocommerce-cart
table.cart
.product-remove
a.remove svg {
    width: 17px !important;
    height: 17px !important;

    fill: currentColor !important;
}


/* ==========================================================
   IMAGEN DEL PRODUCTO
   ========================================================== */

body.woocommerce-cart
table.cart
th.product-thumbnail,
body.woocommerce-cart
table.cart
td.product-thumbnail {
    width: 96px !important;
    min-width: 96px !important;
    max-width: 96px !important;
    padding-left: var(--padding-interno-columnas) !important;
    padding-right: var(--padding-interno-columnas) !important;
}

body.woocommerce-cart
table.cart
.product-thumbnail
a {
    display: block !important;

    width: 72px !important;
    height: 72px !important;

    margin: 0 auto !important;

    border: 1px solid var(--gesmovil-borde) !important;
    border-radius: 10px !important;

    background-color: #F8FAF8 !important;

    overflow: hidden !important;
}

body.woocommerce-cart
table.cart
.product-thumbnail
img {
    display: block !important;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;

    object-fit: contain !important;

    border: 0 !important;
    border-radius: 0 !important;
}


/* ==========================================================
   NOMBRE DEL PRODUCTO
   ========================================================== */

body.woocommerce-cart
table.cart
th.product-name,
body.woocommerce-cart
table.cart
td.product-name {
    width: auto !important;
    min-width: 0 !important;
    padding-left: var(--padding-interno-columnas) !important;
    padding-right: var(--padding-interno-columnas) !important;
}

body.woocommerce-cart
table.cart
.product-name
a {
    color: var(--gesmovil-oscuro) !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    text-decoration: none !important;

    transition: color 0.2s ease !important;
}

body.woocommerce-cart
table.cart
.product-name
a:hover {
    color: var(--gesmovil-verde-hover) !important;
}


/* ==========================================================
   PRECIOS
   ========================================================== */

body.woocommerce-cart
table.cart
.product-price,
body.woocommerce-cart
table.cart
.product-subtotal {
    white-space: nowrap !important;
}

body.woocommerce-cart
table.cart
.product-price
.woocommerce-Price-amount {
    color: var(--gesmovil-texto) !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}

body.woocommerce-cart
table.cart
.product-subtotal
.woocommerce-Price-amount {
    color: var(--gesmovil-oscuro) !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}


/* ==========================================================
   CANTIDAD
   ========================================================== */

body.woocommerce-cart
table.cart
.quantity {
    display: flex !important;
    justify-content: center !important;

    width: 100% !important;

    margin: 0 !important;
}

body.woocommerce-cart
table.cart
.quantity
br {
    display: none !important;
}

body.woocommerce-cart
table.cart
.quantity
input.qty {
    display: block !important;

    width: 78px !important;
    min-width: 78px !important;

    height: 52px !important;
    min-height: 52px !important;

    margin: 0 auto !important;
    padding: 10px 12px !important;

    border: 1px solid var(--gesmovil-borde) !important;
    border-radius: 5px !important;
    outline: none !important;

    background-color: var(--gesmovil-blanco) !important;

    color: var(--gesmovil-oscuro) !important;

    box-shadow: none !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1 !important;

    text-align: center !important;

    box-sizing: border-box !important;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease !important;
}

body.woocommerce-cart
table.cart
.quantity
input.qty:focus {
    border-color: var(--gesmovil-verde) !important;

    box-shadow:
        0 0 0 4px rgba(45, 191, 79, 0.12) !important;
}


/* ==========================================================
   ZONA DE CUPÓN Y ACTUALIZAR CARRITO
   ========================================================== */

/*
   Mantener la celda como table-cell es imprescindible para que
   colspan="6" ocupe todo el ancho real de la tabla.
*/
body.woocommerce-cart
.elementor-element-4623c869
table.cart
td.actions,
body.woocommerce-cart
table.cart
td.actions {
    display: table-cell !important;

    width: auto !important;
    min-height: 92px !important;

    margin: 0 !important;
    padding: 24px var(--padding-tabla-productos) !important;

    border: 0 !important;
    background-color: #FAFCFA !important;

    vertical-align: middle !important;
    text-align: left !important;

    box-sizing: border-box !important;
}

/* Limpiar correctamente los dos grupos flotados */
body.woocommerce-cart
table.cart
td.actions::after {
    content: "" !important;
    display: table !important;
    clear: both !important;
}

/* Neutralizar posiciones y transformaciones heredadas */
body.woocommerce-cart
table.cart
td.actions
.coupon,
body.woocommerce-cart
table.cart
td.actions
> p,
body.woocommerce-cart
table.cart
td.actions
button,
body.woocommerce-cart
table.cart
td.actions
input {
    position: static !important;
    inset: auto !important;

    transform: none !important;

    box-sizing: border-box !important;
}

/* Código de cupón + Aplicar cupón, juntos a la izquierda */
body.woocommerce-cart
table.cart
td.actions
.coupon {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;

    gap: 10px !important;

    width: auto !important;
    max-width: calc(100% - 230px) !important;

    margin: 0 !important;
    padding: 0 !important;

    float: left !important;
    clear: none !important;
}

/* Actualizar carrito, separado y pegado al lado derecho */
body.woocommerce-cart
table.cart
td.actions
> p:first-of-type {
    display: block !important;

    width: auto !important;
    max-width: 210px !important;

    margin: 0 !important;
    padding: 0 !important;

    float: right !important;
    clear: none !important;

    text-align: right !important;
}

/* Ocultar únicamente el párrafo que contiene los nonces */
body.woocommerce-cart
table.cart
td.actions
> p:last-of-type {
    display: none !important;
}

/* Campo del cupón */
body.woocommerce-cart
table.cart
td.actions
#coupon_code {
    display: block !important;

    width: 200px !important;
    min-width: 200px !important;

    height: 52px !important;
    min-height: 52px !important;

    margin: 0 !important;
    padding: 13px 15px !important;

    float: none !important;

    border: 1px solid var(--gesmovil-borde) !important;
    border-radius: 5px !important;
    outline: none !important;

    background-color: var(--gesmovil-blanco) !important;
    color: var(--gesmovil-oscuro) !important;

    box-shadow: none !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;

    box-sizing: border-box !important;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease !important;
}

body.woocommerce-cart
table.cart
td.actions
#coupon_code::placeholder {
    color: #98A2B0 !important;
    opacity: 1 !important;
}

body.woocommerce-cart
table.cart
td.actions
#coupon_code:focus {
    border-color: var(--gesmovil-verde) !important;
    box-shadow: 0 0 0 4px rgba(45, 191, 79, 0.12) !important;
}

/* Botones Aplicar cupón y Actualizar carrito */
body.woocommerce-cart
table.cart
td.actions
button.button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    visibility: visible !important;
    opacity: 1 !important;

    width: auto !important;
    min-width: 165px !important;

    height: 52px !important;
    min-height: 52px !important;

    margin: 0 !important;
    padding: 12px 20px !important;

    float: none !important;

    border: 1px solid var(--gesmovil-verde) !important;
    border-radius: 5px !important;

    background-color: var(--gesmovil-verde) !important;
    color: var(--gesmovil-blanco) !important;

    box-shadow: none !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;

    text-align: center !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;

    cursor: pointer !important;

    box-sizing: border-box !important;

    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease !important;
}

body.woocommerce-cart
table.cart
td.actions
button[name="update_cart"] {
    width: 190px !important;
    min-width: 190px !important;
}

body.woocommerce-cart
table.cart
td.actions
button.button:hover {
    border-color: var(--gesmovil-verde-hover) !important;
    background-color: var(--gesmovil-verde-hover) !important;
    color: var(--gesmovil-blanco) !important;
    transform: translateY(-1px) !important;
}

/* WooCommerce lo mantiene desactivado hasta que cambie la cantidad */
body.woocommerce-cart
table.cart
td.actions
button[name="update_cart"]:disabled {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 0.48 !important;

    border-color: var(--gesmovil-verde) !important;
    background-color: var(--gesmovil-verde) !important;
    color: var(--gesmovil-blanco) !important;

    cursor: not-allowed !important;
    transform: none !important;
}


/* ==========================================================
   CONTROL FINAL DEL PADDING DE LA TABLA
   40px solo en bordes exteriores, no en cada columna
   ========================================================== */

@media screen and (min-width: 769px) {

    body.woocommerce-cart
    table.woocommerce-cart-form__contents
    thead th:not(:first-child):not(:last-child),
    body.woocommerce-cart
    table.woocommerce-cart-form__contents
    tbody tr.cart_item td:not(:first-child):not(:last-child) {
        padding-left: var(--padding-interno-columnas) !important;
        padding-right: var(--padding-interno-columnas) !important;
    }

    body.woocommerce-cart
    table.woocommerce-cart-form__contents
    tbody tr.cart_item td {
        padding-top: 24px !important;
        padding-bottom: 24px !important;
    }

    body.woocommerce-cart
    table.cart
    td.actions {
        padding:
            24px
            var(--padding-tabla-productos) !important;
    }
}


/* ==========================================================
   CABECERA OSCURA SOLO EN TOTALES
   ========================================================== */

body.woocommerce-cart
.cart_totals
> h2 {
    display: flex !important;
    align-items: center !important;

    min-height: 80px !important;

    margin: 0 !important;
    padding: 23px 28px !important;

    border: 0 !important;

    background-color: var(--gesmovil-oscuro) !important;

    color: var(--gesmovil-blanco) !important;

    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;

    text-transform: none !important;
    letter-spacing: 0 !important;

    box-sizing: border-box !important;
}

body.woocommerce-cart
.cart_totals
> h2::before {
    content: "" !important;

    display: inline-block !important;
    flex: 0 0 auto !important;

    width: 8px !important;
    height: 8px !important;

    margin-right: 12px !important;

    border-radius: 50% !important;

    background-color: var(--gesmovil-verde) !important;
}


/* ==========================================================
   TABLA DE TOTALES
   ========================================================== */

body.woocommerce-cart
.cart_totals
table.shop_table {
    width: calc(100% - 56px) !important;
    max-width: calc(100% - 56px) !important;

    margin: 8px 28px 0 !important;

    border: 0 !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;

    background: transparent !important;

    box-sizing: border-box !important;
}

body.woocommerce-cart
.cart_totals
table.shop_table
tr,
body.woocommerce-cart
.cart_totals
table.shop_table
th,
body.woocommerce-cart
.cart_totals
table.shop_table
td {
    background: transparent !important;
}

body.woocommerce-cart
.cart_totals
table.shop_table
th,
body.woocommerce-cart
.cart_totals
table.shop_table
td {
    padding: 19px 0 !important;

    border: 0 !important;
    border-bottom: 1px solid var(--gesmovil-borde) !important;

    color: var(--gesmovil-oscuro) !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 14px !important;
    line-height: 1.5 !important;

    vertical-align: middle !important;

    box-sizing: border-box !important;
}

body.woocommerce-cart
.cart_totals
table.shop_table
th {
    width: 42% !important;

    font-weight: 600 !important;

    text-align: left !important;
}

body.woocommerce-cart
.cart_totals
table.shop_table
td {
    text-align: right !important;
}


/* Subtotal */
body.woocommerce-cart
.cart_totals
.cart-subtotal
.woocommerce-Price-amount {
    color: var(--gesmovil-oscuro) !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}


/* Total */
body.woocommerce-cart
.cart_totals
.order-total
th,
body.woocommerce-cart
.cart_totals
.order-total
td {
    padding-top: 24px !important;
    padding-bottom: 24px !important;

    border-bottom: 0 !important;

    font-size: 16px !important;
    font-weight: 700 !important;
}

body.woocommerce-cart
.cart_totals
.order-total
td
> strong
> .woocommerce-Price-amount {
    color: var(--gesmovil-verde) !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
}


/* IVA pequeño y oscuro */
body.woocommerce-cart
.cart_totals
.order-total
.includes_tax {
    display: block !important;

    margin-top: 6px !important;

    color: var(--gesmovil-oscuro) !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;

    white-space: normal !important;
}

body.woocommerce-cart
.cart_totals
.order-total
.includes_tax
.woocommerce-Price-amount,
body.woocommerce-cart
.cart_totals
.order-total
.includes_tax
.woocommerce-Price-currencySymbol,
body.woocommerce-cart
.cart_totals
.order-total
.includes_tax
span,
body.woocommerce-cart
.cart_totals
.order-total
.includes_tax
bdi {
    display: inline !important;

    margin: 0 !important;

    color: var(--gesmovil-oscuro) !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    line-height: inherit !important;
}


/* ==========================================================
   BOTÓN FINALIZAR COMPRA
   ========================================================== */

body.woocommerce-cart
.wc-proceed-to-checkout {
    width: 100% !important;

    margin: 0 !important;
    padding: 6px 28px 28px !important;

    box-sizing: border-box !important;
}

body.woocommerce-cart
.wc-proceed-to-checkout
p {
    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-cart
.wc-proceed-to-checkout
.checkout-button
br {
    display: none !important;
}

body.woocommerce-cart
.wc-proceed-to-checkout
.checkout-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    visibility: visible !important;
    opacity: 1 !important;

    width: 100% !important;
    max-width: 100% !important;

    min-height: 60px !important;

    margin: 0 !important;
    padding: 16px 24px !important;

    border: 0 !important;
    border-radius: 5px !important;

    background-color: var(--gesmovil-verde) !important;

    color: var(--gesmovil-blanco) !important;

    box-shadow: none !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.1px !important;

    text-align: center !important;
    text-transform: uppercase !important;
    text-decoration: none !important;

    cursor: pointer !important;

    box-sizing: border-box !important;

    transition:
        background-color 0.2s ease,
        transform 0.2s ease !important;
}

body.woocommerce-cart
.wc-proceed-to-checkout
.checkout-button:hover {
    background-color: var(--gesmovil-verde-hover) !important;

    color: var(--gesmovil-blanco) !important;

    transform: translateY(-2px) !important;
}

body.woocommerce-cart
.wc-proceed-to-checkout
.checkout-button:active {
    transform: translateY(0) !important;
}

body.woocommerce-cart
.wc-proceed-to-checkout
.checkout-button:focus-visible {
    outline: 3px solid rgba(45, 191, 79, 0.28) !important;
    outline-offset: 3px !important;
}


/* ==========================================================
   AVISOS DE WOOCOMMERCE
   ========================================================== */

body.woocommerce-cart .woocommerce-error,
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info {
    width: 100% !important;

    margin: 0 !important;
    padding: 17px 20px !important;

    border: 1px solid var(--gesmovil-borde) !important;
    border-radius: 10px !important;

    background-color: var(--gesmovil-blanco) !important;

    color: var(--gesmovil-texto) !important;

    box-shadow:
        0 7px 25px rgba(17, 27, 41, 0.06) !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 14px !important;
    line-height: 1.5 !important;

    box-sizing: border-box !important;
}

body.woocommerce-cart .woocommerce-error {
    border-left: 4px solid var(--gesmovil-error) !important;
    background-color: #FFF6F5 !important;
}

body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info {
    border-left: 4px solid var(--gesmovil-verde) !important;
}


/* ==========================================================
   TABLET Y PORTÁTIL
   ========================================================== */

@media screen and (max-width: 1050px) {

    body.woocommerce-cart
    .elementor-element-4623c869
    .woocommerce,
    body.woocommerce-cart
    .elementor-widget-text-editor
    .elementor-widget-container
    > .woocommerce,
    body.woocommerce-cart
    .elementor-widget-text-editor
    > .woocommerce,
    body.woocommerce-cart
    .entry-content
    > .woocommerce {
        grid-template-columns: minmax(0, 1fr) !important;

        grid-template-areas:
            "avisos"
            "productos"
            "totales" !important;

        column-gap: 0 !important;
        row-gap: 30px !important;
    }

    body.woocommerce-cart .cart-collaterals {
        width: 100% !important;
    }
}


/* ==========================================================
   MÓVIL
   ========================================================== */

@media screen and (max-width: 768px) {

    body.woocommerce-cart
    table.woocommerce-cart-form__contents {
        display: block !important;

        border-radius: 12px !important;

        overflow: hidden !important;
    }

    body.woocommerce-cart
    table.woocommerce-cart-form__contents
    thead {
        display: none !important;
    }

    body.woocommerce-cart
    table.woocommerce-cart-form__contents
    tbody {
        display: block !important;
    }

    body.woocommerce-cart
    table.woocommerce-cart-form__contents
    tr.cart_item {
        display: grid !important;

        grid-template-columns:
            38px
            86px
            minmax(0, 1fr) !important;

        grid-template-areas:
            "eliminar imagen nombre"
            "eliminar imagen precio"
            "eliminar imagen cantidad"
            "eliminar imagen subtotal" !important;

        column-gap: 14px !important;
        row-gap: 9px !important;

        padding: 20px 18px !important;

        border-bottom: 1px solid var(--gesmovil-borde) !important;

        background-color: var(--gesmovil-blanco) !important;

        box-sizing: border-box !important;
    }

    body.woocommerce-cart
    table.woocommerce-cart-form__contents
    tr.cart_item
    td {
        display: block !important;

        width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;

        text-align: left !important;

        box-sizing: border-box !important;
    }

    body.woocommerce-cart
    table.cart
    td.product-remove {
        grid-area: eliminar !important;

        display: flex !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
    }

    body.woocommerce-cart
    table.cart
    td.product-thumbnail {
        grid-area: imagen !important;
    }

    body.woocommerce-cart
    table.cart
    td.product-name {
        grid-area: nombre !important;

        min-width: 0 !important;
    }

    body.woocommerce-cart
    table.cart
    td.product-price {
        grid-area: precio !important;
    }

    body.woocommerce-cart
    table.cart
    td.product-quantity {
        grid-area: cantidad !important;
    }

    body.woocommerce-cart
    table.cart
    td.product-subtotal {
        grid-area: subtotal !important;
    }

    body.woocommerce-cart
    table.cart
    td.product-price,
    body.woocommerce-cart
    table.cart
    td.product-quantity,
    body.woocommerce-cart
    table.cart
    td.product-subtotal {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;

        gap: 15px !important;

        padding-top: 8px !important;

        border-top: 1px solid #EEF2EE !important;

        text-align: right !important;
    }

    body.woocommerce-cart
    table.shop_table_responsive
    tr
    td::before {
        color: var(--gesmovil-gris) !important;

        font-family: "Montserrat", sans-serif !important;
        font-size: 12px !important;
        font-weight: 600 !important;

        text-transform: none !important;
    }

    body.woocommerce-cart
    table.cart
    .quantity {
        width: auto !important;
        margin-left: auto !important;
    }

    body.woocommerce-cart
    table.cart
    .quantity
    input.qty {
        width: 68px !important;
        min-width: 68px !important;

        height: 46px !important;
        min-height: 46px !important;

        margin: 0 !important;
    }


    /* Acciones apiladas sin perder el ancho completo del colspan */
    body.woocommerce-cart
    table.cart
    td.actions {
        display: block !important;
        width: auto !important;
        padding: 18px !important;
    }

    body.woocommerce-cart
    table.cart
    td.actions
    .coupon {
        display: grid !important;
        grid-template-columns:
            minmax(0, 1fr)
            auto !important;

        width: 100% !important;
        max-width: 100% !important;

        margin: 0 0 12px !important;

        float: none !important;
    }

    body.woocommerce-cart
    table.cart
    td.actions
    #coupon_code {
        width: 100% !important;
        min-width: 0 !important;
    }

    body.woocommerce-cart
    table.cart
    td.actions
    > p:first-of-type {
        width: 100% !important;
        max-width: 100% !important;

        margin: 0 !important;

        float: none !important;
    }

    body.woocommerce-cart
    table.cart
    td.actions
    button[name="update_cart"] {
        width: 100% !important;
        min-width: 0 !important;
    }
}


/* ==========================================================
   MÓVIL PEQUEÑO
   ========================================================== */

@media screen and (max-width: 520px) {

    body.woocommerce-cart
    table.woocommerce-cart-form__contents
    tr.cart_item {
        grid-template-columns:
            34px
            72px
            minmax(0, 1fr) !important;

        column-gap: 11px !important;

        padding: 18px 14px !important;
    }

    body.woocommerce-cart
    table.cart
    .product-thumbnail {
        width: 72px !important;
    }

    body.woocommerce-cart
    table.cart
    .product-thumbnail
    a {
        width: 72px !important;
        height: 72px !important;
    }

    body.woocommerce-cart
    table.cart
    td.actions
    .coupon {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.woocommerce-cart
    table.cart
    td.actions
    .coupon
    button {
        width: 100% !important;
    }

    body.woocommerce-cart
    .cart_totals
    > h2 {
        min-height: 70px !important;

        padding: 20px 18px !important;

        font-size: 21px !important;
    }

    body.woocommerce-cart
    .cart_totals
    table.shop_table {
        width: calc(100% - 36px) !important;
        max-width: calc(100% - 36px) !important;

        margin: 5px 18px 0 !important;
    }

    body.woocommerce-cart
    .wc-proceed-to-checkout {
        padding: 5px 18px 20px !important;
    }

    body.woocommerce-cart
    .wc-proceed-to-checkout
    .checkout-button {
        min-height: 54px !important;

        padding: 14px 18px !important;

        font-size: 14px !important;
    }

    body.woocommerce-cart
    .cart_totals
    .order-total
    td
    > strong
    > .woocommerce-Price-amount {
        font-size: 19px !important;
    }

    body.woocommerce-cart
    .cart_totals
    .order-total
    .includes_tax,
    body.woocommerce-cart
    .cart_totals
    .order-total
    .includes_tax
    .woocommerce-Price-amount,
    body.woocommerce-cart
    .cart_totals
    .order-total
    .includes_tax
    .woocommerce-Price-currencySymbol,
    body.woocommerce-cart
    .cart_totals
    .order-total
    .includes_tax
    span,
    body.woocommerce-cart
    .cart_totals
    .order-total
    .includes_tax
    bdi {
        color: var(--gesmovil-oscuro) !important;
        font-size: 10px !important;
        font-weight: 400 !important;
    }
}/* End custom CSS */