/* M10b responsive cart/account/order-received rules that were safely separable from checkout responsive rules. */

@media (max-width: 960px) {
	.wcts-transaction-page {
		padding-block: 1.5rem 2.5rem;
	}

	.wcts-transaction-page__inner--account {
		width: min(100% - 2rem, 70rem);
	}

	.wcts-transaction-content--account .woocommerce:has(.woocommerce-MyAccount-navigation),
	.wcts-transaction-content--account .u-columns,
	.wcts-transaction-content--account .woocommerce-Addresses,
	.wcts-transaction-content--account .u-columns.woocommerce-Addresses {
		grid-template-columns: 1fr;
	}

	.wcts-transaction-content--account .woocommerce-MyAccount-navigation {
		position: static;
		top: auto;
	}

	.wcts-transaction-content--account .woocommerce-MyAccount-navigation ul {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wcts-order-confirmation__grid,
	.wcts-order-confirmation__addresses {
		grid-template-columns: 1fr;
	}

	.wcts-transaction-content--cart .wc-block-components-sidebar,
	.wcts-transaction-content--cart .wp-block-woocommerce-cart-order-summary-block {
		position: static;
		top: auto;
	}

	.wcts-transaction-content--cart .wc-block-cart__main {
		display: contents;
	}

	.wcts-transaction-content--cart :is(.wc-block-cart-items, table.wc-block-cart-items) {
		order: 1;
	}

	.wcts-transaction-content--cart :is(.wc-block-components-sidebar, .wc-block-cart__sidebar) {
		order: 2;
	}

	.wcts-transaction-content--cart :is(.cross-sells, .wp-block-woocommerce-cart-cross-sells-block, .wp-block-woocommerce-cart-cross-sells-products-block, .wp-block-woocommerce-cross-sells-products-block, .wp-block-woocommerce-product-collection, .wc-block-grid),
	.wcts-transaction-page--cart .wcts-cart-fallback-recommendations {
		order: 3;
	}}

@media (max-width: 782px) {

	.wcts-transaction-page__screen-title {
		font-size: clamp(2rem, 11vw, 2.7rem);
	}

	.wcts-transaction-content--cart :is(.cross-sells ul.products, .wc-block-grid__products, .wp-block-woocommerce-product-template, .wp-block-query .wp-block-post-template),
	.wcts-transaction-page--cart .wcts-cart-fallback-recommendations ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.25rem 0.85rem;
	}

	.wcts-order-confirmation .wc-block-order-confirmation-summary-list {
		grid-template-columns: 1fr;
	}

	.wcts-transaction-content--account .woocommerce-MyAccount-navigation ul {
		grid-template-columns: 1fr;
	}

		.wcts-transaction-content--account :is(.woocommerce-form-login, .woocommerce-form-register, .woocommerce-ResetPassword),
		.wcts-transaction-content--account .woocommerce-MyAccount-content {
			padding: 1rem;
		}

		.wcts-transaction-content--account .woocommerce-MyAccount-content :is(.woocommerce-address-fields__field-wrapper, form.edit-account, form.woocommerce-EditAccountForm) {
			grid-template-columns: 1fr;
			gap: 0.9rem;
		}

		.wcts-transaction-content--account .woocommerce-MyAccount-content :is(.form-row, .form-row-first, .form-row-last, .form-row-wide) {
			float: none !important;
			width: 100% !important;
			max-width: none;
		}

		.wcts-transaction-content--account .woocommerce-MyAccount-content :is(input[type="text"], input[type="email"], input[type="password"], input[type="tel"], input[type="number"], select, textarea, .select2-container, .select2-selection) {
			width: 100% !important;
			max-width: 100%;
		}

		.wcts-transaction-content--account .woocommerce-MyAccount-content .woocommerce-Address-title {
			align-items: flex-start;
			flex-direction: column;
			gap: 0.75rem;
		}

		.wcts-transaction-content--account .woocommerce-MyAccount-content .woocommerce-Address-title .edit,
		.wcts-transaction-content--account .woocommerce-MyAccount-content :is(button[name="save_address"], button[name="save_account_details"]) {
			width: 100%;
		}

	.wcts-transaction-content--account :is(table.shop_table, .woocommerce-orders-table) {
		display: block;
		overflow-x: visible;
		-webkit-overflow-scrolling: touch;
	}}

