/**
 * Cart page frontend styles.
 *
 * Location: /assets/css/frontend/cart/cart-page.css
 *
 * @package SunTechPortal
 */

/* Hide theme/page title only on selected SunTech Portal cart page. */
body.stp-is-cart-page .entry-title,
body.stp-is-cart-page .page-title,
body.stp-is-cart-page .wp-block-post-title,
body.stp-is-cart-page main > header,
body.stp-is-cart-page article > header.entry-header {
	display: none !important;
}

/* Runtime viewport safety: cart page must reflow on resize/aspect change without reload. */
body.stp-is-cart-page {
	width: 100%;
	min-width: 0;
	overflow-x: clip;
}

@supports not (overflow: clip) {
	body.stp-is-cart-page {
		overflow-x: hidden;
	}
}

body.stp-is-cart-page .wp-site-blocks,
body.stp-is-cart-page .wp-site-blocks > main,
body.stp-is-cart-page main.wp-block-group,
body.stp-is-cart-page main#main,
body.stp-is-cart-page .site,
body.stp-is-cart-page .site-content,
body.stp-is-cart-page .content-area,
body.stp-is-cart-page .site-main,
body.stp-is-cart-page .wp-block-post-content,
body.stp-is-cart-page .entry-content,
body.stp-is-cart-page .suntech-portal {
	width: 100%;
	min-width: 0;
	max-width: none;
	box-sizing: border-box;
}

/* Reduce theme spacing so the custom cart title starts below the site header. */
body.stp-is-cart-page .wp-site-blocks > main,
body.stp-is-cart-page main.wp-block-group,
body.stp-is-cart-page main#main,
body.stp-is-cart-page .site-main,
body.stp-is-cart-page .wp-block-post-content,
body.stp-is-cart-page .entry-content {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body.stp-is-cart-page .wp-site-blocks > main > .wp-block-group:first-child,
body.stp-is-cart-page .wp-site-blocks > main > .entry-content:first-child,
body.stp-is-cart-page .wp-block-post-content > .wp-block-group:first-child {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body.stp-is-cart-page .stp-cart {
	padding-top: 20px !important;
}

.suntech-portal .stp-cart,
.stp-cart {
	--stp-cart-primary: #ff5a00;
	--stp-cart-primary-hover: #e14f00;
	--stp-cart-success: #16a34a;
	--stp-cart-danger: #dc2626;
	--stp-cart-text: #0f172a;
	--stp-cart-muted: #64748b;
	--stp-cart-border: #e5e7eb;
	--stp-cart-soft-border: #eef2f7;
	--stp-cart-bg: #ffffff;
	--stp-cart-soft: #f8fafc;
	--stp-cart-success-bg: #f0fdf4;
	--stp-cart-success-border: #86efac;
	--stp-cart-radius: 14px;

	width: min(100%, 1280px);
	min-width: 0;
	max-width: 1280px;
	margin: 0 auto;
	padding: 20px 18px 48px;
	color: var(--stp-cart-text);
	font-size: 14px;
	line-height: 1.5;
	box-sizing: border-box;
}

.suntech-portal .stp-cart *,
.suntech-portal .stp-cart *::before,
.suntech-portal .stp-cart *::after,
.stp-cart *,
.stp-cart *::before,
.stp-cart *::after {
	box-sizing: border-box;
}

.suntech-portal .stp-cart a,
.stp-cart a {
	text-decoration: none;
}

.suntech-portal .stp-cart__header,
.stp-cart__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 18px;
	min-width: 0;
	margin: 0 0 24px;
}

.suntech-portal .stp-cart__title,
.stp-cart__title {
	margin: 0;
	color: var(--stp-cart-text);
	font-size: clamp(28px, 3vw, 38px);
	font-weight: 850;
	line-height: 1.1;
	letter-spacing: -0.04em;
}

.suntech-portal .stp-cart__breadcrumb,
.stp-cart__breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	min-width: 0;
	margin-top: 10px;
	color: var(--stp-cart-muted);
	font-size: 13px;
	font-weight: 650;
}

