.elementor-369 .elementor-element.elementor-element-61df022{--display:flex;}.elementor-369 .elementor-element.elementor-element-402dee1c{--display:flex;}.elementor-369 .elementor-element.elementor-element-23aea7af{text-align:center;}.elementor-369 .elementor-element.elementor-element-23aea7af p{margin-block-end:0px;}.elementor-369 .elementor-element.elementor-element-5fba69f{--display:flex;}/* Start custom CSS for text-editor, class: .elementor-element-23aea7af *//* =========================================================
   THE ALCHEMIA LAB · CART PRODUCTS (OPCIÓN 1 · LUXE CARDS)
   FIX FINAL: sin duplicados, grid estable con AREAS (desktop+móvil),
   cantidad nunca se sale/empalma, imagen balanceada.
========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600&display=swap');

:root{
  --tal-ink:#0b0c0f;
  --tal-card:#ffffff;
  --tal-line:rgba(15,15,16,.12);
  --tal-soft:rgba(15,15,16,.06);
  --tal-gold:#d4b55c;
  --tal-gold2:#f4dfb0;
  --tal-radius:22px;
  --tal-shadow:0 22px 70px rgba(0,0,0,.10);
  --tal-t:.28s ease;

  /* Tamaños controlados (desktop) */
  --tal-thumb:70px;        /* imagen */
  --tal-remove:42px;       /* botón X */
  --tal-col:128px;         /* columnas de precio/cantidad */
}

/* Tipografía general */
.woocommerce-cart .woocommerce{
  font-family:"Playfair Display",serif;
  color:var(--tal-ink);
}

/* Tabla base limpia */
.woocommerce-cart table.shop_table.cart{
  border:0 !important;
  background:transparent !important;
  border-collapse:separate !important;
  border-spacing:0 14px !important;
  width:100% !important;
}

.woocommerce-cart table.shop_table.cart thead{ display:none !important; }
.woocommerce-cart table.shop_table.cart tr{ background:transparent !important; }

/* Evita que el tema convierta td en bloques con floats raros */
.woocommerce-cart table.shop_table.cart td{
  border:0 !important;
  padding:0 !important;
  min-width:0 !important;
  float:none !important;
  clear:none !important;
}

/* Mata labels responsive (Precio:, Cantidad:, etc.) */
.woocommerce-cart table.shop_table.cart td::before{
  content:none !important;
  display:none !important;
}

/* =========================================================
   CARD (DESKTOP): GRID CON AREAS (NO AUTO-PLACEMENT)
========================================================= */

.woocommerce-cart table.shop_table.cart tr.cart_item{
  display:grid !important;

  /* 5 columnas: img | nombre | precio | cantidad | remove */
  grid-template-columns: var(--tal-thumb) minmax(0,1fr) var(--tal-col) var(--tal-col) var(--tal-remove);
  grid-template-areas: "img name price qty remove";

  gap:14px !important;
  align-items:center !important;

  background:var(--tal-card) !important;
  border:1px solid var(--tal-line) !important;
  border-radius:var(--tal-radius) !important;
  box-shadow:var(--tal-shadow) !important;
  padding:14px !important;

  position:relative !important;
  overflow:hidden !important;
  transition:transform var(--tal-t), box-shadow var(--tal-t), border-color var(--tal-t) !important;
}

/* Fallback: fuerza a los TD como items del grid */
.woocommerce-cart table.shop_table.cart tr.cart_item > td{
  display:block !important;
  width:auto !important;
  margin:0 !important;
  min-width:0 !important;
}

/* Glow dorado */
.woocommerce-cart table.shop_table.cart tr.cart_item::before{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    radial-gradient(circle at 15% 0%, rgba(212,181,92,.18), transparent 45%),
    radial-gradient(circle at 100% 80%, rgba(244,223,176,.14), transparent 55%);
  opacity:.85;
  pointer-events:none;
}