@media (max-width: 782px) {
	.wcts-transaction-content--account .woocommerce-orders-table thead {
		display: none;
	}

	.wcts-transaction-content--account .woocommerce-orders-table,
	.wcts-transaction-content--account .woocommerce-orders-table tbody,
	.wcts-transaction-content--account .woocommerce-orders-table tr,
	.wcts-transaction-content--account .woocommerce-orders-table tbody th,
	.wcts-transaction-content--account .woocommerce-orders-table td {
		display: block;
		width: 100%;
	}

	.wcts-transaction-content--account .woocommerce-orders-table tbody th {
		display: block !important;
	}

	.wcts-transaction-content--account .woocommerce-orders-table {
		border: 0;
		background: transparent;
		box-shadow: none;
	}

	.wcts-transaction-content--account .woocommerce-orders-table tbody {
		display: grid;
		gap: 0.85rem;
	}

	.wcts-transaction-content--account .woocommerce-orders-table tr {
		padding: 1rem;
		border: 1px solid var(--wcts-account-border);
		border-radius: 8px;
		background: #ffffff;
		box-shadow: 0 12px 32px rgba(20, 23, 20, 0.06);
	}

	.wcts-transaction-content--account .woocommerce-orders-table tbody th,
	.wcts-transaction-content--account .woocommerce-orders-table td {
		padding: 0.65rem 0;
		border-bottom: 1px solid #edf0f3;
		background: transparent;
		text-align: left;
	}

	.wcts-transaction-content--account .woocommerce-orders-table td:last-child {
		border-bottom: 0;
	}

	.wcts-transaction-content--account .woocommerce-orders-table tbody th::before,
	.wcts-transaction-content--account .woocommerce-orders-table td::before {
		content: attr(data-title);
		display: block;
		margin-bottom: 0.35rem;
		color: #687266;
		font-size: 0.7rem;
		font-weight: 850;
		letter-spacing: 0.11em;
		line-height: 1.2;
		text-transform: uppercase;
	}

		.wcts-transaction-content--account .woocommerce-orders-table__cell-order-products::before {
			margin-bottom: 0.55rem;
		}

		.wcts-transaction-content--account .woocommerce-orders-table__cell-order-products {
			display: grid;
			gap: 0.65rem;
		}

		.wcts-account-order-products {
			display: grid;
			gap: 0.7rem;
			width: 100%;
			min-width: 0;
		}

		.wcts-account-order-products__item {
			width: 100%;
			grid-template-columns: 3.25rem minmax(0, 1fr);
			align-items: start;
		}

		.wcts-account-order-products__media {
			width: 3.25rem;
		}

		.wcts-account-order-products__name {
			display: block;
			overflow: visible;
			text-align: left;
			-webkit-line-clamp: unset;
		}

	.wcts-transaction-content--account .woocommerce-orders-table__cell-order-actions {
		padding-top: 0.85rem;
	}

	.wcts-transaction-content--account .woocommerce-orders-table__cell-order-actions .button {
		flex: 1 1 9rem;
	}

	.wcts-transaction-content--account .woocommerce-table--order-details thead {
		display: none;
	}

	.wcts-transaction-content--account .woocommerce-table--order-details,
	.wcts-transaction-content--account .woocommerce-table--order-details tbody,
	.wcts-transaction-content--account .woocommerce-table--order-details tfoot,
	.wcts-transaction-content--account .woocommerce-table--order-details tr,
	.wcts-transaction-content--account .woocommerce-table--order-details th,
	.wcts-transaction-content--account .woocommerce-table--order-details td {
		display: block;
		width: 100%;
	}

	.wcts-transaction-content--account .woocommerce-table--order-details tr {
		border-bottom: 1px solid #edf0f3;
	}

	.wcts-transaction-content--account .woocommerce-table--order-details tr:last-child {
		border-bottom: 0;
	}

	.wcts-transaction-content--account .woocommerce-table--order-details :is(th, td) {
		padding: 0.75rem 0.9rem;
		border-bottom: 0;
	}

	.wcts-transaction-content--account .woocommerce-table--order-details tfoot th {
		width: 100%;
		padding-bottom: 0.25rem;
		background: #ffffff;
	}

	.wcts-transaction-content--account .woocommerce-table--order-details tfoot td {
		padding-top: 0.25rem;
	}

	.wcts-account-order-detail-item {
		grid-template-columns: 3.25rem minmax(0, 1fr);
	}

		.wcts-account-order-detail-item__media {
			width: 3.25rem;
		}

		.wcts-transaction-content--account .woocommerce-table--order-details tbody .product-name > .product-quantity {
			margin-left: 4rem;
		}

		.wcts-transaction-content--account .woocommerce-customer-details .woocommerce-columns {
			grid-template-columns: 1fr;
		}

		.wcts-transaction-content--account .woocommerce-MyAccount-content .woocommerce-customer-details {
			overflow: visible;
		}

		.wcts-transaction-content--account .woocommerce-MyAccount-content .woocommerce-customer-details address {
			min-height: auto;
		}
		}

