/* Reference-style cart page. */
.page-template-cart .section { padding-top: 54px; }
.page-template-cart .container { max-width: 1280px; }

.cart-hero { max-width: 620px; margin: 0 auto 38px; text-align: center; }
.cart-hero__title {
	display: flex; align-items: center; justify-content: center; gap: 12px;
	margin: 0; font-size: clamp(34px, 3.6vw, 48px); line-height: 1.15; font-weight: 500;
}
.cart-hero__count {
	display: inline-flex; align-items: center; justify-content: center;
	width: 32px; height: 32px; border-radius: 50%;
	background: #ff5a5f; color: #fff; font-size: 15px; font-weight: 500;
}
.cart-hero__message { margin: 14px 0 12px; font-size: 15.5px; line-height: 1.5; }
.cart-hero__message strong { font-weight: 600; }
.cart-ship-bar {
	width: min(460px, 100%); height: 6px; margin: 0 auto; border-radius: 999px;
	background: #e9e5e1; overflow: hidden;
}
.cart-ship-bar span { display: block; height: 100%; border-radius: inherit; background: #ff5a5f; transition: width .35s ease; }

.page-template-cart .ongle24-price-notice { max-width: 100%; margin: 0 0 24px; }

.cart-layout { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(320px, 380px); gap: 52px; align-items: start; }
.cart-products { min-width: 0; }

.cart-products .ongle24-cart-table { width: 100%; border-collapse: collapse; }
.cart-products .ongle24-cart-table th {
	padding: 0 0 14px; border-bottom: 1px solid rgba(0,0,0,.8);
	text-align: left; font-size: 13px; font-weight: 500; letter-spacing: .01em; color: #111;
}
.cart-products .ongle24-cart-table th.cart-th-qty,
.cart-products .ongle24-cart-table th.cart-th-total { text-align: center; }
.cart-products .ongle24-cart-table th.cart-th-total { text-align: right; }
.cart-products .ongle24-cart-table td { padding: 22px 0; border-bottom: 1px solid rgba(0,0,0,.1); vertical-align: middle; }
.cart-td-product { width: 58%; }
.cart-td-qty { width: 24%; text-align: center; }
.cart-td-total { width: 18%; text-align: right; font-size: 15px; }

.cart-products .ongle24-cart-item { display: flex; align-items: center; gap: 18px; }
.cart-products .ongle24-cart-item__image img { width: 84px; height: 84px; object-fit: cover; border-radius: 10px; background: #f7f5f1; }
.cart-products .ongle24-cart-item__name { margin: 0 0 5px; font-size: 15px; line-height: 1.4; font-weight: 500; }
.cart-products .ongle24-cart-item__name a { color: inherit; text-decoration: none; }
.cart-products .ongle24-cart-item__sub { margin: 0 0 6px; font-size: 12.5px; color: rgba(0,0,0,.58); }
.cart-products .ongle24-cart-item__unit { margin: 0; font-size: 12.5px; color: rgba(0,0,0,.65); }

.cart-products .ongle24-qty { margin: 0 auto 8px; }
.cart-remove {
	display: block; margin: 8px auto 0;
	padding: 0; border: 0; background: none; cursor: pointer;
	font-size: 12px; color: rgba(0,0,0,.55); text-decoration: underline;
}
.cart-remove:hover { color: #111; }
.cart-td-total strong { font-weight: 500; }

.cart-summary {
	padding: 28px 26px; border: 1px solid rgba(0,0,0,.14); border-radius: 16px;
	background: #fff;
}
.cart-summary h2 { margin: 0 0 16px; font-size: 22px; font-weight: 500; }
.cart-summary .ongle24-summary-row { display: flex; justify-content: space-between; gap: 16px; padding: 9px 0; font-size: 15px; }
.cart-summary .ongle24-summary-row.is-total {
	margin-top: 10px; padding-top: 16px; border-top: 1px solid rgba(0,0,0,.14);
	font-size: 20px; font-weight: 600;
}
.cart-summary__note { margin: 14px 0 18px; font-size: 12.5px; color: rgba(0,0,0,.58); }
.cart-checkout, .cart-continue { display: flex; width: 100%; min-height: 48px; align-items: center; justify-content: center; border-radius: 8px; font-size: 14px; }
.cart-continue { margin-top: 10px; }
.cart-payment { margin-top: 22px; text-align: center; }
.cart-payment p { margin: 0 0 10px; font-size: 12px; color: rgba(0,0,0,.55); }
.cart-payment .ongle24-payment-icons { justify-content: center; gap: 7px; margin: 0; }
.cart-payment .ongle24-payment-icons img { height: 24px; }

.ongle24-qty { margin-inline: auto; }

@media screen and (max-width: 999px) {
	.cart-layout { grid-template-columns: 1fr; gap: 34px; }
	.cart-summary { max-width: none; }
}
@media screen and (max-width: 640px) {
	.page-template-cart .section { padding-top: 34px; }
	.cart-products .ongle24-cart-table thead { display: none; }
	.cart-products .ongle24-cart-table tbody tr { display: grid; grid-template-columns: 1fr auto; gap: 0 14px; padding: 18px 0; border-bottom: 1px solid rgba(0,0,0,.1); }
	.cart-products .ongle24-cart-table td { border: 0; padding: 0; }
	.cart-td-product { grid-column: 1 / -1; width: 100%; }
	.cart-td-qty { grid-column: 1; width: auto; text-align: left; margin-top: 14px; }
	.cart-products .ongle24-qty { margin: 0 0 8px; }
	.cart-td-total { grid-column: 2; width: auto; align-self: end; text-align: right; }
	.cart-products .ongle24-cart-item__image img { width: 72px; height: 72px; }
	.cart-hero__message { font-size: 14px; }
}

/* Owner-supplied payment icon strip (26 local brands, 42 × 26). */
.pay-brands { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 10px 0; }
.pay-brands img {
	width: 42px !important; height: 26px !important; object-fit: contain; box-sizing: border-box;
	padding: 1px; background: #fff; border: 1px solid #ddd; border-radius: 3px;
	display: block; flex: 0 0 auto;
}
.cart-payment .pay-brands { justify-content: center; }
