/**
 * @ownership commerce
 * WooCommerce cart, checkout, and account journey.
 *
 * woocommerce-commerce.css
 * ----------------
 * Allowed selectors:
 *   .dsp-woocommerce*
 *   .dsp-woocommerce * .woocommerce
 *   .dsp-woocommerce * .woocommerce *
 *
 * Forbidden:
 *   body
 *   html
 *   main
 *   .dsp-product-card*
 *   .dsp-home*
 */

.dsp-woocommerce.woocommerce-cart .woocommerce,
.dsp-woocommerce.woocommerce-checkout .woocommerce,
.dsp-woocommerce.woocommerce-account .woocommerce {
	color: var(--dsp-color-text-primary);
	max-width: var(--dsp-container-lg);
	margin-inline: auto;
}

.dsp-woocommerce.woocommerce-cart .entry-title,
.dsp-woocommerce.woocommerce-cart .page-title,
.dsp-woocommerce.woocommerce-cart .dsp-content__title {
	text-align: center;
	font-family: var(--dsp-font-family-display);
}

.dsp-woocommerce.woocommerce-cart .cart-empty {
	text-align: center;
	padding: var(--dsp-space-10) var(--dsp-space-6);
	background: var(--dsp-elevation-1-bg);
	border: 1px solid var(--dsp-color-border-subtle);
	border-radius: var(--dsp-radius-xl);
}

.dsp-woocommerce.woocommerce-cart .cart-empty::before {
	display: none;
}

.dsp-woocommerce.woocommerce-cart .return-to-shop {
	display: flex;
	justify-content: center;
	margin-top: var(--dsp-space-6);
}

.dsp-woocommerce.woocommerce-cart .cross-sells,
.dsp-woocommerce.woocommerce-cart .cart-empty + .woocommerce-cart-form {
	margin-top: var(--dsp-space-10);
}

.dsp-woocommerce.woocommerce-cart .cross-sells > h2 {
	font-family: var(--dsp-font-family-display);
	font-size: var(--dsp-font-size-2xl);
	text-align: center;
	margin-bottom: var(--dsp-space-6);
}

.dsp-woocommerce.woocommerce-cart .cross-sells ul.products {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(13.75rem, 1fr));
	gap: var(--dsp-space-6);
	list-style: none;
	margin: 0;
	padding: 0;
}

.dsp-woocommerce.woocommerce-account .woocommerce-form-login {
	max-width: 26rem;
	margin-inline: auto;
	padding: var(--dsp-space-8);
	background: var(--dsp-elevation-1-bg);
	border: 1px solid var(--dsp-color-border-subtle);
	border-radius: var(--dsp-radius-xl);
	box-shadow: var(--dsp-elevation-1-shadow);
}

.dsp-woocommerce.woocommerce-account .woocommerce-form-login h2 {
	text-align: center;
	font-family: var(--dsp-font-family-display);
	margin-bottom: var(--dsp-space-6);
}

.dsp-woocommerce.woocommerce-account .woocommerce-form-login .woocommerce-LostPassword a {
	color: var(--dsp-color-accent);
	text-decoration: none;
}

.dsp-woocommerce.woocommerce-account .woocommerce-form-login .woocommerce-LostPassword a:hover {
	color: var(--dsp-color-accent-hover);
	text-decoration: underline;
}

.dsp-woocommerce.woocommerce-account .woocommerce-form-login .woocommerce-form-login__submit {
	width: 100%;
	padding: var(--dsp-space-4);
	font-size: var(--dsp-font-size-sm);
}

.dsp-woocommerce .woocommerce-notices-wrapper {
	margin-block: var(--dsp-space-6);
}

.dsp-woocommerce .woocommerce-message,
.dsp-woocommerce .woocommerce-info,
.dsp-woocommerce .woocommerce-error {
	padding: var(--dsp-space-4) var(--dsp-space-5);
	margin-bottom: var(--dsp-space-4);
	font-size: var(--dsp-font-size-sm);
	border-radius: var(--dsp-radius-lg);
	border-left: 4px solid var(--dsp-color-accent);
	background-color: var(--dsp-color-bg-elevated);
}

