/* ============================================================================ Giỏ hàng — bản dựng lại theo lối. */

.mg-cart {
	--kl-ink: #1c2a20;
	--kl-ink-2: #5d6f64;
	--kl-ink-3: #8c9d93;
	--kl-line: #dfe6e0;
	--kl-line-2: #c6d2c9;
	--kl-surface: #fff;
	--kl-surface-2: #f4f7f4;
	--kl-green: #55a61d;
	--kl-green-dark: #3f7d15;
	--kl-green-soft: #eaf4e1;
	--kl-warn: #8a6100;
	--kl-warn-soft: #fdf3dd;

	background: var(--kl-surface-2);
	padding: 18px 0 44px;
	color: var(--kl-ink);
}

.mg-cart .solus-cart__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 336px;
	align-items: start;
	gap: 20px;
}

/* ---------------------------------------------------------------- cái cân */

.mg-cart .mg-scale {
	background: var(--kl-surface);
	border: 1px solid var(--kl-line);
	border-radius: 10px;
	padding: 22px 26px 18px;
	margin-bottom: 16px;
}

.mg-cart .mg-scale__head {
	margin: 0 0 10px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .02em;
	color: var(--kl-ink-2);
}

.mg-cart .mg-scale__readout {
	display: flex;
	align-items: baseline;
	gap: 9px;
	margin-bottom: 22px;
}

.mg-cart .mg-scale__num {
	font-size: 48px;
	font-weight: 700;
	line-height: .9;
	letter-spacing: -.04em;
	font-variant-numeric: tabular-nums;
	color: var(--kl-ink);
}

.mg-cart .mg-scale__unit {
	font-size: 19px;
	font-weight: 600;
	color: var(--kl-ink-2);
	letter-spacing: -.01em;
}

.mg-cart .mg-scale__count {
	margin-left: auto;
	font-size: 13px;
	color: var(--kl-ink-2);
	align-self: flex-end;
}

/* Thước khối lượng — chỉ ở desktop. Ở khổ hẹp ba ô xếp dọc đã kể đủ, nhồi
   thêm một trục ngang chỉ tổ chật. */
.mg-cart .mg-track {
	position: relative;
	height: 7px;
	background: var(--kl-surface-2);
	border: 1px solid var(--kl-line);
	border-radius: 99px;
	margin: 0 0 34px;
}

.mg-cart .mg-track__fill {
	position: absolute;
	inset: -1px auto -1px -1px;
	min-width: 9px;
	background: var(--kl-green);
	border-radius: 99px;
}

.mg-cart .mg-track__tick {
	position: absolute;
	top: 0;
	transform: translateX(-50%);
}

.mg-cart .mg-track__mark {
	display: block;
	width: 2px;
	height: 15px;
	margin: -4px auto 0;
	background: var(--kl-line-2);
	border-radius: 1px;
}

.mg-cart .mg-track__kg {
	position: absolute;
	top: 16px;
	left: 50%;
	transform: translateX(-50%);
	font-style: normal;
	font-size: 11.5px;
	font-weight: 600;
	white-space: nowrap;
	color: var(--kl-ink-3);
	font-variant-numeric: tabular-nums;
}

/* Vạch đã đạt nằm ĐÈ lên phần xanh, để xanh đậm trên nền xanh là biến mất. */
.mg-cart .mg-track__tick.is-hit .mg-track__mark {
	background: #fff;
	box-shadow: 0 0 0 1px rgba(63, 125, 21, .45);
}

.mg-cart .mg-track__tick.is-hit .mg-track__kg {
	color: var(--kl-green-dark);
}

/* Ba khoảng giá đặt cạnh nhau, ô đang áp sáng lên và ghi rõ "Đang áp".
   Hai ô còn lại ghi số tiền THẬT mà chính giỏ này rẻ đi nếu lên tới đó. */
.mg-cart .mg-bands {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
	list-style: none;
	margin: 0 0 18px;
	padding: 0;
	counter-reset: none;
}

.mg-cart .mg-band {
	border: 1px solid var(--kl-line);
	border-radius: 8px;
	padding: 11px 13px;
	background: var(--kl-surface-2);
	min-width: 0;
}

.mg-cart .mg-band__range {
	display: block;
	font-size: 11.5px;
	font-weight: 600;
	color: var(--kl-ink-3);
	font-variant-numeric: tabular-nums;
	margin-bottom: 2px;
}

.mg-cart .mg-band__name {
	display: block;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--kl-ink-2);
	line-height: 1.3;
	margin-bottom: 6px;
}

/* Dòng mô tả của mức: nói mức đó dành cho ai, không phải con số. */
.mg-cart .mg-band__mo-ta {
	display: block;
	margin-top: 6px;
	font-size: 11.5px;
	line-height: 1.4;
	color: var(--kl-ink-2);
}

.mg-cart .mg-band.is-on .mg-band__mo-ta {
	color: var(--kl-green-dark);
}

.mg-cart .mg-band__flag,
.mg-cart .mg-band__save {
	display: inline-block;
	font-size: 11.5px;
	font-weight: 700;
	line-height: 1.3;
}

.mg-cart .mg-band__flag {
	color: #fff;
	background: var(--kl-green-dark);
	border-radius: 4px;
	padding: 2px 8px;
	letter-spacing: .01em;
}

.mg-cart .mg-band__save {
	color: var(--kl-warn);
}

/* Mức đã vượt qua: nói số tiền đang tiết kiệm so với nó — tin vui, để màu xanh. */
.mg-cart .mg-band__past {
	display: block;
	margin-top: 5px;
	font-size: 11.5px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--kl-green-dark);
}

.mg-cart .mg-band__past .amount {
	font-variant-numeric: tabular-nums;
}

.mg-cart .mg-band__save .amount {
	font-variant-numeric: tabular-nums;
}

.mg-cart .mg-band__save.is-none {
	color: var(--kl-ink-3);
	font-weight: 400;
}

/* Ô đang áp: viền xanh và nền nhạt, đọc một cái là ra đơn đang ăn mức nào. */
.mg-cart .mg-band.is-on {
	border-color: var(--kl-green);
	background: var(--kl-green-soft);
	box-shadow: 0 0 0 1px var(--kl-green);
}

.mg-cart .mg-band.is-on .mg-band__range {
	color: var(--kl-green-dark);
}

