.product-card {
    transition: all .25s ease;
    border-radius: 12px;
    overflow: hidden;
}
.product-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgba(0,0,0,0.12) !important;
}
.product-card .img-wrap {
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    position: relative;
    background: #f0f0f0;
}
.product-card .img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s ease;
}
.product-card:hover .img-wrap img {
    transform: scale(1.08);
}
.product-card .img-placeholder {
    width: 100%;
    aspect-ratio: 1 / 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #f5f5f5 0%, #e8e8e8 100%);
    color: #bbb;
}
.product-card .img-placeholder i {
    font-size: 2.8rem;
    margin-bottom: 6px;
}
.product-card .img-placeholder small {
    font-size: 0.75rem;
    opacity: 0.5;
}
.detail-img-grid { display:flex; gap:12px; overflow-x:auto; padding:4px 0; }
.detail-img-item { flex:0 0 auto; text-align:center; width:160px; }
.detail-img-item img { width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:8px; border:1px solid #ddd; display:block; }
.detail-toggle-btn { margin-top:6px; background:none; border:1px solid #ddd; border-radius:6px; cursor:pointer; transition:all .15s; width:36px; height:36px; display:inline-flex; align-items:center; justify-content:center; }
.detail-toggle-btn:hover { border-color:#d4a017; background:#fff8e0; }
.detail-toggle-btn { background:none; border:1px solid #ddd; border-radius:6px; cursor:pointer; transition:all .15s; width:36px; height:36px; display:flex; align-items:center; justify-content:center; }
.detail-toggle-btn:hover { border-color:#d4a017; background:#fff8e0; }
.emoji-btn { transition:all .15s; }
.emoji-btn:hover { border-color:#d4a017; background:#fff8e0; }
.emoji-picker-wrap.open { display:block !important; }

.cat-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    background: rgba(212,160,23,0.08);
    border: 1px solid rgba(212,160,23,0.2);
    border-radius: 20px;
    font-size: 0.75rem;
    color: #5a4a3a;
    cursor: default;
    transition: all .15s;
}
.cat-tag:hover { background: rgba(212,160,23,0.12); }
.cat-tag .remove-btn {
    cursor: pointer;
    color: #ccc;
    font-size: 0.8rem;
    line-height: 1;
    margin-left: 2px;
    padding: 0 2px;
}
.cat-tag .remove-btn:hover { color: #e94560; }