.dsp-woocommerce .woocommerce-error {
	border-left-color: var(--dsp-color-danger, #e74c3c);
}

.dsp-woocommerce table.shop_table {
	width: 100%;
	border-collapse: collapse;
	background-color: var(--dsp-elevation-1-bg);
	border: 1px solid var(--dsp-color-border-subtle);
	border-radius: var(--dsp-radius-xl);
	overflow: hidden;
}

.dsp-woocommerce table.shop_table th,
.dsp-woocommerce table.shop_table td {
	padding: var(--dsp-space-4) var(--dsp-space-5);
	border-bottom: 1px solid var(--dsp-color-border-subtle);
	text-align: left;
	vertical-align: middle;
}

.dsp-woocommerce table.shop_table thead th {
	font-family: var(--dsp-font-family-heading);
	font-size: var(--dsp-font-size-xs);
	font-weight: var(--dsp-font-weight-semibold);
	text-transform: uppercase;
	letter-spacing: var(--dsp-letter-spacing-wide);
	color: var(--dsp-color-text-muted);
	background-color: var(--dsp-color-bg-surface);
}

.dsp-woocommerce table.shop_table .product-thumbnail img {
	width: 4rem;
	height: 4rem;
	object-fit: cover;
	border-radius: var(--dsp-radius-md);
}

.dsp-woocommerce .cart-collaterals,
.dsp-woocommerce .woocommerce-checkout-review-order {
	margin-top: var(--dsp-space-8);
}

.dsp-woocommerce .cart_totals,
.dsp-woocommerce #order_review {
	padding: var(--dsp-space-6);
	background-color: var(--dsp-elevation-1-bg);
	border: 1px solid var(--dsp-color-border-subtle);
	border-radius: var(--dsp-radius-xl);
	box-shadow: var(--dsp-elevation-1-shadow);
}

.dsp-woocommerce .cart_totals h2,
.dsp-woocommerce #order_review_heading {
	font-family: var(--dsp-font-family-heading);
	font-size: var(--dsp-font-size-lg);
	margin-bottom: var(--dsp-space-4);
}

.dsp-woocommerce form .form-row label {
	display: block;
	margin-bottom: var(--dsp-space-2);
	font-size: var(--dsp-font-size-sm);
	font-weight: var(--dsp-font-weight-medium);
	color: var(--dsp-color-text-secondary);
}

.dsp-woocommerce form .form-row input.input-text,
.dsp-woocommerce form .form-row textarea,
.dsp-woocommerce form .form-row select {
	width: 100%;
	padding: var(--dsp-space-3) var(--dsp-space-4);
	font-family: var(--dsp-font-family-body);
	font-size: var(--dsp-font-size-sm);
	color: var(--dsp-color-text-primary);
	background-color: var(--dsp-color-bg-base);
	border: 1px solid var(--dsp-color-border-default);
	border-radius: var(--dsp-radius-md);
}

.dsp-woocommerce form .form-row input.input-text::placeholder,
.dsp-woocommerce form .form-row textarea::placeholder {
	color: var(--dsp-color-text-muted);
	opacity: 1;
}

.dsp-woocommerce form .form-row input.input-text:disabled,
.dsp-woocommerce form .form-row textarea:disabled,
.dsp-woocommerce form .form-row select:disabled {
	opacity: var(--dsp-opacity-disabled);
	cursor: not-allowed;
	color: var(--dsp-color-text-muted);
}

.dsp-woocommerce form .form-row input[type="checkbox"],
.dsp-woocommerce form .form-row input[type="radio"] {
	accent-color: var(--dsp-color-accent);
}

.dsp-woocommerce form .form-row input.input-text:focus,
.dsp-woocommerce form .form-row textarea:focus,
.dsp-woocommerce form .form-row select:focus {
	outline: 2px solid var(--dsp-color-accent);
	outline-offset: 2px;
}

