/* MoroParts Nou - Custom styles */
:root { --primary: #2549eb; }
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }

/* Product cards */
.product-card { transition: transform .2s ease, box-shadow .2s ease; }
.product-card:hover { transform: translateY(-4px); box-shadow: 0 12px 28px -8px rgba(37,73,235,.18); }
.product-card img { transition: transform .3s ease; }
.product-card:hover img { transform: scale(1.05); }

/* Line clamp */
.clamp-1 { display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; }
.clamp-2 { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.clamp-3 { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }

/* Hero gradient */
.hero-bg { background: linear-gradient(135deg, #111827 0%, #1e2b8a 60%, #2549eb 100%); }

/* Category tiles */
.cat-tile { transition: all .2s ease; }
.cat-tile:hover { transform: translateY(-3px); box-shadow: 0 10px 24px -8px rgba(0,0,0,.18); }

/* Sidebar */
.sidebar-link { transition: all .15s ease; border-radius: .5rem; }
.sidebar-link:hover { background: #eef4ff; color: #2549eb; }
.sidebar-link.active { background: #2549eb; color: #fff; }

/* Dashboard */
.stat-card { transition: transform .2s ease; }
.stat-card:hover { transform: translateY(-2px); }

/* Toast */
#toast-wrap { position: fixed; bottom: 1.5rem; right: 1.5rem; z-index: 9999; display: flex; flex-direction: column; gap: .5rem; }
.toast { animation: slideIn .25s ease; }
@keyframes slideIn { from { transform: translateX(100%); opacity: 0; } to { transform: translateX(0); opacity: 1; } }

/* Skeleton */
.skeleton { background: linear-gradient(90deg, #e5e7eb 25%, #f3f4f6 50%, #e5e7eb 75%); background-size: 200% 100%; animation: shimmer 1.2s infinite; }
@keyframes shimmer { to { background-position: -200% 0; } }

/* Table */
.data-table th { font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; color: #6b7280; font-weight: 600; }
.data-table td, .data-table th { padding: .75rem 1rem; }
.data-table tbody tr:hover { background: #f8fafc; }

/* Badges */
.badge { display: inline-flex; align-items: center; padding: .15rem .6rem; border-radius: 9999px; font-size: .72rem; font-weight: 600; }

/* Scrollbar */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: #f1f5f9; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

/* Mobile menu */
@media (max-width: 1023px) {
  #mobile-cats { max-height: 0; overflow: hidden; transition: max-height .3s ease; }
  #mobile-cats.open { max-height: 70vh; overflow-y: auto; }
}