.mg-cart .mg-band.is-on .mg-band__name {
	color: var(--kl-ink);
	font-weight: 700;
}

/* Ô đã đi qua: mờ đi, nhưng vẫn đọc được — nó là mức đắt hơn, không phải rác. */
.mg-cart .mg-band.is-past {
	opacity: .55;
}

.mg-cart .mg-scale__says > p {
	margin: 0 0 5px;
	font-size: 14px;
	line-height: 1.5;
	color: var(--kl-ink-2);
}

.mg-cart .mg-scale__says > p:last-child {
	margin-bottom: 0;
}

.mg-cart .mg-scale__says strong {
	color: var(--kl-ink);
	font-weight: 700;
}

.mg-cart .mg-scale__next {
	color: var(--kl-warn);
	background: var(--kl-warn-soft);
	border-radius: 6px;
	padding: 9px 13px;
	margin-top: 3px !important;
}

.mg-cart .mg-scale__next strong {
	color: inherit;
}

.mg-cart .mg-scale__ship.is-ok {
	color: var(--kl-green-dark);
}

.mg-cart .mg-scale__ship.is-ok strong {
	color: inherit;
}

/* ---------------------------------------------------------------- dòng hàng */

.mg-cart .solus-cart__items {
	background: var(--kl-surface);
	border: 1px solid var(--kl-line);
	border-radius: 10px;
	overflow: hidden;
}

/* Dòng hàng xếp hai tầng như bản demo cũ: */
.mg-cart .solus-cart-item {
	display: grid;
	/* Cot 1 phai bang dung be ngang cua anh. Phong anh len 84px ma quen noi cot
	   thi anh tran 28px sang cot chu — do duoc: anh right=234, chu x=150, de
	   len nhau, ten hang bi che mat. */
	grid-template-columns: 84px minmax(0, 1fr) auto;
	align-items: baseline;
	column-gap: 20px;
	row-gap: 7px;
	padding: 16px 20px;
	border-bottom: 1px solid var(--kl-line);
	position: static;
}

/* Cột ảnh cố định ở mọi dòng — mép trái của tên hàng phải thẳng hàng dù mặt
   hàng có ảnh hay không. */
/* 56px la co cua mot icon, khong phai co de nhin ra mon hang. Khach su doi
   chieu anh voi thu ho da tung nhap — nho qua thi phai bam vao trang san pham
   moi chac, tuc la roi khoi gio hang. */
.mg-cart .mg-item__anh {
	grid-column: 1;
	grid-row: 1 / 3;
	align-self: center;
	width: 84px;
	height: 84px;
	border-radius: 8px;
	overflow: hidden;
	background: var(--kl-surface-2);
}

.mg-cart .mg-item__anh img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Ô thiếu ảnh: đặt dấu hàng vào, không để ô xám trống. */
.mg-cart .mg-item__anh.is-trong {
	display: grid;
	place-items: center;
	border: 1px dashed var(--kl-line-2);
	background: transparent;
	color: var(--kl-line-3);
}

.mg-cart .mg-item__anh.is-trong svg {
	width: 32px;
	height: 32px;
}

.mg-cart .solus-cart-item:last-child {
	border-bottom: 0;
}

.mg-cart .solus-cart-item__name {
	grid-column: 2;
	grid-row: 1;
	margin: 0;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: -.008em;
}

.mg-cart .solus-cart-item__name a {
	color: var(--kl-ink);
	text-decoration: none;
}

.mg-cart .solus-cart-item__name a:hover,
.mg-cart .solus-cart-item__name a:focus-visible {
	color: var(--kl-green-dark);
	text-decoration: underline;
}

.mg-cart .solus-cart-item__price {
	grid-column: 3;
	grid-row: 1;
	text-align: right;
	white-space: nowrap;
}

.mg-cart .mg-item__price-inner {
	display: flex;
	align-items: baseline;
	justify-content: flex-end;
	gap: 8px;
	flex-wrap: wrap;
}

/* Giá trước khi giảm. Chỉ hiện khi đơn đã lên mức rẻ hơn — lúc đó mức cũ thật
   sự không còn áp, nên gạch nó là ghi đúng, không phải chiêu bán hàng. */