@media (max-width: 600px) {
	.wcts-transaction-page {
		padding-block: 1.25rem 2rem;
	}

	.wcts-order-confirmation .woocommerce-verify-email input {
		width: calc(100vw - 2rem) !important;
	}

	.wcts-transaction-content--cart table.wc-block-cart-items td,
	.wcts-transaction-content--cart table.wc-block-cart-items th {
		padding-inline: 1rem;
	}

	.wcts-transaction-content--cart .wc-block-cart-item__image {
		width: 4.5rem;
	}}

@media (max-width: 1180px) {
	.wcts-transaction-content--cart :is(.cross-sells ul.products, .wc-block-grid__products, .wp-block-woocommerce-product-template, .wp-block-query .wp-block-post-template),
	.wcts-transaction-page--cart .wcts-cart-fallback-recommendations ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}}

@media (max-width: 782px) {
	.wcts-transaction-page--cart .wcts-transaction-page__screen-title {
		font-size: clamp(1.75rem, 8.5vw, 2.25rem);
	}

	.wcts-transaction-content--cart :is(.cross-sells ul.products, .wc-block-grid__products, .wp-block-woocommerce-product-template, .wp-block-query .wp-block-post-template),
	.wcts-transaction-page--cart .wcts-cart-fallback-recommendations ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wcts-transaction-content--cart .wc-block-cart__submit-button {
		width: 100%;
	}}

