/* Navbar cart badge */
.nav-cart { position: relative; }
.nav-cart a { position: relative; display: inline-flex; align-items: center; }
.nav-cart i { font-size: 1.1rem; }
.cart-count { position: absolute; top: -6px; right: -10px; background: var(--secondary-color); color: #fff; width: 18px; height: 18px; border-radius: 50%; display: none; align-items: center; justify-content: center; font-size: 10px; font-weight: 700; }

/* Cart page layout */
.cart-page { padding: 140px 0 80px; }
.cart-container { max-width: 1100px; margin: 0 auto; padding: 0 20px; }
.cart-card { background:#fff;border:1px solid var(--border-color);border-radius:22px;box-shadow:0 20px 40px rgba(0,0,0,.08);padding:26px; }
.cart-header { display:flex;justify-content:space-between;align-items:center;margin-bottom:18px; }
.cart-title { font-size:1.6rem;font-weight:800;color:var(--text-primary); }
.continue-shopping { display:inline-flex;align-items:center;gap:10px;padding:12px 20px;border-radius:999px;font-weight:700;color:#fff;border:none;background:var(--gradient-primary);text-decoration:none;box-shadow:var(--shadow-lg);transition:transform .2s ease, box-shadow .2s ease; }
.continue-shopping i { font-size:.95rem; }
.continue-shopping:hover { transform:translateY(-2px); box-shadow:var(--shadow-xl); }
.cart-items { width:100%; }
.cart-row { display:grid;grid-template-columns: 1fr 140px 160px 140px 60px;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--border-color); }
.cart-head { color:var(--text-secondary);font-size:.9rem;font-weight:600;padding-bottom:10px;border-bottom:1px solid var(--border-color); }
.cart-item-name { font-weight:600;color:var(--text-primary); }
.cart-price, .cart-line-total { font-weight:700;color:var(--success-color); }
.qty-box { display:flex;align-items:center;gap:10px; }
.qty-btn { width:32px;height:32px;border:1px solid #d1d5db;background:#fff;border-radius:8px;cursor:pointer;font-weight:700; }
.qty-value { min-width:26px;text-align:center;font-weight:700;color:var(--text-primary); }
.remove-link { background:#ef4444;color:#fff;border:none;width:32px;height:32px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center; }
.cart-summary { margin-top:20px;display:flex;justify-content:space-between;align-items:center; }
.checkout-btn-page { background:var(--gradient-primary);color:#fff;border:none;padding:14px 26px;border-radius:999px;font-weight:700;cursor:pointer;box-shadow:var(--shadow-lg); }
.checkout-btn-page:hover { transform:translateY(-2px); }
.total { font-size:1.2rem;font-weight:800;color:var(--text-primary); }

@media (max-width: 768px){
    .cart-row{ grid-template-columns: 1fr 120px 100px 100px 40px; gap:10px; }
}

@media (max-width: 600px){
    .cart-page { padding: 100px 0 60px; }
    .cart-card { padding: 18px; border-radius: 18px; }
    .cart-header { flex-direction: column; align-items: flex-start; gap: 10px; }
    .cart-head { display: none; }
    .cart-row { grid-template-columns: 1fr 1fr; gap: 8px 12px; align-items: center; }
    .cart-item-name { grid-column: 1 / -1; font-size: 1rem; }
    .cart-price { grid-column: 1 / 2; }
    .qty-box { grid-column: 2 / 3; justify-content: flex-end; }
    .cart-line-total { grid-column: 1 / 2; }
    .remove-link { grid-column: 2 / 3; justify-self: end; }
    .cart-summary { flex-direction: column; align-items: stretch; gap: 12px; }
    .checkout-btn-page { width: 100%; justify-content: center; }
}

/* Notifications (shared) */
.notification { position: fixed; top: 20px; right: 20px; background: #fff; padding: 12px 16px; border-radius: 10px; box-shadow: 0 10px 25px rgba(0,0,0,.1); z-index: 10000; display: flex; align-items: center; gap: 12px; }
.notification.success { border-left: 4px solid #10b981; }
.notification.error { border-left: 4px solid #ef4444; }
.notification.warning { border-left: 4px solid #f59e0b; }
.notification.info { border-left: 4px solid #3b82f6; }
.notification-content { display:flex; align-items:center; gap:8px; }
.notification-close { background:none; border:none; color:#6b7280; cursor:pointer; }

