.elementor-54350 .elementor-element.elementor-element-5b17559f{--display:flex;--margin-top:88px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:60px;--padding-bottom:60px;--padding-left:16px;--padding-right:16px;}.elementor-54350 .elementor-element.elementor-element-5b17559f:not(.elementor-motion-effects-element-type-background), .elementor-54350 .elementor-element.elementor-element-5b17559f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-text );}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-54350 .elementor-element.elementor-element-745bc36{text-align:center;}.elementor-54350 .elementor-element.elementor-element-745bc36 .elementor-heading-title{color:var( --e-global-color-7129651 );}.elementor-54350 .elementor-element.elementor-element-4dd6f34f{--update-cart-automatically-display:none;}.elementor-54350 .elementor-element.elementor-element-4dd6f34f .woocommerce-cart-form{--order-summary-title-color:var( --e-global-color-primary );}@media(min-width:768px){.elementor-54350 .elementor-element.elementor-element-5b17559f{--content-width:83%;}}@media(max-width:1024px) and (min-width:768px){.elementor-54350 .elementor-element.elementor-element-5b17559f{--content-width:83%;}}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}}@media(max-width:767px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}}/* Start custom CSS for container, class: .elementor-element-5b17559f *//* ============================================
   ECOLIFE SCOOTER - CARRITO ESTILO DEPORTIVO/SERIO v12 (FINAL)
   ============================================ */

/* ---------- FONDO NEGRO EN CONTENEDORES CORRECTOS ---------- */
.e-shop-table,
.cart-collaterals,
.woocommerce-cart-form .coupon {
  background: #1B1B1B !important;
}

/* Tarjeta de productos: SOLO redondeada arriba */
.e-shop-table {
  border-top-left-radius: 14px !important;
  border-top-right-radius: 14px !important;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  overflow: hidden !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.25);
  border: 1px solid rgba(255,255,255, 0.2) !important;
}

/* Tarjeta de cupón: redondeada completa */
.woocommerce-cart-form .coupon {
  border-radius: 14px !important;
  overflow: hidden;
  border: 1px solid rgba(255,255,255, 0.2);
  box-shadow: 0 8px 24px rgba(0,0,0,0.25);
  padding: 20px !important;
}

/* Fondo original en el contenedor exterior de Cart Totals (evita "tarjeta fantasma") */
.e-cart-totals.e-cart-section,
.e-cart-totals {
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.2);
}

.elementor-54350 .elementor-element.elementor-element-5b17559f .cart-collaterals {
    border-radius: 14px;
}

