.elementor-11 .elementor-element.elementor-element-68b0628{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-11 .elementor-element.elementor-element-68b0628:not(.elementor-motion-effects-element-type-background), .elementor-11 .elementor-element.elementor-element-68b0628 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#ECF1FF;}.elementor-11 .elementor-element.elementor-element-27b4f7f{--update-cart-automatically-display:none;--totals-title-alignment:center;}.elementor-11 .elementor-element.elementor-element-27b4f7f.elementor-element{--align-self:stretch;}.elementor-11 .elementor-element.elementor-element-27b4f7f .shipping-calculator-form{--update-shipping-button-alignment:center;--update-shipping-button-width:auto;}.elementor-11 .elementor-element.elementor-element-27b4f7f .wc-proceed-to-checkout{--place-order-title-alignment:stretch;--checkout-button-width:100%;}.elementor-11 .elementor-element.elementor-element-57327389{--display:flex;}.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 );}/* Start custom CSS for woocommerce-cart, class: .elementor-element-27b4f7f */.elementor-11 .elementor-element.elementor-element-27b4f7f .e-cart__container {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 15px;
  font-family: "Open Sans", sans-serif;
  line-height: 1.4;
  padding: 2%;
  min-height: calc(100vh - 270px);
}
.elementor-11 .elementor-element.elementor-element-27b4f7f .e-cart-section {
  background: #ffffff;
  border: 1px solid #e0e0e0;
  border-radius: 12px;
  padding: 20px;
}

/*2. Sección izquierda: tabla de productos*/
.elementor-11 .elementor-element.elementor-element-27b4f7f .woocommerce-cart-form__contents {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-family: "Open Sans", sans-serif;
}

.elementor-11 .elementor-element.elementor-element-27b4f7f .woocommerce-cart-form__contents thead th {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #a7b1c2;
  padding-bottom: 18px;
}

.elementor-11 .elementor-element.elementor-element-27b4f7f .product-quantity {
  text-align: center;
}

.elementor-11 .elementor-element.elementor-element-27b4f7f .product-quantity .quantity {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #eef2f6;
  border-radius: 999px;
  padding: 8px 18px;
  min-height: 40px;
}

.elementor-11 .elementor-element.elementor-element-27b4f7f .product-quantity .qty {
  width: 24px;
  border: none;
  background: transparent;
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  color: #4c5a6b;
  padding: 0;
  margin: 0;
  box-shadow: none;
  outline: none;
  appearance: textfield;
}

/*3. Sección derecha: Totales*/
.elementor-11 .elementor-element.elementor-element-27b4f7f .e-cart__column-end {
  padding: 0;
}
.elementor-11 .elementor-element.elementor-element-27b4f7f .e-cart-totals.e-cart-section {
  box-shadow: 0 8px 24px rgba(16, 24, 40, 0.04);
}
.elementor-11 .elementor-element.elementor-element-27b4f7f .cart_totals h2 {
  margin: 0 0 22px 0;
  font-size: 20px;
  color: #1f2937;
}
.elementor-11 .elementor-element.elementor-element-27b4f7f .cart_totals .shop_table {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
}

.elementor-11 .elementor-element.elementor-element-27b4f7f .cart_totals .shop_table tr {
  border-top: 1px solid #eef2f6;
}

.elementor-11 .elementor-element.elementor-element-27b4f7f .cart_totals .shop_table th,
.elementor-11 .elementor-element.elementor-element-27b4f7f .cart_totals .shop_table td {
  padding: 16px 0;
  font-size: 15px;
  line-height: 1.4;
}

.elementor-11 .elementor-element.elementor-element-27b4f7f .cart_totals .shop_table th {
  text-align: left;
  font-weight: 600;
  color: #a3afc2;
}

.elementor-11 .elementor-element.elementor-element-27b4f7f .cart_totals .shop_table td {
  text-align: right;
  font-weight: 700;
  color: #4b5563;
}

.elementor-11 .elementor-element.elementor-element-27b4f7f .cart_totals .shipping td,
.elementor-11 .elementor-element.elementor-element-27b4f7f .cart_totals .shipping .amount,
.elementor-11 .elementor-element.elementor-element-27b4f7f .cart_totals .shipping .woocommerce-Price-amount {
  color: #22c55e;
  font-weight: 800;
}

.elementor-11 .elementor-element.elementor-element-27b4f7f .cart_totals .order-total th {
  font-size: 16px;
  font-weight: 800;
  color: #1f2937;
  padding-top: 22px;
}

.elementor-11 .elementor-element.elementor-element-27b4f7f .cart_totals .order-total td {
  font-size: 22px;
  font-weight: 800;
  color: #0f67c6;
  padding-top: 22px;
}

