* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; background:#f5f5f5; color:#333; }
a { color:#1890ff; text-decoration:none; }
a:hover { text-decoration:underline; }

/* Header */
.header { background:#fff; box-shadow:0 2px 8px rgba(0,0,0,.08); position:sticky; top:0; z-index:100; }
.header-inner { max-width:1200px; margin:0 auto; padding:15px 20px; display:flex; align-items:center; justify-content:space-between; }
.logo { font-size:24px; font-weight:bold; color:#1890ff; text-decoration:none; }
.logo:hover { text-decoration:none; }
.search-bar { flex:1; max-width:500px; margin:0 30px; display:flex; }
.search-bar input { flex:1; padding:10px 15px; border:2px solid #1890ff; border-right:none; border-radius:4px 0 0 4px; font-size:14px; outline:none; }
.search-bar button { padding:10px 20px; background:#1890ff; color:#fff; border:none; border-radius:0 4px 4px 0; cursor:pointer; font-size:14px; }
.search-bar button:hover { background:#40a9ff; }
.header-actions { display:flex; gap:15px; align-items:center; }
.header-actions a { color:#666; text-decoration:none; font-size:14px; }
.header-actions a:hover { color:#1890ff; text-decoration:none; }
.cart-icon { position:relative; }
.cart-badge { position:absolute; top:-8px; right:-8px; background:#ff4d4f; color:#fff; border-radius:50%; width:18px; height:18px; text-align:center; line-height:18px; font-size:11px; }

/* Container */
.container { max-width:1200px; margin:20px auto; padding:0 20px; }

/* Footer */
.footer { background:#333; color:#999; text-align:center; padding:30px 20px; margin-top:40px; }
.footer a { color:#ccc; }

/* Product Card */
.product-card { background:#fff; border-radius:8px; overflow:hidden; box-shadow:0 2px 8px rgba(0,0,0,.08); transition:transform .3s,box-shadow .3s; cursor:pointer; }
.product-card:hover { transform:translateY(-4px); box-shadow:0 4px 16px rgba(0,0,0,.12); }
.product-card img { width:100%; height:250px; object-fit:cover; }
.product-info { padding:12px 15px; }
.product-name { font-size:14px; color:#333; margin-bottom:8px; height:40px; overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.product-price { font-size:20px; font-weight:bold; color:#ff4d4f; }
.product-sales { font-size:12px; color:#999; margin-top:4px; }

/* Button */
.btn { display:inline-block; padding:10px 24px; border:none; border-radius:4px; font-size:14px; cursor:pointer; text-align:center; transition:all .3s; text-decoration:none; }
.btn-primary { background:#1890ff; color:#fff; }
.btn-primary:hover { background:#40a9ff; text-decoration:none; }
.btn-primary:disabled { background:#ccc; cursor:not-allowed; }
.btn-danger { background:#ff4d4f; color:#fff; }
.btn-danger:hover { background:#ff7875; text-decoration:none; }
.btn-outline { background:transparent; color:#1890ff; border:1px solid #1890ff; }
.btn-outline:hover { background:#1890ff; color:#fff; text-decoration:none; }
.btn-lg { padding:14px 32px; font-size:16px; }
.btn-block { width:100%; }

/* Form */
.form-group { margin-bottom:16px; }
.form-group label { display:block; font-size:14px; color:#555; margin-bottom:6px; font-weight:600; }
.form-group input, .form-group select, .form-group textarea {
    width:100%; padding:10px 12px; border:1px solid #ddd; border-radius:4px; font-size:14px; outline:none; transition:border-color .3s;
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color:#1890ff; }

/* Empty State */
.empty { text-align:center; padding:60px 20px; color:#999; }
.empty img { max-width:120px; margin-bottom:20px; }
.empty p { font-size:16px; margin-bottom:15px; }

/* Badge */
.badge { display:inline-block; padding:2px 10px; border-radius:10px; font-size:12px; font-weight:600; }
.badge-warning { background:#fff7e6; color:#d46b08; border:1px solid #ffe58f; }
.badge-success { background:#f6ffed; color:#389e0d; border:1px solid #b7eb8f; }
.badge-info { background:#e6f7ff; color:#096dd9; border:1px solid #91d5ff; }
.badge-danger { background:#fff1f0; color:#cf1322; border:1px solid #ffa39e; }
.badge-default { background:#fafafa; color:#595959; border:1px solid #d9d9d9; }

/* Alert */
.alert { padding:12px 16px; border-radius:4px; margin-bottom:16px; font-size:14px; }
.alert-error { background:#fff1f0; color:#cf1322; border:1px solid #ffa39e; }
.alert-success { background:#f6ffed; color:#389e0d; border:1px solid #b7eb8f; }
.alert-info { background:#e6f7ff; color:#096dd9; border:1px solid #91d5ff; }

/* Pagination */
.pagination { text-align:center; padding:20px 0; }
.pagination a, .pagination span {
    display:inline-block; padding:8px 14px; margin:0 3px; border:1px solid #ddd; border-radius:4px;
    color:#333; font-size:14px; text-decoration:none; cursor:pointer;
}
.pagination a:hover { background:#1890ff; color:#fff; border-color:#1890ff; text-decoration:none; }
.pagination .active { background:#1890ff; color:#fff; border-color:#1890ff; }
.pagination .disabled { color:#ccc; cursor:default; }

/* Responsive */
@media(max-width:768px) {
    .header-inner { flex-wrap:wrap; }
    .search-bar { order:3; max-width:100%; margin:10px 0; width:100%; }
}