.mg-cart .mg-item__was,
.mg-cart .mg-item__was .amount {
	font-size: 12.5px;
	font-weight: 500;
	color: var(--kl-ink-3);
	text-decoration: line-through;
	text-decoration-thickness: 1px;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.mg-cart .mg-item__now,
.mg-cart .mg-item__now .amount {
	font-size: 16.5px;
	font-weight: 700;
	color: var(--kl-ink);
	letter-spacing: -.015em;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

/* VAT của từng dòng, nằm ngay dưới tiền của chính dòng đó. Đặt trong ô tiền
   chứ không thành một ô lưới riêng: hàng 2 cột 3 đã là cụm tăng/giảm số lượng,
   chen vào đó là đẩy nút bấm xuống. */
.mg-cart .mg-item__vat {
	display: block;
	margin-top: 3px;
	font-size: 12px;
	font-weight: 500;
	color: var(--kl-ink-3);
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.mg-cart .solus-cart-item__meta {
	grid-column: 2;
	grid-row: 2;
	margin: 0;
	font-size: 12.5px;
	color: var(--kl-ink-2);
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 3px 9px;
}

.mg-cart .mg-item__kg {
	font-weight: 700;
	color: var(--kl-ink);
	font-variant-numeric: tabular-nums;
}

.mg-cart .solus-cart-item__meta > span + span::before {
	content: "·";
	margin-right: 9px;
	color: var(--kl-ink-3);
}

/* Phép tính "140.000₫/kg × 12 kg": nhạt và nhỏ hơn số kg — nó GIẢI THÍCH giá
   một kiện chứ không phải một con số nữa để đọc. Khối meta đã có dấu · ngăn
   giữa các span nên không cần thêm dấu nào. */
.mg-cart .mg-item__phep {
	color: var(--kl-ink-3);
	font-size: 11.5px;
	font-variant-numeric: tabular-nums;
	letter-spacing: -.01em;
}
.mg-cart .mg-item__sku {
	color: var(--kl-ink-3);
	font-size: 11.5px;
}

/* Mã hàng nay đứng trong thẻ tên. Phải khai lại độ đậm và khoảng cách chữ:
   không khai thì nó thừa kế của <h2> và biến thành chữ đậm, to bằng tên hàng —
   mã hàng là thứ để đối chiếu, không phải thứ để đọc trước. */
.mg-cart .solus-cart-item__name .mg-item__sku {
	margin-left: 8px;
	font-weight: 500;
	letter-spacing: 0;
	white-space: nowrap;
}

.mg-cart .mg-item__act {
	grid-column: 3;
	grid-row: 2;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 14px;
}

/* ------------------------------------------------------- nút tăng giảm */

/* Mũi tên mặc định của ô number chỉ hiện khi rê chuột, và trên điện thoại thì
   không có. Tắt đi, thay bằng hai nút thật luôn nhìn thấy. */
.mg-cart .mg-qty {
	display: inline-flex;
	align-items: stretch;
	gap: 0;
	border: 1px solid var(--kl-line-2);
	border-radius: 8px;
	background: var(--kl-surface);
	overflow: hidden;
}

.mg-cart .mg-qty .quantity {
	margin: 0;
	display: flex;
}

.mg-cart .mg-qty input.qty {
	width: 52px;
	border: 0;
	border-left: 1px solid var(--kl-line);
	border-right: 1px solid var(--kl-line);
	border-radius: 0;
	padding: 9px 4px;
	font: inherit;
	font-size: 14.5px;
	font-weight: 600;
	text-align: center;
	font-variant-numeric: tabular-nums;
	color: var(--kl-ink);
	background: transparent;
	box-shadow: none;
	-moz-appearance: textfield;
	appearance: textfield;
}

.mg-cart .mg-qty input.qty::-webkit-outer-spin-button,
.mg-cart .mg-qty input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.mg-cart .mg-qty input.qty:focus {
	outline: none;
	background: var(--kl-green-soft);
}

/* Nen xam dac o hai dau lam cum so luong trong nhu mot thanh cong cu tho.
   De nut trong suot, chi hien nen khi ro chuot — con so moi la thu bat mat. */
.mg-cart .mg-qty__btn {
	width: 34px;
	border: 0;
	background: transparent;
	color: var(--kl-ink-3);
	font-size: 15px;
	line-height: 1;
	font-weight: 600;
	cursor: pointer;
	padding: 0;
	transition: background .12s, color .12s;
}

.mg-cart .mg-qty__btn:hover,
.mg-cart .mg-qty__btn:focus-visible {
	background: var(--kl-green-soft);
	color: var(--kl-green-dark);
}

.mg-cart .mg-qty__btn:active {
	background: var(--kl-green);
	color: #fff;
}

/* Đơn vị tính dính liền ô nhập: gõ số 10 mà không biết 10 kg hay 10 thùng thì
   khách phải đoán, và đoán sai là sai cả đơn. */
.mg-cart .mg-qty__unit {
	display: flex;
	align-items: center;
	justify-content: center;
	/* Khoá bề rộng: "set" rộng hơn "kg", không khoá thì cả cụm số lượng
	   nhích theo độ dài đơn vị và mỗi dòng lệch một chút. */
	min-width: 40px;
	padding: 0 9px;
	background: var(--kl-surface-2);
	border-left: 1px solid var(--kl-line);
	font-size: 12.5px;
	font-weight: 600;
	color: var(--kl-ink-2);
	white-space: nowrap;
}

/* ------------------------------------------------------- giỏ hàng trống */

.mg-cart--empty {
	padding: 40px 0 64px;
}

.mg-cart .mg-empty {
	max-width: 640px;
	margin: 0 auto;
	background: var(--kl-surface);
	border: 1px solid var(--kl-line);
	border-radius: 10px;
	padding: 38px 34px 34px;
	text-align: center;
}

.mg-cart .mg-empty__title {
	margin: 0 0 12px;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: -.02em;
	color: var(--kl-ink);
}

.mg-cart .mg-empty__lead {
	margin: 0 auto 24px;
	max-width: 46ch;
	font-size: 14.5px;
	line-height: 1.6;
	color: var(--kl-ink-2);
}

/* Ba mức giá ở đây chỉ để kể luật, không có giỏ nên không có số tiền nào. */
.mg-cart .mg-bands--empty {
	margin-bottom: 20px;
	text-align: left;
}

.mg-cart .mg-bands--empty .mg-band {
	background: var(--kl-surface-2);
}

.mg-cart .mg-empty__ship {
	margin: 0 0 26px;
	font-size: 13.5px;
	line-height: 1.55;
	color: var(--kl-ink-2);
}

.mg-cart .mg-empty__ship strong {
	color: var(--kl-green-dark);
}

.mg-cart .mg-empty__act {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 10px 22px;
	margin: 0;
}

.mg-cart .mg-empty__btn {
	display: inline-block;
	padding: 13px 26px;
	font-size: 15px;
	font-weight: 700;
	color: #fff;
	background: var(--kl-green);
	border-radius: 8px;
	text-decoration: none;
	box-shadow: 0 1px 2px rgba(28, 42, 32, .12), 0 6px 16px -8px rgba(63, 125, 21, .5);
	transition: background .15s, box-shadow .15s;
}

.mg-cart .mg-empty__btn:hover,
.mg-cart .mg-empty__btn:focus-visible {
	background: var(--kl-green-dark);
	box-shadow: 0 2px 4px rgba(28, 42, 32, .14), 0 10px 22px -10px rgba(63, 125, 21, .55);
}

.mg-cart .mg-empty__link {
	font-size: 14px;
	color: var(--kl-ink-2);
	text-decoration: none;
	border-bottom: 1px solid var(--kl-line-2);
	padding-bottom: 1px;
}

.mg-cart .mg-empty__link:hover,
.mg-cart .mg-empty__link:focus-visible {
	color: var(--kl-green-dark);
	border-bottom-color: currentColor;
}

/* ------------------------------------------------------- mời gom thêm */

/* Nằm ở cột phải nên hẹp: xếp dọc, nút trải hết bề ngang. */
.mg-cart .mg-more {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 13px;
	margin: 0;
	padding: 17px 20px;
	background: var(--kl-green-soft);
	border: 1px solid var(--kl-accent-line, #bcdcc7);
	border-radius: 10px;
}

.mg-cart .mg-more__say {
	min-width: 0;
}

.mg-cart .mg-more__lead {
	margin: 0 0 2px;
	font-size: 17px;
	line-height: 1.3;
	color: var(--kl-ink);
	letter-spacing: -.01em;
}

.mg-cart .mg-more__lead strong {
	font-weight: 700;
	color: var(--kl-green-dark);
	font-variant-numeric: tabular-nums;
}

.mg-cart .mg-more__sub {
	margin: 0;
	font-size: 13.5px;
	line-height: 1.5;
	color: var(--kl-ink-2);
}

.mg-cart .mg-more__sub strong {
	color: var(--kl-ink);
	font-weight: 700;
}

/* Nút viền, không tô đặc. */
.mg-cart .mg-more__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	flex: none;
	padding: 11px 18px;
	font-size: 14.5px;
	font-weight: 700;
	color: var(--kl-green-dark);
	background: var(--kl-surface);
	border: 1.5px solid var(--kl-green);
	border-radius: 8px;
	text-decoration: none;
	transition: background .15s, color .15s, border-color .15s;
}

.mg-cart .mg-more__btn:hover,
.mg-cart .mg-more__btn:focus-visible {
	background: var(--kl-green);
	border-color: var(--kl-green);
	color: #fff;
}

.mg-cart .mg-more__btn svg {
	flex: none;
}

/* ---------------------------------------------------------------- đuôi */

/* Nút sao chép dính liền đáy danh sách, thành một khối. */
.mg-cart .solus-cart__items {
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
	border-bottom: 0;
}

.mg-cart .mg-cart__foot {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0;
	margin-top: 0;
}

/* ---------------------------------------------------------------- tóm tắt */

.mg-cart .solus-cart__aside {
	position: sticky;
	top: 16px;
	display: grid;
	gap: 14px;
}

.mg-cart .solus-cart-summary {
	background: var(--kl-surface);
	border: 1px solid var(--kl-line);
	border-radius: 10px;
	padding: 20px 22px;
}

.mg-cart .mg-sum__title {
	margin: 0 0 14px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .01em;
	color: var(--kl-ink);
}

.mg-cart .solus-cart-summary__rows {
	display: grid;
	gap: 9px;
}

.mg-cart .solus-cart-summary__row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	font-size: 13.5px;
	color: var(--kl-ink-2);
}

.mg-cart .solus-cart-summary__row-value {
	font-weight: 600;
	color: var(--kl-ink);
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.mg-cart .mg-sum__free {
	font-style: normal;
	color: var(--kl-green-dark);
	font-weight: 700;
}

.mg-cart .solus-cart-summary__total {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	margin-top: 13px;
	padding-top: 13px;
	border-top: 1px solid var(--kl-line);
}

.mg-cart .solus-cart-summary__total-label {
	font-size: 14px;
	font-weight: 600;
}

.mg-cart .solus-cart-summary__total-value,
.mg-cart .solus-cart-summary__total-value .amount {
	font-size: 22px;
	font-weight: 700;
	letter-spacing: -.025em;
	color: var(--kl-ink);
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.mg-cart .mg-sum__note {
	margin: 12px 0 0;
	font-size: 11.5px;
	line-height: 1.5;
	color: var(--kl-ink-3);
}

.mg-cart .solus-cart-summary__checkout {
	margin-top: 16px;
}

.mg-cart .solus-cart-summary__checkout .button,
.mg-cart .solus-cart-summary__checkout .checkout-button {
	display: block;
	width: 100%;
	/* Thiếu dòng này là width:100% cộng thêm padding hai bên, nút lòi ra
	   khỏi thẻ tóm tắt. WooCommerce đặt .button về content-box. */
	box-sizing: border-box;
	text-align: center;
	padding: 14px 18px;
	font-size: 14.5px;
	font-weight: 700;
	letter-spacing: .005em;
	text-transform: none;
	border-radius: 8px;
	background: var(--kl-green);
	color: #fff;
	box-shadow: 0 1px 2px rgba(28, 42, 32, .12), 0 6px 16px -8px rgba(63, 125, 21, .5);
	transition: background .15s, box-shadow .15s, transform .15s;
}

.mg-cart .solus-cart-summary__checkout .button:hover,
.mg-cart .solus-cart-summary__checkout .checkout-button:hover {
	background: var(--kl-green-dark);
	box-shadow: 0 2px 4px rgba(28, 42, 32, .14), 0 10px 22px -10px rgba(63, 125, 21, .55);
}

.mg-cart .solus-cart-summary__checkout .button:active,
.mg-cart .solus-cart-summary__checkout .checkout-button:active {
	transform: translateY(1px);
}

.mg-cart .mg-copy {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	width: 100%;
	box-sizing: border-box;
	padding: 13px 16px;
	font: inherit;
	font-size: 14px;
	font-weight: 600;
	color: var(--kl-ink-2);
	/* Chìm hẳn xuống thành cái đáy của thẻ danh sách hàng. Trang này chỉ nên có
	   MỘT chỗ ăn màu là nút Đặt hàng; sao chép đơn là việc phụ, tô đậm nó lên là
	   hai nút tranh nhau và khách phải dừng lại để chọn.
	   Viền đủ bốn cạnh: thẻ ở trên đã bỏ border-bottom nên cạnh trên của nút
	   chính là đường kẻ ngăn, và box-sizing: border-box giữ nó thẳng mép thẻ. */
	background: var(--kl-surface-2);
	border: 1px solid var(--kl-line);
	border-radius: 0 0 10px 10px;
	cursor: pointer;
	transition: background .15s, color .15s;
}

.mg-cart .mg-copy svg {
	flex: none;
	opacity: .75;
}

.mg-cart .mg-copy:hover,
.mg-cart .mg-copy:focus-visible {
	background: #eaefea;
	color: var(--kl-ink);
}

/* Đã chép xong thì nói ra — không có phản hồi thì khách bấm đi bấm lại.
   Chuyển sang xanh lá cho khác hẳn trạng thái thường, không chỉ đổi chữ. */
.mg-cart .mg-copy.is-done {
	background: var(--kl-green-soft);
	border-color: #cbe3b4;
	color: var(--kl-green-dark);
}

.mg-cart .mg-copy.is-done svg {
	opacity: 1;
}

.mg-cart .solus-cart-summary__continue {
	margin: 12px 0 0;
	text-align: center;
	font-size: 13px;
}

.mg-cart .solus-cart-summary__continue a {
	color: var(--kl-ink-2);
	text-decoration: none;
	border-bottom: 1px solid var(--kl-line-2);
	padding-bottom: 1px;
}

.mg-cart .solus-cart-summary__continue a:hover,
.mg-cart .solus-cart-summary__continue a:focus-visible {
	color: var(--kl-green-dark);
	border-bottom-color: currentColor;
}

/* ---------------------------------------------------------------- freeship */

.mg-cart .mg-freeship {
	background: var(--kl-surface);
	border: 1px solid var(--kl-line);
	border-radius: 10px;
	padding: 18px 22px;
	color: var(--kl-ink-2);
}

/* main.css cho nhan nay `position:absolute; top:-15px` — kieu ruy-bang treo
   ra mep the. Ban truoc chi go padding/border ma quen go POSITION, nen nhan
   noi len nam de tren duong vien, khong dinh vao dau ca. */
.mg-cart .mg-freeship .solus-product-coupons__badge {
	position: static;
	top: auto;
	left: auto;
	margin-bottom: 10px;
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13.5px;
	font-weight: 700;
	color: var(--kl-green-dark);
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
}

.mg-cart .mg-freeship .solus-product-coupons__badge-icon {
	display: grid;
	place-items: center;
	color: var(--kl-green-dark);
}

/* ---------------------------------------------------------------- ghi chú */

.mg-cart .solus-cart__notes,
.mg-cart .solus-cart-notes {
	margin-top: 16px;
}

.mg-cart textarea {
	border-radius: 8px;
	border: 1px solid var(--kl-line-2);
	font: inherit;
	font-size: 13.5px;
	padding: 11px 13px;
	min-height: 84px;
	color: var(--kl-ink);
}

.mg-cart textarea:focus {
	outline: none;
	border-color: var(--kl-green);
	box-shadow: 0 0 0 3px var(--kl-green-soft);
}

/* ---------------------------------------------------------------- nhỏ dần */

@media (max-width: 1024px) {
	.mg-cart .solus-cart__layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.mg-cart .solus-cart__aside {
		position: static;
	}
}

@media (max-width: 640px) {
	/* Ba ô khoảng giá xếp dọc: */
	.mg-cart .mg-track {
		display: none;
	}

	.mg-cart .mg-bands {
		grid-template-columns: minmax(0, 1fr);
		gap: 7px;
	}

	.mg-cart .mg-empty {
		padding: 28px 18px 26px;
	}

	.mg-cart .mg-empty__title {
		font-size: 19px;
	}

	.mg-cart .mg-empty__btn {
		width: 100%;
		box-sizing: border-box;
		text-align: center;
	}

	.mg-cart .mg-more {
		padding: 16px;
	}

	.mg-cart .mg-more__lead {
		font-size: 16px;
	}

	.mg-cart .mg-band {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		column-gap: 12px;
		padding: 10px 13px;
	}

	.mg-cart .mg-band__range {
		grid-column: 1;
		grid-row: 1;
		margin: 0;
	}

	.mg-cart .mg-band__name {
		grid-column: 1 / 3;
		grid-row: 2;
		margin: 0;
	}

	/* Chỉ nhãn "Đang áp" được đứng ở cột 2 — nó ngắn và dài cố định.
	   Câu "đạt mốc để tiết kiệm …" thì KHÔNG: cột 2 là auto nên nó kéo cột 2
	   rộng bằng cả câu rồi bóp cột 1 lại, tên mức vỡ mỗi dòng một chữ. Đo trên
	   máy thật ở 375px: hai ô chưa đạt ra 79,5px / 191,5px. Cho câu đó một
	   dòng riêng bên dưới, cột 1 lấy lại nguyên bề ngang. */
	.mg-cart .mg-band__flag {
		grid-column: 2;
		grid-row: 1;
		justify-self: end;
		text-align: right;
	}

	.mg-cart .mg-band__save,
	.mg-cart .mg-band__past {
		grid-column: 1 / 3;
		grid-row: 3;
		text-align: left;
		margin-top: 4px;
	}

	.mg-cart .mg-band__mo-ta {
		grid-column: 1 / 3;
		grid-row: 4;
		margin-top: 5px;
	}

	.mg-cart .mg-scale {
		padding: 18px 16px 14px;
	}

	.mg-cart .mg-scale__num {
		font-size: 38px;
	}

	.mg-cart .mg-scale__unit {
		font-size: 17px;
	}

	.mg-cart .mg-scale__readout {
		flex-wrap: wrap;
		margin-bottom: 16px;
	}

	.mg-cart .mg-scale__count {
		width: 100%;
		margin-left: 0;
		order: 3;
	}

	/* Dòng hàng ở khổ hẹp, ba tầng: */
	.mg-cart .solus-cart-item {
		position: relative;
		grid-template-columns: 46px minmax(0, 1fr) auto;
		row-gap: 9px;
		column-gap: 13px;
		padding: 14px 14px;
	}

	.mg-cart .mg-item__anh {
		grid-column: 1;
		grid-row: 1 / 3;
		width: 46px;
		height: 46px;
	}

	.mg-cart .mg-item__anh.is-trong svg {
		width: 20px;
		height: 20px;
	}

	.mg-cart .solus-cart-item__name {
		grid-column: 2 / 4;
		grid-row: 1;
		font-size: 15.5px;
		padding-right: 30px;
	}

	.mg-cart .solus-cart-item__meta {
		grid-column: 2 / 4;
		grid-row: 2;
	}

	.mg-cart .solus-cart-item__price {
		grid-column: 1 / 3;
		grid-row: 3;
		text-align: left;
		align-self: center;
	}

	/* Giá cũ nhỏ nằm trên, giá đang trả to nằm dưới — nằm ngang thì 344px
	   không đủ chỗ cạnh cụm số lượng. */
	.mg-cart .mg-item__price-inner {
		flex-direction: column;
		align-items: flex-start;
		gap: 0;
	}

	.mg-cart .mg-item__act {
		grid-column: 3;
		grid-row: 3;
		justify-content: flex-end;
	}

	/* Cụm số lượng thu gọn để tiền có đủ chỗ thở. */
	.mg-cart .mg-qty__btn {
		width: 32px;
		font-size: 16px;
	}

	.mg-cart .mg-qty input.qty {
		width: 44px;
		padding: 8px 2px;
	}

	.mg-cart .mg-qty__unit {
		min-width: 34px;
		padding: 0 7px;
		font-size: 11.5px;
	}
}

@media (max-width: 380px) {
	.mg-cart .mg-scale__num {
		font-size: 34px;
	}

	.mg-cart .mg-item__act {
		gap: 10px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mg-cart * {
		transition: none !important;
	}
}


/* ---------------------------------------------------------------- thông báo */

/* Gắn thẳng vào body nên KHÔNG bọc trong .mg-cart — file này chỉ nạp ở trang
   giỏ hàng nên vẫn không rò sang trang khác. */
.mg-toast {
	position: fixed;
	left: 50%;
	bottom: 26px;
	z-index: 9999;
	transform: translate(-50%, 12px);
	max-width: calc(100vw - 32px);
	padding: 11px 18px;
	border-radius: 999px;
	background: #1c2a20;
	color: #fff;
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.3;
	text-align: center;
	box-shadow: 0 2px 6px rgba(28, 42, 32, .2), 0 14px 34px -12px rgba(28, 42, 32, .55);
	opacity: 0;
	pointer-events: none;
	transition: opacity .18s ease, transform .18s cubic-bezier(.2, .8, .3, 1);
}

.mg-toast.is-on {
	opacity: 1;
	transform: translate(-50%, 0);
}

@media (prefers-reduced-motion: reduce) {
	.mg-toast {
		transition: opacity .18s ease;
		transform: translate(-50%, 0);
	}
}


/* dang cho may chu chot lai */

.mg-cart .solus-cart-item.dang-cho .solus-cart-item__price {
	opacity: .45;
	transition: opacity .15s;
}

.mg-cart.mg-dang-tinh .solus-cart__aside {
	opacity: .6;
	transition: opacity .15s;
}


/* ===== THANG CHU VA KHOANG CACH ==========================================
 * Chot 07/09/2026. Day la NGUON THAT cua co chu tren be mat nay - cac gia tri
 * font-size rai rac phia tren da bi khoi nay thay the.
 *
 * Chu:      11 - 12 - 13 - 15 - 17 - 20 - 26
 * Do dam:   400 - 600 - 700
 * Khoang:   4 - 8 - 12 - 16 - 20 - 24
 *
 * Truoc khi co thang: trang gio hang dung 26 cap co/do dam khac nhau, trang
 * thanh toan 21, popup bang gia 13 - do tren host o kho 390px. Khoang cach rai
 * gan nhu moi so nguyen tu 1 toi 24px.
 * ======================================================================= */

/* ------------------------------------------------- GIỎ HÀNG: dòng mặt hàng */

.mg-cart .solus-cart-item {
	padding: 16px;
	row-gap: 8px;
	column-gap: 12px;
}

.mg-cart .solus-cart-item__name {
	font-size: 15px;
	line-height: 1.35;
}

.mg-cart .solus-cart-item__meta {
	font-size: 12px;
	gap: 4px 8px;
	margin-top: 0;
}

.mg-cart .mg-item__sku {
	font-size: 12px;
}

.mg-cart .mg-item__now,
.mg-cart .mg-item__now .amount {
	font-size: 17px;
}

.mg-cart .mg-item__was,
.mg-cart .mg-item__was .amount {
	font-size: 12px;
}

.mg-cart .mg-item__vat {
	font-size: 12px;
	margin-top: 4px;
}

/* ------------------------------------------------- GIỎ HÀNG: bảng tiền */

.mg-cart .mg-sum__title {
	font-size: 15px;
	margin-bottom: 12px;
}

.mg-cart .solus-cart-summary__rows {
	gap: 8px;
}

.mg-cart .solus-cart-summary__row,
.mg-cart .solus-cart-summary__row-label,
.mg-cart .solus-cart-summary__row-value {
	font-size: 13px;
}

.mg-cart .solus-cart-summary__total {
	padding-top: 12px;
	margin-top: 4px;
}

.mg-cart .solus-cart-summary__total-label {
	font-size: 13px;
}

.mg-cart .solus-cart-summary__total-value,
.mg-cart .solus-cart-summary__total-value .amount {
	font-size: 20px;
}

.mg-cart .mg-sum__note,
.mg-cart .mg-vat-note {
	font-size: 12px;
	margin-top: 12px;
}

.mg-cart .mg-benmua__nhan,
.mg-cart .mg-benmua__nut {
	font-size: 12px;
}

.mg-cart .mg-benmua__giai-thich,
.mg-cart .mg-benmua__nhac {
	font-size: 12px;
	margin-top: 8px;
}

/* ---------------- GIỎ HÀNG Ở KHỔ ĐIỆN THOẠI: gom về hai mốc lề ---------------- */
/* Hiện có ba mốc: ảnh ở 31px, tên ở 90px, rồi tiền tụt về 31px vì nó được cho
   tràn sang cột ảnh. Mắt đọc xuống phải bắt lại lề hai lần trong một thẻ.
   Đưa tiền về đúng cột chữ, và thu cụm số lượng lại để cột chữ đủ rộng cho số
   tám chữ số — "10.333.350 ₫" đo được 115px, trong khi cột cũ chỉ 112px. */

@media (max-width: 1084px) {
	.mg-cart .solus-cart-item__price {
		grid-column: 2 / 3;
		grid-row: 3;
		text-align: left;
		align-self: center;
	}

	.mg-cart .mg-item__act {
		grid-column: 3;
		grid-row: 3;
		align-self: center;
	}

	/* Tiền xuống một bậc thang ở khổ hẹp. Bậc 17px chỉ đủ chỗ cho số bảy chữ
	   số; đơn 90 kg hàng đắt vượt qua đó. */
	.mg-cart .mg-item__now,
	.mg-cart .mg-item__now .amount {
		font-size: 15px;
	}

	/* Thu cụm tăng giảm để trả chỗ cho cột tiền: 144px xuống 128px. */
	.mg-cart .mg-qty__btn {
		width: 30px;
	}

	.mg-cart .mg-qty input.qty {
		width: 38px;
	}

	.mg-cart .mg-qty__unit {
		padding: 0 7px;
	}
}

/* Mã hàng chuyển vào thẻ tên: khai lại độ đậm để nó không thừa kế chữ đậm của
   <h2> và to ngang tên mặt hàng. */
.mg-cart .solus-cart-item__name .mg-item__sku {
	margin-left: 8px;
	font-weight: 500;
	letter-spacing: 0;
	white-space: nowrap;
}

/* --- Phủ nốt những chỗ còn ngoài thang, đo lại trên host sau đợt 1.24.13 --- */

/* Độ đậm 500 KHÔNG thuộc thang. Chính đợt trước em viết 500 cho hai chỗ này
   rồi ghi trong khối thang là chỉ dùng 400/600/700 — thang tự mâu thuẫn ngay
   trong file khai ra nó. Chữ phụ thì về 400. */
.mg-cart .mg-item__sku,
.mg-cart .solus-cart-item__name .mg-item__sku,
.mg-cart .mg-item__vat {
	font-weight: 400;
}

.mg-cart .solus-cart-summary__row-label {
	font-weight: 400;
}

/* Khối ba khoảng giá */
.mg-cart .mg-band__range,
.mg-cart .mg-band__flag,
.mg-cart .mg-band__past {
	font-size: 11px;
}

.mg-cart .mg-band__mo-ta {
	font-size: 12px;
}

.mg-cart .mg-band__name {
	font-size: 13px;
}

.mg-cart .mg-band__past .amount,
.mg-cart .mg-band__save .amount {
	font-size: inherit;
	font-weight: inherit;
}

/* Cái cân ở đầu trang */
.mg-cart .mg-scale__num {
	font-size: 26px;
}

.mg-cart .mg-scale__unit {
	font-size: 15px;
}

.mg-cart .mg-scale__head,
.mg-cart .mg-scale__count,
.mg-cart .mg-scale__says > p,
.mg-cart .mg-track__kg {
	font-size: 13px;
}

.mg-cart .mg-track__kg {
	font-size: 11px;
}

.mg-cart .mg-scale__says strong {
	font-size: inherit;
}

/* Đơn vị trong cụm tăng giảm */
.mg-cart .mg-qty__unit {
	font-size: 12px;
}

/* Số tiền thừa kế cỡ và độ đậm của dòng chứa nó, không tự đặt riêng. */
.mg-cart .solus-cart-summary__row-value .amount,
.mg-cart .solus-cart-summary__total-value .amount,
.mg-cart .mg-item__now .amount,
.mg-cart .mg-item__was .amount {
	font-size: inherit;
	font-weight: inherit;
}

/* Giá cũ bị gạch: độ đậm 500 không thuộc thang, và nó vốn là chữ phụ. */
.mg-cart .mg-item__was,
.mg-cart .mg-item__was .amount {
	font-weight: 400;
}

/* Nút Sao chép đơn — cùng cỡ với nút ấy trong popup bảng giá, để một hành động
   không có hai vẻ ngoài ở hai nơi. */
.mg-cart .mg-copy,
.mg-cart .mg-copy span {
	font-size: 15px;
	font-weight: 700;
}

/* ===================================================================
   REDESIGN 2026-09-17 — giao dien Đề xuất (mau/spacing/type/grid mobile).
   Nap SAU nen goc de đè theo thu tu nguon.
   =================================================================== */
/* ĐỀ XUẤT — Giỏ hàng. Chỉ áp khi body. Đè bằng cách tăng specificity
   (thêm .de ở đầu) và chủ yếu ghi ĐÈ GIÁ TRỊ BIẾN để cả cây con hưởng theo. */

/* --- 1. Bảng màu tinh lại: giữ nhận diện xanh, tăng tương phản chữ phụ,
       làm nền sạch hơn, viền thẻ rõ hơn một chút --- */
.mg-cart {
	--kl-ink: #17241b;
	--kl-ink-2: #51635a;     /* chữ phụ đậm hơn -> ~5.7:1 trên trắng */
	--kl-ink-3: #6f8278;     /* chữ mờ đậm hơn -> đọc được ở 300px */
	--kl-line: #dae2dc;
	--kl-line-2: #c1cec6;
	--kl-surface: #ffffff;
	--kl-surface-2: #eef3ee; /* nền trang mát & sạch hơn */
	--kl-green: #4f9e1a;
	--kl-green-dark: #2f6d0e;
	--kl-green-soft: #e7f2de;
	--kl-cta: #2f6d0e;        /* nền nút đặc, chữ trắng đạt AA >= 4.6:1 */
	--kl-cta-hover: #255a0a;

	padding: 22px 0 56px;    /* thở hơn ở trên & dưới */
}

/* --- 2. Nhịp khoảng cách: thẻ rộng rãi hơn, khe giữa các khối đều tay --- */
.mg-cart .solus-cart__layout { gap: 24px; }

.mg-cart .mg-scale {
	padding: 24px 26px 20px;
	margin-bottom: 18px;
	border-radius: 14px;
}
.mg-cart .solus-cart-item {
	border-radius: 14px;
}
.mg-cart .mg-more { border-radius: 14px; padding: 18px 20px; }

/* --- 3. Cỡ chữ chính/phụ: nâng các dòng phụ nhỏ nhất lên mức đọc thoải mái,
       giãn dòng, và tách bậc tiêu đề rõ hơn --- */
.mg-cart .mg-scale__head { font-size: 13.5px; letter-spacing: .04em; text-transform: uppercase; }
.mg-cart .mg-scale__count { font-size: 13px; }

.mg-cart .mg-band__range { font-size: 12px; }
.mg-cart .mg-band__name { font-size: 14px; }
.mg-cart .mg-band__save,
.mg-cart .mg-band__flag { font-size: 12px; }
/* "đạt mốc để tiết kiệm X đ" đang là hổ phách #8a6100 (--kl-warn) lạc tông giữa
   nền xanh. Tiết kiệm = tin vui -> đổi sang xanh thương hiệu cho nhất quán. */
.mg-cart .mg-band__save { color: var(--kl-green-dark); }
.mg-cart .mg-band__mo-ta { font-size: 12.5px; line-height: 1.5; }

.mg-cart .mg-scale__ship { font-size: 13.5px; line-height: 1.55; }

.mg-cart .solus-cart-item__name { font-size: 15px; line-height: 1.35; }
.mg-cart .mg-item__sku { font-size: 12px; }
.mg-cart .mg-item__vat { font-size: 12px; }
.mg-cart .solus-cart-item__meta { font-size: 12.5px; line-height: 1.5; }
/* các mảnh trong dòng meta có cỡ riêng -> nâng sàn 12px cho dễ đọc ở 300px */
.mg-cart .mg-item__kg,
.mg-cart .mg-item__dvt,
.mg-cart .mg-item__unitkg,
.mg-cart .mg-item__phep { font-size: 12px; }
/* Desktop: hai mảnh meta nối bằng dấu "-" (mobile tách cột thì bỏ, xem @media) */
.mg-cart .solus-cart-item__meta > span + span::before { content: "-"; }
.mg-cart .mg-item__now { font-size: 16px; }

.mg-cart .mg-sum__title { font-size: 16px; }
.mg-cart .solus-cart-summary__row-label,
.mg-cart .solus-cart-summary__row-value { font-size: 13.5px; }
.mg-cart .solus-cart-summary__total-label { font-size: 14.5px; }
.mg-cart .mg-sum__note { font-size: 12.5px; line-height: 1.55; }
.mg-cart .mg-benmua__nhan { font-size: 12px; letter-spacing: .03em; }
.mg-cart .mg-benmua__giai-thich { font-size: 12.5px; line-height: 1.5; }
.mg-cart .mg-more__sub { font-size: 13.5px; line-height: 1.5; }

/* --- 4. Nút đặc dùng xanh đậm (đạt AA với chữ trắng) ---
   main.css khai nút giỏ bằng background:var(--solus-primary)!important ở
   specificity cao (.solus-cart-page .solus-cart-summary a.checkout-button.button.alt).
   Khớp đủ selector + !important thì đề xuất mới thắng. */
.mg-cart .solus-cart-summary a.checkout-button.button.alt,
.mg-cart .solus-cart-summary__btn,
.mg-cart .mg-empty__btn {
	background: var(--kl-cta) !important;
	box-shadow: 0 1px 2px rgba(23, 36, 27, .14), 0 8px 20px -10px rgba(47, 109, 14, .55) !important;
}
.mg-cart .solus-cart-summary a.checkout-button.button.alt:hover,
.mg-cart .solus-cart-summary__btn:hover,
.mg-cart .mg-empty__btn:hover,
.mg-cart .mg-empty__btn:focus-visible {
	background: var(--kl-cta-hover) !important;
}

/* Nút +/- số lượng: chạm dễ hơn, chữ to hơn */
.mg-cart .mg-qty input.qty { font-size: 15px; }

/* Bên mua: GIỮ mẫu cũ của vat.css (nút chọn tô xanh đặc, chữ trắng — rõ trạng
   thái). Không đè nữa vì bản mềm-xanh-chữ-xanh khó phân biệt đang chọn cái nào. */

/* ===== Mobile: block item giỏ hàng — lưới gọn =====
   H1: ảnh (trên-trái) + tên.
   H2: mã hàng riêng một hàng (trải hết -> mã dài KHÔNG ép cột giá).
   H3: trái "X kg × Y đ/kg" một dòng; phải GIÁ + VAT xếp dọc, canh phải.
   H4: số lượng, canh phải.
   Typo thu gọn cho vừa màn nhỏ. */
@media (max-width: 640px) {
	.mg-cart .solus-cart-item {
		grid-template-columns: auto minmax(0, 1fr) auto;
		grid-template-rows: auto auto auto auto;
		row-gap: 8px;
		column-gap: 12px;
		align-items: center;
	}

	/* H1 — ảnh (trải hàng 1-2, ôm tên + mã) */
	.mg-cart .mg-item__anh {
		grid-column: 1; grid-row: 1 / 3; align-self: start;
		width: 64px; height: 64px;
	}
	.mg-cart .solus-cart-item__name { display: contents; }
	.mg-cart .solus-cart-item__name > a {
		grid-column: 2 / 4; grid-row: 1; align-self: end;
		font-size: 13.5px; line-height: 1.3;
	}

	/* H2 — mã hàng gọn ngay dưới tên (cạnh ảnh), không còn chiếm hàng riêng */
	.mg-cart .mg-item__sku {
		grid-column: 2 / 4; grid-row: 2; justify-self: start; align-self: start; margin: 0;
	}

	/* H3 trái — hai dòng: "X kg" / "× Y đ/kg", sát trái. Ẩn "Thùng"/"Đơn giá";
	   dấu "×" nằm đầu dòng đơn giá. */
	.mg-cart .solus-cart-item__meta {
		grid-column: 1 / 3; grid-row: 3;
		display: flex; flex-direction: column; align-items: flex-start; gap: 1px;
	}
	.mg-cart .solus-cart-item__meta .mg-lbl { display: none; }
	.mg-cart .solus-cart-item__meta > span + span::before { content: "× "; }

	/* H3 phải — GIÁ (trên) + VAT (dưới) cùng cột, canh phải */
	.mg-cart .solus-cart-item__price {
		grid-column: 3; grid-row: 3; justify-self: end; align-self: center;
		display: flex; flex-direction: column; align-items: flex-end; text-align: right; gap: 2px;
	}
	.mg-cart .mg-item__price-inner { align-items: flex-end; }
	.mg-cart .mg-item__now { font-size: 15px; }
	.mg-cart .mg-item__vat { text-align: right; }

	/* H4 — số lượng, canh phải */
	.mg-cart .mg-item__act {
		grid-column: 1 / 4; grid-row: 4; justify-content: flex-end;
	}

	/* Typo mobile: số lượng nhỏ lại */
	.mg-cart .mg-qty input.qty { font-size: 14px; }
	.mg-cart .mg-qty__btn { font-size: 15px; }
}

/* Đồng bộ bo góc thẻ (redesign): item/scale/more đã 14px; kéo nốt khung item,
   nút sao chép đơn, thẻ tóm tắt, freeship, giỏ rỗng về 14px. Khung .solus-cart__items
   bỏ nền/viền/bo vì mỗi dòng hàng đã là một thẻ riêng — hết cảnh thẻ-lồng-thẻ. */
.mg-cart .solus-cart__items { background: transparent; border: 0; border-radius: 0; }
.mg-cart .mg-copy { border-radius: 14px; }
.mg-cart .solus-cart-summary { border-radius: 14px; }
.mg-cart .mg-freeship { border-radius: 14px; }
.mg-cart .mg-empty { border-radius: 14px; }
