.drc-cart-layout {
	display: grid;
	gap: var(--drc-space-6);
}

.drc-cart-layout__items,
.drc-cart-layout__summary {
	min-width: 0;
}

@media (min-width: 1024px) {

	.drc-cart-layout {
		grid-template-columns: 1.6fr 1fr;
		align-items: start;
	}
}

@media (min-width: 1024px) and (min-height: 800px) {

	.drc-cart-layout__summary {
		position: sticky;
		top: calc(var(--drc-header-h-lg) + var(--drc-space-4));
	}
}

.woocommerce-cart-form .shop_table.cart {
	width: 100%;
	border-collapse: collapse;
}

.woocommerce-cart-form .shop_table.cart th {
	padding-block: var(--drc-space-2);
	color: var(--drc-text-muted);
	font-size: var(--drc-fs-xs);
	font-weight: var(--drc-fw-semibold);
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.woocommerce-cart-form .shop_table.cart td {
	padding-block: var(--drc-space-4);
	vertical-align: middle;
}

.woocommerce-cart-form .shop_table.cart :is(th, td):is(.product-price, .product-subtotal) {
	font-variant-numeric: tabular-nums;
	text-align: end;
}

.woocommerce-cart-form .shop_table.cart .product-subtotal {
	color: var(--drc-navy);
	font-weight: var(--drc-fw-semibold);
}

.woocommerce-cart-form .shop_table.cart :is(th, td).product-remove {
	width: var(--drc-touch);
	padding-inline: 0;
}

.woocommerce-cart-form .shop_table.cart :is(th, td).product-thumbnail {
	width: 88px;
}

.woocommerce-cart-form .shop_table.cart :is(th, td).product-name {
	width: 100%;
}

.woocommerce-cart-form .product-quantity .quantity {
	min-width: calc(2 * var(--drc-touch) + 3.5rem);
}

.woocommerce-cart-form .product-thumbnail a,
.woocommerce-cart-form .product-thumbnail img {
	display: block;
	width: 72px;
}

.woocommerce-cart-form .product-thumbnail img {
	aspect-ratio: 1;
	border-radius: var(--drc-radius-sm);
	object-fit: contain;
}

.woocommerce-cart-form .product-name a {
	color: var(--drc-navy);
	font-size: var(--drc-fs-sm);
	font-weight: var(--drc-fw-semibold);
	text-decoration: none;
}

.woocommerce-cart-form .product-name a:hover {
	text-decoration: underline;
}

.drc-cart-item__sku {
	margin-block: var(--drc-space-1) 0;
	font-size: var(--drc-fs-xs);
}

.drc-cart-item__sku-label {
	color: var(--drc-text-muted);
}

.woocommerce-cart-form .variation {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0 var(--drc-space-2);
	margin-block: var(--drc-space-1) 0;
	color: var(--drc-text-muted);
	font-size: var(--drc-fs-xs);
}

.woocommerce-cart-form .variation dt {
	font-weight: var(--drc-fw-semibold);
}

.woocommerce-cart-form .variation dd,
.woocommerce-cart-form .variation dd p {
	margin: 0;
}

.woocommerce-cart-form .backorder_notification {
	margin-block: var(--drc-space-1) 0;
	color: var(--drc-warning);
	font-size: var(--drc-fs-xs);
}

.woocommerce-cart-form a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--drc-touch);
	height: var(--drc-touch);
	border-radius: var(--drc-radius-pill);
	color: var(--drc-text-muted);
	font-size: var(--drc-fs-h3);
	line-height: 1;
	text-decoration: none;
}

.woocommerce-cart-form a.remove:hover,
.woocommerce-cart-form a.remove:focus-visible {
	background: var(--drc-error-bg);
	color: var(--drc-error);
}

