/* wishlist.css — "Mis favoritos" (/wishlist/, página 221 de Elementor) con el
   mismo lenguaje visual que "Mi cuenta" (account.css): encabezado con kicker,
   panel blanco con fillet --r-xl, filas planas, botones rojos tipo píldora.
   Se encola SOLO en la página de favoritos desde novamira-sandbox/bw3d-account.php.
   Los selectores llevan .bw-wl-panel para ganarle a main.min.css del plugin QODE. */

/* ============================================================
   1. Encabezado (widgets de Elementor con clases bw-wl-*)
   ============================================================ */
.bw-wl-head > .e-con-inner {
  gap: 0;
}
.elementor-widget.bw-wl-kicker .elementor-heading-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--tx-l-3);
  margin: 0 0 var(--s3);
}
.elementor-widget.bw-wl-kicker .elementor-heading-title::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--red);
}
.elementor-widget.bw-wl-title .elementor-heading-title {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(34px, 5vw, 56px);
  line-height: 1.02;
  letter-spacing: -.02em;
  color: var(--tx-l-1);
  margin: 0 0 var(--s3);
}
.elementor-widget.bw-wl-lead,
.elementor-widget.bw-wl-lead p {
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.55;
  color: var(--tx-l-2);
  margin: 0;
  max-width: 720px;
}

/* ============================================================
   2. Panel
   ============================================================ */
.bw-wl-panel .qwfw-wishlist-table {
  background: var(--white);
  border: 1px solid var(--hairline-l);
  border-radius: var(--r-xl);
  box-shadow: var(--sh-light);
  padding: clamp(20px, 3vw, 32px) clamp(20px, 4vw, 40px);
  font-family: var(--font-body);
}

/* Encabezado del widget: solo queda el botón de compartir */
.bw-wl-panel .qwfw-wishlist-table .qwfw-m-section-heading {
  margin: 0 0 var(--s3);
  flex-direction: row;
  align-items: center;
}
.bw-wl-panel .qwfw-wishlist-table .qwfw-m-section-heading-actions {
  width: auto;
  margin-left: auto;
}
.bw-wl-panel .qwfw-social-share .qwfw-m-opener {
  display: inline-grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--paper);
  color: var(--tx-l-2);
  transition: background-color .2s var(--eo), color .2s var(--eo);
}
.bw-wl-panel .qwfw-social-share .qwfw-m-opener:hover {
  background: var(--ink);
  color: var(--paper);
}
.bw-wl-panel .qwfw-social-share .qwfw-m-opener svg {
  width: 18px;
  height: 18px;
}

/* ============================================================
   3. Tabla plana
   ============================================================ */
.bw-wl-panel .qwfw-wishlist-table .qwfw-m-items.shop_table {
  width: 100%;
  font-size: 15px;
  border: 0;
  border-radius: 0;
  border-collapse: collapse;
  background: transparent;
}
.bw-wl-panel .qwfw-wishlist-table .qwfw-m-items .qwfw-m-items-heading {
  background: transparent;
}
.bw-wl-panel .qwfw-wishlist-table .qwfw-m-items .qwfw-m-items-heading tr th {
  padding: 0 12px 12px;
  border-bottom: 1px solid var(--hairline-l);
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--tx-l-3);
  text-align: left;
}
.bw-wl-panel .qwfw-wishlist-table .qwfw-m-items .qwfw-m-items-heading tr th.product-thumbnail {
  width: 96px;
}
.bw-wl-panel .qwfw-wishlist-table .qwfw-m-items .qwfw-m-items-heading tr th.product-remove {
  width: 44px;
}
.bw-wl-panel .qwfw-wishlist-table .qwfw-m-items .qwfw-m-items-content-row {
  background: transparent;
  border-bottom: 1px solid var(--hairline-l);
}
.bw-wl-panel .qwfw-wishlist-table .qwfw-m-items .qwfw-m-items-content-row:last-child {
  border-bottom: 0;
}
.bw-wl-panel .qwfw-wishlist-table .qwfw-m-items .qwfw-m-items-content-row > * {
  padding: 18px 12px;
  background: transparent;
  color: var(--tx-l-1);
}

/* Quitar */
.bw-wl-panel .qwfw-wishlist-table .qwfw-e-item.product-remove {
  width: 44px;
}
.bw-wl-panel .qwfw-wishlist-table .qwfw-e-item.product-remove a {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  color: var(--tx-l-3);
  transition: background-color .2s var(--eo), color .2s var(--eo);
}
.bw-wl-panel .qwfw-wishlist-table .qwfw-e-item.product-remove a:hover {
  background: rgba(241,79,68,.1);
  color: var(--red);
}
.bw-wl-panel .qwfw-wishlist-table .qwfw-e-item.product-remove a .qwfw-e-remove-button-icon svg {
  width: 12px;
}

/* Imagen */
.bw-wl-panel .qwfw-wishlist-table .qwfw-e-item.product-thumbnail a {
  display: block;
  width: 72px;
  max-width: 72px;
  aspect-ratio: 1;
  border-radius: var(--r-md);
  background: var(--paper);
  padding: 6px;
}
.bw-wl-panel .qwfw-wishlist-table .qwfw-e-item.product-thumbnail a img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  mix-blend-mode: multiply;
}