/* Secondary Woo buttons — token surfaces (no blanket primary). */
.dsp-woocommerce .button,
.dsp-woocommerce button.button,
.dsp-woocommerce a.button,
.dsp-woocommerce input.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: var(--dsp-space-3) var(--dsp-space-6);
	font-family: var(--dsp-font-family-heading);
	font-size: var(--dsp-font-size-sm);
	font-weight: var(--dsp-font-weight-semibold);
	line-height: 1;
	color: var(--dsp-color-text-primary);
	background-color: var(--dsp-color-bg-elevated);
	border: 1px solid var(--dsp-color-border-default);
	border-radius: var(--dsp-radius-lg);
	box-shadow: none;
	cursor: pointer;
	transition:
		background-color var(--dsp-transition-normal),
		border-color var(--dsp-transition-fast),
		color var(--dsp-transition-fast),
		transform var(--dsp-transition-fast);
}

.dsp-woocommerce .button:hover,
.dsp-woocommerce button.button:hover,
.dsp-woocommerce a.button:hover,
.dsp-woocommerce input.button:hover {
	border-color: var(--dsp-color-accent);
	color: var(--dsp-color-text-primary);
	background-color: var(--dsp-color-bg-elevated);
	transform: translateY(-1px);
}

.dsp-woocommerce .button:disabled,
.dsp-woocommerce button.button:disabled,
.dsp-woocommerce input.button:disabled,
.dsp-woocommerce .button.disabled {
	opacity: var(--dsp-opacity-disabled);
	cursor: not-allowed;
	transform: none;
}

/* Primary CTAs only — keep !important to win over WC purple defaults. */
.dsp-woocommerce .button.alt,
.dsp-woocommerce a.button.alt,
.dsp-woocommerce button.button.alt,
.dsp-woocommerce input.button.alt,
.dsp-woocommerce #place_order,
.dsp-woocommerce a.checkout-button,
.dsp-woocommerce .checkout-button,
.dsp-woocommerce .single_add_to_cart_button,
.dsp-woocommerce a.add_to_cart_button,
.dsp-woocommerce .add_to_cart_button {
	color: var(--dsp-color-text-on-accent) !important;
	background-color: var(--dsp-color-accent) !important;
	border: none !important;
	box-shadow: var(--dsp-elevation-1-shadow);
}

.dsp-woocommerce .button.alt:hover,
.dsp-woocommerce a.button.alt:hover,
.dsp-woocommerce button.button.alt:hover,
.dsp-woocommerce input.button.alt:hover,
.dsp-woocommerce #place_order:hover,
.dsp-woocommerce a.checkout-button:hover,
.dsp-woocommerce .checkout-button:hover,
.dsp-woocommerce .single_add_to_cart_button:hover,
.dsp-woocommerce a.add_to_cart_button:hover,
.dsp-woocommerce .add_to_cart_button:hover {
	background-color: var(--dsp-color-accent-hover) !important;
	color: var(--dsp-color-text-on-accent) !important;
}

.dsp-woocommerce .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--dsp-space-2);
}

.dsp-woocommerce .woocommerce-MyAccount-navigation a {
	display: block;
	padding: var(--dsp-space-3) var(--dsp-space-4);
	font-size: var(--dsp-font-size-sm);
	color: var(--dsp-color-text-secondary);
	text-decoration: none;
	border-radius: var(--dsp-radius-md);
	border: 1px solid var(--dsp-color-border-subtle);
	background-color: var(--dsp-color-bg-elevated);
}

.dsp-woocommerce .woocommerce-MyAccount-navigation li.is-active a,
.dsp-woocommerce .woocommerce-MyAccount-navigation a:hover {
	color: var(--dsp-color-accent);
	border-color: var(--dsp-color-accent);
}

.dsp-woocommerce .woocommerce-MyAccount-content {
	padding: var(--dsp-space-6);
	background-color: var(--dsp-elevation-1-bg);
	border: 1px solid var(--dsp-color-border-subtle);
	border-radius: var(--dsp-radius-xl);
}

