/* Love2Dance wishlist UI. Loaded by l2d-wishlist-ui.php.
   .woo-buttons-on-img is the common image wrapper in BOTH The7 layouts:
   grid  -> figure.woocom-project > div.trigger-img-hover.woo-buttons-on-img
   carousel -> article.trigger-img-hover > figure.woocom-project > div.woo-buttons-on-img
*/

.woocom-project .woo-buttons-on-img { position: relative; }

.woocom-project .woo-buttons-on-img > .tinv-wraper {
  position: absolute; top: 2px; right: 2px; z-index: 6;
  margin: 0; padding: 0; line-height: 0;
}

/* 44x44 tap target everywhere; the visible chip is smaller. */
.woocom-project .woo-buttons-on-img > .tinv-wraper a.tinvwl_add_to_wishlist_button.no-txt {
  position: relative; display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; margin: 0; padding: 0;
  background: none; border: 0; color: #3A343A;
  vertical-align: baseline; -webkit-tap-highlight-color: transparent;
}

/* The chip: 36px on phones, 40px from tablet up. */
.woocom-project .woo-buttons-on-img > .tinv-wraper a.tinvwl_add_to_wishlist_button.no-txt::after {
  content: ''; position: absolute; top: 50%; left: 50%;
  width: 36px; height: 36px; transform: translate(-50%, -50%);
  border-radius: 50%; background: rgba(255,255,255,.93);
  box-shadow: 0 1px 5px rgba(10,10,10,.15); z-index: 0;
  transition: background-color .18s ease, box-shadow .18s ease;
}

/* Override the plugin's absolutely-centred glyph so it sits inside the chip. */
.woocom-project .woo-buttons-on-img > .tinv-wraper a.tinvwl_add_to_wishlist_button.no-txt::before {
  position: relative; top: auto; left: auto; z-index: 1;
  margin: 0; font-size: 18px; line-height: 1;
  transition: color .18s ease, transform .12s ease;
}

/* Saved state - the plugin's JS adds .tinvwl-product-in-list */
.woocom-project .woo-buttons-on-img > .tinv-wraper a.tinvwl_add_to_wishlist_button.no-txt.tinvwl-product-in-list::after {
  background: #EB1C8D; box-shadow: 0 1px 6px rgba(235,28,141,.35);
}
.woocom-project .woo-buttons-on-img > .tinv-wraper a.tinvwl_add_to_wishlist_button.no-txt.tinvwl-product-in-list::before {
  color: #FFFFFF;
}
.woocom-project .woo-buttons-on-img > .tinv-wraper a.tinvwl_add_to_wishlist_button.no-txt:active::before {
  transform: scale(.86);
}
.woocom-project .woo-buttons-on-img > .tinv-wraper a.tinvwl_add_to_wishlist_button.no-txt:focus-visible {
  outline: 2px solid #EB1C8D; outline-offset: -4px; border-radius: 50%;
}