@media (max-width: 782px) {
	.wcts-transaction-content--cart table.wc-block-cart-items caption.screen-reader-text {
		position: absolute !important;
		width: 1px !important;
		height: 1px !important;
		margin: -1px !important;
		padding: 0 !important;
		clip: rect(0 0 0 0) !important;
		clip-path: inset(50%) !important;
		overflow: hidden !important;
		white-space: nowrap !important;
		border: 0 !important;
	}

	.wcts-transaction-content--cart table.wc-block-cart-items thead {
		position: absolute !important;
		width: 1px !important;
		height: 1px !important;
		margin: -1px !important;
		padding: 0 !important;
		clip: rect(0 0 0 0) !important;
		clip-path: inset(50%) !important;
		overflow: hidden !important;
		white-space: nowrap !important;
		border: 0 !important;
	}

	.wcts-transaction-content--cart :is(table.wc-block-cart-items, table.wc-block-cart-items tbody) {
		display: block !important;
		width: 100% !important;
	}

	.wcts-transaction-content--cart table.wc-block-cart-items {
		width: 100% !important;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
	}

	.wcts-transaction-content--cart .wc-block-cart-items__row {
		display: grid !important;
		grid-template-columns: 4.85rem minmax(0, 1fr) !important;
		grid-template-areas:
			"image product" !important;
		column-gap: 0.95rem !important;
		row-gap: 0.18rem !important;
		position: relative !important;
		width: 100% !important;
		box-sizing: border-box !important;
		min-height: 0 !important;
		padding: 1rem 1rem 1.08rem !important;
		border: 1px solid #e2e6eb !important;
		border-radius: 8px !important;
		background: #ffffff !important;
		box-shadow: none !important;
	}

	.wcts-transaction-content--cart .wc-block-cart-items__row + .wc-block-cart-items__row {
		margin-top: 0.85rem !important;
	}

	.wcts-transaction-content--cart table.wc-block-cart-items tbody tr + tr td {
		border-top: 0 !important;
	}

	.wcts-transaction-content--cart table.wc-block-cart-items td {
		display: block !important;
		padding: 0 !important;
		border: 0 !important;
		vertical-align: top !important;
	}

	.wcts-transaction-content--cart table.wc-block-cart-items td.wc-block-cart-item__image {
		grid-area: image !important;
		align-self: start !important;
		width: 4.85rem !important;
		min-width: 4.85rem !important;
	}

	.wcts-transaction-content--cart .wc-block-cart-item__image img {
		display: block !important;
		width: 4.85rem !important;
		height: 4.85rem !important;
		max-width: none !important;
		max-height: none !important;
		object-fit: contain !important;
	}

	.wcts-transaction-content--cart table.wc-block-cart-items td.wc-block-cart-item__product {
		grid-area: product !important;
		min-width: 0 !important;
	}

	.wcts-transaction-content--cart .wc-block-cart-item__wrap {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 0.24rem !important;
		min-width: 0 !important;
	}

	.wcts-transaction-content--cart .wc-block-components-product-name {
		display: block !important;
		order: 1 !important;
		min-width: 0 !important;
		font-size: 0.98rem !important;
		line-height: 1.25 !important;
		overflow-wrap: anywhere !important;
	}

	.wcts-transaction-content--cart .wc-block-cart-item__prices {
		display: block !important;
		order: 3 !important;
		margin: 0 !important;
	}

	.wcts-transaction-content--cart .wc-block-components-product-price {
		display: block !important;
		width: fit-content !important;
		margin: 0 !important;
		color: #4b5563 !important;
		font-size: 0.92rem !important;
		font-weight: 500 !important;
		line-height: 1.2 !important;
	}

	.wcts-transaction-content--cart .wc-block-components-product-metadata {
		order: 2 !important;
	}

	.wcts-transaction-content--cart .wc-block-cart-item__quantity {
		display: flex !important;
		order: 4 !important;
		grid-row: auto !important;
		grid-column: auto !important;
		grid-area: auto !important;
		flex-wrap: wrap !important;
		align-items: center !important;
		justify-content: flex-start !important;
		gap: 0.46rem !important;
		margin-top: 0.18rem !important;
		padding-right: clamp(4.75rem, 18vw, 5.85rem) !important;
	}

	.wcts-transaction-content--cart table.wc-block-cart-items td.wc-block-cart-item__total {
		position: absolute !important;
		right: 1rem !important;
		bottom: 1.14rem !important;
		z-index: 1 !important;
		justify-self: end !important;
		width: auto !important;
		min-width: 0 !important;
		margin: 0 !important;
		color: #111111 !important;
		font-size: 0.92rem !important;
		font-weight: 900 !important;
		line-height: 1.2 !important;
		text-align: right !important;
		white-space: nowrap !important;
	}

	.wcts-transaction-content--cart :is(.wc-block-components-sidebar, .wc-block-cart__sidebar) {
		padding: 1rem !important;
	}}

