:root {
  --tk-wishlist-maroon: #6f1d2d;
  --tk-wishlist-maroon-dark: #4d1320;
  --tk-wishlist-ivory: #fbf7f0;
  --tk-wishlist-border: #e6dbd0;
  --tk-wishlist-text: #342b2e;
  --tk-wishlist-muted: #74686c;
  --tk-wishlist-gold: #b18a4a;
}

.tk-wishlist-product-action { margin: 14px 0 8px; display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; }
.tk-wishlist-toggle {
  appearance:none; display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:42px;
  padding:9px 14px; border:1px solid var(--tk-wishlist-maroon); border-radius:4px; background:transparent;
  color:var(--tk-wishlist-maroon); font:inherit; font-size:14px; font-weight:600; line-height:1.3; cursor:pointer;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease;
}
.tk-wishlist-toggle:hover,.tk-wishlist-toggle:focus-visible,.tk-wishlist-toggle.is-saved { background:var(--tk-wishlist-maroon); color:#fff; border-color:var(--tk-wishlist-maroon); }
.tk-wishlist-toggle__icon { font-size:21px; line-height:1; }
.tk-wishlist-view-link { color:var(--tk-wishlist-maroon); font-size:12px; font-weight:600; letter-spacing:.03em; text-decoration:underline; text-underline-offset:3px; }

/* Product-loop hearts: Manager is the sole renderer/state owner. */
.woocommerce ul.products li.product,.wc-block-grid__product,.wc-block-product,.wc-block-product-template__responsive li { position:relative; }
.tk-card-wishlist { position:absolute; top:10px; right:10px; z-index:8; display:block; }
.tk-card-wishlist .tk-card-wishlist-toggle {
  width:34px; height:34px; min-height:34px; padding:0; border-radius:50%; background:rgba(255,253,249,.96); color:var(--tk-wishlist-maroon);
  border:1px solid rgba(111,29,45,.18); box-shadow:0 2px 8px rgba(0,0,0,.08); gap:0;
}
.tk-card-wishlist .tk-card-wishlist-toggle:hover,.tk-card-wishlist .tk-card-wishlist-toggle:focus-visible { background:#fff; color:var(--tk-wishlist-maroon); }
.tk-card-wishlist .tk-card-wishlist-toggle.is-saved { background:#fff; color:var(--tk-wishlist-maroon); border-color:rgba(111,29,45,.35); }
.tk-card-wishlist .tk-wishlist-toggle__icon { font-size:20px; }

.tk-wishlist-page { color:var(--tk-wishlist-text); }
.tk-wishlist-status { min-height:1px; }
.tk-wishlist-loading,.tk-wishlist-error { padding:28px; border:1px solid var(--tk-wishlist-border); background:var(--tk-wishlist-ivory); text-align:center; }

.tk-wishlist-empty {
  max-width:620px; margin:26px auto 0; padding:42px 38px 40px; border:1px solid rgba(111,29,45,.12); border-radius:8px;
  background:linear-gradient(180deg,#fffdf9 0%,#fff8f5 100%); text-align:center; box-shadow:0 14px 34px rgba(74,34,43,.055);
}
.tk-wishlist-empty__heart { width:54px; height:54px; margin:0 auto 16px; display:flex; align-items:center; justify-content:center; border:1px solid rgba(111,29,45,.18); border-radius:50%; background:#fff; color:var(--tk-wishlist-maroon); font-size:25px; line-height:1; }
.tk-wishlist-empty h2 { margin:0 0 10px; color:var(--tk-wishlist-maroon-dark); font-size:clamp(26px,4vw,34px); }
.tk-wishlist-empty p { margin:0 auto 24px; max-width:470px; color:var(--tk-wishlist-muted); line-height:1.7; }

.tk-wishlist-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px 20px; }
.tk-wishlist-card { position:relative; min-width:0; background:#fff; border:1px solid rgba(111,29,45,.10); }
.tk-wishlist-card__media { position:relative; background:#faf7f2; overflow:hidden; aspect-ratio:4/5; }
.tk-wishlist-card__media a { display:block; width:100%; height:100%; }
.tk-wishlist-product-image { width:100%; height:100%; object-fit:contain; object-position:center; display:block; }
.tk-wishlist-card__heart { position:absolute!important; top:10px; right:10px; width:36px; height:36px; min-height:36px!important; padding:0!important; border:1px solid rgba(111,29,45,.18)!important; border-radius:50%!important; background:rgba(255,253,249,.96)!important; color:var(--tk-wishlist-maroon)!important; text-decoration:none!important; font-size:18px; line-height:1; }
.tk-wishlist-card__body { padding:15px 15px 17px; }
.tk-wishlist-product-title { display:block; color:var(--tk-wishlist-maroon-dark); font-weight:600; line-height:1.45; text-decoration:none; }
.tk-wishlist-product-title:hover { color:var(--tk-wishlist-maroon); }
.tk-wishlist-price { margin-top:8px; font-weight:600; }
.tk-wishlist-stock { margin-top:7px; color:var(--tk-wishlist-muted); font-size:13px; min-height:20px; }
.tk-wishlist-actions { display:flex; flex-wrap:wrap; align-items:center; gap:9px 10px; margin-top:14px; }

.tk-wishlist-primary-button,.tk-wishlist-secondary-button,.tk-wishlist-remove {
  appearance:none; display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:9px 15px; border-radius:3px;
  font:inherit; font-size:12px; font-weight:700; line-height:1.25; text-decoration:none; cursor:pointer;
}
.tk-wishlist-primary-button { border:1px solid var(--tk-wishlist-maroon); background:var(--tk-wishlist-maroon); color:#fff; }
.tk-wishlist-primary-button:hover,.tk-wishlist-primary-button:focus-visible { border-color:var(--tk-wishlist-maroon-dark); background:var(--tk-wishlist-maroon-dark); color:#fff; }
.tk-wishlist-primary-button:disabled { cursor:not-allowed; opacity:.65; }
.tk-wishlist-secondary-button { border:1px solid rgba(111,29,45,.45); background:#fff; color:var(--tk-wishlist-maroon); }
.tk-wishlist-secondary-button:hover,.tk-wishlist-secondary-button:focus-visible { border-color:var(--tk-wishlist-maroon); color:var(--tk-wishlist-maroon-dark); }
.tk-wishlist-remove-text { min-height:auto!important; padding:0!important; border:0!important; border-radius:0!important; background:transparent!important; color:var(--tk-wishlist-muted)!important; font-weight:600!important; text-decoration:underline!important; }
.tk-wishlist-remove-text:hover,.tk-wishlist-remove-text:focus-visible { color:var(--tk-wishlist-maroon)!important; }
.tk-wishlist-browse-all { display:flex; justify-content:center; margin:30px 0 0; }

.tk-wishlist-header-wrap,.tk-wishlist-header-link { display:inline-flex; align-items:center; justify-content:center; }
.tk-wishlist-header-link { position:relative; width:40px; height:40px; color:var(--tk-wishlist-maroon); text-decoration:none!important; line-height:1; }
.tk-wishlist-header-link:hover,.tk-wishlist-header-link:focus-visible { color:var(--tk-wishlist-maroon-dark); }
.tk-wishlist-header-icon { font-family:Arial,sans-serif; font-size:27px; font-weight:400; line-height:1; }
.tk-wishlist-count { position:absolute; top:1px; right:0; display:inline-flex; align-items:center; justify-content:center; min-width:17px; height:17px; padding:0 4px; border-radius:999px; background:var(--tk-wishlist-maroon); color:#fff; font-size:10px; font-weight:700; line-height:1; }
.tk-wishlist-count[hidden] { display:none!important; }

.tk-wishlist-toast-region { position:fixed; z-index:999999; right:22px; bottom:22px; display:grid; gap:10px; max-width:min(420px,calc(100vw - 30px)); }
.tk-wishlist-toast { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:14px 16px; border-left:4px solid var(--tk-wishlist-gold); background:var(--tk-wishlist-maroon-dark); color:#fff; box-shadow:0 12px 30px rgba(0,0,0,.18); opacity:0; transform:translateY(8px); transition:opacity .2s ease,transform .2s ease; }
.tk-wishlist-toast.is-visible { opacity:1; transform:translateY(0); }
.tk-wishlist-toast a { color:#fff; font-weight:700; text-decoration:underline; white-space:nowrap; }
.tk-wishlist-awaiting-payment { display:inline-block; color:var(--tk-wishlist-maroon); font-weight:700; line-height:1.45; }
.tk-wishlist-primary-button.tk-wishlist-awaiting-action:disabled { cursor:default; opacity:1; background:var(--tk-wishlist-ivory); border-color:var(--tk-wishlist-gold); color:var(--tk-wishlist-maroon); }

@media (max-width: 900px) { .tk-wishlist-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 767px) {
  .tk-wishlist-product-action { display:grid; grid-template-columns:1fr; gap:9px; }
  .tk-wishlist-product-action .tk-wishlist-toggle { width:100%; }
  .tk-wishlist-view-link { text-align:center; }
  .tk-card-wishlist { top:8px; right:8px; }
  .tk-wishlist-grid { gap:18px 12px; }
  .tk-wishlist-toast-region { right:15px; bottom:15px; left:15px; max-width:none; }
  .tk-wishlist-toast { align-items:flex-start; flex-direction:column; gap:8px; }
}
@media (max-width: 560px) {
  .tk-wishlist-grid { grid-template-columns:1fr; }
  .tk-wishlist-empty { padding:32px 22px 30px; }
}


/* v1.3.4: ownership/migration fix only.
 * Visual wishlist styling is unchanged from the accepted v1.3.2 presentation.
 */
