/*
 * Checkout / cart / account — professional styling.
 * Scoped to WooCommerce pages.
 */

.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.woocommerce-account .woocommerce {
	color: var(--dps-fg);
}

/* Cart table --------------------------------------------------------------- */
.woocommerce table.shop_table.cart {
	border: 2px solid var(--dps-ink);
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 4px 4px 0 var(--dps-ink);
}

.woocommerce table.shop_table.cart th {
	background: var(--dps-ink);
	color: var(--dps-fg-invert);
	font-family: var(--dps-font-display);
	text-transform: uppercase;
	letter-spacing: .06em;
	font-size: 12px;
	padding: 14px 16px;
}

.woocommerce table.shop_table.cart td {
	padding: 16px;
	border-top: 1px solid var(--dps-v2-line-soft, #e5e7eb);
	vertical-align: middle;
}

.woocommerce-cart .cart_item .product-thumbnail img {
	border-radius: 8px;
	border: 1px solid var(--dps-v2-line, #d1d5db);
}

.woocommerce-cart .product-name a {
	font-weight: 700;
	color: var(--dps-ink);
	text-decoration: none;
}

.woocommerce-cart .product-name a:hover {
	color: var(--dps-accent-text);
}

.woocommerce-cart .product-price,
.woocommerce-cart .product-subtotal {
	font-weight: 700;
}

.woocommerce .quantity input.qty {
	border: 2px solid var(--dps-ink);
	border-radius: 8px;
	font-weight: 700;
	text-align: center;
}

.woocommerce a.remove {
	color: var(--dps-accent-text);
	font-weight: 700;
	text-decoration: none;
}

/* Cart totals -------------------------------------------------------------- */
.woocommerce .cart_totals {
	background: var(--dps-white);
	border: 2px solid var(--dps-ink);
	border-radius: 14px;
	padding: 20px;
	box-shadow: 4px 4px 0 var(--dps-ink);
}

.woocommerce .cart_totals h2 {
	font-family: var(--dps-font-display);
	text-transform: uppercase;
	letter-spacing: -.02em;
}

.woocommerce .cart_totals table th,
.woocommerce .cart_totals table td {
	padding: 10px 0;
}

.woocommerce .cart_totals .order-total td {
	font-size: 18px;
	font-weight: 800;
	color: var(--dps-accent-text);
}

.woocommerce .wc-proceed-to-checkout a.checkout-button,
.woocommerce .checkout-button {
	background: var(--dps-accent) !important;
	color: var(--dps-ink) !important;
	border: 2px solid var(--dps-ink) !important;
	border-radius: 12px !important;
	font-family: var(--dps-font-display);
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .04em;
	padding: 14px 28px !important;
	box-shadow: 4px 4px 0 var(--dps-ink) !important;
	transition: transform .15s ease, box-shadow .15s ease;
}

.woocommerce .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce .checkout-button:hover {
	transform: translate(2px, 2px);
	box-shadow: 2px 2px 0 var(--dps-ink) !important;
}

/* Coupon ------------------------------------------------------------------- */
.woocommerce .coupon {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.woocommerce .coupon input.input-text {
	border: 2px solid var(--dps-ink);
	border-radius: 8px;
	padding: 10px 14px;
	flex: 1 1 200px;
}

.woocommerce .coupon button.button {
	background: var(--dps-ink);
	color: var(--dps-fg-invert);
	border: 2px solid var(--dps-ink);
	border-radius: 8px;
	font-weight: 700;
	padding: 10px 18px;
}

/* Checkout form ------------------------------------------------------------ */
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
#order_review_heading {
	font-family: var(--dps-font-display);
	text-transform: uppercase;
	letter-spacing: -.02em;
	color: var(--dps-ink);
}

.woocommerce form.checkout .form-row input.input-text,
.woocommerce form.checkout .form-row textarea,
.woocommerce form.checkout .form-row select {
	border: 2px solid var(--dps-ink);
	border-radius: 8px;
	padding: 10px 14px;
	background: var(--dps-white);
	transition: border-color .15s ease, box-shadow .15s ease;
}

.woocommerce form.checkout .form-row input.input-text:focus,
.woocommerce form.checkout .form-row textarea:focus,
.woocommerce form.checkout .form-row select:focus {
	border-color: var(--dps-accent);
	box-shadow: 0 0 0 3px rgba(255, 106, 36, .18);
	outline: none;
}

.woocommerce form.checkout .form-row label {
	font-weight: 700;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: var(--dps-muted, #646b78);
}

.woocommerce form.checkout .form-row .required {
	color: var(--dps-accent-text);
}

/* Payment box -------------------------------------------------------------- */
.woocommerce-checkout #payment {
	background: var(--dps-white);
	border: 2px solid var(--dps-ink);
	border-radius: 14px;
	box-shadow: 4px 4px 0 var(--dps-ink);
	padding: 18px;
}

.woocommerce-checkout #payment ul.payment_methods {
	border-bottom: 2px solid var(--dps-v2-line, #d1d5db);
	padding-bottom: 14px;
	margin-bottom: 14px;
}

.woocommerce-checkout #payment ul.payment_methods li {
	padding: 10px 0;
}

.woocommerce-checkout #payment .payment_box {
	background: var(--dps-paper, #f5f6f8);
	border-radius: 8px;
	padding: 12px 14px;
	margin: 8px 0 0 24px;
	border-left: 3px solid var(--dps-accent);
}

.woocommerce-checkout #place_order {
	background: var(--dps-accent) !important;
	color: var(--dps-ink) !important;
	border: 2px solid var(--dps-ink) !important;
	border-radius: 12px !important;
	font-family: var(--dps-font-display);
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .04em;
	padding: 14px 28px !important;
	box-shadow: 4px 4px 0 var(--dps-ink) !important;
	width: 100%;
}

