/* Phase 3D additions: sold-out state, wishlist, coming-soon accuracy.
   Kept separate from styles.css to avoid hand-editing that dense minified file. */
.product{position:relative}
.product.sold-out .photo img{filter:grayscale(60%) opacity(.55)}
.sold-out-badge{position:absolute;top:12px;left:12px;padding:7px 9px;background:#111;color:#fff;font-size:.67rem;font-weight:850;text-transform:uppercase}
.wishlist-toggle{position:absolute;top:12px;right:12px;z-index:2;width:36px;height:36px;display:grid;place-items:center;border:1px solid #111;background:#fff;border-radius:50%;font-size:1.05rem;line-height:1;color:#111}
.wishlist-toggle.active{background:#111;color:#fff}
.wishlist-toggle:hover{background:#f3f3f3}
.wishlist-toggle.active:hover{background:#333}
.wishlist-actions{display:flex;gap:10px;margin-top:6px}
.wishlist-actions button{min-height:auto;border:0;background:none;padding:0;text-decoration:underline;font-size:.74rem;cursor:pointer}
.category-scroller{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;padding:0 clamp(20px,4vw,64px) 60px}
.category-scroller button{position:relative;aspect-ratio:1;overflow:hidden;border:0;background:#eee;padding:0}
.category-scroller button img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.category-scroller button:hover img{transform:scale(1.04)}
.category-scroller button span{position:absolute;left:12px;bottom:12px;padding:6px 10px;background:#fff;font-size:.78rem;font-weight:800}
.category-scroller button span small{display:block;font-weight:600;color:var(--muted,#6b6b6b);font-size:.65rem}
.category-coming{aspect-ratio:1;display:grid;place-content:center;gap:4px;background:var(--soft,#f6f6f6);text-align:center;border:1px dashed #ccc}
.category-coming b{font-size:.85rem}
.category-coming small{color:var(--muted,#6b6b6b);font-size:.72rem}
#wishlistOpen{position:relative}
@media(prefers-reduced-motion:reduce){.category-scroller button img,.product .photo img{transition:none!important}}
