/* Giỏ hàng / thanh toán / tài khoản WooCommerce theo thương hiệu Nam Việt (thay màu tím mặc định của Woo). */
:root {
	--kdnv-do: #ec1f28;
	--kdnv-do-dam: #c4131b;
	--kdnv-chu: #222;
	--kdnv-chu-phu: #666;
	--kdnv-vien: #e5e5e5;
	--kdnv-nen: #f5f5f5;
	--kdnv-hong: #fff8f8;
	--kdnv-vien-hong: #f5d5d7;
}

/* Chữ, liên kết */
.woocommerce-cart .woocommerce a,
.woocommerce-checkout .woocommerce a,
.woocommerce-account .woocommerce a { color: var(--kdnv-chu); text-decoration: none; }
.woocommerce-cart .woocommerce a:hover,
.woocommerce-checkout .woocommerce a:hover,
.woocommerce-account .woocommerce a:hover { color: var(--kdnv-do-dam); }
.woocommerce .woocommerce-terms-and-conditions-link,
.woocommerce .showlogin,
.woocommerce .showcoupon { color: var(--kdnv-do-dam) !important; text-decoration: underline !important; }
.woocommerce .required { color: var(--kdnv-do-dam); text-decoration: none; border: 0; }

/* Nút */
.woocommerce .button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce #place_order,
.woocommerce a.checkout-button {
	background: var(--kdnv-do-dam) !important;
	color: #fff !important;
	border: 0;
	border-radius: 6px;
	font-family: 'UTM-Avo-Bold', Arial, sans-serif;
	font-weight: normal;
	padding: 12px 22px;
	line-height: 1.3;
	text-decoration: none !important;
	transition: background .15s;
}
.woocommerce .button:hover,
.woocommerce #place_order:hover,
.woocommerce a.checkout-button:hover { background: var(--kdnv-do) !important; color: #fff !important; }
.woocommerce a.checkout-button { display: block; text-align: center; font-size: 18px; padding: 15px 22px; }
.woocommerce #place_order { width: 100%; font-size: 18px; padding: 15px 22px; float: none; }
/* Nút "Cập nhật giỏ hàng" là nút phụ: viền đỏ, nền trắng; mờ khi chưa đổi số lượng. */
.woocommerce .cart button[name="update_cart"] {
	background: #fff !important; color: var(--kdnv-do-dam) !important;
	border: 1px solid var(--kdnv-do-dam); padding: 9px 16px; font-size: 14px;
}
.woocommerce .cart button[name="update_cart"]:disabled { opacity: .45; cursor: default; }

/* Bảng */
.woocommerce table.shop_table {
	border: 1px solid var(--kdnv-vien);
	border-radius: 8px;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	margin: 0 0 24px;
	background: #fff;
}
.woocommerce table.shop_table th {
	background: var(--kdnv-nen);
	color: var(--kdnv-chu-phu);
	font-size: 13px;
	font-weight: bold;
	text-transform: uppercase;
	letter-spacing: .3px;
	padding: 12px 16px;
	border: 0;
	border-bottom: 1px solid var(--kdnv-vien);
}
.woocommerce table.shop_table td {
	padding: 14px 16px;
	border: 0;
	border-top: 1px solid var(--kdnv-vien);
	vertical-align: middle;
	color: var(--kdnv-chu);
}
.woocommerce table.shop_table tbody tr:first-child td { border-top: 0; }
.woocommerce table.shop_table .product-name a { font-weight: bold; }
.woocommerce table.shop_table .amount { font-weight: bold; white-space: nowrap; }
/* Không hiện dòng "Tạm tính" (chỉ có một mức giá, không phí ship/giảm giá cộng thêm) — chủ chốt 07/10/2026. */
.woocommerce table.shop_table tr.cart-subtotal { display: none; }
.woocommerce table.shop_table .order-total th,
.woocommerce table.shop_table .order-total td { background: var(--kdnv-hong); }
.woocommerce table.shop_table .order-total .amount { color: var(--kdnv-do-dam); font-size: 20px; }

/* Giỏ hàng: 2 cột trên máy tính (trái: sản phẩm; phải: khung "Đơn hàng của bạn" bám khi cuộn) */
@media (min-width: 992px) {
	.woocommerce-cart .kdnv-entry__content > .woocommerce {
		display: grid;
		grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
		column-gap: 32px;
		align-items: start;
	}
	.woocommerce-cart .kdnv-entry__content > .woocommerce > * { grid-column: 1 / -1; }
	.woocommerce-cart .kdnv-entry__content > .woocommerce > .woocommerce-cart-form { grid-column: 1; }
	.woocommerce-cart .kdnv-entry__content > .woocommerce > .cart-collaterals { grid-column: 2; position: sticky; top: 80px; }
}
.woocommerce-cart .cart-collaterals .cart_totals {
	float: none; width: 100%; max-width: none;
	border: 1px solid var(--kdnv-vien-hong); border-radius: 8px; background: var(--kdnv-hong); padding: 18px 20px 20px;
}
.woocommerce-cart .cart-collaterals .cart_totals h2 { font-size: 20px; margin: 0 0 12px; }
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table { border: 0; background: transparent; margin: 0 0 16px; }
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table th,
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table td {
	background: transparent; border: 0; padding: 6px 0; vertical-align: middle;
}
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table th { font-size: 15px; text-transform: none; color: var(--kdnv-chu); letter-spacing: 0; }
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table td { text-align: right; }
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table td::before { display: none; }
.woocommerce-cart .cart-collaterals .cart_totals .order-total .amount { font-size: 24px; }
.woocommerce-cart .wc-proceed-to-checkout { padding: 0; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { margin-bottom: 0; }

.woocommerce-cart table.cart th.product-remove { width: 44px; }
.woocommerce-cart table.cart th.product-thumbnail,
.woocommerce-cart table.cart td.product-thumbnail { width: 88px; }
.woocommerce-cart table.cart td.product-thumbnail img {
	width: 72px; max-width: none; height: 72px; object-fit: cover;
	border-radius: 6px; border: 1px solid var(--kdnv-vien); display: block;
}
.woocommerce-cart table.cart td.product-name a { font-size: 16px; }
.woocommerce a.remove {
	display: inline-flex; align-items: center; justify-content: center;
	width: 28px; height: 28px; border-radius: 50%;
	color: var(--kdnv-do-dam) !important; background: var(--kdnv-hong); font-size: 20px; line-height: 1;
}
.woocommerce a.remove:hover { background: var(--kdnv-do-dam); color: #fff !important; }
.woocommerce .quantity .qty {
	width: 70px; height: 40px; text-align: center;
	border: 1px solid #ccc; border-radius: 6px; font-size: 15px;
}
.woocommerce-cart table.cart td.actions { background: #fff; text-align: right; }

/* Giỏ hàng trên điện thoại (bảng thành từng thẻ): ảnh ở đầu thẻ, nút xoá góc phải */
@media (max-width: 768px) {
	.woocommerce-cart table.cart td.product-thumbnail { display: block; width: auto; padding-bottom: 0; }
	.woocommerce-cart table.cart td.product-thumbnail::before { display: none; }
	.woocommerce-cart table.cart tr.cart_item { position: relative; }
	.woocommerce-cart table.cart td.product-remove { position: absolute; top: 6px; right: 6px; border: 0; padding: 8px; }
	.woocommerce-cart table.cart td.product-remove::before { display: none; }
	.woocommerce-cart .cart-collaterals { margin-top: 8px; }
	.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr:not(.cart-subtotal) { display: flex; justify-content: space-between; align-items: center; }
	.woocommerce-cart .cart-collaterals .cart_totals table.shop_table th { display: block !important; }
}

/* Thanh toán: 2 cột trên máy tính (trái: thông tin; phải: đơn hàng + thanh toán) */
@media (min-width: 992px) {
	.woocommerce-checkout form.checkout {
		display: grid;
		grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
		column-gap: 36px;
		align-items: start;
	}
	.woocommerce-checkout form.checkout > * { grid-column: 1 / -1; }
	.woocommerce-checkout form.checkout #customer_details { grid-column: 1; grid-row: 2 / span 3; }
	.woocommerce-checkout form.checkout #order_review_heading { grid-column: 2; grid-row: 2; margin-top: 0; }
	.woocommerce-checkout form.checkout #order_review { grid-column: 2; grid-row: 3; position: sticky; top: 80px; margin-bottom: 32px; }
}
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 { float: none; width: 100%; max-width: none; padding: 0; }
.woocommerce-checkout h3,
.woocommerce-checkout #order_review_heading { font-size: 20px; margin: 0 0 16px; }

/* Ô nhập thông tin khách: lưới 2 cột, thứ tự cố định (JS của Woo đổi lớp/thứ tự ô địa chỉ theo quốc gia). */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 16px;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row {
	float: none; width: auto; margin: 0 0 14px; padding: 0; grid-column: 1 / -1;
}
/* Tên → SĐT → Tỉnh/Thành → Phường/Xã → Số nhà, tên đường */
.woocommerce-checkout #billing_first_name_field { order: 1; grid-column: 1; }
.woocommerce-checkout #billing_phone_field { order: 2; grid-column: 2; }
.woocommerce-checkout #billing_state_field { order: 3; grid-column: 1; }
.woocommerce-checkout #billing_city_field { order: 4; grid-column: 2; }
.woocommerce-checkout #billing_address_1_field { order: 5; }
.woocommerce-checkout #billing_country_field,
.woocommerce-checkout .kdnv-an { display: none !important; }
@media (max-width: 575px) {
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper { grid-template-columns: 1fr; }
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row { grid-column: 1 !important; }
}

.woocommerce-checkout .woocommerce-additional-fields .form-row { padding: 0; }
.woocommerce form .form-row label { font-weight: bold; color: var(--kdnv-chu); margin-bottom: 6px; font-size: 14px; }
.woocommerce form .form-row .input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
	width: 100%;
	min-height: 44px;
	padding: 10px 12px;
	border: 1px solid #ccc;
	border-radius: 6px;
	font-size: 15px;
	background: #fff;
	box-shadow: none;
}
.woocommerce form .form-row textarea { min-height: 96px; }
.woocommerce form .form-row select { height: 44px; padding-top: 0; padding-bottom: 0; line-height: 42px; }
.woocommerce form .form-row .input-text:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus { border-color: var(--kdnv-do-dam); outline: 0; box-shadow: 0 0 0 3px rgba(236, 31, 40, .12); }
.woocommerce form .form-row.woocommerce-invalid .input-text,
.woocommerce form .form-row.woocommerce-invalid .select2-selection { border-color: var(--kdnv-do-dam); }
.woocommerce form .form-row.woocommerce-validated .input-text { border-color: #ccc; }

/* Ô chọn tỉnh (selectWoo) */
.woocommerce-checkout .select2-container .select2-selection--single {
	height: 44px; border: 1px solid #ccc; border-radius: 6px;
}
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered { line-height: 42px; padding: 0 28px 0 12px; font-size: 15px; color: var(--kdnv-chu); }
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow { height: 42px; }
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--kdnv-do-dam); }

/* Khối chọn cách thanh toán */
.woocommerce-checkout #payment {
	background: var(--kdnv-hong);
	border: 1px solid var(--kdnv-vien-hong);
	border-radius: 8px;
}
.woocommerce-checkout #payment ul.payment_methods { border-bottom: 1px solid var(--kdnv-vien-hong); padding: 12px 16px 8px; margin: 0; }
.woocommerce-checkout #payment ul.payment_methods li { margin: 0; padding: 5px 0; line-height: 1.4; }
.woocommerce-checkout #payment ul.payment_methods li > label { font-weight: bold; cursor: pointer; margin: 0; }
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] { accent-color: var(--kdnv-do-dam); margin-right: 6px; }
.woocommerce-checkout #payment div.payment_box {
	background: #fff;
	border: 1px solid var(--kdnv-vien-hong);
	border-radius: 6px;
	color: var(--kdnv-chu);
	font-size: 13.5px;
	line-height: 1.55;
	padding: 10px 14px;
	margin: 8px 0 4px;
}
.woocommerce-checkout #payment div.payment_box p { margin: 0 0 4px; }
.woocommerce-checkout #payment div.payment_box::before { display: none; }
.woocommerce-checkout #payment div.payment_box p:last-child { margin-bottom: 0; }
.woocommerce-checkout #payment div.form-row.place-order { padding: 14px 16px 18px; margin: 0; }