.suntech-portal .stp-cart__breadcrumb a,
.stp-cart__breadcrumb a {
	color: var(--stp-cart-text);
}

.suntech-portal .stp-cart__breadcrumb a:hover,
.suntech-portal .stp-cart__breadcrumb a:focus,
.stp-cart__breadcrumb a:hover,
.stp-cart__breadcrumb a:focus {
	color: var(--stp-cart-primary);
	outline: none;
}

.suntech-portal .stp-cart__continue,
.stp-cart__continue {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-height: 44px;
	padding: 0 18px;
	border: 1px solid var(--stp-cart-border);
	border-radius: 12px;
	background: #ffffff;
	color: var(--stp-cart-text);
	font-size: 13px;
	font-weight: 800;
	transition:
		border-color 0.18s ease,
		color 0.18s ease,
		background-color 0.18s ease;
}

.suntech-portal .stp-cart__continue:hover,
.suntech-portal .stp-cart__continue:focus,
.stp-cart__continue:hover,
.stp-cart__continue:focus {
	border-color: rgba(255, 90, 0, 0.35);
	background: #fff7ed;
	color: var(--stp-cart-primary);
	outline: none;
}

.suntech-portal .stp-cart-notice,
.stp-cart-notice {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
	margin: 0 0 26px;
	padding: 15px 16px;
	border: 1px solid var(--stp-cart-success-border);
	border-radius: 12px;
	background: var(--stp-cart-success-bg);
	color: #166534;
	font-size: 13px;
	font-weight: 700;
}

.suntech-portal .stp-cart-notice .dashicons,
.stp-cart-notice .dashicons {
	width: 22px;
	height: 22px;
	flex: 0 0 22px;
	color: var(--stp-cart-success);
	font-size: 22px;
	line-height: 1;
}

.suntech-portal .stp-cart-notice--invalid_product,
.suntech-portal .stp-cart-notice--out_of_stock,
.suntech-portal .stp-cart-notice--cart_disabled,
.stp-cart-notice--invalid_product,
.stp-cart-notice--out_of_stock,
.stp-cart-notice--cart_disabled {
	border-color: #fecaca;
	background: #fef2f2;
	color: #991b1b;
}

.suntech-portal .stp-cart__layout,
.stp-cart__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 22px;
	align-items: start;
	width: 100%;
	min-width: 0;
}

.suntech-portal .stp-cart__items,
.stp-cart__items {
	width: 100%;
	min-width: 0;
}

.suntech-portal .stp-cart__items-card,
.stp-cart__items-card {
	width: 100%;
	min-width: 0;
	overflow: hidden;
	border: 1px solid var(--stp-cart-border);
	border-radius: var(--stp-cart-radius);
	background: var(--stp-cart-bg);
}

.suntech-portal .stp-cart__items-head,
.stp-cart__items-head {
	display: grid;
	grid-template-columns: minmax(220px, 1fr) 120px 140px 120px 32px;
	gap: 16px;
	align-items: center;
	padding: 17px 18px;
	border-bottom: 1px solid var(--stp-cart-border);
	color: var(--stp-cart-text);
	font-size: 12px;
	font-weight: 850;
	line-height: 1.2;
}

.suntech-portal .stp-cart__items-list,
.stp-cart__items-list {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
	padding: 8px;
	background: #ffffff;
}

.suntech-portal .stp-cart-item,
.stp-cart-item {
	position: relative;
	display: grid;
	grid-template-columns: minmax(220px, 1fr) 120px 140px 120px 32px;
	gap: 16px;
	align-items: center;
	min-width: 0;
	min-height: 124px;
	padding: 16px;
	border: 1px solid var(--stp-cart-soft-border);
	border-radius: 12px;
	background: #ffffff;
	transition:
		border-color 0.18s ease,
		background-color 0.18s ease;
}