/* C05 checkout responsive parity rules. Woo Blocks keeps visibility and state. */

@media (max-width: 1100px) {
	.wcts-transaction-content--checkout :is(.wc-block-components-sidebar-layout, .is-large.wc-block-components-sidebar-layout) {
		gap: clamp(1.15rem, 2.4vw, 1.75rem);
	}

	.wcts-transaction-content--checkout .wc-block-checkout__main {
		gap: 1rem;
	}

	.wcts-transaction-content--checkout :is(.wc-block-components-sidebar, .wc-block-checkout__sidebar) {
		min-width: 0;
	}
}

@media (max-width: 960px) {

	.wcts-transaction-page__inner,
	.wcts-transaction-page__inner--checkout {
		width: min(100% - 2rem, 70rem);
	}

	.wcts-transaction-content--cart :is(.wc-block-components-sidebar-layout, .is-large.wc-block-components-sidebar-layout),
	.wcts-transaction-content--checkout :is(.wc-block-components-sidebar-layout, .is-large.wc-block-components-sidebar-layout) {
		grid-template-columns: minmax(0, 1fr);
	}

	.wcts-transaction-content--cart :is(.wc-block-components-sidebar, .wc-block-cart__sidebar),
	.wcts-transaction-content--checkout :is(.wc-block-components-sidebar, .wc-block-checkout__sidebar) {
		position: static;
		top: auto;
		max-height: none;
		overflow: visible;
	}}