/* Ô đồng ý điều khoản: ô tích thẳng hàng với chữ */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { margin-bottom: 12px; }
.woocommerce-checkout .woocommerce-form__label-for-checkbox {
	display: block !important; position: relative; padding-left: 28px; font-weight: normal !important; cursor: pointer; line-height: 1.5;
}
.woocommerce-checkout .woocommerce-form__label-for-checkbox input[type="checkbox"] {
	position: absolute; left: 0; top: 2px; margin: 0; width: 18px; height: 18px; accent-color: var(--kdnv-do-dam);
}
.woocommerce-checkout .woocommerce-privacy-policy-text { font-size: 13px; color: var(--kdnv-chu-phu); }

/* Không phủ mờ cả form khi đang gửi/cập nhật đơn; trạng thái hiện trên nút "Đặt hàng" (assets/js/woo-thanh-toan.js). */
.woocommerce-checkout .blockUI.blockOverlay,
.woocommerce-cart .blockUI.blockOverlay { background: transparent !important; opacity: 1 !important; }
.woocommerce-checkout .blockUI.blockOverlay::before,
.woocommerce-cart .blockUI.blockOverlay::before { display: none !important; }
.woocommerce #place_order.kdnv-dang-xu-ly {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	cursor: wait;
	opacity: 1;
	background: var(--kdnv-do-dam) !important;
}
.woocommerce #place_order.kdnv-dang-xu-ly::before {
	content: '';
	flex: 0 0 20px;
	width: 20px;
	height: 20px;
	box-sizing: border-box;
	border: 3px solid rgba(255, 255, 255, .35);
	border-top-color: #fff;
	border-radius: 50%;
	animation: kdnv-xoay .7s linear infinite;
}
@keyframes kdnv-xoay { to { transform: rotate(360deg); } }

