/* Quantity widget (unique classes) */
		.qty-widget {
			display: inline-flex;
			align-items: center;
			gap: 8px;
			border-radius: 999px;
			padding: 8px 10px;
			background: #f7f8fc;
			box-shadow: 0 2px 8px rgba(17, 17, 17, 0.06);
			direction: rtl;
			margin: 16px;
		}

		.qty-badge {
			background: linear-gradient(135deg, var(--accent), var(--accent-2));
			color: #fff;
			border-radius: 999px;
			padding: 6px 12px;
			font-weight: 600;
			font-size: 14px;
			line-height: 1;
			display: flex;
			align-items: center;
		}

		/* Buttons */
		.qty-btn {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			width: 36px;
			height: 36px;
			border-radius: 50%;
			text-decoration: none;
			font-size: 20px;
			font-weight: 700;
			user-select: none;
			border: 1px solid rgba(17,17,17,0.06);
			background: #ffffff;
			color: #111;
			transition: transform 120ms ease, box-shadow 120ms ease, background 120ms ease;
			cursor: pointer;
		}
		.qty-btn:hover { box-shadow: 0 4px 10px rgba(17,17,17,0.1); }
		.qty-btn:active { transform: translateY(1px) scale(0.98); }

		/* Angular visibility helper */
		.ng-hide { display: none !important; }

		/* Input */
		.qty-input {
			width: 74px;
			height: 36px;
			border: 1px solid rgba(17,17,17,0.08);
			background: #fff;
			border-radius: 10px;
			text-align: center;
			font-weight: 700;
			font-size: 15px;
			color: #111;
			outline: none;
			transition: border-color 120ms ease, box-shadow 120ms ease;
		}
		.qty-input:focus {
			border-color: var(--accent);
			box-shadow: 0 0 0 3px rgba(138, 43, 226, 0.15);
		}
		/* Remove number input spinners */
		.qty-input::-webkit-outer-spin-button,
		.qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
		.qty-input { -moz-appearance: textfield; }

		/* Responsive */
		@media (max-width: 480px) {
			.qty-widget { gap: 6px; padding: 6px 8px; }
			.qty-btn { width: 34px; height: 34px; font-size: 18px; }
			.qty-input { width: 64px; height: 34px; font-size: 14px; }
			.qty-badge { font-size: 13px; padding: 5px 10px; }
		}