/* Nombre + categoría */
.bw-wl-panel .qwfw-wishlist-table .qwfw-e-item.product-name .qwfw-e-item-inner {
  gap: 4px;
}
.bw-wl-panel .qwfw-wishlist-table .qwfw-e-item-category,
.bw-wl-panel .qwfw-wishlist-table .qwfw-e-item-category a {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--tx-l-3);
  text-decoration: none;
}
.bw-wl-panel .qwfw-wishlist-table .qwfw-e-item-category a:hover {
  color: var(--red);
}
.bw-wl-panel .qwfw-wishlist-table .qwfw-e-item-name {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
  color: var(--tx-l-1);
  text-decoration: none;
  transition: color .2s var(--eo);
}
.bw-wl-panel .qwfw-wishlist-table .qwfw-e-item-name:hover {
  color: var(--red);
}

/* Precio */
.bw-wl-panel .qwfw-wishlist-table .qwfw-e-item.product-price {
  font-family: var(--font-mono);
  font-weight: 600;
  white-space: nowrap;
}
.bw-wl-panel .qwfw-wishlist-table .qwfw-e-item.product-price del {
  color: var(--tx-l-3);
  font-weight: 400;
}
.bw-wl-panel .qwfw-wishlist-table .qwfw-e-item.product-price ins {
  text-decoration: none;
}

/* Agregar al carrito: píldora roja, hover ink */
.bw-wl-panel .qwfw-wishlist-table .qwfw-e-item.product-add-to-cart .qwfw-e-add-to-cart,
.bw-wl-panel .qwfw-wishlist-table .qwfw-e-item.product-add-to-cart .added_to_cart {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 11px 22px;
  background: var(--red);
  color: var(--white);
  border: 0;
  border-radius: var(--r-pill);
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  text-decoration: none;
  transition: background-color .3s var(--eo), color .3s var(--eo), transform .2s var(--eo);
}
.bw-wl-panel .qwfw-wishlist-table .qwfw-e-item.product-add-to-cart .qwfw-e-add-to-cart:hover,
.bw-wl-panel .qwfw-wishlist-table .qwfw-e-item.product-add-to-cart .added_to_cart:hover {
  background: var(--ink);
  color: var(--paper);
}
.bw-wl-panel .qwfw-wishlist-table .qwfw-e-item.product-add-to-cart .qwfw-e-add-to-cart:active {
  transform: scale(.98);
}

/* ============================================================
   4. Lista vacía
   ============================================================ */
.bw-wl-panel .qwfw-wishlist-table.qwfw--no-items .qwfw-m-not-found {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--s4);
  padding: var(--s7) var(--s4);
}
.bw-wl-panel .qwfw-wishlist-table.qwfw--no-items .qwfw-m-not-found::before {
  content: "";
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F14F44' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E") center / 28px no-repeat;
}
.bw-wl-panel .qwfw-wishlist-table .qwfw-m-not-found-title {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 600;
  color: var(--tx-l-1);
  max-width: 420px;
}

/* ============================================================
   5. Responsive: cada fila pasa a tarjeta plana (imagen | datos)
   ============================================================ */
@media (max-width: 680px) {
  .bw-wl-head > .e-con-inner {
    padding-top: 0;
  }
  .elementor-widget.bw-wl-lead,
  .elementor-widget.bw-wl-lead p {
    font-size: 15px;
  }
  .bw-wl-panel .qwfw-wishlist-table {
    border-radius: var(--r-lg);
    padding: 12px 18px;
  }
  .bw-wl-panel .qwfw-wishlist-table .qwfw-m-items .qwfw-m-items-heading {
    display: none;
  }
  .bw-wl-panel .qwfw-wishlist-table .qwfw-m-items,
  .bw-wl-panel .qwfw-wishlist-table .qwfw-m-items tbody {
    display: block;
  }
  .bw-wl-panel .qwfw-wishlist-table .qwfw-m-items .qwfw-m-items-content-row {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr) 34px;
    grid-template-areas:
      "thumb name remove"
      "thumb price price"
      "cart cart cart";
    column-gap: 14px;
    row-gap: 6px;
    padding: 16px 0;
  }
  .bw-wl-panel .qwfw-wishlist-table .qwfw-m-items .qwfw-m-items-content-row > * {
    display: block;
    padding: 0;
    width: auto;
  }
  .bw-wl-panel .qwfw-wishlist-table .qwfw-e-item.product-thumbnail { grid-area: thumb; }
  .bw-wl-panel .qwfw-wishlist-table .qwfw-e-item.product-name      { grid-area: name; }
  .bw-wl-panel .qwfw-wishlist-table .qwfw-e-item.product-remove    { grid-area: remove; width: auto; }
  .bw-wl-panel .qwfw-wishlist-table .qwfw-e-item.product-price     { grid-area: price; font-size: 15px; }
  .bw-wl-panel .qwfw-wishlist-table .qwfw-e-item.product-add-to-cart {
    grid-area: cart;
    margin-top: 8px;
  }
  .bw-wl-panel .qwfw-wishlist-table .qwfw-e-item.product-add-to-cart .qwfw-e-item-inner {
    align-items: stretch;
  }
  .bw-wl-panel .qwfw-wishlist-table .qwfw-e-item.product-add-to-cart .qwfw-e-add-to-cart,
  .bw-wl-panel .qwfw-wishlist-table .qwfw-e-item.product-add-to-cart .added_to_cart {
    width: 100%;
  }
  .bw-wl-panel .qwfw-wishlist-table .qwfw-e-item-name {
    font-size: 15px;
  }
}