@media (max-width: 767px) {

	.woocommerce-cart-form .shop_table.cart,
	.woocommerce-cart-form .shop_table.cart tbody,
	.woocommerce-cart-form .shop_table.cart tr,
	.woocommerce-cart-form .shop_table.cart td {
		display: block;
		width: auto;
	}

	.woocommerce-cart-form .shop_table.cart thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip-path: inset(50%);
	}

	.woocommerce-cart-form .shop_table.cart tr.woocommerce-cart-form__cart-item {
		position: relative;
		display: grid;

		grid-template-columns: 140px minmax(0, 1fr);
		grid-template-areas:
			"thumb name"
			"thumb price"
			"qty subtotal";
		gap: var(--drc-space-2) var(--drc-space-3);
		margin-block-end: var(--drc-space-3);
		padding: var(--drc-space-4);
		padding-inline-start: var(--drc-space-3);
		border: 1px solid var(--drc-border);
		border-radius: var(--drc-radius);
	}

	.woocommerce-cart-form .shop_table.cart tr.woocommerce-cart-form__cart-item td {
		padding: 0;
		border: 0;
	}

	.woocommerce-cart-form .product-thumbnail {
		grid-area: thumb;
	}

	.woocommerce-cart-form .product-name {
		grid-area: name;

		padding-inline-end: calc(var(--drc-touch) + var(--drc-space-2));
	}

	.woocommerce-cart-form .product-price {
		grid-area: price;
	}

	.woocommerce-cart-form .product-quantity {
		grid-area: qty;
	}

	.woocommerce-cart-form .product-subtotal {
		grid-area: subtotal;
		align-self: end;
		text-align: end;
	}

	.woocommerce-cart-form .product-thumbnail a,
	.woocommerce-cart-form .product-thumbnail img {
		width: 88px;
	}

	.woocommerce-cart-form .product-quantity .quantity {
		min-width: calc(2 * var(--drc-touch) + 2.5rem);
	}

	.woocommerce-cart-form .product-quantity .quantity input {
		min-width: 2.5rem;
	}

	.woocommerce-cart-form :is(.product-price, .product-subtotal)::before {
		content: attr(data-title) ": ";
		color: var(--drc-text-muted);
		font-weight: var(--drc-fw-normal);
	}

	.woocommerce-cart-form .product-quantity::before {
		content: attr(data-title);
		display: block;
		margin-block-end: var(--drc-space-1);
		color: var(--drc-text-muted);
		font-size: var(--drc-fs-xs);
	}

	.woocommerce-cart-form .product-remove {
		position: absolute;
		inset-block-start: var(--drc-space-2);
		inset-inline-end: var(--drc-space-2);
	}
}

.woocommerce-cart-form .actions {
	padding-inline: 0;
	border-block-end: 0;
	text-align: end;
}

.woocommerce-cart-form .coupon {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: var(--drc-space-2);

	float: left;
	float: inline-start;
	text-align: start;
}

.woocommerce-cart-form .coupon label.screen-reader-text {
	position: static;
	width: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	clip-path: none;
	color: var(--drc-navy);
	flex-basis: 100%;
	font-size: var(--drc-fs-sm);
	font-weight: var(--drc-fw-semibold);
}

.woocommerce-cart-form .coupon .input-text {
	width: auto;
	min-width: 12rem;
}

.woocommerce-cart-form .coupon .coupon-error-notice {
	flex-basis: 100%;
	margin-block: var(--drc-space-1) 0;
	color: var(--drc-error);
	font-size: var(--drc-fs-sm);
}

.woocommerce-cart-form .coupon .input-text.has-error {
	border-color: var(--drc-error);
}

.woocommerce-cart-form .actions .button {
	--btn-bg: transparent;
	--btn-bg-hover: var(--drc-surface-alt);
	--btn-fg: var(--drc-blue-dark);
	--btn-bd: var(--drc-border);
	--btn-bd-hover: var(--drc-blue);
}

@media (max-width: 767px) {

	.woocommerce-cart-form .actions {
		padding: 0;
	}

	.woocommerce-cart-form .coupon {
		float: none;
		margin-block-end: var(--drc-space-4);
	}

	.woocommerce-cart-form .coupon .input-text,
	.woocommerce-cart-form .coupon .button,
	.woocommerce-cart-form .actions .button[name="update_cart"] {
		width: 100%;
	}
}