.elementor-11 .elementor-element.elementor-element-27b4f7f .cart_totals .order-total small,
.elementor-11 .elementor-element.elementor-element-27b4f7f .cart_totals .order-total .includes_tax {
  display: block;
  margin-top: 4px;
  font-size: 11px;
  font-weight: 700;
  color: #a7b1c2;
  text-transform: uppercase;
}

.elementor-11 .elementor-element.elementor-element-27b4f7f .wc-proceed-to-checkout {
  margin-top: 24px;
  padding: 0;
}

.elementor-11 .elementor-element.elementor-element-27b4f7f .wc-proceed-to-checkout .checkout-button {
  display: block;
  width: 100%;
  margin: 0;
  padding: 18px 24px;
  border-radius: 16px;
  background: #0f67c6;
  color: #ffffff;
  font-size: 15px;
  text-transform: uppercase;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 10px 22px rgba(15, 103, 198, 0.22);
  transition: all 0.25s ease;
}
.elementor-11 .elementor-element.elementor-element-27b4f7f .wc-proceed-to-checkout .checkout-button:hover {
  background: #0b5ab0;
  transform: translateY(-1px);
}

.elementor-11 .elementor-element.elementor-element-27b4f7f #order_review button {
  background: #62ad29;
  box-shadow: 0 4px 10px -4px rgba(0,0,0,0.5);
  transform: translateY(-2px);
  filter: contrast(1.1)saturate(1.1);
  border: 2px solid #62ad29;
  font-size: 16px; font-weight: 500;
  margin-top: 10px;
  padding: 12px 20px;
  width: 100%;
}
.elementor-11 .elementor-element.elementor-element-27b4f7f #order_review button:hover {
  box-shadow: none;
  transform: none;
  filter: contrast(1.2)saturate(1.21);
}

/* ---------------------------------------- */
/* Responsivo */
@media (max-width: 767px) {
  
  .elementor-11 .elementor-element.elementor-element-27b4f7f .e-cart__container {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 12px;
  }
  .elementor-11 .elementor-element.elementor-element-27b4f7f .e-shop-table {
    padding: 0;
    background: transparent !important;
    border: 0 !important;
  }
  
  .elementor-widget-woocommerce-cart .woocommerce .cart td:before {
      content: "";
  }

  /*CUPÓN */ 
  .elementor-11 .elementor-element.elementor-element-27b4f7f .coupon input{ 
      height: 42px; 
  }
  .elementor-11 .elementor-element.elementor-element-27b4f7f .coupon input::placeholder{
  text-align: center;
  }
  .elementor-11 .elementor-element.elementor-element-27b4f7f .coupon button{ 
      height: 42px; font-size: 14px;; 
      
  }
}


@media (max-width: 767px) {
    /* 1. Estructura de la Tarjeta */
    .woocommerce-cart-form__cart-item {
        display: flex !important;
        flex-wrap: wrap;
        position: relative;
        background: #ffffff;
        border-radius: 15px;
        padding: 15px;
        margin-bottom: 20px;
        box-shadow: 0 4px 12px rgba(0,0,0,0.05);
        border: 1px solid #f0f0f0;
        align-items: flex-start;
    }

    /* 2. Imagen a la izquierda */
    .product-thumbnail {
        flex: 0 0 90px; 
        display: block !important;
        padding: 0 !important;
        margin-right: 15px;
        border: none !important;
    }

    .product-thumbnail img {
        width: 100% !important;
        height: auto;
        border-radius: 12px;
    }

    /* 3. Bloque de contenido a la derecha */
    .product-name, .product-price, .product-subtotal, .product-quantity {
        display: flex !important;
        flex: 1 1 60%;
        flex-direction: column;
        border: none !important;
        padding: 0 !important;
        text-align: left !important;
        margin-bottom: 5px;
    }

    /* Nombre del Producto */
    .product-name {
        font-weight: 700;
        font-size: 1rem;
        margin-bottom: 4px;
    }

    /* Precio Unitario */
    .product-price {
        font-size: 0.9rem;
        color: #777;
    }

    /* SUBTOTAL (Mantener visible) */
    .product-subtotal {
        color: #1e5c99; /* Color destacado */
        font-weight: 700;
        font-size: 1.1rem;
        margin-top: 2px;
    }

    /* Cantidad (Alineada abajo o a la derecha) */
    .product-quantity {
        margin-top: 8px;
        flex: 1 1 100%; /* Ocupa ancho completo para bajar tras los textos */
    }

    .product-quantity .quantity {
        background: #f1f3f5;
        border-radius: 25px;
        padding: 4px 12px;
        display: inline-flex;
        align-items: center;
    }

    .product-quantity input.qty {
        background: transparent !important;
        border: none !important;
        width: 45px !important;
        font-weight: bold;
    }

    /* 4. Botón Eliminar (X arriba a la derecha) */
    .product-remove {
        position: absolute !important;
        top: 12px;
        right: 12px;
        border: none !important;
        padding: 0 !important;
    }

    .product-remove a.remove {
        font-size: 24px !important;
        color: #e0e0e0 !important;
    }

    /* 5. Limpieza de etiquetas por defecto de WooCommerce */
    .shop_table thead,
    .product-name::before, 
    .product-price::before, 
    .product-subtotal::before,
    .product-quantity::before {
        display: none !important; /* Quitamos los labels repetitivos */
    }

    /* Ajuste para que la tabla no colapse */
    .shop_table_responsive {
        display: block !important;
    }
    
    .woocommerce-cart-form__contents tbody {
        display: block;
        width: 100%;
    }
}