/* Lỗi ngay dưới ô: chữ nhỏ đỏ đậm, sát ô */
.woocommerce-checkout .checkout-inline-error-message { color: var(--kdnv-do-dam); font-size: 13px; margin: 4px 0 0; }
.woocommerce-checkout .woocommerce-NoticeGroup-checkout .woocommerce-error { padding: 12px 16px 12px 44px; margin-bottom: 18px; }

/* Thông báo của Woo */
.woocommerce .woocommerce-error,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message {
	border-top-color: var(--kdnv-do-dam);
	background: var(--kdnv-hong);
	color: var(--kdnv-chu);
	border-radius: 6px;
}
.woocommerce .woocommerce-error::before,
.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-message::before { color: var(--kdnv-do-dam); }
.woocommerce-checkout #order_review { margin-bottom: 32px; }

/* Điện thoại: thanh toán + giỏ hàng gọn (chủ chốt 07/10/2026) */
@media (max-width: 575px) {
	.woocommerce-checkout h3,
	.woocommerce-checkout #order_review_heading,
	.woocommerce-cart .cart-collaterals .cart_totals h2 { font-size: 18px; margin: 0 0 10px; }
	.woocommerce-checkout .woocommerce-additional-fields > h3 { display: none; }
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row,
	.woocommerce-checkout .woocommerce-additional-fields .form-row { margin: 0 0 10px; }
	.woocommerce form .form-row label { font-size: 13px; margin-bottom: 4px; }
	/* 16px: iPhone không tự phóng to khi chạm vào ô */
	.woocommerce form .form-row .input-text,
	.woocommerce form .form-row select,
	.woocommerce form .form-row textarea { min-height: 42px; font-size: 16px; padding: 8px 12px; }
	.woocommerce form .form-row select { height: 42px; line-height: 40px; padding-top: 0; padding-bottom: 0; }
	.woocommerce form .form-row textarea { min-height: 64px; }
	.woocommerce-checkout .select2-container .select2-selection--single { height: 42px; }
	.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered { line-height: 40px; font-size: 16px; }
	.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow { height: 40px; }
	.woocommerce-checkout #customer_details { margin-bottom: 6px; }

	.woocommerce table.shop_table th { padding: 9px 12px; font-size: 12px; }
	.woocommerce table.shop_table td { padding: 10px 12px; }
	.woocommerce table.shop_table .order-total .amount { font-size: 18px; }
	.woocommerce-checkout #order_review table.shop_table { margin-bottom: 14px; }

	.woocommerce-checkout #payment ul.payment_methods { padding: 8px 12px 4px; }
	.woocommerce-checkout #payment ul.payment_methods li { padding: 4px 0; }
	.woocommerce-checkout #payment div.payment_box { font-size: 13px; padding: 8px 12px; margin: 6px 0 2px; }
	.woocommerce-checkout #payment div.form-row.place-order { padding: 12px 12px 14px; }
	.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { margin-bottom: 10px; font-size: 13.5px; }
	.woocommerce #place_order,
	.woocommerce a.checkout-button { font-size: 17px; padding: 13px 18px; }
	.woocommerce-checkout #order_review { margin-bottom: 20px; }
	.woocommerce-cart .cart-collaterals .cart_totals { padding: 14px 14px 16px; }
}