@media (min-width: 768px) {
	.dsp-woocommerce.woocommerce-account .woocommerce {
		display: grid;
		grid-template-columns: 16rem 1fr;
		gap: var(--dsp-space-8);
		align-items: start;
	}
}

/* --- Phase 034.0: DSP Commerce cart/checkout shell --- */

body.dsp-commerce-page .dsp-content--page,
body.dsp-commerce-page .dsp-content--commerce {
	max-width: none;
	width: 100%;
}

body.dsp-commerce-page .dsp-main__inner {
	max-width: none;
}

.dsp-commerce {
	padding-block: var(--dsp-space-8) var(--dsp-space-12);
}

.dsp-commerce .dsp-container {
	width: 100%;
	max-width: var(--dsp-container-xl);
	margin-inline: auto;
	box-sizing: border-box;
	padding-inline: clamp(var(--dsp-space-3), 3vw, var(--dsp-space-6));
}

.dsp-commerce-header {
	margin-bottom: var(--dsp-space-8);
}

.dsp-commerce-header__row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--dsp-space-4);
}

.dsp-commerce-header__title {
	margin: 0;
	font-family: var(--dsp-font-family-display);
	font-size: var(--dsp-font-size-3xl);
	color: var(--dsp-color-text-primary);
}

.dsp-commerce-header__continue {
	font-size: var(--dsp-font-size-sm);
	font-weight: var(--dsp-font-weight-medium);
	color: var(--dsp-color-accent);
	text-decoration: none;
}

.dsp-commerce-header__continue:hover {
	color: var(--dsp-color-accent-hover);
	text-decoration: underline;
}

.dsp-commerce__layout {
	display: grid;
	gap: var(--dsp-space-8);
	align-items: start;
	min-width: 0;
}

.dsp-commerce__main {
	min-width: 0;
	max-width: 100%;
}

@media (min-width: 1024px) {
	.dsp-commerce__layout--checkout {
		grid-template-columns: minmax(0, 7fr) minmax(340px, 3fr);
	}
}

.dsp-commerce--cart-stack .dsp-commerce__stack {
	display: flex;
	flex-direction: column;
	gap: var(--dsp-space-8);
	min-width: 0;
	max-width: 100%;
}

.dsp-commerce--cart .cart-collaterals {
	margin-top: 0;
}

.dsp-commerce--cart .cart_totals,
.dsp-commerce--cart .cart-collaterals {
	max-width: 100%;
	min-width: 0;
}

.dsp-commerce--cart .cart_totals table.shop_table,
.dsp-commerce--checkout #order_review table.shop_table {
	display: table;
	width: 100%;
	max-width: 100%;
	table-layout: auto;
	overflow: visible;
}

.dsp-commerce .cart_totals table.shop_table th,
.dsp-commerce #order_review table.shop_table th {
	width: 1%;
	white-space: nowrap;
	vertical-align: top;
}

.dsp-commerce .cart_totals table.shop_table tr.shipping th,
.dsp-commerce .cart_totals table.shop_table tr.vp-woo-pont-review-order th,
.dsp-commerce #order_review table.shop_table tr.shipping th,
.dsp-commerce #order_review table.shop_table tr.vp-woo-pont-review-order th {
	display: block;
	width: 100%;
	white-space: normal;
	padding-bottom: var(--dsp-space-2);
	border-bottom: 0;
}

.dsp-commerce--cart-stack .cart_totals table.shop_table tr.shipping th,
.dsp-commerce--cart-stack .cart_totals table.shop_table tr.vp-woo-pont-review-order th,
.dsp-commerce--cart-stack .cart_totals table.shop_table tr.shipping td,
.dsp-commerce--cart-stack .cart_totals table.shop_table tr.vp-woo-pont-review-order td {
	display: table-cell;
	width: auto;
	white-space: normal;
	vertical-align: top;
}