@media (hover: hover) and (pointer: fine) {
  .woocom-project .woo-buttons-on-img > .tinv-wraper a.tinvwl_add_to_wishlist_button.no-txt:hover::before { color: #EB1C8D; }
  .woocom-project .woo-buttons-on-img > .tinv-wraper a.tinvwl_add_to_wishlist_button.no-txt:hover::after { background: #FFFFFF; }
  .woocom-project .woo-buttons-on-img > .tinv-wraper a.tinvwl_add_to_wishlist_button.no-txt.tinvwl-product-in-list:hover::after { background: #C9106F; }
}

/* Tablet + desktop: slightly larger chip and glyph. */
@media (min-width: 701px) {
  .woocom-project .woo-buttons-on-img > .tinv-wraper { top: 4px; right: 4px; }
  .woocom-project .woo-buttons-on-img > .tinv-wraper a.tinvwl_add_to_wishlist_button.no-txt::after { width: 40px; height: 40px; }
  .woocom-project .woo-buttons-on-img > .tinv-wraper a.tinvwl_add_to_wishlist_button.no-txt::before { font-size: 19px; }
}

/* ---------- Single product page button ----------
   Secondary button of the pair. Geometry matches the7's elementor-size-lg
   add-to-cart button: padding 14px 24px on an 18px/1 label = 46px box.
   Here 46px min-height + border-box + a 2px border reproduces the same box.
*/
.tinv-wraper.tinvwl-after-add-to-cart {
  display: block;
  width: auto;
  align-self: flex-start;
  margin: 14px 0 0 0 !important;
  padding: 0 !important;
  text-align: left;
  text-indent: 0;
}

.tinv-wraper.tinvwl-after-add-to-cart a.tinvwl_add_to_wishlist_button {
  margin: 0 !important;
  float: none !important;
}

.tinv-wraper.tinvwl-after-add-to-cart a.tinvwl_add_to_wishlist_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  box-sizing: border-box;
  min-height: 46px;
  padding: 0 22px;
  border: 2px solid #EB1C8D;
  border-radius: var(--the7-btn-lg-border-radius, 3px);
  background: #FFFFFF;
  color: #EB1C8D;
  font-family: Inter, sans-serif;
  font-weight: 700;
  font-size: 15px;
  line-height: 1;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
  transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}

/* Icon sits AFTER the label, matching the add-to-cart button's bag svg
   (order:1). This makes both button labels start at the same x. */
.tinv-wraper.tinvwl-after-add-to-cart a.tinvwl_add_to_wishlist_button::before {
  order: 1;
  position: static;
  margin: 0 !important;
  font-size: 18px;
  line-height: 1;
  vertical-align: baseline;
}

.tinv-wraper.tinvwl-after-add-to-cart a.tinvwl_add_to_wishlist_button .tinvwl_add_to_wishlist-text {
  line-height: 1;
}

/* Saved: fills in. The plugin's JS adds .tinvwl-product-in-list. */
.tinv-wraper.tinvwl-after-add-to-cart a.tinvwl_add_to_wishlist_button.tinvwl-product-in-list {
  background: #EB1C8D;
  border-color: #EB1C8D;
  color: #FFFFFF;
}

.tinv-wraper.tinvwl-after-add-to-cart a.tinvwl_add_to_wishlist_button:active {
  background: #FDEEF6;
}
.tinv-wraper.tinvwl-after-add-to-cart a.tinvwl_add_to_wishlist_button.tinvwl-product-in-list:active {
  background: #C9106F;
}
.tinv-wraper.tinvwl-after-add-to-cart a.tinvwl_add_to_wishlist_button:focus-visible {
  outline: 2px solid #EB1C8D;
  outline-offset: 2px;
}

@media (hover: hover) and (pointer: fine) {
  .tinv-wraper.tinvwl-after-add-to-cart a.tinvwl_add_to_wishlist_button:hover {
    background: #EB1C8D;
    border-color: #EB1C8D;
    color: #FFFFFF;
  }
  .tinv-wraper.tinvwl-after-add-to-cart a.tinvwl_add_to_wishlist_button.tinvwl-product-in-list:hover {
    background: #C9106F;
    border-color: #C9106F;
  }
}

/* The plugin ships both labels in the anchor - show exactly one. */
.tinv-wraper.tinvwl-after-add-to-cart a.tinvwl_add_to_wishlist_button .tinvwl_already_on_wishlist-text { display: none; }
.tinv-wraper.tinvwl-after-add-to-cart a.tinvwl_add_to_wishlist_button.tinvwl-product-in-list .tinvwl_add_to_wishlist-text { display: none; }
.tinv-wraper.tinvwl-after-add-to-cart a.tinvwl_add_to_wishlist_button.tinvwl-product-in-list .tinvwl_already_on_wishlist-text { display: inline; }
.tinv-wraper.tinvwl-after-add-to-cart .tinv-wishlist-clear { display: none; }
/* Narrow phones: keep the label on one line. */
@media (max-width: 380px) {
  .tinv-wraper.tinvwl-after-add-to-cart a.tinvwl_add_to_wishlist_button {
    padding: 0 16px;
    font-size: 14px;
    gap: 8px;
  }
}
/* ---------- Wishlist page + notice popup: brand colours ---------- */
.tinv-wishlist,
.tinv-wishlist button,
.tinv-wishlist input,
.tinv-wishlist .tinv-modal { font-family: Inter, sans-serif; }

.tinv-wishlist button.button,
.tinv-wishlist .tinvwl-buttons-group button.button,
.tinv-wishlist .tinv-modal .button {
  background-color: #EB1C8D; border-color: #EB1C8D; color: #FFFFFF;
  font-weight: 700; min-height: 44px; border-radius: 4px;
}
.tinv-wishlist button.button:hover,
.tinv-wishlist .tinvwl-buttons-group button.button:hover,
.tinv-wishlist .tinv-modal .button:hover {
  background-color: #C9106F; border-color: #C9106F; color: #FFFFFF;
}
.tinv-wishlist a { color: #EB1C8D; }
.tinv-wishlist a:hover { color: #C9106F; }

/* ---------- Wishlist link in the burger menu ---------- */
.l2d-wishlist-link a.wishlist_products_counter {
  display: inline-flex; align-items: center; gap: 10px;
  min-height: 44px;
  font-family: Inter, sans-serif; font-weight: 500; font-size: 14px;
  color: #FFFFFF; text-decoration: none;
}
.l2d-wishlist-link a.wishlist_products_counter::before { font-size: 20px; color: #EB1C8D; }
.l2d-wishlist-link a.wishlist_products_counter:hover { color: #EB1C8D; }
.l2d-wishlist-link .wishlist_products_counter_number:not(:empty) {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 20px; height: 20px; padding: 0 6px;
  border-radius: 999px; background: #EB1C8D; color: #FFFFFF;
  font-size: 11px; font-weight: 700; line-height: 1;
}

/* =========================================================
   WISHLIST PAGE
   ========================================================= */

/* The page template section is full-width with no gutters. */
.tinv-wishlist.tinv-wishlist-clear {
  padding: 0 18px 8px;
  max-width: 1180px;
  margin: 0 auto;
}
@media (min-width: 701px) {
  .tinv-wishlist.tinv-wishlist-clear { padding: 0 24px 16px; }
}

/* The page H1 already names the list - drop the plugin's duplicate H2. */
.tinv-wishlist .tinv-header { display: none; }

/* Columns we do not want: bulk checkbox and date added. */
.tinv-wishlist .tinvwl-table-manage-list .product-cb,
.tinv-wishlist .tinvwl-table-manage-list .product-date,
.tinv-wishlist .tinvwl-table-manage-list tfoot .tinvwl-to-right,
.tinv-wishlist .tinvwl-table-manage-list .tinvwl-txt-hidden-mobile { display: none !important; }

/* ---------- Empty state ---------- */
.tinv-wishlist p.cart-empty,
.tinv-wishlist p.return-to-shop { display: none !important; }

.l2d-wl-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 48px 8px 56px;
}
.l2d-wl-empty__icon {
  width: 56px; height: 56px;
  color: #EB1C8D;
  margin-bottom: 20px;
}
.l2d-wl-empty__title {
  font-family: Inter, sans-serif;
  font-weight: 800;
  font-size: 22px;
  line-height: 1.25;
  color: #0A0A0A;
  margin: 0 0 10px;
}
.l2d-wl-empty__text {
  font-family: Inter, sans-serif;
  font-weight: 400;
  font-size: 15px;
  line-height: 1.5;
  color: #7D747A;
  max-width: 30ch;
  margin: 0 0 26px;
}
.l2d-wl-empty__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0 32px;
  border-radius: 4px;
  background: #EB1C8D;
  color: #FFFFFF !important;
  font-family: Inter, sans-serif;
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
  transition: background-color .18s ease;
}
.l2d-wl-empty__cta:hover { background: #C9106F; color: #FFFFFF !important; }

.l2d-wl-empty__links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 10px;
  margin-top: 22px;
}
.l2d-wl-empty__links a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 16px;
  border: 1px solid #E5DFE2;
  border-radius: 999px;
  font-family: Inter, sans-serif;
  font-weight: 600;
  font-size: 14px;
  color: #3A343A !important;
  text-decoration: none;
  transition: border-color .18s ease, color .18s ease;
}
.l2d-wl-empty__links a:hover { border-color: #EB1C8D; color: #EB1C8D !important; }

@media (min-width: 701px) {
  .l2d-wl-empty { padding: 64px 8px 72px; }
  .l2d-wl-empty__title { font-size: 26px; }
  .l2d-wl-empty__text { font-size: 16px; }
}

/* ---------- Filled list: card layout on phones ---------- */
@media (max-width: 700px) {
  .tinv-wishlist .tinvwl-table-manage-list,
  .tinv-wishlist .tinvwl-table-manage-list tbody,
  .tinv-wishlist .tinvwl-table-manage-list tr,
  .tinv-wishlist .tinvwl-table-manage-list td {
    display: block;
    width: auto;
  }
  .tinv-wishlist .tinvwl-table-manage-list thead { display: none; }

  .tinv-wishlist .tinvwl-table-manage-list tr.wishlist_item {
    position: relative;
    display: grid;
    grid-template-columns: 96px 1fr;
    grid-template-areas:
      'thumb name'
      'thumb price'
      'thumb stock'
      'action action';
    column-gap: 14px;
    row-gap: 2px;
    align-items: start;
    padding: 16px 0;
    border: 0;
    border-bottom: 1px solid #E5DFE2;
  }
  .tinv-wishlist .tinvwl-table-manage-list tr.wishlist_item:last-child { border-bottom: 0; }

  .tinv-wishlist .tinvwl-table-manage-list td {
    border: 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }
  .tinv-wishlist .tinvwl-table-manage-list td.product-thumbnail { grid-area: thumb; }
  .tinv-wishlist .tinvwl-table-manage-list td.product-name { grid-area: name; }
  .tinv-wishlist .tinvwl-table-manage-list td.product-price { grid-area: price; }
  .tinv-wishlist .tinvwl-table-manage-list td.product-stock { grid-area: stock; }
  .tinv-wishlist .tinvwl-table-manage-list td.product-action { grid-area: action; margin-top: 12px; }

  .tinv-wishlist .tinvwl-table-manage-list td.product-thumbnail img {
    width: 96px; height: auto;
    border-radius: 8px;
    background: #F5F0EC;
  }
}

@media (max-width: 700px) {
  .tinv-wishlist .tinvwl-table-manage-list td.product-name a {
    font-family: Inter, sans-serif;
    font-weight: 700;
    font-size: 15px;
    line-height: 1.3;
    color: #0A0A0A !important;
    text-decoration: none;
    display: block;
    padding-right: 34px;
  }
  .tinv-wishlist .tinvwl-table-manage-list td.product-price {
    font-family: Inter, sans-serif;
    font-weight: 700;
    font-size: 15px;
    color: #EB1C8D;
    margin-top: 4px;
  }
  .tinv-wishlist .tinvwl-table-manage-list td.product-stock p.stock {
    margin: 4px 0 0;
    font-size: 13px;
    font-weight: 500;
    color: #7D747A;
  }
  .tinv-wishlist .tinvwl-table-manage-list td.product-stock p.stock.in-stock { color: #3A343A; }

  /* Add to cart spans the card. */
  .tinv-wishlist .tinvwl-table-manage-list td.product-action .button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 46px;
    border-radius: 4px;
    font-family: Inter, sans-serif;
    font-weight: 700;
    font-size: 14px;
  }

  /* Remove button pinned to the card's top-right. */
  .tinv-wishlist .tinvwl-table-manage-list td.product-remove,
  .tinv-wishlist .tinvwl-table-manage-list .product-action .tinvwl-shortcode-add-to-cart + button,
  .tinv-wishlist .tinvwl-table-manage-list button.button.tinvwl_remove_from_wishlist,
  .tinv-wishlist .tinvwl-table-manage-list .product-remove button {
    position: absolute;
    top: 14px;
    right: 0;
    width: 32px;
    min-height: 32px;
    height: 32px;
    padding: 0;
    background: none !important;
    border: 0 !important;
    color: #7D747A !important;
    box-shadow: none !important;
  }
}

/* Bulk-action footer is redundant now that each row has its own remove.
   Hide the controls but keep the tfoot cell - it carries the form nonce. */
.tinv-wishlist .tinvwl-table-manage-list tfoot .tinvwl-to-left,
.tinv-wishlist .tinvwl-table-manage-list tfoot .tinvwl-to-right { display: none !important; }
.tinv-wishlist .tinvwl-table-manage-list tfoot td {
  padding: 0 !important;
  border: 0 !important;
}

/* ---------- Filled list: desktop table polish ---------- */
@media (min-width: 701px) {
  .tinv-wishlist .tinvwl-table-manage-list { border-collapse: collapse; width: 100%; }
  .tinv-wishlist .tinvwl-table-manage-list thead th {
    font-family: Inter, sans-serif;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: .06em;
    color: #7D747A;
    text-align: left;
    padding: 0 12px 12px;
    border-bottom: 1px solid #E5DFE2;
  }
  .tinv-wishlist .tinvwl-table-manage-list tbody td {
    padding: 16px 12px;
    border-bottom: 1px solid #E5DFE2;
    vertical-align: middle;
  }
  .tinv-wishlist .tinvwl-table-manage-list td.product-thumbnail img {
    width: 84px; height: auto;
    border-radius: 8px;
    background: #F5F0EC;
  }
  .tinv-wishlist .tinvwl-table-manage-list td.product-name a {
    font-family: Inter, sans-serif;
    font-weight: 700;
    font-size: 15px;
    color: #0A0A0A !important;
    text-decoration: none;
  }
  .tinv-wishlist .tinvwl-table-manage-list td.product-name a:hover { color: #EB1C8D !important; }
  .tinv-wishlist .tinvwl-table-manage-list td.product-price {
    font-family: Inter, sans-serif; font-weight: 700; color: #EB1C8D;
  }
  .tinv-wishlist .tinvwl-table-manage-list td.product-stock { font-size: 14px; color: #3A343A; }
  .tinv-wishlist .tinvwl-table-manage-list td.product-remove { width: 36px; }
  .tinv-wishlist .tinvwl-table-manage-list td.product-remove button {
    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
    color: #7D747A !important;
    min-height: 32px;
    padding: 0;
  }
  .tinv-wishlist .tinvwl-table-manage-list td.product-remove button:hover { color: #EB1C8D !important; }
}

/* Share row */
.tinv-wishlist .social-buttons {
  display: flex; align-items: center; flex-wrap: wrap; gap: 12px;
  margin-top: 26px; padding-top: 20px;
  border-top: 1px solid #E5DFE2;
}
.tinv-wishlist .social-buttons > span {
  font-family: Inter, sans-serif; font-weight: 600; font-size: 13px; color: #7D747A;
}
.tinv-wishlist .social-buttons ul { display: flex; gap: 8px; margin: 0; padding: 0; list-style: none; }
.tinv-wishlist .social-buttons ul li { margin: 0; }
.tinv-wishlist .social-buttons a.social {
  display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; border-radius: 50%;
  border: 1px solid #E5DFE2; color: #3A343A !important;
  transition: border-color .18s ease, color .18s ease;
}
.tinv-wishlist .social-buttons a.social:hover { border-color: #EB1C8D; color: #EB1C8D !important; }

/* =========================================================
   HEADER WISHLIST ICON (post 16 - l2dwsh02 mobile, l2dwsh03 desktop)
   ========================================================= */

.l2d-hdr-wish-w .elementor-widget-container { line-height: 0; }

a.wishlist_products_counter.l2d-hdr-wish {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  margin: 0;
  background: none;
  border: 0;
  color: #0A0A0A;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
  transition: color .18s ease;
}
/* The plugin's own counter styles assume its webfont icon - neutralise them. */
a.wishlist_products_counter.l2d-hdr-wish::before,
a.wishlist_products_counter.l2d-hdr-wish::after { content: none !important; }

a.wishlist_products_counter.l2d-hdr-wish svg {
  width: 22px;
  height: 22px;
  display: block;
}
a.wishlist_products_counter.l2d-hdr-wish:hover { color: #EB1C8D; }
a.wishlist_products_counter.l2d-hdr-wish:focus-visible {
  outline: 2px solid #EB1C8D;
  outline-offset: -6px;
  border-radius: 8px;
}

/* Count badge - only rendered once the plugin's JS puts a number in it. */
a.wishlist_products_counter.l2d-hdr-wish .wishlist_products_counter_number {
  position: absolute;
  top: 4px;
  right: 2px;
  display: none;
}
a.wishlist_products_counter.l2d-hdr-wish .wishlist_products_counter_number:not(:empty) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 17px;
  height: 17px;
  padding: 0 5px;
  border-radius: 999px;
  background: #EB1C8D;
  color: #FFFFFF;
  font-family: Inter, sans-serif;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
}

/* --- Mobile bar now carries three icons on the right (search, heart, cart).
   Tighten spacing so the centred logo keeps its room. Tap targets stay 44px. */
@media (max-width: 1100px) {
  .elementor-16 .elementor-element.elementor-element-b77be57 .elementor-widget-wrap {
    flex-wrap: nowrap;
    justify-content: flex-end;
  }
  /* Search icon had 12px padding around a 20px glyph (44px). Keep 44px but
     remove the extra outer gap so three fit. */
  .elementor-16 .elementor-element.elementor-element-5471105 { margin: 0 !important; }

  /* Burger had 20px margins each side; 8px is enough and buys 24px. */
  .elementor-16 .elementor-element.elementor-element-ef61d62 {
    margin-left: 8px !important;
    margin-right: 8px !important;
  }
}

/* Very narrow phones: give the logo a little less so nothing collides. */
@media (max-width: 360px) {
  .elementor-16 .elementor-element.elementor-element-cc549f4 img { width: 90px !important; }
  a.wishlist_products_counter.l2d-hdr-wish { width: 40px; }
}

/* --- Tighten the spacing between the three header icons (mobile bar).
   Where the space was coming from:
     search icon .elementor-icon  padding:12px  + snippet min-width:44px
     cart widget-container        padding:0 20px 0 20px
     heart                        44px box around a 22px glyph
   Result below: a uniform ~11px optical gap instead of 23px / 31px, and a
   10px right gutter instead of 20px. Boxes stay 44px TALL; width drops to
   32px, so each glyph keeps ~5-6px clearance on either side. */
@media (max-width: 1100px) {
  .elementor-16 .elementor-element.elementor-element-5c3a771 .elementor-icon {
    padding: 0 !important;
    width: 32px !important;
    min-width: 32px !important;
    height: 44px !important;
    min-height: 44px !important;
  }

  a.wishlist_products_counter.l2d-hdr-wish { width: 32px; }

  /* Cart: no left padding (was 20px); 10px right is the bar's edge gutter
     (was 20px), 6px left matches the other two glyphs' inset. */
  .elementor-16 .elementor-element.elementor-element-5471105 > .elementor-widget-container {
    padding: 0 10px 0 6px !important;
  }

  /* Badge sits closer to the glyph now the box is narrower. */
  a.wishlist_products_counter.l2d-hdr-wish .wishlist_products_counter_number:not(:empty) {
    right: -3px;
  }
}

@media (max-width: 360px) {
  a.wishlist_products_counter.l2d-hdr-wish { width: 30px; }
}


/* =========================================================
   L2D-WL-FIX-20260821 - wishlist page fixes
   1. Add-to-cart label was rendering invisible on the wishlist row.
   2. Dead space + double rule between the button and the share row.
   3. Share row centred.
   ========================================================= */

.tinv-wishlist td.product-action a.button.add_to_cart_button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100%;
  min-height: 48px;
  padding: 0 14px;
  gap: 8px;
  overflow: visible !important;
  border: 1.5px solid #EB1C8D !important;
  border-radius: 8px !important;
  background: #FFFFFF !important;
  color: #EB1C8D !important;
  font-family: Inter, sans-serif !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-indent: 0 !important;
  text-transform: none !important;
  text-decoration: none !important;
  white-space: nowrap;
}
.tinv-wishlist td.product-action a.button.add_to_cart_button:hover,
.tinv-wishlist td.product-action a.button.add_to_cart_button:focus {
  background: #EB1C8D !important;
  border-color: #EB1C8D !important;
  color: #FFFFFF !important;
}

/* The label spans come from l2d-card-badge-and-cart.php. Force them visible
   here regardless of what the card-grid rules do. */
.tinv-wishlist td.product-action a.button.add_to_cart_button .l2d-lbl {
  display: inline-flex !important;
  visibility: visible !important;
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: 1 !important;
  text-indent: 0 !important;
  opacity: 1 !important;
  max-width: none !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  clip: auto !important;
  position: static !important;
}
.tinv-wishlist td.product-action a.button.add_to_cart_button .l2d-lbl-full {
  display: inline !important;
}
.tinv-wishlist td.product-action a.button.add_to_cart_button .l2d-lbl-short {
  display: none !important;
}
@media (max-width: 700px) {
  .tinv-wishlist td.product-action a.button.add_to_cart_button {
    min-height: 46px;
    font-size: 14px !important;
  }
  .tinv-wishlist td.product-action a.button.add_to_cart_button .l2d-lbl-full {
    display: none !important;
  }
  .tinv-wishlist td.product-action a.button.add_to_cart_button .l2d-lbl-short {
    display: inline !important;
  }
}

/* ---- Close the gap under the last row ---- */
.tinv-wishlist .tinvwl-table-manage-list {
  margin-bottom: 0 !important;
  border: 0 !important;
}
/* tfoot only carries the form nonce + hidden inputs; display:none still
   submits them, so the remove action keeps working. */
.tinv-wishlist .tinvwl-table-manage-list tfoot {
  display: none !important;
}
.tinv-wishlist .tinvwl-table-manage-list tbody tr.wishlist_item:last-child {
  border-bottom: 0 !important;
}
.tinv-wishlist .tinv-lists-nav:empty {
  display: none !important;
}

/* ---- Share row: centred ---- */
.tinv-wishlist .social-buttons {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center;
  gap: 14px;
  margin-top: 24px !important;
  padding-top: 22px !important;
  border-top: 1px solid #E5DFE2;
}
.tinv-wishlist .social-buttons ul {
  justify-content: center !important;
  gap: 10px !important;
}
@media (min-width: 701px) {
  .tinv-wishlist .social-buttons {
    flex-direction: row !important;
    gap: 14px;
  }
}

/* L2D-WL-FIX2 20260821 - The7 paints every descendant of a.button white
   (a.button:not(.edd-submit) * { color: var(--the7-btn-color) } = #fff).
   Force the whole label subtree to inherit the anchor colour. */
.tinv-wishlist td.product-action a.button.add_to_cart_button .l2d-lbl,
.tinv-wishlist td.product-action a.button.add_to_cart_button .l2d-lbl-full,
.tinv-wishlist td.product-action a.button.add_to_cart_button .l2d-lbl-short,
.tinv-wishlist td.product-action a.button.add_to_cart_button * {
  color: inherit !important;
}
.tinv-wishlist td.product-action a.button.add_to_cart_button:hover *,
.tinv-wishlist td.product-action a.button.add_to_cart_button:focus * {
  color: #FFFFFF !important;
}


/* ---------- Single product: align the wishlist button with add to cart ----------
   Added 21 Aug 2026. The wrapper is the last child of
   .woocommerce-variation-add-to-cart (variable products) or of form.cart
   (simple products). It was picking up the leftover width of that row instead of
   starting a fresh line, so the button sat indented and wider than the cart
   button above it.
   Force: wrapper = full-width block on its own line, anchor = shrink to content.
   Both buttons then share the same left edge and keep their own natural widths.
   Placed at the end of the file so it wins on source order over the block above. */
.tinv-wraper.tinvwl-after-add-to-cart {
  display: block !important;
  float: none !important;
  clear: both !important;
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  align-self: stretch !important;
  margin: 14px 0 0 0 !important;
  padding: 0 !important;
  text-align: left !important;
  text-indent: 0 !important;
}

.tinv-wraper.tinvwl-after-add-to-cart a.tinvwl_add_to_wishlist_button {
  display: inline-flex !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 22px !important;
  float: none !important;
  position: relative !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  text-indent: 0 !important;
}

/* Narrow phones: keep the label on one line (mirrors the 380px block above). */
@media (max-width: 380px) {
  .tinv-wraper.tinvwl-after-add-to-cart a.tinvwl_add_to_wishlist_button {
    padding: 0 16px !important;
  }
}