/* Trang "Đơn hàng đã được nhận": thẻ cảm ơn, ô thông tin đơn, bảng và địa chỉ theo thương hiệu (viền mảnh đều bốn cạnh) */
.woocommerce-order .woocommerce-thankyou-order-received {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 18px;
	padding: 16px 18px;
	background: var(--kdnv-hong);
	border: 1px solid var(--kdnv-vien-hong);
	border-radius: 8px;
	color: var(--kdnv-chu);
	font-family: 'UTM-Avo-Bold', Arial, sans-serif;
	font-size: 17px;
	line-height: 1.4;
}
.woocommerce-order .woocommerce-thankyou-order-received::before {
	content: '\2713';
	flex: 0 0 auto;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--kdnv-do-dam);
	color: #fff;
	font-size: 16px;
	line-height: 28px;
	text-align: center;
}
.woocommerce-order ul.order_details {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 12px;
	margin: 0 0 28px;
	padding: 0;
	list-style: none;
}
.woocommerce-order ul.order_details li {
	margin: 0;
	padding: 12px 16px;
	float: none;
	border: 1px solid var(--kdnv-vien);
	border-radius: 8px;
	background: #fff;
	color: var(--kdnv-chu-phu);
	font-size: 12px;
	letter-spacing: .3px;
	text-transform: uppercase;
	line-height: 1.5;
}
.woocommerce-order ul.order_details li strong {
	display: block;
	margin-top: 2px;
	color: var(--kdnv-chu);
	font-size: 16px;
	letter-spacing: 0;
	text-transform: none;
}
.woocommerce-order ul.order_details li.total strong { color: var(--kdnv-do-dam); font-size: 18px; }
.woocommerce-order h2,
.woocommerce-order .woocommerce-column__title { font-size: 20px; margin: 0 0 12px; }
.woocommerce-order table.shop_table tfoot th { text-transform: none; font-size: 14px; letter-spacing: 0; }
.woocommerce-order table.shop_table tfoot tr:last-child th,
.woocommerce-order table.shop_table tfoot tr:last-child td { background: var(--kdnv-hong); }
.woocommerce-order address {
	margin: 0 0 28px;
	padding: 16px 18px;
	border: 1px solid var(--kdnv-vien);
	border-radius: 8px;
	background: #fff;
	color: var(--kdnv-chu);
	font-style: normal;
	line-height: 1.7;
}
.woocommerce-order address .woocommerce-customer-details--phone { margin: 6px 0 0; padding: 0; font-weight: bold; }
.woocommerce-order .woocommerce-customer-details--email { display: none; }
@media (max-width: 575px) {
	.woocommerce-order .woocommerce-thankyou-order-received { padding: 13px 14px; font-size: 15px; }
	.woocommerce-order ul.order_details { grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 20px; }
	.woocommerce-order ul.order_details li { padding: 10px 12px; }
	.woocommerce-order h2,
	.woocommerce-order .woocommerce-column__title { font-size: 18px; }
}
.woocommerce-order ul.order_details::before,
.woocommerce-order ul.order_details::after { display: none; content: none; }
.woocommerce-order ul.order_details li,
.woocommerce-order ul.order_details li:last-of-type { border: 1px solid var(--kdnv-vien); margin-right: 0; padding-right: 16px; }
.woocommerce-order ul.order_details li strong { font-size: 15px; }
.woocommerce-order ul.order_details li.total strong { font-size: 18px; }