.dsp-commerce--cart-stack .cart_totals table.shop_table tr.shipping th,
.dsp-commerce--cart-stack .cart_totals table.shop_table tr.vp-woo-pont-review-order th {
	width: 12rem;
	padding-bottom: var(--dsp-space-4);
	white-space: nowrap;
}

.dsp-commerce .cart_totals table.shop_table tr.shipping td,
.dsp-commerce .cart_totals table.shop_table tr.vp-woo-pont-review-order td,
.dsp-commerce #order_review table.shop_table tr.shipping td,
.dsp-commerce #order_review table.shop_table tr.vp-woo-pont-review-order td {
	display: block;
	width: 100%;
	padding-top: 0;
}

.dsp-commerce--cart-stack .cart_totals table.shop_table tr.shipping td,
.dsp-commerce--cart-stack .cart_totals table.shop_table tr.vp-woo-pont-review-order td {
	display: table-cell;
	width: auto;
	padding-top: var(--dsp-space-4);
}

.dsp-commerce .cart_totals table.shop_table td,
.dsp-commerce #order_review table.shop_table td {
	width: auto;
	min-width: 0;
}

@media (min-width: 1024px) {
	.dsp-commerce__layout {
		grid-template-columns: minmax(0, 7fr) minmax(340px, 3fr);
		gap: var(--dsp-space-10);
	}
}

.dsp-commerce--cart-stack .dsp-commerce__layout {
	display: block;
}

.dsp-commerce__sidebar {
	min-width: 0;
}

/* --- Premium summary sidebar (cart + checkout) --- */

.dsp-commerce__sidebar .cart_totals,
.dsp-commerce__sidebar #order_review {
	padding: var(--dsp-space-8);
	background: var(--dsp-elevation-1-bg);
	border: 1px solid var(--dsp-color-border-subtle);
	border-radius: var(--dsp-radius-2xl);
	box-shadow: var(--dsp-elevation-2-shadow, var(--dsp-elevation-1-shadow));
}

.dsp-commerce-summary__title,
.dsp-commerce__sidebar .cart_totals > h2,
.dsp-commerce__sidebar #order_review_heading {
	margin: 0 0 var(--dsp-space-5);
	padding-bottom: var(--dsp-space-4);
	font-family: var(--dsp-font-family-heading);
	font-size: var(--dsp-font-size-xl);
	font-weight: var(--dsp-font-weight-bold);
	color: var(--dsp-color-text-primary);
	border-bottom: 1px solid var(--dsp-color-border-subtle);
}

.dsp-commerce-summary__table th,
.dsp-commerce-summary__table td,
.dsp-commerce__sidebar .cart_totals table.shop_table th,
.dsp-commerce__sidebar .cart_totals table.shop_table td,
.dsp-commerce__sidebar #order_review table.shop_table th,
.dsp-commerce__sidebar #order_review table.shop_table td {
	padding: var(--dsp-space-3) 0;
	font-size: var(--dsp-font-size-sm);
	line-height: 1.5;
}

.dsp-commerce__sidebar .cart_totals table.shop_table tr.order-total th,
.dsp-commerce__sidebar .cart_totals table.shop_table tr.order-total td,
.dsp-commerce__sidebar #order_review table.shop_table tr.order-total th,
.dsp-commerce__sidebar #order_review table.shop_table tr.order-total td {
	padding-top: var(--dsp-space-5);
	font-size: var(--dsp-font-size-base);
	font-weight: var(--dsp-font-weight-semibold);
}

.dsp-commerce__sidebar .wc-proceed-to-checkout {
	margin-top: var(--dsp-space-5);
	padding-top: var(--dsp-space-4);
	border-top: 1px solid var(--dsp-color-border-subtle);
}

.dsp-commerce__sidebar .wc-proceed-to-checkout .checkout-button {
	padding: var(--dsp-space-4) var(--dsp-space-5);
	font-size: var(--dsp-font-size-base);
}

.dsp-commerce__sidebar .cart_totals,
.dsp-commerce__sidebar #order_review {
	position: sticky;
	top: var(--dsp-space-6);
}

