/* ==========================================================================
   Lumié – cart, checkout, thank-you
   ========================================================================== */

.site-main--wc .entry { background: var(--c-white); border-radius: var(--radius); padding: 16px; }
.site-main--wc .page-title { font-size: 22px; }

/* Free shipping progress */
.free-ship { margin: 0 0 16px; padding: 12px 14px; border-radius: var(--radius-sm); background: var(--c-cream); font-size: 14px; }
.free-ship p { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; }
.free-ship .icon { color: var(--c-primary-dark); }
.free-ship strong { color: var(--c-sale); }
.free-ship__bar { height: 6px; border-radius: 3px; background: #eadfca; overflow: hidden; }
.free-ship__bar span { display: block; height: 100%; background: linear-gradient(90deg, var(--c-primary), var(--c-sale)); border-radius: 3px; }
.header-cart__drop .free-ship { margin-bottom: 8px; font-size: 13px; }

/* Cart table */
.woocommerce table.shop_table { border: 0; border-radius: 0; border-collapse: collapse; }
.woocommerce table.shop_table th { background: var(--c-cream); font-weight: 700; font-size: 14px; }
.woocommerce table.shop_table td,
.woocommerce table.shop_table th { border-top: 1px solid var(--c-line); padding: 12px; }
.woocommerce table.cart img { width: 72px; border-radius: 8px; }
.woocommerce table.cart .product-name a { color: var(--c-text); font-weight: 600; }
.woocommerce table.cart .product-price,
.woocommerce table.cart .product-subtotal { color: var(--c-sale); font-weight: 700; }
.woocommerce a.remove { color: var(--c-muted) !important; }
.woocommerce a.remove:hover { background: var(--c-sale); color: var(--c-white) !important; }
.woocommerce table.cart td.actions .coupon .input-text { width: 160px; min-height: 42px; border-radius: var(--radius-sm); border: 1px solid #d9d2c3; padding: 8px 12px; }
.woocommerce .cart-collaterals .cart_totals { width: 100%; float: none; }
.cart_totals h2 { font-size: 18px; }
.woocommerce .cart_totals .order-total .amount { color: var(--c-sale); font-size: 20px; }
.woocommerce-shipping-methods { list-style: none; margin: 0; }
.wc-proceed-to-checkout .checkout-button { width: 100%; min-height: 52px; font-size: 17px !important; }

/* Checkout */
.woocommerce-checkout .col2-set { width: 100%; float: none; }
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 { width: 100%; float: none; }
.woocommerce-checkout h3 { font-size: 18px; margin: 8px 0 12px; }
.woocommerce form .form-row { padding: 0; margin: 0 0 12px; }
.woocommerce form .form-row label { font-weight: 600; font-size: 14px; margin-bottom: 4px; }
.woocommerce form .form-row .required { color: var(--c-sale); text-decoration: none; }
#billing_country_field { display: none !important; }
.woocommerce-checkout .select2-container .select2-selection--single { height: 44px; border: 1px solid #d9d2c3; border-radius: var(--radius-sm); }
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered { line-height: 42px; padding-left: 14px; }
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow { height: 42px; }
.woocommerce-checkout #order_review_heading { margin-top: 16px; }
.woocommerce-checkout-review-order { background: var(--c-cream); border-radius: var(--radius); padding: 14px; }
.woocommerce-checkout-review-order-table .order-total .amount { color: var(--c-sale); font-size: 20px; }
.woocommerce-checkout #payment { background: var(--c-white) !important; border-radius: var(--radius-sm); }
.woocommerce-checkout #payment ul.payment_methods { border-bottom-color: var(--c-line); }
.woocommerce-checkout #payment ul.payment_methods li { padding: 6px 0; }
.woocommerce-checkout #payment ul.payment_methods li label { font-weight: 600; }
.woocommerce-checkout #payment div.payment_box { background: var(--c-cream); color: var(--c-text); border-radius: var(--radius-sm); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--c-cream); }
.woocommerce #payment #place_order { width: 100%; min-height: 52px; font-size: 17px; float: none; }

/* Thank you / VietQR */
.woocommerce-order { display: grid; gap: 16px; }
.woocommerce-thankyou-order-received { padding: 14px 16px; border-radius: var(--radius-sm); background: #eef6e8; color: #3d6b25; font-weight: 600; }
.woocommerce ul.order_details { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin: 0; }
.woocommerce ul.order_details li { float: none; margin: 0; padding: 10px; border: 1px dashed var(--c-line); border-radius: var(--radius-sm); font-size: 12px; }
.woocommerce ul.order_details li strong { font-size: 14px; }
.woocommerce ul.order_details::before,
.woocommerce ul.order_details::after { display: none; }
.vietqr { padding: 16px; border: 2px solid var(--c-primary); border-radius: var(--radius); background: var(--c-white); }
.vietqr h2 { font-size: 18px; color: var(--c-primary-dark); }
.vietqr__body { display: grid; gap: 16px; align-items: center; }
.vietqr__body img { width: 260px; max-width: 100%; margin: 0 auto; border-radius: var(--radius-sm); }
.vietqr dl { display: grid; grid-template-columns: auto 1fr; gap: 6px 14px; margin: 0; font-size: 14px; }
.vietqr dt { color: var(--c-muted); }
.vietqr dd { margin: 0; }
.vietqr .price { color: var(--c-sale); }
.vietqr__note { margin: 12px 0 0; font-size: 13px; color: var(--c-muted); }

@media (min-width: 768px) {
	.site-main--wc .entry { padding: 24px; }
	.vietqr__body { grid-template-columns: 260px 1fr; }
	.woocommerce ul.order_details { grid-template-columns: repeat(5, 1fr); }
}
@media (min-width: 1024px) {
	.woocommerce-cart .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 24px; align-items: start; }
	.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper,
	.woocommerce-cart .woocommerce > .free-ship,
	.woocommerce-cart .woocommerce > .cart-empty,
	.woocommerce-cart .woocommerce > .return-to-shop { grid-column: 1 / -1; }
	.woocommerce-cart .cart-collaterals { background: var(--c-cream); border-radius: var(--radius); padding: 16px; }
	form.woocommerce-checkout { display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 0 28px; align-items: start; }
	form.woocommerce-checkout > .woocommerce-NoticeGroup { grid-column: 1 / -1; }
	form.woocommerce-checkout #customer_details { grid-row: span 2; }
	form.woocommerce-checkout #order_review_heading { margin-top: 0; }
}