@media (max-width: 767px) {
  /* product-remove 
  /* product-thumbnail
  /* product-name
  /* product-price
  /* product-quantity
  /* product-subtotal */
  .elementor-11 .elementor-element.elementor-element-27b4f7f .cart_item {
    display: grid !important;
    padding: 18px !important;
    grid-template-areas: "img name name"
                         "img price cant"
                         "img subt subt"
    ;
    grid-template-columns: 100px 1fr 1fr;

  }
  
  .elementor-11 .elementor-element.elementor-element-27b4f7f .product-thumbnail {
    grid-area: img;
  }
  .elementor-11 .elementor-element.elementor-element-27b4f7f .product-name {
    grid-area: name;
  }
  .elementor-11 .elementor-element.elementor-element-27b4f7f .product-price {
    grid-area: price;
    margin-top: auto;
    align-items: flex-start;
    position: relative;
    bdi {
      font-size: 13px;
      font-weight: 600;
      color: #09C;
    }
  }
  .elementor-11 .elementor-element.elementor-element-27b4f7f .product-price:after {
    content: "Precio Unidad:"; inset: 0;
    position: absolute; color: #333;
    font-size: 10px; font-weight: 500;
    text-align: left;
    transform: translateY(-15px);
  }
  .elementor-11 .elementor-element.elementor-element-27b4f7f .product-quantity {
    grid-area: cant;
    font-size: 10px;


  }
  .elementor-11 .elementor-element.elementor-element-27b4f7f .product-subtotal {
    grid-area: subt;
    display: none !important;
  }
  
  .elementor-11 .elementor-element.elementor-element-27b4f7f .product-remove a {
    color: #aaa !important;
  }
  .elementor-11 .elementor-element.elementor-element-27b4f7f .product-thumbnail {
    border-radius: 8px;
    margin-right: 12px;
    position: relative;
    border: 1px solid #ccc !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.15);
    overflow: hidden;
  }
  .elementor-11 .elementor-element.elementor-element-27b4f7f .product-thumbnail img {
    transform: scale(1.5);
  }
  .elementor-11 .elementor-element.elementor-element-27b4f7f .product-thumbnail:before {
    content: ""; position: absolute;
    inset: 0; border-radius: 10px;
    background: rgba(0,0,0,0.01);
  }
  
  .elementor-11 .elementor-element.elementor-element-27b4f7f .product-name {
    align-items: flex-start;
    font-size: 15px;
    padding-top: 5px !important;
  }
  .elementor-11 .elementor-element.elementor-element-27b4f7f .product-name a {
    color: #222 !important;
  }
  
  /* ---------------------------- */
  /* TOTAL CARRITO 
  /* ---------------------------- */
  .cart_totals h2 {
    text-align: left !important;
  }
  .cart_totals tbody { display: block; }
  .cart_totals bdi { color: #222; }
  
  .shop_table_responsive td[data-title]::before {
      color: #1e5c99 !important;
      font-weight: 700;
      text-transform: uppercase;
      font-size: 12px;
      letter-spacing: 1px;
    }

    .order-total td[data-title]::before {
        color: #e63946;
    }
    .elementor-11 .elementor-element.elementor-element-27b4f7f .cart_totals h2 {
      margin-bottom: 5px;
    }
    .elementor-11 .elementor-element.elementor-element-27b4f7f .wc-proceed-to-checkout {
      margin-top: 8px;
    }
  /* ---------------------------- */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-57327389 */.elementor-11 .elementor-element.elementor-element-57327389 { display: none; }/* End custom CSS */