.suntech-portal .stp-cart-item:hover,
.stp-cart-item:hover {
	border-color: #dbe2ea;
	background: #ffffff;
}

.suntech-portal .stp-cart-item.is-removing,
.suntech-portal .stp-cart-item.is-updating,
.stp-cart-item.is-removing,
.stp-cart-item.is-updating {
	border-color: rgba(255, 90, 0, 0.35);
	pointer-events: none;
}

.suntech-portal .stp-cart-item__product,
.stp-cart-item__product {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr);
	gap: 16px;
	align-items: center;
	min-width: 0;
}

.suntech-portal .stp-cart-item__image,
.stp-cart-item__image {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 96px;
	height: 96px;
	overflow: hidden;
	border: 1px solid var(--stp-cart-border);
	border-radius: 10px;
	background: #ffffff;
}

.suntech-portal .stp-cart-item__image img,
.stp-cart-item__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.suntech-portal .stp-cart-item__placeholder,
.stp-cart-item__placeholder {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: 12px;
	background: #fff7ed;
	color: var(--stp-cart-primary);
}

.suntech-portal .stp-cart-item__placeholder .dashicons,
.stp-cart-item__placeholder .dashicons {
	width: 24px;
	height: 24px;
	font-size: 24px;
	line-height: 1;
}

.suntech-portal .stp-cart-item__details,
.stp-cart-item__details {
	min-width: 0;
}

.suntech-portal .stp-cart-item__title,
.stp-cart-item__title {
	margin: 0 0 7px;
	color: var(--stp-cart-text);
	font-size: 15px;
	font-weight: 850;
	line-height: 1.35;
	letter-spacing: -0.01em;
}

.suntech-portal .stp-cart-item__title a,
.stp-cart-item__title a {
	display: -webkit-box;
	overflow: hidden;
	color: inherit;
	text-decoration: none;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.suntech-portal .stp-cart-item__title a:hover,
.suntech-portal .stp-cart-item__title a:focus,
.stp-cart-item__title a:hover,
.stp-cart-item__title a:focus {
	color: var(--stp-cart-primary);
	outline: none;
}

.suntech-portal .stp-cart-item__meta,
.stp-cart-item__meta {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
	color: var(--stp-cart-muted);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.45;
}

.suntech-portal .stp-cart-item__price,
.suntech-portal .stp-cart-item__total,
.stp-cart-item__price,
.stp-cart-item__total {
	min-width: 0;
	color: var(--stp-cart-text);
	font-size: 13px;
	font-weight: 850;
	line-height: 1.3;
	white-space: nowrap;
}

.suntech-portal .stp-cart-item__quantity,
.stp-cart-item__quantity {
	display: flex;
	align-items: center;
	min-width: 0;
}

.suntech-portal .stp-cart-qty,
.stp-cart-qty {
	display: inline-grid;
	grid-template-columns: 38px 46px 38px;
	align-items: center;
	height: 40px;
	overflow: hidden;
	border: 1px solid var(--stp-cart-border);
	border-radius: 9px;
	background: #ffffff;
}

.suntech-portal .stp-cart-qty__button,
.stp-cart-qty__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	margin: 0;
	padding: 0;
	border: 0;
	background: #ffffff;
	color: var(--stp-cart-text);
	font-size: 17px;
	font-weight: 850;
	line-height: 1;
	cursor: pointer;
	transition:
		background-color 0.18s ease,
		color 0.18s ease;
	-webkit-appearance: none;
	appearance: none;
}

.suntech-portal .stp-cart-qty__button:hover,
.suntech-portal .stp-cart-qty__button:focus,
.stp-cart-qty__button:hover,
.stp-cart-qty__button:focus {
	background: #fff7ed;
	color: var(--stp-cart-primary);
	outline: none;
}