.woocommerce-checkout #place_order:hover {
	transform: translate(2px, 2px);
	box-shadow: 2px 2px 0 var(--dps-ink) !important;
}

/* Order review table ------------------------------------------------------- */
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
	padding: 10px 12px;
}

.woocommerce-checkout-review-order-table .order-total td {
	font-weight: 800;
	color: var(--dps-accent-text);
}

/* Order received / view-order --------------------------------------------- */
.woocommerce-order-received .woocommerce,
.woocommerce-view-order .woocommerce {
	background: var(--dps-white);
	border: 2px solid var(--dps-ink);
	border-radius: 14px;
	padding: 24px;
	box-shadow: 4px 4px 0 var(--dps-ink);
}

.woocommerce .order_details {
	border: 2px solid var(--dps-ink);
	border-radius: 12px;
	overflow: hidden;
}

.woocommerce .order_details th {
	background: var(--dps-ink);
	color: var(--dps-fg-invert);
	font-family: var(--dps-font-display);
	text-transform: uppercase;
	font-size: 12px;
	padding: 12px 14px;
}

.woocommerce .order_details td {
	padding: 12px 14px;
	border-top: 1px solid var(--dps-v2-line-soft, #e5e7eb);
}

/* My account --------------------------------------------------------------- */
.woocommerce-account .woocommerce {
	display: block;
}

.woocommerce-account .woocommerce-MyAccount-wrapper,
.woocommerce-account .entry-content .woocommerce {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
}

@media (min-width: 900px) {
	.woocommerce-account .woocommerce-MyAccount-wrapper {
		grid-template-columns: 240px 1fr;
		align-items: start;
	}
}

.woocommerce-MyAccount-navigation {
	position: static;
}

/* Sticky sidebar nav is a desktop-only convenience; on mobile the wrapped
	pill rows should scroll with the page content. */
@media (min-width: 900px) {
	.woocommerce-MyAccount-navigation {
		position: sticky;
		top: 90px;
	}
}

.woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

@media (min-width: 900px) {
	.woocommerce-MyAccount-navigation ul {
		flex-direction: column;
		gap: 6px;
	}
}

.woocommerce-MyAccount-navigation ul li {
	margin: 0;
}

.woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: 12px 16px;
	border: 2px solid var(--dps-ink);
	border-radius: 10px;
	font-weight: 700;
	text-transform: uppercase;
	font-size: 12px;
	letter-spacing: .05em;
	color: var(--dps-ink);
	text-decoration: none;
	transition: background .15s ease, color .15s ease, transform .15s ease;
}