.woocommerce-cart table.shop_table.cart tr.cart_item:hover{
  transform:translateY(-2px);
  border-color:rgba(212,181,92,.35) !important;
  box-shadow:0 28px 90px rgba(0,0,0,.14) !important;
}

/* Eleva contenido sobre el glow sin romper inputs */
.woocommerce-cart table.shop_table.cart tr.cart_item > td{
  position:relative;
  z-index:1;
}

/* =========================================================
   ASIGNACIÓN DE AREAS (DESKTOP)
========================================================= */

.woocommerce-cart .product-thumbnail{ grid-area:img; width:var(--tal-thumb) !important; }
.woocommerce-cart .product-name{ grid-area:name; min-width:0 !important; }
.woocommerce-cart .product-remove{ grid-area:remove; text-align:right !important; }

/* WooCommerce puede tener price y/o subtotal. Usaremos SUBTOTAL como “price” */
.woocommerce-cart .product-subtotal{ grid-area:price; }
.woocommerce-cart .product-quantity{ grid-area:qty; }

/* =========================================================
   FIX: SOLO 1 PRECIO (EVITA EMPALMES)
   - Oculta precio unitario (td.product-price)
   - Oculta montos que el tema imprime dentro del nombre o del mini-cart quantity
   - Deja visible SOLO el subtotal/line total
========================================================= */

/* 1) Oculta la columna/elemento de precio unitario */
.woocommerce-cart td.product-price,
.woocommerce-cart .product-price{
  display:none !important;
}

/* 2) Muchos temas imprimen un precio dentro del nombre (duplicado) */
.woocommerce-cart .product-name .price,
.woocommerce-cart .product-name .amount,
.woocommerce-cart .product-name .woocommerce-Price-amount{
  display:none !important;
}

/* 3) Si el mini-cart/drawer imprime precio dentro de ".quantity" (x1 $...), lo ocultamos solo dentro de cart_item */
.woocommerce .cart_item .quantity .amount,
.woocommerce .cart_item .quantity .woocommerce-Price-amount{
  display:none !important;
}

/* 4) Asegura que el subtotal sea el único visible */
.woocommerce-cart td.product-subtotal,
.woocommerce-cart .product-subtotal{
  display:block !important;
}

/* =========================================================
   THUMBNAIL (IMAGEN BALANCEADA)
========================================================= */

.woocommerce-cart .product-thumbnail a{
  display:block !important;
  border:1px solid var(--tal-soft);
  border-radius:16px;
  padding:8px;
  background:linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,0));
  box-sizing:border-box !important;
}
.woocommerce-cart .product-thumbnail img{
  width:100% !important;
  height:auto !important;
  display:block !important;
  border-radius:12px !important;
}

/* =========================================================
   NOMBRE
========================================================= */

.woocommerce-cart .product-name a{
  display:block !important;
  color:var(--tal-ink) !important;
  font-weight:600 !important;
  letter-spacing:.2px;
  text-decoration:none !important;
  line-height:1.18 !important;
  font-size:18px !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
}
.woocommerce-cart .product-name a:hover{
  color:#000 !important;
  text-decoration:underline !important;
  text-decoration-color:rgba(212,181,92,.55) !important;
}

/* Variaciones */
.woocommerce-cart .product-name dl.variation{
  margin-top:8px !important;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial !important;
  font-size:12.5px !important;
  opacity:.78;
}
.woocommerce-cart .product-name dl.variation dt{ font-weight:700; }
.woocommerce-cart .product-name dl.variation dd{ margin:0 0 6px 0; }

/* =========================================================
   PRECIO (SUBTOTAL)
========================================================= */

.woocommerce-cart .product-subtotal{
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial !important;
  line-height:1.35 !important;
  text-align:right !important;
  white-space:nowrap !important;
  min-width:0 !important;
}
.woocommerce-cart .product-subtotal .amount{
  font-weight:800 !important;
  font-size:16px !important;
  color:var(--tal-ink) !important;
}