.cart_totals {
	padding: var(--drc-space-5);
	background: var(--drc-white);
	border: 1px solid var(--drc-border);
	border-radius: var(--drc-radius);
}

.cart_totals > h2 {
	margin-block-start: 0;
	font-size: var(--drc-fs-h3);
}

.cart_totals .shop_table {
	width: 100%;
	border-collapse: collapse;
}

.cart_totals .shop_table :is(th, td) {
	padding-inline: 0;
	padding-block: var(--drc-space-3);
	vertical-align: top;
}

.cart_totals .shop_table td {
	font-variant-numeric: tabular-nums;
	text-align: end;
}

.cart_totals .shop_table tr:last-child :is(th, td) {
	border-block-end: 0;
}

.cart_totals .cart-discount td {
	color: var(--drc-success);
}

.cart_totals .cart-discount .woocommerce-remove-coupon {
	display: inline-block;
	margin-inline-start: var(--drc-space-2);
	font-size: var(--drc-fs-xs);
}

.cart_totals .order-total :is(th, td) {
	color: var(--drc-navy);
	font-size: var(--drc-fs-h3);
	font-weight: var(--drc-fw-bold);
}

.cart_totals :is(.shipping, .woocommerce-shipping-totals),
.woocommerce-checkout-review-order-table :is(.shipping, .woocommerce-shipping-totals) {
	display: block;
}

.cart_totals :is(.shipping, .woocommerce-shipping-totals) :is(th, td),
.woocommerce-checkout-review-order-table :is(.shipping, .woocommerce-shipping-totals) :is(th, td) {
	display: block;
	width: auto;
	padding-inline: 0;
	border-block-end: 0;
	text-align: start;
	white-space: normal;
}