.dsp-commerce-empty {
	text-align: center;
	padding: var(--dsp-space-12) var(--dsp-space-6);
	background: var(--dsp-elevation-1-bg);
	border: 1px solid var(--dsp-color-border-subtle);
	border-radius: var(--dsp-radius-xl);
}

.dsp-commerce-empty__icon {
	display: flex;
	justify-content: center;
	margin-bottom: var(--dsp-space-4);
	color: var(--dsp-color-text-muted);
}

.dsp-commerce-empty__icon .dsp-icon {
	width: 3rem;
	height: 3rem;
}

.dsp-commerce-empty .cart-empty {
	padding: 0;
	background: none;
	border: none;
	font-size: var(--dsp-font-size-lg);
	color: var(--dsp-color-text-secondary);
}

.dsp-commerce-empty__action {
	margin-top: var(--dsp-space-6);
}

.dsp-commerce-shipping-placeholder__text {
	font-size: var(--dsp-font-size-sm);
	color: var(--dsp-color-text-muted);
	font-style: italic;
}

.dsp-commerce-payment-placeholder {
	padding: var(--dsp-space-5);
	margin-bottom: var(--dsp-space-5);
	background: var(--dsp-color-bg-surface);
	border: 1px dashed var(--dsp-color-border-default);
	border-radius: var(--dsp-radius-lg);
	text-align: center;
}

.dsp-commerce-payment-placeholder__icon {
	display: flex;
	justify-content: center;
	margin-bottom: var(--dsp-space-2);
	color: var(--dsp-color-accent);
}

.dsp-commerce-payment-placeholder__title {
	margin: 0 0 var(--dsp-space-2);
	font-family: var(--dsp-font-family-heading);
	font-size: var(--dsp-font-size-sm);
	font-weight: var(--dsp-font-weight-semibold);
}

.dsp-commerce-payment-placeholder__text {
	margin: 0;
	font-size: var(--dsp-font-size-xs);
	color: var(--dsp-color-text-muted);
	line-height: var(--dsp-line-height-relaxed);
}

.dsp-commerce-order-review__heading {
	margin-bottom: var(--dsp-space-4);
}

.dsp-commerce__cross-sells {
	margin-top: var(--dsp-space-10);
	padding-top: var(--dsp-space-8);
	border-top: 1px solid var(--dsp-color-border-subtle);
}

.dsp-commerce__cross-sells .cross-sells > h2 {
	font-family: var(--dsp-font-family-display);
	font-size: var(--dsp-font-size-2xl);
	font-weight: var(--dsp-font-weight-bold);
	text-align: left;
	margin: 0 0 var(--dsp-space-6);
	color: var(--dsp-color-text-primary);
}

.dsp-commerce__cross-sells ul.products,
.dsp-commerce__cross-sells .cross-sells ul.products {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr));
	gap: var(--dsp-space-6);
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
	min-width: 0;
}

.dsp-commerce__cross-sells ul.products::before,
.dsp-commerce__cross-sells ul.products::after,
.dsp-commerce__cross-sells .cross-sells ul.products::before,
.dsp-commerce__cross-sells .cross-sells ul.products::after {
	display: none !important;
	content: none !important;
}

@media (min-width: 768px) {
	.dsp-commerce__cross-sells ul.products,
	.dsp-commerce__cross-sells .cross-sells ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.dsp-commerce__cross-sells ul.products,
	.dsp-commerce__cross-sells .cross-sells ul.products {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.dsp-woocommerce.woocommerce-checkout .col2-set {
	display: grid;
	gap: var(--dsp-space-6);
}

@media (min-width: 768px) {
	.dsp-woocommerce.woocommerce-checkout .col2-set {
		grid-template-columns: 1fr 1fr;
	}
}

.dsp-woocommerce.woocommerce-checkout .form-row.place-order {
	position: relative;
	z-index: 2;
	margin-bottom: var(--dsp-space-8);
}

.dsp-woocommerce.woocommerce-checkout #place_order {
	scroll-margin-top: 7rem;
	scroll-margin-bottom: var(--dsp-space-6);
}

.dsp-commerce--checkout .dsp-commerce__sidebar {
	padding-bottom: var(--dsp-space-8);
}

.dsp-woocommerce.woocommerce-checkout .wc-proceed-to-checkout .checkout-button,
.dsp-woocommerce.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
	width: 100%;
	text-align: center;
}