@media (max-width: 782px) {
	.wcts-transaction-content .wc-block-components-sidebar-layout {
		grid-template-columns: 1fr;
	}

	.wcts-checkout-header__inner {
		min-height: 4.25rem;
		padding-block: 0.85rem;
	}

	.wcts-checkout-header__logo img {
		height: 1.85rem;
		max-width: none;
	}

	.wcts-checkout-header__logo {
		width: 2.1rem;
		overflow: hidden;
	}

	.wcts-checkout-header__logo .wcts-brand-lockup__text {
		display: none;
	}

	.wcts-checkout-footer__logo .wcts-brand-lockup__text {
		display: none;
	}

	.wcts-checkout-footer__logo {
		width: 1.95rem;
		overflow: hidden;
	}

	.wcts-checkout-footer__logo > img {
		max-width: none;
	}

	.wcts-checkout-header__logo .wcts-brand-lockup__mark-image {
		height: 2rem;
	}

	.wcts-checkout-header__label {
		font-size: 0.85rem;
	}

	.wcts-transaction-content--checkout .wc-block-checkout__actions_row {
		flex-direction: column-reverse;
		align-items: stretch;
	}

	.wcts-transaction-content--checkout .wc-block-components-checkout-return-to-cart-button {
		justify-content: center;
		width: 100%;
		white-space: normal;
	}

	.wcts-transaction-content--checkout :is(.wc-block-components-address-form, .wc-block-components-address-form-wrapper) {
		display: grid;
		grid-template-columns: 1fr;
		gap: 0.9rem;
		width: 100%;
		min-width: 0;
	}

	.wcts-transaction-content--checkout .wc-block-components-address-form > *,
	.wcts-transaction-content--checkout :is(.wc-block-components-country-input, .wc-block-components-state-input, .wc-block-components-address-form__country, .wc-block-components-address-form__state, [class*="address-form__"]) {
		grid-column: 1 / -1;
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	.wcts-transaction-content--checkout :is(#shipping-country, #billing-country, #shipping-state, #billing-state, #shipping-postcode, #billing-postcode, input[name="shipping_postcode"], input[name="billing_postcode"]) {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	.wcts-transaction-content--checkout :is(.wc-block-components-radio-control-accordion-option, .wc-block-components-radio-control__option, .wc-block-components-payment-methods__field) {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	.wcts-transaction-content--checkout :is(.wc-block-components-radio-control__label, .wc-block-components-radio-control__description, .wc-block-components-radio-control-accordion-content, .wc-block-components-payment-method-label, .wc-block-components-payment-methods__field) {
		min-width: 0;
		overflow-wrap: anywhere;
	}

	.wcts-transaction-content--checkout :is(.wp-block-woocommerce-checkout-order-summary-coupon-form-block, .wc-block-components-totals-coupon) :is(.wc-block-components-panel__content, .wc-block-components-totals-coupon__form, form) {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: end;
	}

	.wcts-transaction-content--checkout :is(.wp-block-woocommerce-checkout-order-summary-coupon-form-block, .wc-block-components-totals-coupon) .wc-block-components-text-input {
		flex: 1 1 auto;
		width: auto;
		min-width: 0;
		max-width: none;
	}

	.wcts-transaction-content--checkout :is(.wp-block-woocommerce-checkout-order-summary-coupon-form-block, .wc-block-components-totals-coupon) .wc-block-components-totals-coupon__button {
		justify-self: end;
		width: auto;
		min-width: max-content;
		max-width: 42%;
		padding-inline: 0.82rem;
	}

	.wcts-transaction-content--checkout .wc-block-checkout__order-notes .wc-block-components-checkbox label {
		align-items: flex-start;
		min-width: 0;
		overflow-wrap: anywhere;
	}

	.wcts-transaction-content--checkout .wc-block-components-order-summary__button {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 0.75rem;
		width: 100%;
		min-height: 4rem;
		padding: 1rem;
	}

	.wcts-transaction-content--checkout .wc-block-components-order-summary__button-text {
		min-width: 0;
		color: #171717;
		font-size: 1.05rem;
		font-weight: 750;
		line-height: 1.2;
		overflow-wrap: anywhere;
	}

	.wcts-transaction-content--checkout .wc-block-components-order-summary__button .wc-block-components-totals-item__value {
		flex: 0 0 auto;
		margin-left: auto;
		font-size: 0.95rem;
		white-space: nowrap;
	}}

@media (max-width: 600px) {

	.wcts-transaction-empty-state__card {
		padding: 1.5rem 1.25rem;
	}

	.wcts-transaction-content--cart .wc-block-cart-items,
	.wcts-transaction-content--cart .wc-block-components-totals-wrapper,
	.wcts-transaction-content--checkout .wc-block-components-checkout-step,
	.wcts-transaction-content--checkout .wc-block-checkout__actions_row,
	.wcts-transaction-content--checkout .wc-block-checkout__add-note,
	.wcts-transaction-content .wc-block-components-sidebar,
	.wcts-transaction-content .wc-block-components-order-summary,
	.wcts-order-confirmation .wc-block-order-confirmation-status,
	.wcts-order-confirmation__summary,
	.wcts-order-confirmation__panel {
		padding: 1rem;
	}

	.wcts-transaction-content--checkout .wc-block-components-order-summary-item {
		grid-template-columns: 3.5rem minmax(0, 1fr) max-content;
	}

	.wcts-transaction-content--checkout .wc-block-components-order-summary-item__total-price {
		grid-column: 3;
		justify-self: end;
		text-align: right;
	}}

@media (prefers-reduced-motion: reduce) {
	.wcts-transaction-content :is(.wc-block-cart, .wc-block-checkout),
	.wcts-transaction-content :is(.wc-block-cart-items, .wc-block-components-sidebar, .wc-block-cart__sidebar, .wc-block-checkout__main, .wc-block-checkout__sidebar, .wc-block-components-order-summary, .wc-block-components-totals-wrapper),
	.wcts-transaction-content--account :is(.woocommerce-MyAccount-navigation a, .woocommerce-button, .button, button.button, input[type="submit"]) {
		transition: none;
	}}