.cart_totals :is(.shipping, .woocommerce-shipping-totals) th,
.woocommerce-checkout-review-order-table :is(.shipping, .woocommerce-shipping-totals) th {
	padding-block-end: var(--drc-space-1);
	color: var(--drc-text-muted);
	font-size: var(--drc-fs-xs);
	font-weight: var(--drc-fw-semibold);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.cart_totals .woocommerce-shipping-methods,
.woocommerce-checkout-review-order-table .woocommerce-shipping-methods {
	margin: 0;
	padding-block: 0;
	padding-inline: 0 var(--drc-space-5);
	list-style: none;
}

.cart_totals .woocommerce-shipping-methods li,
.woocommerce-checkout-review-order-table .woocommerce-shipping-methods li {
	display: flex;
	align-items: center;
	gap: var(--drc-space-2);
	min-height: var(--drc-touch);
}

.cart_totals .woocommerce-shipping-methods label,
.woocommerce-checkout-review-order-table .woocommerce-shipping-methods label {
	flex: 1;
	display: grid;
	grid-template-columns: minmax(0, 1fr) max-content;
	column-gap: var(--drc-space-3);
	align-items: baseline;
	margin: 0;
	font-size: var(--drc-fs-sm);
	font-weight: var(--drc-fw-normal);
	line-height: var(--drc-lh-snug);
}

.drc-ship__cost {
	color: var(--drc-text-muted);
	font-size: var(--drc-fs-sm);
	font-variant-numeric: tabular-nums;
	text-align: end;
}

.woocommerce-shipping-methods input.shipping_method:checked + label {
	color: var(--drc-navy);
	font-weight: var(--drc-fw-semibold);
}

.woocommerce-shipping-methods li:has(input.shipping_method:checked) {
	margin-inline: calc(var(--drc-space-2) * -1);
	padding-inline: var(--drc-space-2);
	border-radius: var(--drc-radius-sm);
	background-color: var(--drc-surface-alt);
}

.drc-shipping-charge :is(th, td) {
	border-block-start: 1px solid var(--drc-border);
}

.drc-shipping-charge__method {
	display: inline-block;
	color: var(--drc-text-muted);
	font-size: var(--drc-fs-xs);
	font-weight: var(--drc-fw-normal);
}

.cart_totals .woocommerce-shipping-destination {
	margin-block: var(--drc-space-2) 0;
	color: var(--drc-text-muted);
	font-size: var(--drc-fs-xs);
}

.cart_totals .woocommerce-shipping-calculator {
	margin-block-start: var(--drc-space-2);
}

.cart_totals .woocommerce-shipping-calculator .button {
	width: 100%;
}

.wc-proceed-to-checkout {
	margin-block-start: var(--drc-space-5);
}

.wc-proceed-to-checkout .checkout-button {
	display: flex;
	width: 100%;
	min-height: 48px;
}

.cross-sells {
	margin-block-start: var(--drc-space-7);
}

.cross-sells > h2 {
	margin-block-start: 0;
	font-size: var(--drc-fs-h3);
}

.return-to-shop {
	margin-block-start: var(--drc-space-2);
	text-align: center;
}

.blockUI.blockOverlay {
	border-radius: var(--drc-radius);
}

.drc-checkout-layout {
	margin-block-start: var(--drc-space-4);
}

.drc-checkout__col {
	min-width: 0;
}

.drc-checkout__col--fields > .woocommerce-billing-fields,
.drc-checkout__col--fields > .woocommerce-shipping-fields,
.drc-checkout__col--fields > .woocommerce-additional-fields {
	margin-block-end: var(--drc-space-6);
}

@media (min-width: 1024px) {

	.drc-checkout-layout > form.checkout {
		display: grid;
		grid-template-columns: minmax(0, 1.4fr) minmax(360px, 1fr);
		gap: var(--drc-space-7);
		align-items: start;
	}

	.drc-checkout-layout > form.checkout > :not(.drc-checkout__col) {
		grid-column: 1 / -1;
	}
}

@media (min-width: 1024px) and (min-height: 900px) {

	.drc-checkout__col--review {
		position: sticky;
		top: calc(var(--drc-header-h-lg) + var(--drc-space-4));
	}
}

.woocommerce-form-login,
.woocommerce-form-coupon {
	margin-block-end: var(--drc-space-5);
	padding: var(--drc-space-4);
	border: 1px solid var(--drc-border);
	border-radius: var(--drc-radius);
	background-color: var(--drc-surface-alt);
}

.woocommerce-form-login > p:first-child,
.woocommerce-form-coupon > p:first-child {
	margin-block-start: 0;
	font-size: var(--drc-fs-sm);
}

@media (min-width: 640px) {

	.woocommerce-form-coupon {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: var(--drc-space-3);
		align-items: end;
	}

	.woocommerce-form-coupon > p:first-child,
	.woocommerce-form-coupon > .clear {
		grid-column: 1 / -1;
	}

	.woocommerce-form-coupon .form-row {
		margin-block-end: 0;
	}
}

.woocommerce-shipping-fields__field-wrapper,
.woocommerce-additional-fields__field-wrapper {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0 var(--drc-gap);
}

@media (min-width: 640px) {

	.woocommerce-shipping-fields__field-wrapper,
	.woocommerce-additional-fields__field-wrapper {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.woocommerce-billing-fields > h3,
.woocommerce-additional-fields > h3,
#ship-to-different-address {
	margin-block-end: var(--drc-space-4);
	font-size: var(--drc-fs-h4);
}

#ship-to-different-address .checkbox,
.create-account > .checkbox {
	display: flex;
	gap: var(--drc-space-3);
	align-items: center;
	min-height: var(--drc-touch);
	margin-block-end: 0;
	font-size: var(--drc-fs-body);
	font-weight: var(--drc-fw-semibold);
}

.woocommerce-additional-fields textarea,
#order_comments {
	height: 6.5rem;
	resize: none;
	overflow-y: auto;
}

#order_review_heading {
	margin-block-end: var(--drc-space-4);
	font-size: var(--drc-fs-h3);
}

