/* ---------- ftsp-single.css — premium shop + single product ---------- */
.ftsp-product { max-width: 42rem; margin: 0 auto; padding: 0 0 1.5rem; }
.ftsp-hero { background: linear-gradient(135deg,#7c3aed,#a855f7); color: #fff; border-radius: 0 0 2rem 2rem; padding: 1rem 1.25rem 1.5rem; }
@media (min-width:640px){.ftsp-hero{padding:1.25rem 1.5rem 1.75rem;}}
.ftsp-hero-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:1rem; }
.ftsp-back,.ftsp-cart-btn { color:#fff; transition:all .25s; display:grid; place-items:center; width:2.5rem; height:2.5rem; border-radius:999px; background:rgba(255,255,255,.2); backdrop-filter:blur(4px); box-shadow:0 2px 12px rgba(0,0,0,.12); }
.ftsp-back:hover,.ftsp-cart-btn:hover { background:rgba(255,255,255,.35); transform:scale(1.08); box-shadow:0 4px 20px rgba(0,0,0,2); }
.ftsp-back svg,.ftsp-cart-btn svg { stroke-width:2.5; }
.ftsp-cart-btn { position:relative; }
.ftsp-cart-badge { position:absolute; top:-4px; right:-4px; background:#ef4444; color:#fff; font-size:.65rem; font-weight:700; min-width:1rem; height:1rem; border-radius:999px; display:grid; place-items:center; padding:0 3px; }
.ftsp-hero-content { text-align:center; }
.ftsp-cat { font-size:.75rem; font-weight:600; opacity:.8; text-transform:uppercase; letter-spacing:.05em; }
.ftsp-title { margin:.35rem 0 .15rem; font-size:1.35rem; font-weight:800; line-height:1.2; }
@media (min-width:640px){.ftsp-title{font-size:1.55rem;}}
.ftsp-rating { display:flex; justify-content:center; margin:.15rem 0; }
.ftsp-rating .star-rating { color:#fbbf24; margin:0; }
.ftsp-stock { font-size:.78rem; font-weight:600; margin:.25rem 0; }
.ftsp-stock--instock { color:#86efac; }
.ftsp-stock--outofstock { color:#fca5a5; }
.ftsp-hero-img-wrap { position:relative; margin:.75rem auto; max-width:16rem; }
.ftsp-hero-img { width:100%; border-radius:1.25rem; box-shadow:0 8px 32px rgba(0,0,0,.2); display:block; aspect-ratio:1/1; object-fit:cover; }
.ftsp-off-badge { position:absolute; top:.5rem; left:.5rem; background:#ef4444; color:#fff; font-size:.75rem; font-weight:700; padding:.25rem .65rem; border-radius:999px; }
.ftsp-price-row { display:flex; align-items:center; justify-content:center; gap:.75rem; margin-top:.75rem; }
.ftsp-price { font-size:1.5rem; font-weight:800; }
.ftsp-price ins { text-decoration:none; }
.ftsp-price del { font-size:1rem; font-weight:500; opacity:.6; }
.ftsp-save { background:rgba(255,255,255,.15); border:0; border-radius:999px; width:2.5rem; height:2.5rem; cursor:pointer; color:#fff; display:grid; place-items:center; transition:all .2s; }
.ftsp-save:hover,.ftsp-save.is-saved { background:#ef4444; color:#fff; }
.ftsp-save-mobile { display:none; }
@media (max-width:639px){.ftsp-save{display:none;}.ftsp-save-mobile{display:grid;place-items:center;border:0;border-radius:999px;width:2.5rem;height:2.5rem;cursor:pointer;background:var(--fw-muted);color:var(--fw-fg);transition:all .2s;flex-shrink:0;}.ftsp-save-mobile:hover,.ftsp-save-mobile.is-saved{background:#ef4444;color:#fff;}}
.ftsp-details { padding:1.25rem; background:var(--fw-card); margin:0 .75rem; border-radius:1.25rem; margin-top:-1rem; position:relative; z-index:2; }
.ftsp-gallery { display:flex; gap:.5rem; overflow-x:auto; padding-bottom:.5rem; margin-bottom:1rem; scrollbar-width:none; }
.ftsp-gallery::-webkit-scrollbar { display:none; }
.ftsp-gallery-item { flex:0 0 auto; width:4.5rem; height:4.5rem; border-radius:.75rem; overflow:hidden; border:2px solid transparent; cursor:pointer; transition:border .2s; }
.ftsp-gallery-item.is-active { border-color:var(--fw-primary); }
.ftsp-gallery-item img { width:100%; height:100%; object-fit:cover; }
.ftsp-swatches,.ftsp-sizes { margin-bottom:1rem; }
.ftsp-label { font-size:.8rem; font-weight:600; display:block; margin-bottom:.4rem; color:var(--fw-muted-fg); }
.ftsp-swatch-list,.ftsp-size-list { display:flex; gap:.5rem; flex-wrap:wrap; }
.ftsp-swatch { width:2.25rem; height:2.25rem; border-radius:999px; border:2px solid var(--fw-border); cursor:pointer; transition:all .2s; padding:0; }
.ftsp-swatch.is-active,.ftsp-swatch:hover { border-color:var(--fw-primary); transform:scale(1.1); }
.ftsp-size { padding:.35rem .85rem; border-radius:999px; border:2px solid var(--fw-border); background:var(--fw-bg); color:var(--fw-fg); font-size:.8rem; font-weight:600; cursor:pointer; font-family:inherit; transition:all .2s; }
.ftsp-size.is-active,.ftsp-size:hover { border-color:var(--fw-primary); background:var(--fw-primary); color:#fff; }
.ftsp-desc { font-size:.88rem; line-height:1.6; color:var(--fw-fg); margin-bottom:1rem; }
.ftsp-qty-row { display:flex; align-items:center; gap:1rem; }
.ftsp-qty { display:flex; align-items:center; border:2px solid var(--fw-border); border-radius:999px; overflow:hidden; }
.ftsp-qty-btn { width:2.5rem; height:2.5rem; border:0; background:var(--fw-bg); font-size:1.1rem; font-weight:700; cursor:pointer; color:var(--fw-fg); display:grid; place-items:center; transition:background .15s; font-family:inherit; }
.ftsp-qty-btn:hover { background:var(--fw-muted); }
.ftsp-qty-input { width:2.5rem; text-align:center; border:0; background:var(--fw-bg); font-weight:600; font-size:.95rem; color:var(--fw-fg); outline:none; font-family:inherit; -moz-appearance:textfield; }
.ftsp-qty-input::-webkit-inner-spin-button,.ftsp-qty-input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.ftsp-actions { display:flex; gap:.75rem; padding:.75rem; flex-direction:row-reverse; }
.ftsp-atc-btn,.ftsp-buy-btn { flex:1; padding:.85rem 1rem; border:0; border-radius:999px; font-size:.95rem; font-weight:700; cursor:pointer; transition:all .3s; font-family:inherit; display:flex; align-items:center; justify-content:center; gap:.5rem; }
.ftsp-atc-btn { background:var(--fw-card); color:var(--fw-primary); border:2.5px solid var(--fw-primary); box-shadow:0 0 0 1px var(--fw-primary),0 4px 16px -4px color-mix(in oklab,var(--fw-primary) 25%,transparent); }
.ftsp-atc-btn:hover { background:var(--fw-primary); color:var(--fw-primary-fg,#fff); transform:translateY(-2px); box-shadow:0 0 0 2px var(--fw-primary),0 8px 24px -6px color-mix(in oklab,var(--fw-primary) 40%,transparent); }
.ftsp-buy-btn { background:var(--fw-gradient); color:#fff; box-shadow:0 4px 20px -2px color-mix(in oklab,var(--fw-primary) 50%,transparent); letter-spacing:.01em; }
.ftsp-buy-btn:hover { transform:translateY(-3px); box-shadow:0 8px 30px -4px color-mix(in oklab,var(--fw-primary) 60%,transparent); }
.ftsp-buy-btn:active { transform:translateY(-1px); }
.ftsp-buy-btn svg { stroke-width:2.5; }
.ftsp-atc-btn svg { stroke-width:2; }
.ftsp-meta { display:flex; flex-wrap:wrap; gap:.5rem; padding:0 .75rem .75rem; }
.ftsp-meta-item { background:var(--fw-card); border:1px solid var(--fw-border); padding:.4rem .75rem; border-radius:999px; font-size:.78rem; }
.ftsp-meta-key { font-weight:600; margin-right:.3rem; color:var(--fw-muted-fg); }
.ftsp-tabs { display:flex; gap:0; margin:.5rem .75rem 0; border-bottom:1px solid var(--fw-border); }
.ftsp-tab { padding:.65rem 1rem; font-size:.85rem; font-weight:600; background:none; border:0; cursor:pointer; color:var(--fw-muted-fg); font-family:inherit; position:relative; transition:color .15s; }
.ftsp-tab:hover { color:var(--fw-fg); }
.ftsp-tab.is-active { color:var(--fw-primary); }
.ftsp-tab.is-active::after { content:''; position:absolute; bottom:-1px; left:0; right:0; height:2px; background:var(--fw-primary); border-radius:999px; }
.ftsp-tab-content { display:none; padding:.75rem; font-size:.88rem; line-height:1.6; color:var(--fw-fg); }
.ftsp-tab-content.is-active { display:block; }
.ftsp-review { display:flex; gap:.75rem; padding:.75rem 0; border-top:1px solid var(--fw-border); }
.ftsp-review-av { width:2.25rem; height:2.25rem; border-radius:999px; object-fit:cover; flex-shrink:0; }
.ftsp-review-body { flex:1; min-width:0; }
.ftsp-review-name { font-weight:600; font-size:.85rem; }
.ftsp-review-stars { line-height:1; }
.ftsp-review-text { font-size:.82rem; color:var(--fw-muted-fg); margin-top:.2rem; }
.ftsp-related { padding:.75rem; }
.ftsp-related-title { font-size:1.1rem; font-weight:700; margin:0 0 .75rem; }
.ftsp-related-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:.75rem; }
@media (max-width:639px){.ftsp-related-grid{grid-template-columns:repeat(2,1fr);}}
.ftsp-related-card { text-decoration:none; color:var(--fw-fg); border-radius:1rem; overflow:hidden; background:var(--fw-card); border:1px solid var(--fw-border); transition:transform .2s; }
.ftsp-related-card:hover { transform:translateY(-2px); }
.ftsp-related-card img { width:100%; aspect-ratio:1/1; object-fit:cover; }
.ftsp-related-card h4 { font-size:.82rem; font-weight:600; margin:.4rem .5rem .15rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ftsp-related-rating { margin:0 .5rem; line-height:1; }
.ftsp-related-price { font-size:.88rem; font-weight:700; color:var(--fw-primary); margin:.15rem .5rem .5rem; }
.ftsp-trust { display:flex; justify-content:center; gap:1.5rem; padding:.75rem .75rem 1.5rem; flex-wrap:wrap; }
.ftsp-trust-item { display:flex; align-items:center; gap:.4rem; font-size:.78rem; color:var(--fw-muted-fg); }

/* ---------- vendor contact ---------- */
.ftsp-contact { padding:.5rem .75rem .25rem; }
.ftsp-contact .ftsp-label { font-size:.8rem; font-weight:600; color:var(--fw-muted-fg); margin-bottom:.5rem; display:block; }
.ftsp-contact-btns { display:flex; gap:.5rem; }
.ftsp-contact-btn { display:inline-flex; align-items:center; gap:.4rem; padding:.5rem .9rem; border-radius:999px; font-size:.82rem; font-weight:600; text-decoration:none; transition:all .2s; font-family:inherit; }
.ftsp-contact-btn--call { background:#e8f5e9; color:#2e7d32; border:1.5px solid #a5d6a7; }
.ftsp-contact-btn--call:hover { background:#2e7d32; color:#fff; }
.ftsp-contact-btn--wa { background:#e8f5e9; color:#128c7e; border:1.5px solid #80cbc4; }
.ftsp-contact-btn--wa:hover { background:#128c7e; color:#fff; }
.flowear--dark .ftsp-contact-btn--call { background:rgba(46,125,50,.15); color:#81c784; border-color:rgba(46,125,50,.3); }
.flowear--dark .ftsp-contact-btn--call:hover { background:#2e7d32; color:#fff; }
.flowear--dark .ftsp-contact-btn--wa { background:rgba(18,140,126,.15); color:#80cbc4; border-color:rgba(18,140,126,.3); }
.flowear--dark .ftsp-contact-btn--wa:hover { background:#128c7e; color:#fff; }

/* ---------- shop page ---------- */
.ftsp-shop { max-width:56rem; margin:0 auto; }
.ftsp-shop-hero { position:relative; padding:2rem 1.5rem 2.5rem; text-align:center; overflow:hidden; margin-bottom:1rem; }
.ftsp-shop-hero-bg { position:absolute; inset:0; background:var(--fw-gradient); border-radius:0 0 2.5rem 2.5rem; opacity:.85; }
.flowear--dark .ftsp-shop-hero-bg { opacity:.7; }
.ftsp-shop-hero-content { position:relative; z-index:1; }
.ftsp-shop-title { font-size:1.75rem; font-weight:800; margin:0; color:#fff; letter-spacing:-.02em; }
.ftsp-shop-sub { font-size:.9rem; color:rgba(255,255,255,.75); margin:.25rem 0 1rem; font-weight:500; }
.ftsp-shop-search { position:relative; max-width:24rem; margin:0 auto; }
.ftsp-shop-input { width:100%; border:2px solid rgba(255,255,255,.25); border-radius:999px; padding:.7rem 1rem .7rem 2.75rem; font-family:inherit; font-size:.9rem; background:rgba(255,255,255,.15); color:#fff; outline:none; transition:all .3s; backdrop-filter:blur(8px); }
.ftsp-shop-input::placeholder { color:rgba(255,255,255,.6); }
.ftsp-shop-input:focus { border-color:rgba(255,255,255,.5); background:rgba(255,255,255,.2); box-shadow:0 0 30px rgba(255,255,255,.08); }
.ftsp-shop-search-ico { position:absolute; left:1rem; top:50%; transform:translateY(-50%); color:rgba(255,255,255,.7); display:grid; place-items:center; pointer-events:none; }
.ftsp-shop .fw-store-cats { padding:.3rem .75rem; margin:0 0 1.5rem; }
.ftsp-shop-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.375rem; padding:.15rem .75rem 2.25rem; }
@media (min-width:1201px){.ftsp-shop-grid{grid-template-columns:repeat(5,1fr); gap:1.5rem;}}
@media (max-width:900px){.ftsp-shop-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:639px){.ftsp-shop-grid{grid-template-columns:repeat(2,1fr); gap:.9rem; padding:0 .5rem 1.25rem;}}
.ftsp-shop-section { margin:0 0 1.75rem; }
.ftsp-shop-section .ftsp-shop-grid { padding:.5rem .75rem 0; }
.ftsp-shop-section-head { display:flex; align-items:center; gap:.55rem; margin:0 .9rem .9rem; }
.ftsp-shop-section-ico { width:30px; height:30px; border-radius:9px; display:grid; place-items:center; background:linear-gradient(135deg,#7c3aed,#a855f7); color:#fff; box-shadow:0 6px 18px -6px rgba(124,58,237,.55); }
.ftsp-shop-section-head h2 { margin:0; font-size:1.05rem; font-weight:800; letter-spacing:-.01em; color:var(--fw-fg); }
.ftsp-shop-card { text-decoration:none; color:var(--fw-fg); border-radius:1.25rem; overflow:hidden; background:var(--fw-card); border:1px solid var(--fw-border); transition:all .35s cubic-bezier(.4,0,.2,1); display:flex; flex-direction:column; box-shadow:0 1px 3px rgba(0,0,0,.04); }
.ftsp-shop-card.is-hidden { display:none; }
.ftsp-shop-card:hover { transform:translateY(-6px); box-shadow:0 12px 40px -8px color-mix(in oklab,var(--fw-primary) 20%,rgba(0,0,0,.12)); border-color:color-mix(in oklab,var(--fw-primary) 25%,var(--fw-border)); }
.ftsp-shop-card-img { position:relative; aspect-ratio:1/1; overflow:hidden; background:linear-gradient(145deg,color-mix(in oklab,var(--fw-primary) 5%,#f8f7fc),color-mix(in oklab,var(--fw-primary) 3%,#f5f3fa)); }
.ftsp-shop-card-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s cubic-bezier(.4,0,.2,1); }
.ftsp-shop-card:hover .ftsp-shop-card-img img { transform:scale(1.08); }
.ftsp-shop-badge { position:absolute; top:.5rem; left:.5rem; background:#ef4444; color:#fff; font-size:.65rem; font-weight:700; padding:.2rem .55rem; border-radius:999px; box-shadow:0 2px 8px rgba(239,68,68,.35); }
.ftsp-shop-badge--oOS { background:rgba(0,0,0,.55); backdrop-filter:blur(4px); box-shadow:none; }
.ftsp-shop-wishlist { position:absolute; top:.5rem; right:.5rem; background:rgba(255,255,255,.8); border:0; border-radius:999px; width:1.85rem; height:1.85rem; cursor:pointer; color:#333; display:grid; place-items:center; transition:all .25s; box-shadow:0 2px 8px rgba(0,0,0,.1); backdrop-filter:blur(4px); }
.ftsp-shop-wishlist:hover,.ftsp-shop-wishlist.is-saved { background:#ef4444; color:#fff; box-shadow:0 2px 12px rgba(239,68,68,.4); }
.ftsp-shop-price-abs { position:absolute; bottom:.6rem; left:.6rem; background:var(--fw-gradient); color:#fff; font-weight:800; font-size:.82rem; padding:.35rem .65rem; border-radius:999px; box-shadow:0 4px 16px -2px color-mix(in oklab,var(--fw-primary) 40%,transparent); line-height:1.2; }
.ftsp-shop-price-abs ins { text-decoration:none; }
.ftsp-shop-price-abs del { font-size:.65rem; opacity:.7; font-weight:600; margin-right:.15rem; }
.ftsp-shop-card-body { padding:.6rem .7rem .75rem; flex:1; display:flex; flex-direction:column; gap:.15rem; }
.ftsp-shop-vendor { font-size:.68rem; color:var(--fw-muted-fg); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ftsp-shop-name { font-size:.82rem; font-weight:700; margin:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; letter-spacing:-.01em; }
.ftsp-shop-rating { line-height:1; margin-top:.1rem; }
.ftsp-shop-rating .star-rating { font-size:.7rem; margin:0; color:#fbbf24; }

/* ---------- dark mode ---------- */
.flowear--dark .ftsp-hero { background:linear-gradient(135deg,#5b21b6,#7e22ce); }
.flowear--dark .ftsp-hero-img { box-shadow:0 8px 32px rgba(0,0,0,.4); }
.flowear--dark .ftsp-shop-hero-bg { opacity:.8; }
.flowear--dark .ftsp-shop-card { background:var(--fw-card); border-color:var(--fw-border); }
.flowear--dark .ftsp-shop-wishlist { background:rgba(30,30,30,.8); color:#ccc; }
.flowear--dark .ftsp-shop-wishlist:hover,.flowear--dark .ftsp-shop-wishlist.is-saved { background:#ef4444; color:#fff; }

@media (max-width:639px) {
	.ftsp-contact-btns { flex-direction:row; gap:.5rem; }
	a.ftsp-contact-btn { flex:1; display:flex; justify-content:center; padding:.55rem .5rem; font-size:.8rem; font-weight:700; gap:.35rem; border-radius:10px; letter-spacing:0; text-transform:none; line-height:1.2; text-decoration:none !important; }
	a.ftsp-contact-btn--call { background:linear-gradient(135deg,#66bb6a,#a5d6a7); color:#2e7d32 !important; border:none; box-shadow:0 2px 8px -2px rgba(102,187,106,.4); }
	a.ftsp-contact-btn--call:hover { transform:translateY(-1px); box-shadow:0 4px 14px -2px rgba(102,187,106,.5); }
	a.ftsp-contact-btn--wa { background:linear-gradient(135deg,#4db6ac,#80cbc4); color:#00695c !important; border:none; box-shadow:0 2px 8px -2px rgba(77,182,172,.4); }
	a.ftsp-contact-btn--wa:hover { transform:translateY(-1px); box-shadow:0 4px 14px -2px rgba(77,182,172,.5); }
	a.ftsp-contact-btn svg { width:18px; height:18px; flex-shrink:0; }
	.ftsp-buy-btn { border:2.5px solid var(--fw-primary); box-shadow:0 4px 20px -2px rgb(from var(--fw-primary) r g b / .45); }
}

/* ---------- shop tools chips (wishlist / compare) ---------- */
.ftsp-shop-tools { display:flex; gap:.6rem; justify-content:center; flex-wrap:wrap; padding:.4rem .75rem; margin:0 0 1.4rem; }
.ftsp-tools { display:flex; gap:.6rem; justify-content:center; flex-wrap:wrap; padding:.4rem .75rem; margin:0 0 1.4rem; }
.ftsp-tools-btn { display:inline-flex; align-items:center; gap:.45rem; background:var(--fw-card,#fff); border:1px solid var(--fw-border,#e2e8f0); color:var(--fw-fg,#1e293b); border-radius:999px; padding:.55rem 1.1rem; cursor:pointer; font-family:inherit; font-size:.82rem; font-weight:700; transition:all .25s; box-shadow:0 1px 3px rgba(0,0,0,.05); }
.ftsp-tools-btn:hover { border-color:var(--fw-primary,#7c3aed); color:var(--fw-primary,#7c3aed); transform:translateY(-1px); box-shadow:0 6px 18px -6px rgba(124,58,237,.35); }
.ftsp-tools-btn svg { width:16px; height:16px; }
.ftsp-tools-badge { background:var(--fw-gradient,linear-gradient(135deg,#7c3aed,#a855f7)); color:#fff; font-size:.68rem; font-weight:800; min-width:1.15rem; height:1.15rem; border-radius:999px; display:inline-grid; place-items:center; padding:0 .3rem; }
.ftsp-tools-badge.is-zero { background:var(--fw-muted,#f1f5f9); color:var(--fw-muted-fg,#94a3b8); }

/* ---------- card action stack (wishlist + compare) ---------- */
.ftsp-shop-actions { position:absolute; top:.5rem; right:.5rem; display:flex; flex-direction:column; gap:.4rem; z-index:2; }
.ftsp-shop-actions .ftsp-shop-wishlist,.ftsp-shop-actions .ftsp-shop-compare { position:static; }
.ftsp-shop-compare { background:rgba(255,255,255,.85); border:0; border-radius:999px; width:1.85rem; height:1.85rem; cursor:pointer; color:#333; display:grid; place-items:center; transition:all .25s; box-shadow:0 2px 8px rgba(0,0,0,.12); backdrop-filter:blur(4px); }
.ftsp-shop-compare:hover,.ftsp-shop-compare.is-compared { background:#6366f1; color:#fff; box-shadow:0 2px 12px rgba(99,102,241,.45); }
.flowear--dark .ftsp-shop-compare { background:rgba(30,30,30,.8); color:#ccc; }
.flowear--dark .ftsp-shop-compare:hover,.flowear--dark .ftsp-shop-compare.is-compared { background:#6366f1; color:#fff; }

/* ---------- drawers ---------- */
.ftsp-drawer-overlay { position:fixed; inset:0; background:rgba(15,12,30,.45); backdrop-filter:blur(2px); z-index:99990; opacity:0; pointer-events:none; transition:opacity .3s; }
.ftsp-drawer-overlay.is-open { opacity:1; pointer-events:auto; }
.ftsp-drawer { position:fixed; top:0; right:0; bottom:0; width:min(24rem,92vw); background:var(--fw-card,#fff); z-index:99991; transform:translateX(105%); transition:transform .35s cubic-bezier(.4,0,.2,1); display:flex; flex-direction:column; box-shadow:-20px 0 60px rgba(0,0,0,.2); }
.ftsp-drawer.is-open { transform:none; }
.ftsp-drawer-head { display:flex; align-items:center; justify-content:space-between; padding:1.1rem 1.25rem; border-bottom:1px solid var(--fw-border,#e2e8f0); }
.ftsp-drawer-head h3 { margin:0; font-size:1.05rem; font-weight:800; color:var(--fw-fg,#1e293b); }
.ftsp-drawer-close { background:var(--fw-muted,#f1f5f9); border:0; width:2rem; height:2rem; border-radius:999px; font-size:1.2rem; line-height:1; cursor:pointer; color:var(--fw-muted-fg,#64748b); transition:.2s; }
.ftsp-drawer-close:hover { background:#ef4444; color:#fff; }
.ftsp-wishlist-list,.ftsp-compare-list { flex:1; overflow-y:auto; padding:1rem 1.25rem; }
.ftsp-wl-item { display:flex; align-items:center; gap:.7rem; padding:.6rem; border:1px solid var(--fw-border,#e2e8f0); border-radius:14px; margin-bottom:.6rem; background:var(--fw-card,#fff); transition:border .2s; }
.ftsp-wl-item:hover { border-color:var(--fw-primary,#7c3aed); }
.ftsp-wl-item a { display:flex; align-items:center; gap:.7rem; flex:1; min-width:0; text-decoration:none; color:inherit; }
.ftsp-wl-item img { width:52px; height:52px; border-radius:10px; object-fit:cover; flex-shrink:0; }
.ftsp-wl-item b { display:block; font-size:.85rem; color:var(--fw-fg,#1e293b); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ftsp-wl-item span { font-size:.78rem; font-weight:700; color:color-mix(in srgb, var(--fw-primary,#7c3aed) 72%, #111827); }
.ftsp-wl-x { background:var(--fw-muted,#f1f5f9); border:0; width:1.7rem; height:1.7rem; border-radius:999px; cursor:pointer; color:var(--fw-muted-fg,#64748b); font-size:1rem; line-height:1; flex-shrink:0; transition:.2s; }
.ftsp-wl-x:hover { background:#ef4444; color:#fff; }
.ftsp-drawer-empty { text-align:center; color:var(--fw-muted-fg,#94a3b8); font-size:.85rem; padding:2.5rem 0; }
.ftsp-drawer-cta { margin-top:.9rem; }
.ftsp-drawer-cta button { width:100%; border:0; cursor:pointer; background:var(--fw-gradient,linear-gradient(135deg,#7c3aed,#a855f7)); color:#fff; padding:.75rem; border-radius:999px; font-weight:700; font-family:inherit; font-size:.85rem; box-shadow:0 6px 20px -6px rgba(124,58,237,.5); }

/* ---------- compare modal ---------- */
.ftsp-compare-overlay { position:fixed; inset:0; background:rgba(15,12,30,.55); backdrop-filter:blur(4px); z-index:99992; display:none; align-items:center; justify-content:center; padding:1rem; }
.ftsp-compare-overlay.is-open { display:flex; }
.ftsp-compare-modal { background:var(--fw-card,#fff); border-radius:20px; width:100%; max-width:56rem; max-height:86vh; overflow:auto; padding:1.25rem; box-shadow:0 25px 60px rgba(0,0,0,.35); }
.ftsp-compare-body { overflow-x:auto; }
.ftsp-compare-body table { width:100%; border-collapse:collapse; font-size:.82rem; }
.ftsp-compare-body th,.ftsp-compare-body td { padding:.55rem .6rem; border-bottom:1px solid var(--fw-border,#e2e8f0); text-align:left; vertical-align:top; }
.ftsp-compare-body th { color:var(--fw-muted-fg,#64748b); font-weight:700; white-space:nowrap; }
.ftsp-compare-body img { width:72px; border-radius:10px; display:block; margin-bottom:.35rem; }
.ftsp-cmp-name { font-weight:700; color:var(--fw-fg,#1e293b); text-decoration:none; display:block; margin-bottom:.3rem; }
.ftsp-cmp-price { color:color-mix(in srgb, var(--fw-primary,#7c3aed) 72%, #111827); font-weight:800; }
.ftsp-cmp-add { display:inline-block; background:var(--fw-gradient,linear-gradient(135deg,#7c3aed,#a855f7)); color:#fff !important; padding:.4rem .8rem; border-radius:999px; font-size:.72rem; font-weight:700; text-decoration:none; margin-top:.3rem; }