.suntech-portal .stp-cart-qty input,
.stp-cart-qty input {
	width: 46px;
	height: 38px;
	min-height: 38px;
	margin: 0;
	padding: 0;
	border: 0;
	border-right: 1px solid var(--stp-cart-border);
	border-left: 1px solid var(--stp-cart-border);
	border-radius: 0;
	background: #ffffff;
	color: var(--stp-cart-text);
	font-size: 13px;
	font-weight: 850;
	line-height: 38px;
	text-align: center;
	-moz-appearance: textfield;
}

.suntech-portal .stp-cart-qty input::-webkit-outer-spin-button,
.suntech-portal .stp-cart-qty input::-webkit-inner-spin-button,
.stp-cart-qty input::-webkit-outer-spin-button,
.stp-cart-qty input::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

.suntech-portal .stp-cart-qty input:focus,
.stp-cart-qty input:focus {
	outline: 2px solid rgba(255, 90, 0, 0.18);
	outline-offset: -2px;
}

.suntech-portal .stp-cart-item__remove,
.stp-cart-item__remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border: 1px solid #cbd5e1;
	border-radius: 999px;
	background: #ffffff;
	color: #64748b;
	font-size: 17px;
	font-weight: 800;
	line-height: 1;
	text-decoration: none;
	transition:
		border-color 0.18s ease,
		background-color 0.18s ease,
		color 0.18s ease;
}

.suntech-portal .stp-cart-item__remove:hover,
.suntech-portal .stp-cart-item__remove:focus,
.stp-cart-item__remove:hover,
.stp-cart-item__remove:focus {
	border-color: #fecaca;
	background: #fef2f2;
	color: var(--stp-cart-danger);
	outline: none;
}

.suntech-portal .stp-cart__actions,
.stp-cart__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	padding: 14px 16px;
	border-top: 1px solid var(--stp-cart-border);
	background: #ffffff;
}

.suntech-portal .stp-cart__action,
.stp-cart__action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 40px;
	padding: 0 14px;
	border: 1px solid var(--stp-cart-border);
	border-radius: 9px;
	background: #ffffff;
	color: var(--stp-cart-text);
	font-size: 13px;
	font-weight: 800;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
	transition:
		border-color 0.18s ease,
		background-color 0.18s ease,
		color 0.18s ease;
	-webkit-appearance: none;
	appearance: none;
}

.suntech-portal .stp-cart__action .dashicons,
.stp-cart__action .dashicons {
	width: 17px;
	height: 17px;
	font-size: 17px;
	line-height: 1;
}

.suntech-portal .stp-cart__action:hover,
.suntech-portal .stp-cart__action:focus,
.stp-cart__action:hover,
.stp-cart__action:focus {
	border-color: rgba(255, 90, 0, 0.35);
	background: #fff7ed;
	color: var(--stp-cart-primary);
	outline: none;
}

.suntech-portal .stp-cart__action--danger:hover,
.suntech-portal .stp-cart__action--danger:focus,
.stp-cart__action--danger:hover,
.stp-cart__action--danger:focus {
	border-color: #fecaca;
	background: #fef2f2;
	color: var(--stp-cart-danger);
}

.suntech-portal .stp-cart__side,
.stp-cart__side {
	position: sticky;
	top: 24px;
	display: flex;
	flex-direction: column;
	gap: 18px;
	min-width: 0;
}

.suntech-portal .stp-cart-summary,
.suntech-portal .stp-cart-trust,
.stp-cart-summary,
.stp-cart-trust {
	width: 100%;
	min-width: 0;
	border: 1px solid var(--stp-cart-border);
	border-radius: var(--stp-cart-radius);
	background: #ffffff;
}

.suntech-portal .stp-cart-summary,
.stp-cart-summary {
	overflow: hidden;
}

.suntech-portal .stp-cart-summary__title,
.stp-cart-summary__title {
	margin: 0;
	padding: 20px 20px 18px;
	border-bottom: 1px solid var(--stp-cart-border);
	color: #000000;
	font-size: 20px;
	font-weight: 850;
	line-height: 1.2;
	letter-spacing: -0.02em;
}

