.elementor-40 .elementor-element.elementor-element-dc241a5 .coupon .input-text, .elementor-40 .elementor-element.elementor-element-dc241a5 .e-cart-totals .input-text, .elementor-40 .elementor-element.elementor-element-dc241a5 select, .elementor-40 .elementor-element.elementor-element-dc241a5 .select2-selection--single{background-color:var( --e-global-color-white );}.elementor-40 .elementor-element.elementor-element-dc241a5 .shop_table .button{background-color:rgba(0,0,0,0);font-family:"Manrope", Sans-serif;font-size:14px;font-weight:700;line-height:1.55em;border-width:1px 1px 1px 1px;}.elementor-40 .elementor-element.elementor-element-dc241a5 .woocommerce .wc-proceed-to-checkout .checkout-button{background-color:var( --e-global-color-gold );}.elementor-40 .elementor-element.elementor-element-dc241a5 .woocommerce .wc-proceed-to-checkout .checkout-button:hover{background-color:var( --e-global-color-gold-700 );}.elementor-40 .elementor-element.elementor-element-dc241a5{--sections-background-color:transparent;--sections-border-type:none;--sections-padding:0px 0px 0px 0px;--sections-title-color:var( --e-global-color-black );--forms-fields-normal-color:var( --e-global-color-black );--forms-fields-border-radius:10px 10px 10px 10px;--forms-buttons-normal-text-color:var( --e-global-color-black );--forms-buttons-border-type:solid;--forms-buttons-border-color:rgba(12,10,6,0.18);--forms-buttons-border-radius:999px 999px 999px 999px;--forms-buttons-padding:0px 22px 0px 22px;--forms-buttons-width:auto;--order-summary-color:var( --e-global-color-black );--product-link-normal-color:var( --e-global-color-black );--product-link-hover-color:var( --e-global-color-black );--order-summary-items-divider-color:rgba(12,10,6,0.10);--order-summary-quantity-border-color:rgba(12,10,6,0.18);--order-summary-remove-icon-normal-color:var( --e-global-color-black-500 );--order-summary-remove-icon-hover-color:var( --e-global-color-black );--totals-color:var( --e-global-color-black-700 );--totals-divider-color:rgba(12,10,6,0.10);--checkout-button-normal-text-color:var( --e-global-color-black );--checkout-button-hover-text-color:var( --e-global-color-cream );--checkout-button-border-radius:999px 999px 999px 999px;--checkout-button-padding:0px 30px 0px 30px;--checkout-button-width:fit-content;}.elementor-40 .elementor-element.elementor-element-dc241a5 .cart_totals h2{font-family:var( --e-global-typography-header-m-font-family ), Sans-serif;font-size:var( --e-global-typography-header-m-font-size );font-weight:var( --e-global-typography-header-m-font-weight );line-height:var( --e-global-typography-header-m-line-height );}.elementor-40 .elementor-element.elementor-element-dc241a5 .coupon .input-text, .elementor-40 .elementor-element.elementor-element-dc241a5 .cart-collaterals .input-text, .elementor-40 .elementor-element.elementor-element-dc241a5 select, .elementor-40 .elementor-element.elementor-element-dc241a5 .select2-selection--single{font-family:"Manrope", Sans-serif;font-size:15px;font-weight:400;line-height:1.55em;border-style:solid;border-width:1px 1px 1px 1px;border-color:rgba(12,10,6,0.18);}.e-woo-select2-wrapper .select2-results__option{color:var( --e-global-color-black );}.elementor-40 .elementor-element.elementor-element-dc241a5 .select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:var( --e-global-color-black );}.elementor-40 .elementor-element.elementor-element-dc241a5 {--forms-fields-padding:0px 14px 0px 14px;}.elementor-40 .elementor-element.elementor-element-dc241a5 .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:calc( (0px*2) + 16px );padding-left:14px;padding-right:14px;}.elementor-40 .elementor-element.elementor-element-dc241a5 .select2-container--default .select2-selection--single .select2-selection__arrow{height:calc( (0px*2) + 16px );right:14px;}.elementor-40 .elementor-element.elementor-element-dc241a5 .select2-container--default .select2-selection--single{height:auto;}.elementor-40 .elementor-element.elementor-element-dc241a5 .woocommerce-cart-form{--order-summary-title-color:var( --e-global-color-black );}.elementor-40 .elementor-element.elementor-element-dc241a5 .cart td span, .elementor-40 .elementor-element.elementor-element-dc241a5 .cart td, .elementor-40 .elementor-element.elementor-element-dc241a5 .input-text.qty{font-family:var( --e-global-typography-header-s-font-family ), Sans-serif;font-size:var( --e-global-typography-header-s-font-size );font-weight:var( --e-global-typography-header-s-font-weight );line-height:var( --e-global-typography-header-s-line-height );}.elementor-40 .elementor-element.elementor-element-dc241a5 .cart_totals .shop_table td:before, .elementor-40 .elementor-element.elementor-element-dc241a5 .cart_totals .shop_table td .woocommerce-Price-amount{font-family:var( --e-global-typography-text-m-font-family ), Sans-serif;font-size:var( --e-global-typography-text-m-font-size );font-weight:var( --e-global-typography-text-m-font-weight );line-height:var( --e-global-typography-text-m-line-height );}.elementor-40 .elementor-element.elementor-element-dc241a5 .checkout-button{font-family:var( --e-global-typography-text-m-font-family ), Sans-serif;font-size:var( --e-global-typography-text-m-font-size );font-weight:var( --e-global-typography-text-m-font-weight );line-height:var( --e-global-typography-text-m-line-height );}@media(max-width:1024px){.elementor-40 .elementor-element.elementor-element-dc241a5 .cart_totals h2{font-size:var( --e-global-typography-header-m-font-size );line-height:var( --e-global-typography-header-m-line-height );}.elementor-40 .elementor-element.elementor-element-dc241a5 .cart td span, .elementor-40 .elementor-element.elementor-element-dc241a5 .cart td, .elementor-40 .elementor-element.elementor-element-dc241a5 .input-text.qty{font-size:var( --e-global-typography-header-s-font-size );line-height:var( --e-global-typography-header-s-line-height );}.elementor-40 .elementor-element.elementor-element-dc241a5 .cart_totals .shop_table td:before, .elementor-40 .elementor-element.elementor-element-dc241a5 .cart_totals .shop_table td .woocommerce-Price-amount{font-size:var( --e-global-typography-text-m-font-size );line-height:var( --e-global-typography-text-m-line-height );}.elementor-40 .elementor-element.elementor-element-dc241a5 .checkout-button{font-size:var( --e-global-typography-text-m-font-size );line-height:var( --e-global-typography-text-m-line-height );}}@media(max-width:767px){.elementor-40 .elementor-element.elementor-element-dc241a5 .cart_totals h2{font-size:var( --e-global-typography-header-m-font-size );line-height:var( --e-global-typography-header-m-line-height );}.elementor-40 .elementor-element.elementor-element-dc241a5 .cart td span, .elementor-40 .elementor-element.elementor-element-dc241a5 .cart td, .elementor-40 .elementor-element.elementor-element-dc241a5 .input-text.qty{font-size:var( --e-global-typography-header-s-font-size );line-height:var( --e-global-typography-header-s-line-height );}.elementor-40 .elementor-element.elementor-element-dc241a5 .cart_totals .shop_table td:before, .elementor-40 .elementor-element.elementor-element-dc241a5 .cart_totals .shop_table td .woocommerce-Price-amount{font-size:var( --e-global-typography-text-m-font-size );line-height:var( --e-global-typography-text-m-line-height );}.elementor-40 .elementor-element.elementor-element-dc241a5 .checkout-button{font-size:var( --e-global-typography-text-m-font-size );line-height:var( --e-global-typography-text-m-line-height );}}/* Start custom CSS for woocommerce-cart, class: .elementor-element-dc241a5 *//* Font-family baseline SOLO en el root (heredable). NUNCA `.elementor-40 .elementor-element.elementor-element-dc241a5 *`: ese pisa el
   elemento REAL de cada hijo (ej. el <a> del nombre) con la fuente del padre y rompe la
   tipografía por-elemento — bug real detectado por el usuario. Cada texto head se fija
   en su elemento real más abajo. */