/* =========================================================
   CANTIDAD (FIX: NUNCA SE SALE NI SE EMPALMA)
========================================================= */

.woocommerce-cart .product-quantity{
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
  min-width:0 !important;
  max-width:100% !important;
  overflow:hidden !important;
}

.woocommerce-cart .product-quantity .quantity{
  width:100% !important;
  max-width:100% !important;
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
  gap:8px !important;
  flex-wrap:nowrap !important;
  box-sizing:border-box !important;
}

.woocommerce-cart .product-quantity .quantity .qty{
  width:clamp(64px, 6.5vw, 92px) !important;
  height:44px !important;
  max-width:100% !important;
  border-radius:14px !important;
  border:1px solid var(--tal-line) !important;
  background:#fff !important;
  text-align:center !important;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial !important;
  font-weight:800 !important;
  padding:0 10px !important;
  box-sizing:border-box !important;
}

/* =========================================================
   REMOVE
========================================================= */

.woocommerce-cart a.remove{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:40px !important;
  height:40px !important;
  border-radius:14px !important;
  background:rgba(0,0,0,.04) !important;
  color:rgba(0,0,0,.55) !important;
  border:1px solid var(--tal-soft) !important;
  transition:transform var(--tal-t), background var(--tal-t), color var(--tal-t), border-color var(--tal-t) !important;
  text-decoration:none !important;
}
.woocommerce-cart a.remove:hover{
  transform:scale(1.06);
  background:rgba(212,181,92,.14) !important;
  color:#000 !important;
  border-color:rgba(212,181,92,.35) !important;
}

/* =========================================================
   ACCIONES (cupón / update cart)
========================================================= */

.woocommerce-cart .actions{ padding-top:10px !important; }

.woocommerce-cart .actions .button,
.woocommerce-cart .actions button.button,
.woocommerce-cart .coupon .button{
  border-radius:999px !important;
  padding:12px 18px !important;
  border:1px solid rgba(212,181,92,.35) !important;
  background:linear-gradient(180deg, rgba(212,181,92,.18), rgba(212,181,92,.06)) !important;
  color:#000 !important;
  font-weight:800 !important;
  letter-spacing:.2px !important;
  transition:transform var(--tal-t), box-shadow var(--tal-t) !important;
}
.woocommerce-cart .actions .button:hover,
.woocommerce-cart .coupon .button:hover{
  transform:translateY(-1px);
  box-shadow:0 16px 44px rgba(0,0,0,.10);
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 920px){

  :root{
    --tal-thumb:62px;
    --tal-col:120px;
  }

  .woocommerce-cart table.shop_table.cart tr.cart_item{
    grid-template-columns: var(--tal-thumb) minmax(0,1fr) var(--tal-remove);
    grid-template-areas:
      "img name remove"
      "img price remove"
      "img qty remove";
    align-items:start !important;
  }

  .woocommerce-cart .product-subtotal{
    text-align:left !important;
    padding-top:6px !important;
  }

  .woocommerce-cart .product-quantity{
    justify-content:flex-start !important;
    padding-top:6px !important;
  }
}

@media (max-width: 480px){

  :root{
    --tal-thumb:56px;
  }

  .woocommerce-cart table.shop_table.cart tr.cart_item{
    padding:12px !important;
    gap:12px !important;
  }

  .woocommerce-cart .product-name a{ font-size:16px !important; }

  .woocommerce-cart .product-quantity .quantity .qty{
    height:42px !important;
    width:clamp(60px, 18vw, 86px) !important;
  }
}
/* =========================================================
   FIX: SIGNO $ EN TIPOGRAFÍA NORMAL (NO ELEGANTE)
========================================================= */

/* Aplica solo al símbolo de moneda */
.woocommerce-Price-currencySymbol{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}/* End custom CSS */