.suntech-portal .stp-cart-totals,
.stp-cart-totals {
	padding: 4px 20px 0;
}

.suntech-portal .stp-cart-totals__row,
.stp-cart-totals__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 14px 0;
	border-bottom: 1px solid var(--stp-cart-border);
	color: #000000;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
}

.suntech-portal .stp-cart-totals__row span,
.stp-cart-totals__row span {
	color: #000000;
	font-weight: 750;
}

.suntech-portal .stp-cart-totals__row strong,
.stp-cart-totals__row strong {
	color: #000000;
	font-weight: 900;
	text-align: right;
	white-space: nowrap;
}

.suntech-portal .stp-cart-totals__muted,
.stp-cart-totals__muted {
	color: #000000 !important;
	font-size: 12px;
	font-weight: 850 !important;
}

.suntech-portal .stp-cart-totals__row--total,
.stp-cart-totals__row--total {
	align-items: flex-end;
	padding: 20px 0 18px;
	border-bottom: 0;
	color: #000000;
	font-size: 18px;
	font-weight: 900;
}

.suntech-portal .stp-cart-totals__row--total span,
.suntech-portal .stp-cart-totals__row--total strong,
.stp-cart-totals__row--total span,
.stp-cart-totals__row--total strong {
	color: #000000;
	font-weight: 950;
}

.suntech-portal .stp-cart-totals__row--total strong,
.stp-cart-totals__row--total strong {
	font-size: 22px;
	line-height: 1.1;
}

.suntech-portal .stp-cart-summary__checkout,
.stp-cart-summary__checkout {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: calc(100% - 40px);
	min-height: 48px;
	margin: 0 20px 20px;
	padding: 0 18px;
	border: 1px solid var(--stp-cart-primary);
	border-radius: 10px;
	background: var(--stp-cart-primary);
	color: #ffffff;
	font-size: 14px;
	font-weight: 850;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	transition:
		background-color 0.18s ease,
		border-color 0.18s ease,
		transform 0.18s ease;
}

.suntech-portal .stp-cart-summary__checkout:hover,
.suntech-portal .stp-cart-summary__checkout:focus,
.stp-cart-summary__checkout:hover,
.stp-cart-summary__checkout:focus {
	border-color: var(--stp-cart-primary-hover);
	background: var(--stp-cart-primary-hover);
	color: #ffffff;
	outline: none;
}

.suntech-portal .stp-cart-summary__checkout:active,
.stp-cart-summary__checkout:active {
	transform: translateY(1px);
}

.suntech-portal .stp-cart-coupon,
.stp-cart-coupon {
	margin: 0 20px 18px;
	padding: 14px;
	border: 1px dashed #fed7aa;
	border-radius: 10px;
	background: #fff7ed;
}

.suntech-portal .stp-cart-coupon label,
.stp-cart-coupon label {
	display: block;
	margin: 0 0 8px;
	color: var(--stp-cart-text);
	font-size: 12px;
	font-weight: 800;
}

.suntech-portal .stp-cart-coupon__fields,
.stp-cart-coupon__fields {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 8px;
}

.suntech-portal .stp-cart-coupon input,
.stp-cart-coupon input {
	width: 100%;
	min-height: 38px;
	border: 1px solid var(--stp-cart-border);
	border-radius: 8px;
	background: #ffffff;
}

.suntech-portal .stp-cart-coupon button,
.stp-cart-coupon button {
	min-height: 38px;
	padding: 0 14px;
	border: 0;
	border-radius: 8px;
	background: #e2e8f0;
	color: #64748b;
	font-size: 12px;
	font-weight: 800;
}

.suntech-portal .stp-cart-coupon p,
.stp-cart-coupon p {
	margin: 9px 0 0;
	color: var(--stp-cart-muted);
	font-size: 12px;
	line-height: 1.5;
}