#order_review {
	padding: var(--drc-space-5);
	border: 1px solid var(--drc-border);
	border-radius: var(--drc-radius);
	background-color: var(--drc-white);
}

.woocommerce-checkout-review-order-table {
	width: 100%;
	margin-block-end: var(--drc-space-5);
	border-collapse: collapse;
	font-size: var(--drc-fs-sm);
}

.woocommerce-checkout-review-order-table :is(th, td) {
	padding-block: var(--drc-space-3);
	text-align: start;
	vertical-align: top;
}

.woocommerce-checkout-review-order-table .product-total,
.woocommerce-checkout-review-order-table tfoot tr:not(.shipping) :is(th, td):last-child {
	font-variant-numeric: tabular-nums;
	text-align: end;
	white-space: nowrap;
}

.woocommerce-checkout-review-order-table .product-total {
	width: 1%;
}

.woocommerce-checkout-review-order-table .product-name {
	width: 100%;
	padding-inline-end: var(--drc-space-4);
	line-height: var(--drc-lh-snug);
	overflow-wrap: anywhere;
}

.woocommerce-checkout-review-order-table thead th {
	border-block-end: 1px solid var(--drc-border);
	color: var(--drc-text-muted);
	font-size: var(--drc-fs-xs);
	font-weight: var(--drc-fw-semibold);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.woocommerce-checkout-review-order-table .cart_item :is(th, td) {
	border-block-end: 1px solid var(--drc-border);
}

.woocommerce-checkout-review-order-table .product-quantity {
	color: var(--drc-text-muted);
	font-weight: var(--drc-fw-normal);
}

.woocommerce-checkout-review-order-table .variation {
	margin-block: var(--drc-space-1) 0;
	color: var(--drc-text-muted);
	font-size: var(--drc-fs-xs);
}

.woocommerce-checkout-review-order-table tfoot th {
	font-weight: var(--drc-fw-normal);
}

.woocommerce-checkout-review-order-table tfoot tr:not(:last-child):not(.shipping) :is(th, td) {
	border-block-end: 1px solid var(--drc-border);
}

.woocommerce-checkout-review-order-table .order-total :is(th, td) {
	padding-block-start: var(--drc-space-4);
	color: var(--drc-navy);
	font-size: var(--drc-fs-h3);
	font-weight: var(--drc-fw-bold);
	line-height: var(--drc-lh-tight);
}

#payment {
	padding: var(--drc-space-5);
	border: 1px solid var(--drc-border);
	border-radius: var(--drc-radius);
	background-color: var(--drc-surface-alt);
}

#payment > .wc_payment_methods {
	margin: 0 0 var(--drc-space-4);
	padding: 0;
	list-style: none;
}

.wc_payment_method {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0 var(--drc-space-3);
	align-items: center;
}

.wc_payment_method > label {
	display: flex;
	gap: var(--drc-space-2);
	align-items: center;
	min-height: var(--drc-touch);
	margin: 0;
	font-weight: var(--drc-fw-semibold);
	cursor: pointer;
}

.wc_payment_method > label img {
	max-height: 1.75rem;
	width: auto;
}

.wc_payment_method > .payment_box {
	grid-column: 1 / -1;
}

.wc_payment_method .payment_box {
	margin-block: var(--drc-space-2) var(--drc-space-4);
	padding: var(--drc-space-4);
	border-radius: var(--drc-radius-sm);
	background-color: var(--drc-white);
	color: var(--drc-text);
	font-size: var(--drc-fs-sm);
}

.wc_payment_method .payment_box > p:first-child {
	margin-block-start: 0;
}

.wc_payment_method .payment_box > p:last-child {
	margin-block-end: 0;
}

.wc_payment_method .payment_box iframe {
	max-width: 100%;
}

#payment .place-order {
	margin-block-end: 0;
}

.woocommerce-terms-and-conditions-wrapper {
	margin-block-end: var(--drc-space-4);
	font-size: var(--drc-fs-sm);
}

.woocommerce-privacy-policy-text {
	color: var(--drc-text-muted);
}

