/* Header */
.dnswb-header{display:inline-flex;align-items:center;margin-inline-start:.6rem}
.dnswb-heart-link{display:inline-flex;align-items:center;text-decoration:none}
.dnswb-counter{display:inline-block;min-width:16px;font-size:11px;line-height:1;padding:2px 6px;margin-inline-start:.35rem;border-radius:10px;background:rgba(0,0,0,.08)}
.dnswb-heart-svg{width:20px;height:20px;display:block}

/* Toggle active fill */
.dnswb-toggle.is-on .dnswb-heart-svg path,
.dnswb-heart-link.is-on .dnswb-heart-svg path{ fill: currentColor; }

/* Overlay heart on product image (top-left) */
.dnswb-overlay{position:absolute;top:10px;left:10px;z-index:5;background:rgba(255,255,255,.9);border-radius:999px;padding:6px 9px}

/* Single button */
.dnswb-single{margin:8px 0}
.dnswb-single .dnswb-toggle{display:inline-flex;align-items:center;gap:.4rem}

/* Off-canvas LEFT panel */
#dnswb-overlay{position:fixed;inset:0;background:rgba(0,0,0,.35);opacity:0;visibility:hidden;transition:opacity .2s;z-index:9998}
#dnswb-overlay.is-open{opacity:1;visibility:visible}
.dnswb-panel{position:fixed;top:0;bottom:0;left:-440px;right:auto;width:360px;max-width:92vw;background:#fff;box-shadow:2px 0 14px rgba(0,0,0,.18);transition:left .25s;z-index:9999;display:flex;flex-direction:column}
.dnswb-panel.is-open{left:0}
html.dnswb-lock{overflow:hidden}

/* Panel header */
.dnswb-panel-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:16px;border-bottom:1px solid #eee}
.dnswb-title{margin:0;text-align:center;font-size:1.4rem;font-weight:700}
.dnswb-close{justify-self:end;background:transparent;border:0;font-size:28px;cursor:pointer;line-height:1}
.dnswb-clear{justify-self:start;background:transparent;border:0;color:#8f8f8f;cursor:pointer}

/* Grid 2 columns */
.dnswb-panel-body{padding:18px;overflow:auto}
.dnswb-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.dnswb-card{display:flex;flex-direction:column;align-items:center;text-align:center}
.dnswb-media{position:relative;width:100%}
.dnswb-thumb img{width:100%;height:auto;display:block;border:1px solid #dedede}
.dnswb-remove{left:10px;right:auto;position:absolute;top:8px;right:10px;background:transparent;border:0;cursor:pointer;opacity:.8}

/* Beige rounded main CTA */
.dnswb-btn{display:inline-block;padding:10px 18px;border-radius:999px;background:#cdbba9;color:#2d2d2d;text-decoration:none;font-weight:600;margin-top:12px}
.dnswb-view{display:inline-block;margin-top:10px;padding:10px 18px;border-radius:999px;background:#e9e2db;color:#2d2d2d;text-decoration:none}
.dnswb-title{margin-top:10px;font-weight:600}
.dnswb-price{margin-top:6px}


/* ===== v1.0.4 visual tuning to match mock ===== */
.dnswb-grid{gap:24px 26px}
/* Smaller, calmer buttons */
.dnswb-btn{padding:8px 16px;font-size:.85rem}
.dnswb-view{padding:6px 14px;font-size:.8rem}
/* Product card title & price sizing */
.dnswb-card .dnswb-title{font-size:.95rem;line-height:1.35;font-weight:600}
.dnswb-price{font-size:.95rem}
/* Move remove icon to top-left */
.dnswb-remove{left:10px;right:auto;left:12px;right:auto}
/* Single product overlay heart (top-left) */
.single-product .dnswb-overlay{position:absolute;top:12px;left:12px;z-index:9;background:rgba(255,255,255,.95);border-radius:999px;padding:6px 9px;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.woocommerce-product-gallery{position:relative}
/* Image frame subtler */
.dnswb-thumb img{border:1px solid #e3e3e3}
/* Lighter panel header */
.dnswb-panel-head{border-bottom:1px solid #eee}


/* Force remove/heart icons left top */
.dnswb-remove{left:10px!important;right:auto!important}
.dnswb-overlay{left:10px!important;right:auto!important}
.single-product .dnswb-overlay{left:10px!important;right:auto!important}


/* ===== v1.0.6 layout tuning ===== */

/* Panel body padding a bit tighter for 360px */
.dnswb-panel-body{padding:16px 16px}

/* 2-col grid with tighter gap */
.dnswb-grid{gap:18px 16px}

/* Buttons smaller */
.dnswb-btn{padding:8px 14px;font-size:.85rem}
.dnswb-view{padding:6px 12px;font-size:.8rem}

/* Product title smaller */
.dnswb-card .dnswb-title{font-size:.9rem;line-height:1.3;font-weight:600}
.dnswb-price{font-size:.9rem}

/* Ensure media is relative so absolute icons position to the image box */
.dnswb-media{position:relative !important}

/* Remove icon top-left */
.dnswb-remove{position:absolute;top:8px;left:8px;right:auto!important}

/* Overlay hearts always at left */
.dnswb-overlay{left:10px!important;right:auto!important}
.single-product .dnswb-overlay{left:10px!important;right:auto!important}

/* Header: close X on far-left, title centered, 'remove all' as pill on right */
.dnswb-panel-head{position:relative;padding:12px 56px;border-bottom:1px solid #e9e9e9}
.dnswb-title{font-size:1.05rem;font-weight:700;text-align:center;margin:0}
.dnswb-close{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:26px}
.dnswb-clear{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:#ece6de;border:0;border-radius:999px;padding:6px 12px;color:#2b2b2b;font-size:.85rem;cursor:pointer}
.dnswb-clear:hover{filter:brightness(.98)}


/* ===== v1.0.7 polish ===== */

/* Panel header: 3 columns layout on 360px */
.dnswb-panel-head{display:grid;grid-template-columns:40px 1fr 120px;align-items:center;padding:10px 12px;border-bottom:1px solid #ececec}
.dnswb-close{position:static;transform:none;font-size:22px;justify-self:start}
.dnswb-title{font-size:1rem;font-weight:700;text-align:center;margin:0}
.dnswb-clear{position:static;justify-self:end;background:#ece6de;border:0;border-radius:999px;padding:6px 10px;color:#2b2b2b;font-size:.82rem;cursor:pointer;white-space:nowrap}

/* Body padding + grid */
.dnswb-panel-body{padding:14px 14px}
.dnswb-grid{gap:16px 14px}

/* Card: media relative, icons absolute left */
.dnswb-media{position:relative!important}
.dnswb-remove{position:absolute;top:10px;left:10px;right:auto!important;z-index:6}

/* Buttons smaller and tighter */
.dnswb-btn{padding:8px 14px;font-size:.82rem;border-radius:999px}
.dnswb-view{padding:6px 12px;font-size:.78rem;border-radius:999px}

/* Title & price */
.dnswb-card .dnswb-title{font-size:.88rem;line-height:1.3;font-weight:600;margin-top:8px}
.dnswb-price{font-size:.9rem;margin-top:6px}

/* Heart overlay consistent left */
.dnswb-overlay{left:10px!important;right:auto!important;top:10px}

/* Image frame subtler */
.dnswb-thumb img{border:1px solid #e2e2e2}

/* Make sure nothing is pushing layout */
.dnswb-card{row-gap:8px}


/* v1.0.8 force-left fallback (in case of minifiers) */
.dnswb-media{position:relative!important}
.dnswb-media .dnswb-remove{left:8px!important;right:auto!important;inset:auto!important;top:8px!important}
.dnswb-overlay{left:10px!important;right:auto!important}


/* v1.0.9 - anchor remove icon to the image */
.dnswb-thumb{position:relative;display:block}
.dnswb-thumb .dnswb-remove{position:absolute;top:8px;left:8px;right:auto!important;z-index:6}