.suntech-portal .stp-cart-trust,
.stp-cart-trust {
	padding: 18px;
}

.suntech-portal .stp-cart-trust__item,
.stp-cart-trust__item {
	display: grid;
	grid-template-columns: 40px minmax(0, 1fr);
	gap: 13px;
	align-items: center;
	padding: 12px 0;
}

.suntech-portal .stp-cart-trust__item + .stp-cart-trust__item,
.stp-cart-trust__item + .stp-cart-trust__item {
	border-top: 1px solid var(--stp-cart-soft-border);
}

.suntech-portal .stp-cart-trust__item > .dashicons,
.stp-cart-trust__item > .dashicons {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1px solid var(--stp-cart-border);
	border-radius: 999px;
	background: #ffffff;
	color: var(--stp-cart-text);
	font-size: 20px;
	line-height: 40px;
}

.suntech-portal .stp-cart-trust__item strong,
.stp-cart-trust__item strong {
	display: block;
	margin-bottom: 2px;
	color: var(--stp-cart-text);
	font-size: 13px;
	font-weight: 850;
	line-height: 1.3;
}

.suntech-portal .stp-cart-trust__item span,
.stp-cart-trust__item span {
	display: block;
	color: var(--stp-cart-muted);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.35;
}

.suntech-portal .stp-cart-empty,
.suntech-portal .stp-cart-disabled,
.stp-cart-empty,
.stp-cart-disabled {
	max-width: 680px;
	margin: 20px auto 0;
	padding: 46px 24px;
	border: 1px solid var(--stp-cart-border);
	border-radius: 18px;
	background: #ffffff;
	text-align: center;
}

.suntech-portal .stp-cart-empty__icon,
.stp-cart-empty__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 68px;
	height: 68px;
	margin: 0 auto 18px;
	border-radius: 18px;
	background: #fff7ed;
	color: var(--stp-cart-primary);
}

.suntech-portal .stp-cart-empty__icon .dashicons,
.stp-cart-empty__icon .dashicons {
	width: 32px;
	height: 32px;
	font-size: 32px;
	line-height: 1;
}

.suntech-portal .stp-cart-empty h2,
.suntech-portal .stp-cart-disabled h2,
.stp-cart-empty h2,
.stp-cart-disabled h2 {
	margin: 0;
	color: var(--stp-cart-text);
	font-size: 25px;
	font-weight: 850;
	line-height: 1.2;
}

.suntech-portal .stp-cart-empty p,
.suntech-portal .stp-cart-disabled p,
.stp-cart-empty p,
.stp-cart-disabled p {
	max-width: 430px;
	margin: 10px auto 22px;
	color: var(--stp-cart-muted);
	font-size: 14px;
	line-height: 1.65;
}

.suntech-portal .stp-cart.is-loading,
.stp-cart.is-loading {
	cursor: progress;
}

.suntech-portal .stp-cart [hidden],
.stp-cart [hidden] {
	display: none !important;
}

@media (prefers-reduced-motion: reduce) {
	.suntech-portal .stp-cart__continue,
	.suntech-portal .stp-cart-item,
	.suntech-portal .stp-cart-qty__button,
	.suntech-portal .stp-cart-item__remove,
	.suntech-portal .stp-cart__action,
	.suntech-portal .stp-cart-summary__checkout,
	.stp-cart__continue,
	.stp-cart-item,
	.stp-cart-qty__button,
	.stp-cart-item__remove,
	.stp-cart__action,
	.stp-cart-summary__checkout {
		transition: none;
	}
}