.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover {
	background: var(--dps-accent);
	color: var(--dps-ink);
	transform: translate(2px, 2px);
}

.woocommerce-account .woocommerce-MyAccount-content {
	background: var(--dps-white);
	border: 2px solid var(--dps-ink);
	border-radius: 14px;
	padding: 24px;
	box-shadow: 4px 4px 0 var(--dps-ink);
	min-height: 200px;
	overflow-x: auto;
}

.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
	font-family: var(--dps-font-display);
	text-transform: uppercase;
	letter-spacing: -.02em;
}

/* Orders table ------------------------------------------------------------- */
.woocommerce-account .woocommerce-orders-table {
	width: 100%;
	min-width: 520px;
	border: 2px solid var(--dps-ink);
	border-radius: 12px;
	overflow: hidden;
	border-collapse: separate;
	border-spacing: 0;
}

.woocommerce-account .woocommerce-orders-table th {
	background: var(--dps-ink);
	color: var(--dps-fg-invert);
	font-family: var(--dps-font-display);
	text-transform: uppercase;
	font-size: 12px;
	letter-spacing: .05em;
	padding: 12px 14px;
	text-align: left;
	white-space: nowrap;
}

.woocommerce-account .woocommerce-orders-table td {
	padding: 12px 14px;
	border-top: 1px solid var(--dps-v2-line-soft, #e5e7eb);
	vertical-align: middle;
}

.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-number a {
	font-weight: 800;
	color: var(--dps-accent-text);
	text-decoration: none;
}

.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions {
	text-align: right;
	white-space: nowrap;
}

.woocommerce-account .woocommerce-orders-table .button {
	background: var(--dps-accent);
	color: var(--dps-ink);
	border: 2px solid var(--dps-ink);
	border-radius: 8px;
	font-weight: 700;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: .04em;
	padding: 8px 14px;
	text-decoration: none;
	display: inline-block;
	box-shadow: 3px 3px 0 var(--dps-ink);
	transition: transform .15s ease, box-shadow .15s ease;
}

.woocommerce-account .woocommerce-orders-table .button:hover {
	transform: translate(2px, 2px);
	box-shadow: 1px 1px 0 var(--dps-ink);
	background: var(--dps-ink);
	color: var(--dps-fg-invert);
}

.woocommerce-account .no-orders {
	text-align: center;
	padding: 32px 16px;
	font-weight: 700;
}

.woocommerce-account .woocommerce-pagination {
	margin-top: 20px;
	text-align: center;
}

.woocommerce-account .woocommerce-pagination .page-numbers {
	display: inline-flex;
	gap: 6px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.woocommerce-account .woocommerce-pagination .page-numbers li a,
.woocommerce-account .woocommerce-pagination .page-numbers li span {
	display: inline-block;
	padding: 8px 14px;
	border: 2px solid var(--dps-ink);
	border-radius: 8px;
	font-weight: 700;
	font-size: 12px;
	text-decoration: none;
	color: var(--dps-ink);
}

.woocommerce-account .woocommerce-pagination .page-numbers li span.current {
	background: var(--dps-accent);
}

/* Downloads --------------------------------------------------------------- */
.woocommerce-account .woocommerce-MyAccount-downloads {
	width: 100%;
}

.woocommerce-account .woocommerce-MyAccount-downloads .download-file a {
	color: var(--dps-accent-text);
	font-weight: 700;
	text-decoration: none;
}

/* Addresses --------------------------------------------------------------- */
.woocommerce-account .addresses,
.woocommerce-account .woocommerce-Addresses,
.woocommerce-account .col2-set.addresses,
.woocommerce-account .u-columns.woocommerce-Addresses {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 20px !important;
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
	clear: both !important;
}

/* Two address columns only from 900px: at 600–899px the account content
	column is the narrow centered article (600px), where 1fr floors
	(nowrap Edit button, padding) make the two cards unequal. Stacked
	full-width cards read better on tablet, and 900px matches the
	wrapper's nav/sidebar breakpoint. */
@media (min-width: 900px) {
	.woocommerce-account .addresses,
	.woocommerce-account .woocommerce-Addresses,
	.woocommerce-account .col2-set.addresses,
	.woocommerce-account .u-columns.woocommerce-Addresses {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 24px !important;
	}
}

.woocommerce-account .col-1,
.woocommerce-account .col-2,
.woocommerce-account .u-column1,
.woocommerce-account .u-column2,
.woocommerce-account .woocommerce-Address {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
	max-width: 100% !important;
}

.woocommerce-account .woocommerce-Address {
	background: var(--dps-paper, #f5f6f8);
	border: 2px solid var(--dps-ink);
	border-radius: 12px;
	padding: 20px 18px;
	box-shadow: 3px 3px 0 var(--dps-ink);
	display: flex;
	flex-direction: column;
}

.woocommerce-account .woocommerce-Address .woocommerce-Address-title,
.woocommerce-account .woocommerce-Addresses .title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 14px;
	gap: 12px;
	flex-wrap: wrap;
	width: 100%;
}

.woocommerce-account .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-Addresses .title h2,
.woocommerce-account .woocommerce-Addresses .title h3 {
	font-family: var(--dps-font-display);
	text-transform: uppercase;
	letter-spacing: -.02em;
	margin: 0;
	font-size: 18px;
	line-height: 1.1;
}

.woocommerce-account .woocommerce-Address address {
	font-style: normal;
	line-height: 1.6;
	margin: 0;
	flex: 1 1 auto;
}

.woocommerce-account .woocommerce-Address .edit {
	color: var(--dps-ink);
	font-weight: 700;
	text-decoration: none;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: .05em;
	padding: 6px 12px;
	border: 2px solid var(--dps-ink);
	border-radius: 8px;
	display: inline-block;
	background: var(--dps-white);
	transition: background .15s ease, color .15s ease;
	white-space: nowrap;
	align-self: flex-start;
	margin-top: 12px;
}

.woocommerce-account .woocommerce-Address .edit:hover {
	background: var(--dps-accent);
	color: var(--dps-ink);
}

/* Account details form ---------------------------------------------------- */
.woocommerce-account .woocommerce-EditAccountForm fieldset {
	border: 2px solid var(--dps-ink);
	border-radius: 12px;
	padding: 18px;
	margin: 20px 0;
}

.woocommerce-account .woocommerce-EditAccountForm legend {
	font-family: var(--dps-font-display);
	text-transform: uppercase;
	letter-spacing: .04em;
	padding: 0 8px;
}

.woocommerce-account .woocommerce-EditAccountForm .button {
	background: var(--dps-accent);
	color: var(--dps-ink);
	border: 2px solid var(--dps-ink);
	border-radius: 10px;
	font-family: var(--dps-font-display);
	font-weight: 800;
	text-transform: uppercase;
	padding: 12px 22px;
	box-shadow: 4px 4px 0 var(--dps-ink);
}

/* Order details (view-order) --------------------------------------------- */
.woocommerce-account .woocommerce-order-details,
.woocommerce-account .woocommerce-customer-details {
	background: var(--dps-white);
	border: 2px solid var(--dps-ink);
	border-radius: 12px;
	padding: 18px;
	margin-bottom: 20px;
	box-shadow: 3px 3px 0 var(--dps-ink);
}

.woocommerce-account .woocommerce-order-details__title,
.woocommerce-account .woocommerce-customer-details__title,
.woocommerce-account .woocommerce-column__title {
	font-family: var(--dps-font-display);
	text-transform: uppercase;
	letter-spacing: -.02em;
}

/* Mobile: nav pills wrap into rows ---------------------------------------- */
@media (max-width: 899px) {
	/* A horizontal swipe-scroller hid the tabs after "Addresses" and was
		not usable on touch devices. Pills now wrap into rows so every
		tab is visible and tappable. */
	.woocommerce-MyAccount-navigation ul {
		flex-wrap: wrap;
		padding-bottom: 0;
	}
	.woocommerce-MyAccount-navigation ul li a {
		white-space: nowrap;
	}
}


/* u-columns (login / register) ------------------------------------------- */
.woocommerce .u-columns {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
}

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

.woocommerce .u-column1,
.woocommerce .u-column2 {
	background: var(--dps-white);
	border: 2px solid var(--dps-ink);
	border-radius: 14px;
	padding: 28px 24px;
	box-shadow: 4px 4px 0 var(--dps-ink);
}

.woocommerce .u-column1 h2,
.woocommerce .u-column2 h2 {
	font-family: var(--dps-font-display);
	text-transform: uppercase;
	letter-spacing: -.02em;
	margin-bottom: 18px;
}

.woocommerce form.woocommerce-form-login,
.woocommerce form.woocommerce-form-register {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.woocommerce form.woocommerce-form-login .form-row,
.woocommerce form.woocommerce-form-register .form-row {
	margin: 0;
}

.woocommerce form.woocommerce-form-login input.input-text,
.woocommerce form.woocommerce-form-register input.input-text {
	border: 2px solid var(--dps-ink);
	border-radius: 8px;
	padding: 10px 14px;
	background: var(--dps-white);
	width: 100%;
}

.woocommerce form.woocommerce-form-login input.input-text:focus,
.woocommerce form.woocommerce-form-register input.input-text:focus {
	border-color: var(--dps-accent);
	box-shadow: 0 0 0 3px rgba(255, 106, 36, .18);
	outline: none;
}

.woocommerce form.woocommerce-form-login label,
.woocommerce form.woocommerce-form-register label {
	font-weight: 700;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: var(--dps-muted, #646b78);
}

.woocommerce form.woocommerce-form-login .woocommerce-form-login__submit,
.woocommerce form.woocommerce-form-register .woocommerce-form-register__submit {
	background: var(--dps-accent) !important;
	color: var(--dps-ink) !important;
	border: 2px solid var(--dps-ink) !important;
	border-radius: 10px !important;
	font-family: var(--dps-font-display);
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .04em;
	padding: 12px 22px !important;
	box-shadow: 4px 4px 0 var(--dps-ink) !important;
	cursor: pointer;
	transition: transform .15s ease, box-shadow .15s ease;
}

.woocommerce form.woocommerce-form-login .woocommerce-form-login__submit:hover,
.woocommerce form.woocommerce-form-register .woocommerce-form-register__submit:hover {
	transform: translate(2px, 2px);
	box-shadow: 2px 2px 0 var(--dps-ink) !important;
}

.woocommerce-LostPassword a {
	color: var(--dps-accent-text);
	font-weight: 700;
	text-decoration: none;
}

/* My account content wrapper ---------------------------------------------- */
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce {
	max-width: 100%;
}

/* Order pay page ----------------------------------------------------------- */
.woocommerce-order-pay .woocommerce,
.woocommerce-order-pay #order_review {
	background: var(--dps-white);
	border: 2px solid var(--dps-ink);
	border-radius: 14px;
	padding: 20px;
	box-shadow: 4px 4px 0 var(--dps-ink);
}

.woocommerce-order-pay table.shop_table {
	border: 2px solid var(--dps-ink);
	border-radius: 12px;
	overflow: hidden;
}

.woocommerce-order-pay table.shop_table th {
	background: var(--dps-ink);
	color: var(--dps-fg-invert);
	font-family: var(--dps-font-display);
	text-transform: uppercase;
	font-size: 12px;
	padding: 12px 14px;
}

.woocommerce-order-pay table.shop_table td {
	padding: 12px 14px;
	border-top: 1px solid var(--dps-v2-line-soft, #e5e7eb);
}

.woocommerce-order-pay #payment {
	background: var(--dps-white);
	border: 2px solid var(--dps-ink);
	border-radius: 14px;
	box-shadow: 4px 4px 0 var(--dps-ink);
	padding: 18px;
	margin-top: 20px;
}
.woocommerce form.track_order input,
.woocommerce form.track_order button {
	border: 2px solid var(--dps-ink);
	border-radius: 8px;
	padding: 10px 14px;
}

.woocommerce form.track_order button {
	background: var(--dps-accent);
	color: var(--dps-ink);
	font-weight: 800;
	text-transform: uppercase;
}

@media (max-width: 767px) {
	.woocommerce table.shop_table.cart,
	.woocommerce table.shop_table.cart thead {
		font-size: 13px;
	}
	.woocommerce .cart_totals {
		margin-top: 20px;
	}
}

/* Force My Account layout to not use WooCommerce's default floats */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
	float: none !important;
	width: 100% !important;
}

/* Clear WooCommerce's clearfix pseudo-elements that break grid */
.woocommerce-account .col2-set::before,
.woocommerce-account .col2-set::after,
.woocommerce-account .u-columns::before,
.woocommerce-account .u-columns::after {
	display: none !important;
	content: none !important;
}

/* Addresses grid - override WooCommerce default float layout */
.woocommerce-account .col2-set,
.woocommerce-account .col2-set.addresses,
.woocommerce-account .u-columns,
.woocommerce-account .woocommerce-Addresses,
.woocommerce-account .addresses {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 20px !important;
	width: 100% !important;
	float: none !important;
	clear: both !important;
}

@media (min-width: 900px) {
	.woocommerce-account .col2-set,
	.woocommerce-account .col2-set.addresses,
	.woocommerce-account .u-columns,
	.woocommerce-account .woocommerce-Addresses,
	.woocommerce-account .addresses {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 24px !important;
	}
}

.woocommerce-account .col2-set .col-1,
.woocommerce-account .col2-set .col-2,
.woocommerce-account .u-columns .u-column1,
.woocommerce-account .u-columns .u-column2,
.woocommerce-account .woocommerce-Address {
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
}

/* Orders table horizontal scroll on mobile */
.woocommerce-account .woocommerce-MyAccount-content {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

/* Grid min-content blowout fix: the mobile nav pills (nowrap, ~800px combined)
	floored the 1fr grid track to their combined width, forcing the whole
	My Account content column to ~808px on a 390px viewport. Zeroing the
	automatic minimum on the grid items lets the track stay 1fr; the nav pill
	row then scrolls inside its own overflow-x container. */
.woocommerce-account .woocommerce-MyAccount-wrapper > .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-wrapper > .woocommerce-MyAccount-content {
	min-width: 0 !important;
	max-width: 100% !important;
}

/* Cart + checkout tables on small screens ---------------------------------
   woocommerce.css caps every shop_table at min-width:560px for the desktop
   card look. On a phone that blows the cart table (and everything next to
   it, e.g. .cart_totals inside the form) past the viewport. Below 900px
   release the cap; below 768px stack cart/review rows exactly like
   WooCommerce's own small-screen stylesheet does. The account orders table
   keeps its deliberate horizontal scroll (min-width:520px). */
@media (max-width: 899px) {
	.woocommerce table.shop_table {
		min-width: 0 !important;
	}
	.woocommerce-account .woocommerce-orders-table {
		min-width: 520px !important;
	}
}

@media (max-width: 767px) {
	.woocommerce table.shop_table.cart,
	.woocommerce table.shop_table.woocommerce-checkout-review-order-table {
		display: block;
		overflow: visible;
	}

	.woocommerce table.shop_table.cart thead,
	.woocommerce table.shop_table.woocommerce-checkout-review-order-table thead {
		display: none;
	}

	.woocommerce table.shop_table.cart tr,
	.woocommerce table.shop_table.woocommerce-checkout-review-order-table tr {
		display: block;
		padding: 0;
	}

	.woocommerce table.shop_table.cart td,
	.woocommerce table.shop_table.woocommerce-checkout-review-order-table td {
		display: block;
		width: 100%;
		padding: 10px 18px;
		box-sizing: border-box;
	}

	.woocommerce table.shop_table.cart td.product-name,
	.woocommerce table.shop_table .product-name {
		white-space: normal;
	}

	.woocommerce table.shop_table.cart td.product-price,
	.woocommerce table.shop_table.cart td.product-subtotal {
		display: flex;
		justify-content: space-between;
	}

	.woocommerce .coupon input.input-text {
		flex: 1 1 100%;
	}

	.woocommerce table.shop_table.cart .quantity input.qty {
		width: 84px;
	}
}