/* --- Phase 034.0.2: responsive overflow fixes --- */

.dsp-woocommerce.woocommerce-cart,
.dsp-woocommerce.woocommerce-checkout {
	width: 100%;
	max-width: 100%;
	overflow-x: clip;
}

.dsp-woocommerce.woocommerce-cart .woocommerce,
.dsp-woocommerce.woocommerce-checkout .woocommerce {
	max-width: var(--dsp-container-xl);
	overflow-x: clip;
}

.dsp-woocommerce .woocommerce-cart-form {
	max-width: 100%;
	min-width: 0;
	overflow-x: auto;
}

.dsp-woocommerce form.checkout {
	max-width: 100%;
	min-width: 0;
}

.dsp-woocommerce .woocommerce-cart-form table.shop_table {
	display: block;
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.dsp-woocommerce .woocommerce-cart-form table.shop_table thead,
.dsp-woocommerce .woocommerce-cart-form table.shop_table tbody,
.dsp-woocommerce .woocommerce-cart-form table.shop_table tfoot {
	display: table;
	width: 100%;
	min-width: 0;
	table-layout: auto;
}

.dsp-woocommerce table.shop_table th,
.dsp-woocommerce table.shop_table td {
	word-break: break-word;
}

.dsp-woocommerce .woocommerce-checkout #customer_details,
.dsp-woocommerce .woocommerce-checkout #order_review,
.dsp-woocommerce .woocommerce-checkout #payment {
	max-width: 100%;
	min-width: 0;
}

@media (max-width: 767px) {
	.dsp-woocommerce.woocommerce-checkout .col2-set {
		grid-template-columns: 1fr;
	}

	.dsp-woocommerce .woocommerce-cart-form table.shop_table thead {
		display: none;
	}

	.dsp-woocommerce .woocommerce-cart-form table.shop_table tbody tr {
		display: grid;
		grid-template-columns: 1fr;
		gap: var(--dsp-space-2);
		padding: var(--dsp-space-4);
		border-bottom: 1px solid var(--dsp-color-border-subtle);
	}

	.dsp-woocommerce .woocommerce-cart-form table.shop_table tbody td {
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: var(--dsp-space-3);
		padding: 0;
		border: 0;
	}

	.dsp-woocommerce .woocommerce-cart-form table.shop_table tbody td::before {
		content: attr(data-title);
		font-size: var(--dsp-font-size-xs);
		font-weight: var(--dsp-font-weight-semibold);
		color: var(--dsp-color-text-muted);
		text-transform: uppercase;
	}

	.dsp-woocommerce .woocommerce-cart-form table.shop_table .product-thumbnail {
		justify-content: flex-start;
	}

	.dsp-woocommerce .woocommerce-cart-form table.shop_table .product-thumbnail::before {
		content: none;
	}

	.dsp-commerce .cart_totals table.shop_table th,
	.dsp-commerce .cart_totals table.shop_table td,
	.dsp-commerce #order_review table.shop_table th,
	.dsp-commerce #order_review table.shop_table td {
		display: table-cell;
		padding: var(--dsp-space-3) var(--dsp-space-4);
	}

	.dsp-woocommerce .cart-collaterals,
	.dsp-woocommerce #order_review,
	.dsp-woocommerce #payment {
		width: 100%;
	}

	.dsp-commerce__sidebar,
	.dsp-commerce__sidebar .cart_totals,
	.dsp-commerce__sidebar #order_review {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.dsp-commerce .dsp-container {
		overflow-x: clip;
	}
}
