/* ============ Base & Reset ============ */
* { margin: 0; padding: 0; box-sizing: border-box; }

/* ============ Category Scroll ============ */
.category-scroll {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.category-scroll::-webkit-scrollbar { display: none; }

/* ============ Skeleton Animation ============ */
.img-skeleton {
  background: linear-gradient(90deg, #f5f5f4 25%, #e7e5e4 50%, #f5f5f4 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
}
.dark .img-skeleton {
  background: linear-gradient(90deg, #292524 25%, #44403c 50%, #292524 75%);
  background-size: 200% 100%;
}
@keyframes shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* ============ Custom Scrollbar ============ */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #d6d3d1; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #a8a29e; }
.dark ::-webkit-scrollbar-thumb { background: #57534e; }
.dark ::-webkit-scrollbar-thumb:hover { background: #78716c; }

/* ============ Product Card Hover ============ */
.product-card .card-actions { opacity: 0; transform: translateY(4px); transition: all 0.2s; }
.product-card:hover .card-actions { opacity: 1; transform: translateY(0); }
.product-card .card-img { transition: transform 0.5s; }
.product-card:hover .card-img { transform: scale(1.05); }

/* ============ FAQ Accordion ============ */
.faq-item { border: 1px solid #e7e5e4; border-radius: 0.75rem; overflow: hidden; transition: all 0.2s; }
.dark .faq-item { border-color: #44403c; }
.faq-item:hover { border-color: #f43f5e; }
.faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.3s ease-out, padding 0.3s ease-out; padding: 0 1rem; }
.faq-item.open .faq-answer { max-height: 300px; padding: 0 1rem 1rem; }
.faq-chevron { transition: transform 0.3s; }
.faq-item.open .faq-chevron { transform: rotate(180deg); }

/* ============ Sidebar Transition ============ */
.sidebar-open { transform: translateX(0) !important; }

/* ============ Animations ============ */
@keyframes fadeIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@keyframes slideUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
.animate-fade-in { animation: fadeIn 0.4s ease-out; }
.animate-slide-up { animation: slideUp 0.5s ease-out; }

/* ============ Toast ============ */
.toast-show { transform: translate(-50%, 0) !important; opacity: 1 !important; }

/* ============ Spin ============ */
@keyframes spin { to { transform: rotate(360deg); } }
.animate-spin { animation: spin 1s linear infinite; }

/* ============ Zoom cursor ============ */
#zoom-overlay.active { display: flex; }

/* ============ Responsive ============ */
@media (max-width: 640px) {
  .product-card .card-actions { opacity: 1; transform: translateY(0); }
}

/* ============ Price panel ============ */
#price-panel.show { display: flex; }

/* ============ Settings Panel ============ */
/* Settings panel moved to separate admin page */
