/* Base button (text buttons in list/shortcode) */
.nvw-btn{display:inline-flex;gap:.5rem;align-items:center;padding:.4rem .7rem;border:1px solid #ddd;border-radius:.5rem;background:#fff;cursor:pointer;font:inherit}
.nvw-btn.active, .nvw-btn:hover{border-color:#bbb}
.nvw-btn.remove{background:#f8f8f8}

/* Grid (for shortcode [nv_wishlist]) */
.nvw-wrap{margin:2rem 0}
.nvw-title{font-size:1.5rem;margin:0 0 1rem 0}
.nvw-grid .nvw-grid-inner{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}
.nvw-item{border:1px solid #eee;border-radius:.75rem;padding:1rem;display:flex;flex-direction:column;gap:.5rem}
.nvw-thumb img{width:100%;height:auto;display:block;border-radius:.5rem}
.nvw-title{font-size:1rem;line-height:1.3}
.nvw-price{font-weight:600;margin-top:.25rem}
.nvw-actions{display:flex;gap:.5rem;align-items:center;margin-top:auto}
.nvw-empty{opacity:.7}

/* Counter badge */
.nvw-count-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .45rem;border-radius:1rem;border:1px solid #ddd}

/* Overlay heart button for product thumbnail */
.nvw-heart-btn{
  position:absolute;
  top:.5rem;
  right:.5rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:3.25rem;height:3.25rem;
  border-radius:999px;
  border:none;
  background:rgba(255,255,255,.85);
  backdrop-filter:saturate(180%) blur(8px);
  cursor:pointer;
  line-height:1;
  box-shadow:0 2px 8px rgba(0,0,0,.08);
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease;
}
.nvw-heart-btn:hover{ transform:scale(1.04); box-shadow:0 4px 12px rgba(0,0,0,.12); }
.nvw-heart-wrap{ position:relative; }

/* SVG heart icon states */
.nvw-icon { width:20px; height:20px; display:block; }
.nvw-icon .filled { display:none; }
.nvw-heart-btn.active .nvw-icon .filled { display:inline; }
.nvw-heart-btn.active .nvw-icon .outline { display:none; }

/* Colors: filled heart + outline stroke */
.nvw-heart-btn.active .nvw-icon .filled { fill: var(--colour-brand-peach, #f3c5ad); }
.nvw-heart-btn .nvw-icon .outline { stroke: rgba(0,0,0,.45); }
.nvw-heart-btn:hover .nvw-icon .outline { stroke: rgba(0,0,0,.65); }

/* A11y helper for screen readers */
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