/* Que los widgets de Elementor NO metan fondo/padding propio encima */
.elementor-widget-woocommerce-cart-form .elementor-widget-container,
.elementor-widget-woocommerce-cart .elementor-widget-container,
.elementor-widget-woocommerce-cart-totals .elementor-widget-container,
.elementor-widget-woocommerce-cart-totals,
.elementor-widget-cart-totals .elementor-widget-container,
.elementor-widget-cart-totals {
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* ---------- TABLA DEL CARRITO ---------- */
.woocommerce-cart-form table.shop_table {
  border-collapse: separate;
  border-spacing: 0;
  border: none;
  width: 100%;
  background: #1B1B1B;
  margin: 0;
}

/* Header: degradado con esquinas redondeadas y texto centrado vertical */
.woocommerce-cart-form table.shop_table thead tr {
  background: linear-gradient(90deg, #1B1B1B 0%, #61CE70 22%, #CEFF00 50%, #61CE70 100%);
}

.woocommerce-cart-form table.shop_table thead th,
.woocommerce-cart-form table.shop_table thead th * {
  background: transparent;
  color: #1B1B1B !important;
  text-transform: uppercase;
  font-size: 13px;
  letter-spacing: 1px;
  font-weight: 800;
  padding: 8px 16px !important;
  text-align: center;
  vertical-align: middle;
  border: none;
  margin: 0;
  line-height: 1.2;
}

.woocommerce-cart-form table.shop_table thead th:first-child {
  border-top-left-radius: 14px;
}

.woocommerce-cart-form table.shop_table thead th:last-child {
  border-top-right-radius: 14px;
}

/* Celdas del cuerpo: sin borde individual (se mueve a la fila) */
.woocommerce-cart-form table.shop_table td {
  border-bottom: none !important;
  padding: 18px 20px;
  vertical-align: middle !important;
  transition: background 0.2s ease;
  color: #FFFFFF;
  background: #1B1B1B;
  height: 1px;
}

/* Borde uniforme por fila completa */
.woocommerce-cart-form table.shop_table tbody tr {
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.woocommerce-cart-form table.shop_table tbody tr:last-child {
  border-bottom: none;
}

.woocommerce-cart-form table.shop_table tbody tr:hover td {
  background: rgba(97,206,112,0.08);
}

/* Alineación horizontal/vertical de columnas Price, Quantity, Subtotal */
.woocommerce-cart-form table.shop_table td.product-price,
.woocommerce-cart-form table.shop_table td.product-subtotal {
  text-align: center;
  vertical-align: middle !important;
}

.woocommerce-cart-form table.shop_table td.product-price .woocommerce-Price-amount,
.woocommerce-cart-form table.shop_table td.product-subtotal .woocommerce-Price-amount {
  display: inline-flex;
  align-items: center;
  height: 40px;
  justify-content: center;
}

.woocommerce-cart-form table.shop_table td.product-quantity {
  text-align: center;
  vertical-align: middle !important;
}
.woocommerce-cart-form table.shop_table td.product-quantity .quantity {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Nombre del producto */
.woocommerce-cart-form .product-name a {
  color: #FFFFFF;
  font-weight: 700;
  text-decoration: none;
  transition: color 0.2s ease;
}
.woocommerce-cart-form .product-name a:hover {
  color: #CEFF00;
}

/* Precio unitario EN BLANCO + símbolo € en degradado de marca */
.woocommerce-cart-form .product-price,
.woocommerce-cart-form .product-price .woocommerce-Price-amount,
.woocommerce-cart-form .product-price .woocommerce-Price-amount bdi {
  color: #FFFFFF !important;
}
.woocommerce-cart-form table.shop_table td.product-price .woocommerce-Price-currencySymbol {
  background: linear-gradient(135deg, #CEFF00, #61CE70);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 800;
  margin-left: 2px;
}

/* Subtotal por producto: TEXTO BLANCO PLANO */
.woocommerce-cart-form .product-subtotal,
.woocommerce-cart-form .product-subtotal .woocommerce-Price-amount,
.woocommerce-cart-form .product-subtotal .woocommerce-Price-amount bdi {
  color: #FFFFFF !important;
  background: transparent !important;
  font-weight: 700;
  padding: 0;
  border-radius: 0;
  font-size: 14px;
}

/* Imagen del producto con marco degradado */
.woocommerce-cart-form .product-thumbnail {
  position: relative;
  display: inline-block;
}
.woocommerce-cart-form .product-thumbnail img {
  border-radius: 50%;
  border: 2px solid #1B1B1B;
  padding: 3px;
  width: 48px;
  height: 48px;
  object-fit: cover;
  background: linear-gradient(135deg, #CEFF00, #61CE70);
  transition: transform 0.2s ease;
}
.woocommerce-cart-form table.shop_table tbody tr:hover .product-thumbnail img {
  transform: scale(1.08);
}

/* Botón eliminar (X) */
.woocommerce-cart-form .product-remove a {
  color: #FFFFFF !important;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}
.woocommerce-cart-form .product-remove a:hover {
  background: linear-gradient(135deg, #E63946, #C1121F);
  color: #FFFFFF !important;
  transform: rotate(90deg);
}

/* Input de cantidad - texto EN BLANCO */
.woocommerce-cart-form .quantity input.qty {
  border: 1px solid #61CE70 !important;
  border-radius: 6px;
  text-align: center;
  font-weight: 800;
  padding: 1px;
  height: 40px;
  width: 40px;
  background: rgba(255,255,255,0.06) !important;
  color: #FFFFFF !important;
  transition: all 0.2s ease;
}
.woocommerce-cart-form .quantity input.qty:focus {
  border-color: #CEFF00;
  box-shadow: 0 0 0 3px rgba(206,255,0,0.2);
  outline: none;
}

.woocommerce-cart-form .actions {
  padding: 16px 20px;
  background: #1B1B1B !important;
  border-top: 1px solid rgba(255,255,255,0.08);
}

/* ---------- BOTONES: TAMAÑO ESTÁNDAR UNIFICADO ---------- */
.woocommerce-cart-form button[name="update_cart"],
.woocommerce-cart-form .coupon button,
.cart_totals button[name="calc_shipping"],
.wc-proceed-to-checkout a.checkout-button {
  padding: 14px 28px !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.5px;
  cursor: pointer;
  transition: all 0.25s ease;
  text-align: center;
  display: inline-block;
  line-height: 1.2;
}

.woocommerce-cart-form button[name="update_cart"],
.woocommerce-cart-form button[name="update_cart"]:disabled {
  background: transparent !important;
  border: 2px solid #61CE70 !important;
  color: #FFFFFF !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.woocommerce-cart-form button[name="update_cart"]:not(:disabled):hover {
  background: linear-gradient(135deg, #CEFF00, #61CE70) !important;
  border-color: transparent !important;
  color: #1B1B1B !important;
  transform: translateY(-1px);
}

/* ---------- CUPÓN ---------- */
.woocommerce-cart-form .coupon,
.woocommerce-cart-form .coupon label {
  color: #FFFFFF !important;
}

.woocommerce-cart-form .coupon .input-text {
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 8px;
  height: 48px;
  padding-left: 14px;
  background: rgba(255,255,255,0.06) !important;
  color: #FFFFFF !important;
}
.woocommerce-cart-form .coupon .input-text::placeholder {
  color: rgba(255,255,255,0.5) !important;
}
.woocommerce-cart-form .coupon .input-text:focus {
  border-color: #61CE70;
  box-shadow: 0 0 0 3px rgba(97,206,112,0.15);
  outline: none;
}
.woocommerce-cart-form .coupon button {
  border: 2px solid #61CE70;
  background: transparent;
  color: #FFFFFF;
}
.woocommerce-cart-form .coupon button:hover {
  background: linear-gradient(135deg, #CEFF00, #61CE70);
  border-color: transparent;
  color: #1B1B1B;
  transform: translateY(-1px);
}

/* ---------- CAJA CART TOTALS: bordes redondeados COMPLETOS ---------- */
.cart_totals {
  background: linear-gradient(160deg, #1B1B1B 0%, #1B1B1B 55%, #1e2a1a 100%) !important;
  color: #FFFFFF !important;
  border: none;
  border-radius: 14px !important;
  padding: 28px 24px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.25);
  overflow: hidden;
  box-sizing: border-box;
  width: 100%;
  position: relative;
}

.cart_totals::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 5px;
  background: linear-gradient(90deg, #CEFF00, #61CE70);
}

.cart_totals * {
  box-sizing: border-box;
}

.cart_totals h2,
.cart_totals h2 * {
  text-transform: uppercase;
  font-size: 17px;
  letter-spacing: 1.5px;
  font-weight: 800;
  margin-bottom: 4px;
  margin-top: 8px;
  color: #FFFFFF !important;
  display: flex;
  align-items: center;
  gap: 8px;
}

.cart_totals h2::after {
  content: "";
  width: 20px;
  height: 20px;
  background: linear-gradient(135deg, #CEFF00, #61CE70);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 4V2a1 1 0 011-1h8a1 1 0 011 1v2h4a1 1 0 011 1v1a1 1 0 01-1 1h-1l-1.5 12.5A2 2 0 0116.5 21h-9a2 2 0 01-2-1.5L4 6H3a1 1 0 01-1-1V4a1 1 0 011-1h4zm2-1v2h6V3H9z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 4V2a1 1 0 011-1h8a1 1 0 011 1v2h4a1 1 0 011 1v1a1 1 0 01-1 1h-1l-1.5 12.5A2 2 0 0116.5 21h-9a2 2 0 01-2-1.5L4 6H3a1 1 0 01-1-1V4a1 1 0 011-1h4zm2-1v2h6V3H9z'/%3E%3C/svg%3E") no-repeat center / contain;
}

.cart_totals table.shop_table {
  border: none;
  width: 100%;
}

/* Subtotal, Shipping (labels) y precios/valores generales EN BLANCO (antes gris) */
.cart_totals table.shop_table th,
.cart_totals table.shop_table td {
  border-top: 1px solid rgba(255,255,255,0.1);
  color: #FFFFFF !important;
  padding: 14px 0;
}

.cart_totals table.shop_table th {
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 0.5px;
  color: #FFFFFF !important;
  font-weight: 700;
}

/* Total (se mantiene con degradado, sin tocar) */
.cart_totals .order-total th,
.cart_totals .order-total td {
  border-top: none;
  padding-top: 18px;
  margin-top: 8px;
}
.cart_totals .order-total {
  position: relative;
}
.cart_totals .order-total th::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, #CEFF00, #61CE70);
  opacity: 0.5;
}
.cart_totals .order-total th {
  color: #FFFFFF !important;
  font-size: 15px;
}
.cart_totals .order-total .woocommerce-Price-amount {
  background: linear-gradient(135deg, #CEFF00, #61CE70);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 26px;
  font-weight: 800;
}

/* ---------- MÉTODOS DE ENVÍO: labels EN BLANCO (antes gris) ---------- */
.cart_totals .woocommerce-shipping-methods,
.cart_totals ul#shipping_method {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.cart_totals .woocommerce-shipping-methods li,
.cart_totals ul#shipping_method li {
  display: flex;
  align-items: flex-start;
  flex-wrap: nowrap;
  gap: 10px;
  width: 100%;
  line-height: 1.4;
  border: 1.5px solid rgba(255,255,255,0.15);
  border-radius: 8px;
  padding: 12px 14px;
  margin: 0;
  transition: all 0.2s ease;
  cursor: pointer;
  background: rgba(255,255,255,0.03);
}

.cart_totals .woocommerce-shipping-methods li:hover,
.cart_totals ul#shipping_method li:hover {
  border-color: #61CE70;
  background: rgba(97,206,112,0.08);
}

/* La opción SELECCIONADA mantiene su degradado tal cual estaba */
.cart_totals .woocommerce-shipping-methods li:has(input:checked),
.cart_totals ul#shipping_method li:has(input:checked) {
  border-color: transparent;
  background: linear-gradient(135deg, rgba(206,255,0,0.18), rgba(97,206,112,0.18));
  box-shadow: inset 0 0 0 1.5px rgba(206,255,0,0.4);
}

.cart_totals .woocommerce-shipping-methods input[type="radio"],
.cart_totals ul#shipping_method input[type="radio"] {
  accent-color: #CEFF00;
  margin-top: 3px;
  flex-shrink: 0;
  width: 17px;
  height: 17px;
}

.cart_totals .woocommerce-shipping-methods label,
.cart_totals ul#shipping_method label {
  flex: 1;
  min-width: 0;
  word-wrap: break-word;
  color: #FFFFFF !important;
  cursor: pointer;
  font-weight: 500;
}

.cart_totals .woocommerce-shipping-methods label .amount {
  color: #CEFF00;
  font-weight: 700;
}

.cart_totals .woocommerce-shipping-calculator a {
  color: #CEFF00;
  font-weight: 600;
}

/* "Shipping to Barcelona." EN BLANCO (antes gris) */
.cart_totals .woocommerce-shipping-destination {
  background: rgba(255,255,255,0.05);
  color: #FFFFFF !important;
  padding: 10px 14px;
  border-radius: 8px;
  font-size: 13px;
  margin-top: 6px;
}
.cart_totals .woocommerce-shipping-destination strong {
  color: #FFFFFF !important;
}

.cart_totals .woocommerce-shipping-destination a {
  color: #CEFF00;
}

/* ---------- CAMPOS DE DIRECCIÓN ---------- */
.cart_totals select,
.cart_totals .woocommerce-shipping-fields select,
.cart_totals #calc_shipping_country,
.cart_totals #calc_shipping_state,
.woocommerce-shipping-calculator select {
  background: rgba(255,255,255,0.06) !important;
  color: #FFFFFF !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
  border-radius: 8px !important;
  height: 46px !important;
  padding: 0 14px !important;
  -webkit-appearance: none;
  appearance: none;
}

.cart_totals select option {
  background: #1B1B1B;
  color: #FFFFFF;
}

.cart_totals select {
  background-image: linear-gradient(45deg, transparent 50%, #CEFF00 50%),
    linear-gradient(135deg, #CEFF00 50%, transparent 50%) !important;
  background-position: calc(100% - 18px) center, calc(100% - 13px) center !important;
  background-size: 5px 5px, 5px 5px !important;
  background-repeat: no-repeat !important;
}

.cart_totals input[type="text"] {
  background: rgba(255,255,255,0.06) !important;
  color: #FFFFFF !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
  border-radius: 8px !important;
  height: 46px !important;
  padding: 0 14px !important;
}
.cart_totals input[type="text"]::placeholder {
  color: rgba(255,255,255,0.4) !important;
}

.cart_totals button[name="calc_shipping"] {
  background: linear-gradient(135deg, #CEFF00, #61CE70) !important;
  color: #1B1B1B !important;
  border: none !important;
  width: 100%;
  margin-top: 8px;
}
.cart_totals button[name="calc_shipping"]:hover {
  filter: brightness(1.08);
}

/* ---------- VIABILL: texto y logo EN BLANCO (clases exactas confirmadas) ---------- */
#vbpt.vbpt-badge,
.vbpt-badge {
  background: transparent !important;
}

.vbpt-badge .vb-content {
  background: transparent !important;
}

.vbpt-badge .vb-text {
  color: #FFFFFF !important;
}

.vbpt-badge .vb-logo svg path {
  fill: #FFFFFF !important;
}

/* ---------- TEXTOS ARRIBA DEL CHECKOUT EN BLANCO ---------- */
.wc-proceed-to-checkout,
.wc-proceed-to-checkout p,
.wc-proceed-to-checkout span,
.wc-proceed-to-checkout h3,
.wc-proceed-to-checkout h4 {
  color: #FFFFFF !important;
}

.wc-proceed-to-checkout {
  margin-top: 20px;
}

/* ---------- BOTÓN PROCEDER AL PAGO (sin cambios, mantiene degradado) ---------- */
.wc-proceed-to-checkout a.checkout-button {
  background: linear-gradient(135deg, #CEFF00, #61CE70) !important;
  color: #1B1B1B !important;
  width: 100%;
  box-shadow: 0 6px 20px rgba(97,206,112,0.4);
  font-size: 15px !important;
  padding: 16px 28px !important;
  position: relative;
}
.wc-proceed-to-checkout a.checkout-button::after {
  content: "→";
  margin-left: 8px;
  font-weight: 800;
}
.wc-proceed-to-checkout a.checkout-button:hover {
  filter: brightness(1.08);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(97,206,112,0.5);
}

.elementor-54350 .elementor-element.elementor-element-5b17559f {
    .woocommerce-shipping-destination {
        display: none;
    }
    
    .woocommerce-shipping-calculator {
        display: none;
    }
    .e-apply-coupon {
        height: unset;
    }
    .e-shop-table.e-cart-section {
        padding: 0 !important;
    }
    
    .cart-collaterals, .cart_totals {
        margin: 0 !important;
    }
    
    .checkout-button {
        background: linear-gradient(82deg, #61CE70 22%, #CEFF00 50%, #61CE70 100%);
  padding: 8px 16px;
  height: unset;
  border-radius: 8px;
  width: 100%;
  text-align: center;
  font-weight: 800;
  font-size: 1.1rem;
    }
    .checkout-button:hover {
        background: transparent;
        border-color: #CEFF00;
    }
    td.product-name {
        line-height: 1.4 !important;
    }
    td.product-name a {
        color: #eeeeee !important;
    }
    
    .minus, .plus {
        border: 1px solid #CEFF00;
        background: transparent;
        color: #CEFF00;
    }
    .minus {
        margin-right: 4px;
    }
    .plus {
        margin-left: 4px;
    }
    .input-text.qty.text {
        text-align: center;
    }
    .viabill-pricetag-wrap, .viabill-pricetag {
        color: #FFFFFF !important;
    }
}/* End custom CSS */