.woocommerce-terms-and-conditions-wrapper a {
	text-decoration: underline;
}

.woocommerce-terms-and-conditions-wrapper .form-row .checkbox {
	display: flex;
	gap: var(--drc-space-3);
	align-items: center;
	min-height: var(--drc-touch);
	margin-block-end: 0;
}

#place_order {
	display: block;
	width: 100%;
	min-height: 3.25rem;
	font-size: var(--drc-fs-h4);
}

.woocommerce-NoticeGroup {
	margin-block-end: var(--drc-space-5);
}

.woocommerce-NoticeGroup .woocommerce-error {
	margin-block-end: 0;
}

.woocommerce-thankyou-order-received {
	margin-block-end: var(--drc-space-5);
	font-size: var(--drc-fs-h3);
	font-weight: var(--drc-fw-bold);
	line-height: var(--drc-lh-tight);
}

.woocommerce-order-overview {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
	gap: var(--drc-gap);
	margin: 0 0 var(--drc-space-7);
	padding: 0;
	list-style: none;
}

.woocommerce-order-overview > li {
	padding: var(--drc-space-4);
	border: 1px solid var(--drc-border);
	border-radius: var(--drc-radius);
	background-color: var(--drc-surface-alt);
	color: var(--drc-text-muted);
	font-size: var(--drc-fs-xs);
	font-weight: var(--drc-fw-semibold);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	overflow-wrap: anywhere;
}

.woocommerce-order-overview > li > strong {
	display: block;
	margin-block-start: var(--drc-space-2);
	color: var(--drc-text);
	font-size: var(--drc-fs-body);
	letter-spacing: normal;
	text-transform: none;
}

.woocommerce-order-details,
.woocommerce-customer-details {
	margin-block-end: var(--drc-space-7);
}

.woocommerce-table--order-details {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--drc-fs-sm);
}

.woocommerce-table--order-details :is(th, td) {
	padding-block: var(--drc-space-3);
	border-block-end: 1px solid var(--drc-border);
	text-align: start;
	vertical-align: top;
}

.woocommerce-table--order-details :is(th, td):last-child {
	font-variant-numeric: tabular-nums;
	text-align: end;
	white-space: nowrap;
}

.woocommerce-table--order-details tfoot tr:last-child :is(th, td) {
	color: var(--drc-navy);
	font-size: var(--drc-fs-h4);
	font-weight: var(--drc-fw-bold);
}

.woocommerce-columns--addresses {
	display: grid;
	gap: var(--drc-gap-lg);
}

@media (min-width: 640px) {

	.woocommerce-columns--addresses {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.woocommerce-column__title {
	font-size: var(--drc-fs-h4);
}

.woocommerce-customer-details address {
	padding: var(--drc-space-4);
	border: 1px solid var(--drc-border);
	border-radius: var(--drc-radius);
	font-size: var(--drc-fs-sm);
	font-style: normal;
	line-height: var(--drc-lh-base);
}

.wp-block-woocommerce-checkout {
	font-size: var(--drc-fs-body);
}

.wp-block-woocommerce-checkout :is(input, select, textarea) {
	border-radius: var(--drc-radius-sm);
}

.wp-block-woocommerce-checkout .wc-block-components-button {
	border-radius: var(--drc-radius-sm);
	font-weight: var(--drc-fw-semibold);
}

.wp-block-woocommerce-checkout .wc-block-components-panel {
	border-color: var(--drc-border);
}

.drc-header--quiet {
	position: static;
}

.drc-header--quiet .drc-header__row {
	display: flex;
	justify-content: space-between;
}

.drc-header__quiet-aside {
	display: flex;
	align-items: center;
	gap: var(--drc-space-4);
	font-size: var(--drc-fs-sm);
}

.drc-header__quiet-aside .drc-phone {
	display: inline-flex;
	align-items: center;
	gap: var(--drc-space-2);
	white-space: nowrap;
	text-decoration: none;
}

.drc-header__quiet-aside .drc-icon {
	width: 1rem;
	height: 1rem;
}