.elementor-40 .elementor-element.elementor-element-dc241a5 { font-family: var(--font-body, Manrope), system-ui, sans-serif; }
/* Carrito vacío: el mock NO muestra "Tu carrito" en esa pantalla (04 Carrito vacío es su
   propio screen, sin el título de la 04 Carrito normal) — el título vive en una SECTION
   hermana fuera del widget, custom_css (scoped al widget) no puede alcanzarla con un
   .elementor-40 .elementor-element.elementor-element-dc241a5 normal. `body:has()` sí puede, PERO `e-cart-empty-template-active` (usada acá
   en un intento previo) es la clase equivocada: la pone el prefix_class del control
   `additional_template_switch` — refleja que la FUNCIÓN "customize empty cart" está
   ACTIVADA (fija, siempre presente), no que el carrito esté vacío EN ESTE MOMENTO (bug
   real, jul 2026: ocultaba el título también con el carrito lleno). La señal correcta es
   la AUSENCIA de `.woocommerce-cart-form` (solo se renderiza cuando hay items). */
body:has(#eo-cart-wrap):not(:has(.woocommerce-cart-form)) #eo-cart-page-title { display: none !important; }
.elementor-40 .elementor-element.elementor-element-dc241a5 .woocommerce-cart-form table.shop_table.cart { border: none; }
.elementor-40 .elementor-element.elementor-element-dc241a5 .woocommerce-cart-form table.shop_table.cart thead { display: none; }
.elementor-40 .elementor-element.elementor-element-dc241a5 .woocommerce-cart-form table.shop_table.cart,
.elementor-40 .elementor-element.elementor-element-dc241a5 .woocommerce-cart-form table.shop_table.cart tbody { display: block; width: 100%; }
/* Card por ítem (grid): imagen que ocupa las 3 filas + nombre/eyebrow/uso + subtotal + qty. */
.elementor-40 .elementor-element.elementor-element-dc241a5 table.shop_table.cart tr.cart_item {
  display: grid; grid-template-columns: 120px 1fr auto; grid-template-rows: auto auto auto; column-gap: 20px;
  background: var(--white, #fff); border: 1px solid var(--line, rgba(12,10,6,.10)); border-radius: 14px;
  padding: 16px; margin-bottom: 12px; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.elementor-40 .elementor-element.elementor-element-dc241a5 table.shop_table.cart tr.cart_item:hover {
  transform: translateY(-2px); box-shadow: 0 1px 2px rgba(12,10,6,.04), 0 8px 24px rgba(12,10,6,.06); border-color: var(--line-2, rgba(12,10,6,.18));
}
.elementor-40 .elementor-element.elementor-element-dc241a5 table.shop_table.cart tr.cart_item td { border: none; padding: 0; }
.elementor-40 .elementor-element.elementor-element-dc241a5 table.shop_table.cart td.product-thumbnail {
  grid-column: 1; grid-row: 1 / 4; aspect-ratio: 1; border-radius: 10px; background: var(--cream-200, #f3ecdb); overflow: hidden;
  display: flex; align-items: center; justify-content: center;
}
.elementor-40 .elementor-element.elementor-element-dc241a5 table.shop_table.cart td.product-thumbnail img { width: 88%; height: 88%; object-fit: contain; }
/* Eyebrow marca·sku (inyectado por JS) */
.elementor-40 .elementor-element.elementor-element-dc241a5 .eo-cart-eyebrow {
  grid-column: 2; font-family: var(--font-mono, "JetBrains Mono"), monospace; font-size: var(--label, 0.6875rem); letter-spacing: .14em;
  text-transform: uppercase; color: var(--black-500, #5b554a); font-weight: 500; margin-bottom: 2px;
}
/* Nombre de producto — el texto vive en el <a> (elemento REAL), no en el <td>. `color` vía
   `product_link_normal_color` (__globals__) tiene consumidor real confirmado en el CSS del
   plugin (`.product-name a{color:var(--product-link-normal-color)}`) pero en vivo NO
   renderiza (vuelve al azul default del tema, rgb(91,192,222) — mismo patrón que el resto
   del grupo Forms, ver nota arriba) — color va acá también, no solo tipografía. */
.elementor-40 .elementor-element.elementor-element-dc241a5 table.shop_table.cart td.product-name { grid-column: 2; grid-row: 1; align-self: start; }
.elementor-40 .elementor-element.elementor-element-dc241a5 table.shop_table.cart td.product-name a {
  /* Tipografía = 100% NATIVA: order_summary_items_typography (=header-s=Archivo/700) alcanza
     este <a> — MEDIDO (jul 2026, auditoría): al quitar la tipografía de acá el nombre quedó
     Archivo/700/16px igual. Por eso NO va font-family/size/weight acá (era redundante).
     color: el var nativo (product_link_normal_color) se emite bien pero una regla base de
     WooCommerce/tema le gana en especificidad → re-assert del MISMO var con !important (valor
     editable en el control nativo, custom_css solo gana la cascada). text-decoration:none es
     lo único estructural (quitar el subrayado default del link). */
  text-decoration: none;
  color: var(--product-link-normal-color) !important;
}
.elementor-40 .elementor-element.elementor-element-dc241a5 .eo-cart-uso { font-family: var(--font-body, Manrope), system-ui, sans-serif; font-weight: 400; font-size: var(--text-s, clamp(0.8rem, 1vw, 0.875rem)); color: var(--black-500, #5b554a); margin-top: 4px; }
.elementor-40 .elementor-element.elementor-element-dc241a5 table.shop_table.cart td.product-price { display: none; }
.elementor-40 .elementor-element.elementor-element-dc241a5 table.shop_table.cart td.product-remove { grid-column: 2; grid-row: 3; align-self: end; margin-top: 10px; }
.elementor-40 .elementor-element.elementor-element-dc241a5 table.shop_table.cart td.product-remove a.remove {
  all: unset; cursor: pointer; font-family: var(--font-body, Manrope), system-ui, sans-serif; font-weight: 400; font-size: var(--text-s, clamp(0.8rem, 1vw, 0.875rem)); color: var(--black-500, #5b554a); text-decoration: underline;
  display: inline-block !important; margin-top: 10px !important; text-align: start !important; line-height: 1.55 !important;
}
.elementor-40 .elementor-element.elementor-element-dc241a5 table.shop_table.cart td.product-quantity { grid-column: 3; grid-row: 3; justify-self: end; align-self: end; margin-top: 8px; }
.elementor-40 .elementor-element.elementor-element-dc241a5 table.shop_table.cart td.product-quantity .quantity {
  display: inline-flex; align-items: center; border: 1px solid var(--line-2, rgba(12,10,6,.18)); border-radius: 999px; overflow: hidden;
}
.elementor-40 .elementor-element.elementor-element-dc241a5 .eo-qty-btn { all: unset; cursor: pointer; width: 30px; height: 32px; display: grid; place-items: center; font-size: var(--text-s, clamp(0.8rem, 1vw, 0.875rem)); color: var(--black, #0c0a06); }
.elementor-40 .elementor-element.elementor-element-dc241a5 table.shop_table.cart td.product-quantity input.qty {
  width: 30px; height: 32px; border: none; text-align: center; font-weight: 700; font-size: var(--text-s, clamp(0.8rem, 1vw, 0.875rem));
  color: var(--black, #0c0a06) !important; background: transparent; -moz-appearance: textfield;
}
.elementor-40 .elementor-element.elementor-element-dc241a5 table.shop_table.cart td.product-quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
/* Subtotal de línea — head, header-m. Apuntar al span .woocommerce-Price-amount (EPro
   tiene su propia regla directa sobre ese span que le gana a la herencia del <td>). */
.elementor-40 .elementor-element.elementor-element-dc241a5 table.shop_table.cart td.product-subtotal { grid-column: 3; grid-row: 1; align-self: start; text-align: right; }
.elementor-40 .elementor-element.elementor-element-dc241a5 table.shop_table.cart td.product-subtotal .woocommerce-Price-amount,
.elementor-40 .elementor-element.elementor-element-dc241a5 table.shop_table.cart td.product-subtotal .woocommerce-Price-amount * {
  font-family: var(--font-head, Archivo), system-ui, sans-serif !important; font-weight: 800 !important; font-size: var(--header-m, clamp(1.25rem, 2vw, 1.875rem)) !important; color: var(--black, #0c0a06) !important;
}
/* Barra de acciones + cupón (hermanos en el markup real). ESTILO 100% NATIVO del widget:
   tipografía por `forms_field_typography`/`forms_button_typography` (SINGULAR — clave real
   confirmada en cart.php y en los sitios de referencia), + border/padding/radius/color/fondo
   del grupo "Forms" (`forms_fields_*`/`forms_buttons_*`). Los 4 que antes se creían "sin
   efecto" (forms_fields_padding/_border_radius/_normal_color + product_link_normal_color)
   están NATIVO en producción en animadeco/lasfloritas — el "sin efecto" en Equipar era caché
   de CSS sin flushear, no un techo del control (jul 2026). Acá abajo, en custom_css, solo
   queda lo estructural que ningún control expresa (layout flex de la fila, height/width del
   input, el botón "Seguir comprando" inyectado). */
.elementor-40 .elementor-element.elementor-element-dc241a5 .woocommerce-cart-form .actions { border: none; padding: 12px 0 0; display: flex; justify-content: space-between; align-items: center; background: none; }
.elementor-40 .elementor-element.elementor-element-dc241a5 .woocommerce-cart-form .coupon { padding: 0; }
.elementor-40 .elementor-element.elementor-element-dc241a5 .woocommerce-cart-form .form-row.coupon-col { display: flex; gap: 8px; align-items: center; padding: 12px 0 0; }
.elementor-40 .elementor-element.elementor-element-dc241a5 .woocommerce-cart-form .coupon-col-start,
.elementor-40 .elementor-element.elementor-element-dc241a5 .woocommerce-cart-form .coupon-col-end { flex: 0 0 auto !important; }
.elementor-40 .elementor-element.elementor-element-dc241a5 .woocommerce-cart-form .coupon .input-text {
  /* color/border/fondo = NATIVO y renderizan (forms_fields_normal_color/_border_*; medido).
     padding/border-radius: valor NATIVO (forms_fields_padding=0 14 / _border_radius=10) — el
     var se emite bien, pero una regla base de WooCommerce/tema (input ~.5em, radius 4px) le
     gana en especificidad a `.input-text{padding:var(...)}`. Re-asserteamos el MISMO var
     nativo con !important: valor editable en el control nativo, custom_css solo gana cascada.
     height/width/margin no tienen control nativo en el grupo Forms. */
  height: 44px !important; width: 200px; margin: 0 !important;
  padding: var(--forms-fields-padding) !important; border-radius: var(--forms-fields-border-radius) !important;
}
.elementor-40 .elementor-element.elementor-element-dc241a5 .woocommerce-cart-form .coupon .button,
.elementor-40 .elementor-element.elementor-element-dc241a5 .woocommerce-cart-form .actions > .button {
  height: 48px !important; letter-spacing: .01em;
  display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important;
}
.elementor-40 .elementor-element.elementor-element-dc241a5 .woocommerce-cart-form .actions > .button[name="update_cart"] { display: none !important; }
.elementor-40 .elementor-element.elementor-element-dc241a5 .eo-continue-shopping {
  all: unset; cursor: pointer; height: 44px; padding: 0 22px; display: inline-flex; align-items: center;
  border-radius: 999px; border: 1px solid var(--line-2, rgba(12,10,6,.18)); color: var(--black, #0c0a06) !important; font-weight: 700; font-size: var(--text-s, clamp(0.8rem, 1vw, 0.875rem));
  font-family: var(--font-body, Manrope), system-ui, sans-serif !important; letter-spacing: .01em; white-space: nowrap; text-align: center; line-height: 1.55 !important;
}
/* Layout 2 columnas (nativo del widget) + resumen sticky con su propia caja */
.elementor-40 .elementor-element.elementor-element-dc241a5 .e-cart__container { grid-template-columns: 1.4fr .9fr !important; gap: 32px !important; }
.elementor-40 .elementor-element.elementor-element-dc241a5 .e-cart__column-end { position: sticky; top: 140px; align-self: start; }
.elementor-40 .elementor-element.elementor-element-dc241a5 .cart-collaterals .cart_totals {
  background: var(--white, #fff); border: 1px solid var(--line, rgba(12,10,6,.10)); border-radius: 18px; padding: 24px; width: 100%; float: none;
}
.elementor-40 .elementor-element.elementor-element-dc241a5 .cart-collaterals .cart_totals h2 { margin: 0 0 18px; padding: 0; line-height: 1.55; }
.elementor-40 .elementor-element.elementor-element-dc241a5 .cart-collaterals .cart_totals table.shop_table { border: none; }
/* align-items:baseline (no el default stretch): sin esto la fila Total, con su columna de
   precio en header-l (~44px), estira verticalmente el <th> "Total" (~15px de texto real) a
   la altura de la más alta — geo:height roto pese a la tipografía ya correcta. Mock real:
   `alignItems:'baseline'` en ese mismo div (cart.jsx). */
.elementor-40 .elementor-element.elementor-element-dc241a5 .cart-collaterals .cart_totals table.shop_table tr { display: flex; justify-content: space-between; align-items: baseline; border: none; padding: 5px 0; }
.elementor-40 .elementor-element.elementor-element-dc241a5 .cart-collaterals .cart_totals table.shop_table th,
.elementor-40 .elementor-element.elementor-element-dc241a5 .cart-collaterals .cart_totals table.shop_table td {
  /* NO nativo: los controles totals_typography/totals_color del widget apuntan SOLO al
     .woocommerce-Price-amount, no al <th> de la etiqueta ("Subtotal (n items)"/"Total"). Con
     esto removido el th vuelve al default de tabla de WooCommerce (Roboto/700/#333) — medido.
     Además la tabla está reshapeada a filas flex (abajo), territorio estructural sin control. */
  display: block; border: none; padding: 0; font-size: var(--text-m, clamp(0.9rem, 1.2vw, 1rem)); text-align: start !important; font-weight: 400;
  font-family: var(--font-body, Manrope), system-ui, sans-serif !important; color: var(--black-700, #2a2620) !important;
  /* Sin esto el navegador resuelve el ancho del flex-item más ancho que el contenido real
     (confirmado en vivo: forzar width:auto por inline style bajaba "Descuentos" de 121px a
     80px, igual al texto medido por canvas) — flex-basis:auto con width:auto no alcanza acá. */
  width: auto !important; flex: 0 1 auto !important;
}
.elementor-40 .elementor-element.elementor-element-dc241a5 .cart-collaterals .cart_totals table.shop_table td { font-weight: 600; }
.elementor-40 .elementor-element.elementor-element-dc241a5 .cart-collaterals .cart_totals table.shop_table .eo-discounts-row th,
.elementor-40 .elementor-element.elementor-element-dc241a5 .cart-collaterals .cart_totals table.shop_table .eo-discounts-row td { color: var(--black-500, #5b554a) !important; font-weight: 400 !important; text-align: start !important; }
.elementor-40 .elementor-element.elementor-element-dc241a5 .cart-collaterals .cart_totals table.shop_table td .woocommerce-Price-amount,
.elementor-40 .elementor-element.elementor-element-dc241a5 .cart-collaterals .cart_totals table.shop_table td .woocommerce-Price-amount * {
  font-family: var(--font-body, Manrope), system-ui, sans-serif !important; font-weight: 600 !important; color: var(--black-700, #2a2620) !important;
}
.elementor-40 .elementor-element.elementor-element-dc241a5 .cart-collaterals .cart_totals table.shop_table td::before { content: none !important; }
.elementor-40 .elementor-element.elementor-element-dc241a5 .cart-collaterals .cart_totals .order-total th,
.elementor-40 .elementor-element.elementor-element-dc241a5 .cart-collaterals .cart_totals .order-total td { padding-top: 12px; border-top: 1px solid var(--line, rgba(12,10,6,.10)); margin: 0; }
/* Total grande (excepción de tamaño: header-l sólo en la fila order-total, el resto text-m) */
.elementor-40 .elementor-element.elementor-element-dc241a5 .cart-collaterals .cart_totals table.shop_table .order-total .woocommerce-Price-amount,
.elementor-40 .elementor-element.elementor-element-dc241a5 .cart-collaterals .cart_totals table.shop_table .order-total .woocommerce-Price-amount * {
  font-family: var(--font-head, Archivo), system-ui, sans-serif !important; font-weight: 800 !important; font-size: var(--header-l, clamp(1.75rem, 3.4vw, 2.75rem)) !important; color: var(--black, #0c0a06) !important;
}
.elementor-40 .elementor-element.elementor-element-dc241a5 .cart-collaterals .cart_totals table.shop_table .order-total th {
  font-family: var(--font-body, Manrope), system-ui, sans-serif !important; font-weight: 700 !important; font-size: var(--text-m, clamp(0.9rem, 1.2vw, 1rem)) !important; color: var(--black, #0c0a06) !important;
}
.elementor-40 .elementor-element.elementor-element-dc241a5 .eo-installments { font-family: var(--font-body, Manrope), system-ui, sans-serif !important; font-size: var(--text-s, clamp(0.8rem, 1vw, 0.875rem)); color: var(--black-500, #5b554a); margin-top: 6px; text-align: start !important; }
.elementor-40 .elementor-element.elementor-element-dc241a5 .wc-proceed-to-checkout { padding: 0; margin-top: 0; }
/* Botón checkout: color/typography/padding/radius por control nativo (checkout_button_*,
   ver ). Único resto acá: `width`/`height` — checkout_button_padding fuerza
   `--checkout-button-width:fit-content` (no hay control nativo de ancho), y no hay control
   nativo de altura tampoco. */
.elementor-40 .elementor-element.elementor-element-dc241a5 .wc-proceed-to-checkout .checkout-button {
  display: inline-flex !important; width: 100% !important; height: 56px; align-items: center; justify-content: center;
  text-decoration: none; white-space: nowrap; box-sizing: border-box; line-height: 1.55 !important; margin-top: 18px !important;
  font-weight: 700 !important; letter-spacing: .01em !important; border: 1px solid transparent !important;
}
.elementor-40 .elementor-element.elementor-element-dc241a5 .eo-trust-row { display: flex; gap: 8px; align-items: center; margin-top: 18px; font-size: var(--label, 0.6875rem); color: var(--black-500, #5b554a); font-family: var(--font-body, Manrope), system-ui, sans-serif !important; text-align: start !important; }
@media (max-width: 900px) {
  .elementor-40 .elementor-element.elementor-element-dc241a5 .e-cart__container { grid-template-columns: 1fr !important; }
  .elementor-40 .elementor-element.elementor-element-dc241a5 .e-cart__column-end { position: static; }
}
/* Mock real: el botón "Iniciar compra" mide padding 22px en mobile pese a `.btn-lg` (30px)
   en la hoja de estilos — confirmado en el diff contra el original renderizado a 390px,
   no un valor inventado. `checkout_button_padding` (nativo) es un único valor no-responsive. */
@media (max-width: 767px) {
  .elementor-40 .elementor-element.elementor-element-dc241a5 .wc-proceed-to-checkout .checkout-button { padding: 0 22px !important; }
}/* End custom CSS */