@media (max-width: 1180px) {
	body.stp-is-cart-page .wp-site-blocks > main,
	body.stp-is-cart-page main.wp-block-group,
	body.stp-is-cart-page main#main,
	body.stp-is-cart-page .site-main,
	body.stp-is-cart-page .wp-block-post-content,
	body.stp-is-cart-page .entry-content,
	body.stp-is-cart-page .wp-block-group,
	body.stp-is-cart-page .alignwide,
	body.stp-is-cart-page .alignfull {
		width: 100% !important;
		max-width: none !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
		padding-right: 0 !important;
		padding-left: 0 !important;
	}

	.suntech-portal .stp-cart,
	.stp-cart {
		width: 100%;
		max-width: none;
		margin-right: 0;
		margin-left: 0;
		padding-right: 14px;
		padding-left: 14px;
	}

	.suntech-portal .stp-cart__layout,
	.stp-cart__layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.suntech-portal .stp-cart__side,
	.stp-cart__side {
		position: static;
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
		align-items: start;
	}
}

@media (max-width: 900px) {
	body.stp-is-cart-page .wp-site-blocks,
	body.stp-is-cart-page .wp-site-blocks > main,
	body.stp-is-cart-page main.wp-block-group,
	body.stp-is-cart-page main#main,
	body.stp-is-cart-page .site,
	body.stp-is-cart-page .site-content,
	body.stp-is-cart-page .content-area,
	body.stp-is-cart-page .site-main,
	body.stp-is-cart-page .wp-block-post-content,
	body.stp-is-cart-page .entry-content {
		width: 100% !important;
		max-width: none !important;
		overflow-x: clip;
	}

	.suntech-portal .stp-cart,
	.stp-cart {
		padding-right: 12px;
		padding-left: 12px;
	}

	.suntech-portal .stp-cart__layout,
	.stp-cart__layout {
		gap: 16px;
	}

	.suntech-portal .stp-cart__items-head,
	.stp-cart__items-head {
		display: none;
	}

	.suntech-portal .stp-cart-item,
	.stp-cart-item {
		grid-template-columns: 82px minmax(0, 1fr) 28px;
		gap: 12px;
		align-items: start;
		min-height: auto;
		padding: 14px;
	}

	.suntech-portal .stp-cart-item__product,
	.stp-cart-item__product {
		grid-column: 1 / 3;
		display: grid;
		grid-template-columns: 82px minmax(0, 1fr);
		gap: 12px;
	}

	.suntech-portal .stp-cart-item__image,
	.stp-cart-item__image {
		width: 82px;
		height: 82px;
	}

	.suntech-portal .stp-cart-item__remove,
	.stp-cart-item__remove {
		grid-column: 3;
		grid-row: 1;
		align-self: start;
		justify-self: end;
	}

	.suntech-portal .stp-cart-item__price,
	.suntech-portal .stp-cart-item__quantity,
	.suntech-portal .stp-cart-item__total,
	.stp-cart-item__price,
	.stp-cart-item__quantity,
	.stp-cart-item__total {
		display: flex;
		grid-column: 1 / -1;
		align-items: center;
		justify-content: space-between;
		gap: 14px;
		width: 100%;
		padding: 9px 0 0;
		border-top: 1px solid var(--stp-cart-soft-border);
		white-space: normal;
	}

	.suntech-portal .stp-cart-item__price::before,
	.suntech-portal .stp-cart-item__quantity::before,
	.suntech-portal .stp-cart-item__total::before,
	.stp-cart-item__price::before,
	.stp-cart-item__quantity::before,
	.stp-cart-item__total::before {
		content: attr(data-label);
		color: var(--stp-cart-muted);
		font-size: 12px;
		font-weight: 750;
	}

	.suntech-portal .stp-cart-item__quantity,
	.stp-cart-item__quantity {
		justify-content: space-between;
	}

	.suntech-portal .stp-cart__side,
	.stp-cart__side {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 640px) {
	body.stp-is-cart-page .wp-site-blocks,
	body.stp-is-cart-page .wp-site-blocks > main,
	body.stp-is-cart-page main.wp-block-group,
	body.stp-is-cart-page main#main,
	body.stp-is-cart-page .site,
	body.stp-is-cart-page .site-content,
	body.stp-is-cart-page .content-area,
	body.stp-is-cart-page .site-main,
	body.stp-is-cart-page .wp-block-post-content,
	body.stp-is-cart-page .entry-content,
	body.stp-is-cart-page .wp-block-group,
	body.stp-is-cart-page .wp-block-group__inner-container,
	body.stp-is-cart-page .is-layout-constrained,
	body.stp-is-cart-page .is-layout-flow,
	body.stp-is-cart-page .alignwide,
	body.stp-is-cart-page .alignfull {
		width: 100% !important;
		max-width: none !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
		padding-right: 0 !important;
		padding-left: 0 !important;
	}

	.suntech-portal .stp-cart,
	.stp-cart {
		width: 100% !important;
		max-width: none !important;
		margin-right: 0;
		margin-left: 0;
		padding: 20px 8px 36px;
	}

	.suntech-portal .stp-cart__header,
	.stp-cart__header {
		flex-direction: column;
		gap: 14px;
		margin-bottom: 18px;
	}

	.suntech-portal .stp-cart__continue,
	.stp-cart__continue {
		width: 100%;
	}

	.suntech-portal .stp-cart__items,
	.suntech-portal .stp-cart__items-card,
	.suntech-portal .stp-cart-summary,
	.suntech-portal .stp-cart-trust,
	.stp-cart__items,
	.stp-cart__items-card,
	.stp-cart-summary,
	.stp-cart-trust {
		width: 100%;
		max-width: none;
	}

	.suntech-portal .stp-cart__items-list,
	.stp-cart__items-list {
		gap: 8px;
		padding: 8px;
	}

	.suntech-portal .stp-cart-item,
	.stp-cart-item {
		grid-template-columns: 74px minmax(0, 1fr) 26px;
		gap: 10px;
		padding: 12px;
	}

	.suntech-portal .stp-cart-item__product,
	.stp-cart-item__product {
		grid-template-columns: 74px minmax(0, 1fr);
		gap: 10px;
	}

	.suntech-portal .stp-cart-item__image,
	.stp-cart-item__image {
		width: 74px;
		height: 74px;
	}

	.suntech-portal .stp-cart-item__title,
	.stp-cart-item__title {
		font-size: 13px;
	}

	.suntech-portal .stp-cart-qty,
	.stp-cart-qty {
		grid-template-columns: 36px 42px 36px;
		height: 38px;
	}

	.suntech-portal .stp-cart-qty__button,
	.stp-cart-qty__button {
		width: 36px;
		height: 36px;
	}

	.suntech-portal .stp-cart-qty input,
	.stp-cart-qty input {
		width: 42px;
		height: 36px;
		min-height: 36px;
		line-height: 36px;
	}

	.suntech-portal .stp-cart__actions,
	.stp-cart__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.suntech-portal .stp-cart__action,
	.stp-cart__action {
		width: 100%;
	}

	.suntech-portal .stp-cart-summary__title,
	.stp-cart-summary__title {
		padding: 18px 16px 16px;
	}

	.suntech-portal .stp-cart-totals,
	.stp-cart-totals {
		padding: 4px 16px 0;
	}

	.suntech-portal .stp-cart-summary__checkout,
	.stp-cart-summary__checkout {
		width: calc(100% - 32px);
		margin: 0 16px 16px;
	}

	.suntech-portal .stp-cart-coupon,
	.stp-cart-coupon {
		margin-right: 16px;
		margin-left: 16px;
	}

	.suntech-portal .stp-cart-trust,
	.stp-cart-trust {
		padding: 14px 16px;
	}
}

@media (max-width: 380px) {
	.suntech-portal .stp-cart,
	.stp-cart {
		padding-right: 6px;
		padding-left: 6px;
	}

	.suntech-portal .stp-cart__items-list,
	.stp-cart__items-list {
		padding: 6px;
	}

	.suntech-portal .stp-cart-item,
	.stp-cart-item {
		padding: 10px;
	}
}