.dc-wl { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: 44px; min-height: 44px; padding: 0; background: none; border: 0; color: inherit; cursor: pointer; font: inherit; }
.dc-wl[aria-pressed="true"] { --dc-wl-fill: currentColor; color: var(--wp--preset--color--sale, #a3241a); }
.dc-wl--pdp { padding: 0 16px; border: 1px solid var(--wp--preset--color--border, #ddd); border-radius: var(--wp--custom--radius--control, 2px); min-height: var(--wp--custom--control--height-lg, 52px); }
.dc-wl--pdp .dc-wl__text { font-size: var(--wp--preset--font-size--small, 14px); font-weight: 600; }
.dc-card .wp-block-descol-fx-wishlist-button { position: absolute; top: 4px; inset-inline-end: 4px; z-index: 3; margin: 0 !important; }
.dc-card .wp-block-descol-fx-wishlist-button .dc-wl { background: color-mix(in srgb, var(--wp--preset--color--base, #fff) 85%, transparent); border-radius: 999px; }
.dc-wl-link { position: relative; display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; color: inherit; }
.dc-wl-link__count { position: absolute; top: 4px; inset-inline-end: 2px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 9px; background: var(--wp--preset--color--contrast, #111); color: var(--wp--preset--color--base, #fff); font-size: 11px; line-height: 18px; text-align: center; font-weight: 600; }
.dc-wl-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--wp--custom--grid--gap-y, 32px) var(--wp--custom--grid--gap-x, 16px); margin: 0; padding: 0; list-style: none; }
@media (min-width: 768px) { .dc-wl-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .dc-wl-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.dc-wl-grid .dc-wl { position: absolute; top: 4px; inset-inline-end: 4px; }
.dc-wl-grid__media img { display: block; width: 100%; height: auto; aspect-ratio: var(--wp--custom--image--ratio, 3 / 4); object-fit: cover; background: var(--wp--preset--color--surface, #f5f5f5); }
.dc-wl-grid__title { margin: 8px 0 0; font-family: var(--wp--preset--font-family--ui); font-size: var(--wp--preset--font-size--small); font-weight: 500; }
.dc-wl-grid__title a { text-decoration: none; }
.dc-wl-grid__price, .dc-wl-grid__stock { margin: 0; font-size: var(--wp--preset--font-size--small); }
.dc-wl-grid__stock { color: var(--wp--preset--color--muted); }
/* Free-shipping progress (mini-cart / cart) */
.dc-fsp { margin: 0 0 12px; padding: 12px 16px; background: var(--wp--preset--color--surface, #f5f5f5); border-radius: var(--wp--custom--radius--control, 2px); }
.dc-fsp__msg { margin: 0 0 8px; font-size: var(--wp--preset--font-size--small, 14px); font-weight: 500; }
.dc-fsp__bar { height: 4px; background: var(--wp--preset--color--border, #ddd); border-radius: 2px; overflow: hidden; }
.dc-fsp__bar span { display: block; height: 100%; background: var(--wp--preset--color--contrast, #111); transition: width var(--wp--custom--motion--slow, 320ms) var(--wp--custom--motion--easing, ease); }
.dc-fsp.is-reached .dc-fsp__bar span { background: var(--wp--preset--color--success, #1e6b3a); }
@media (prefers-reduced-motion: reduce) { .dc-fsp__bar span { transition: none; } }
