/**
 * Checkout / cart: CRC prices stay on one line.
 * Mobile: fashion-retail order summary (grid, not a squeezed table).
 */

.form-row.th-checkout-hide,
.woocommerce-checkout .form-row.th-checkout-hide,
.woocommerce-address-fields .form-row.th-checkout-hide {
	display: none !important;
}

.woocommerce-billing-fields__field-wrapper .form-row-wide {
	clear: both;
}

#ship-to-different-address,
.woocommerce-checkout .woocommerce-shipping-fields {
	display: none !important;
}

.woocommerce-checkout #order_comments {
	min-height: 168px !important;
	height: auto !important;
	overflow: auto;
	line-height: 1.5 !important;
	white-space: pre-wrap;
	word-break: break-word;
	box-sizing: border-box;
}

.woocommerce-checkout #order_comments::placeholder,
.woocommerce-checkout #order_comments::-webkit-input-placeholder {
	white-space: pre-wrap;
	word-break: break-word;
	line-height: 1.5;
	opacity: 1;
}
.woocommerce-cart-form .woocommerce-Price-amount,
.cart_totals .woocommerce-Price-amount,
.shop_table.order_details .woocommerce-Price-amount {
	white-space: nowrap;
}

@media screen and (max-width: 767px) {
	form.checkout.woocommerce-checkout.jas-row {
		width: 100%;
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
		box-sizing: border-box;
	}

	.woocommerce-checkout .jas-col-xs-12 {
		padding-left: 20px;
		padding-right: 20px;
		max-width: 100%;
	}

	.woocommerce-checkout #order_comments {
		min-height: 200px !important;
		padding: 12px 14px;
		font-size: 14px;
		line-height: 1.55 !important;
	}

	#order_review_heading {
		margin: 0 0 14px;
		letter-spacing: 0.06em;
	}

	#order_review,
	.woocommerce-checkout-review-order {
		max-width: 100%;
		overflow-x: hidden;
	}

	.woocommerce-checkout-review-order-table.shop_table {
		display: block;
		width: 100%;
		max-width: 100%;
		margin: 0;
		padding: 4px 16px 8px;
		border: 1px solid #e8e8e8;
		border-radius: 8px;
		box-sizing: border-box;
		background: #fff;
	}

	.woocommerce-checkout-review-order-table thead,
	.woocommerce-checkout-review-order-table tbody,
	.woocommerce-checkout-review-order-table tfoot {
		display: block;
		width: 100%;
	}

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

	.woocommerce-checkout-review-order-table th,
	.woocommerce-checkout-review-order-table td,
	.woocommerce-checkout-review-order-table tr {
		border: 0 !important;
		box-shadow: none !important;
	}

	.woocommerce-checkout-review-order-table tbody tr.cart_item {
		display: grid;
		grid-template-columns: 64px minmax(0, 1fr);
		grid-template-areas:
			"thumb info"
			"thumb price";
		column-gap: 14px;
		row-gap: 8px;
		align-items: start;
		width: 100%;
		margin: 0;
		padding: 16px 0;
		border-bottom: 1px solid #eeeeee !important;
		box-sizing: border-box;
	}

	.woocommerce-checkout-review-order-table tbody tr.cart_item:last-child {
		border-bottom: 0 !important;
	}

	.woocommerce-checkout-review-order-table tbody tr.cart_item td {
		display: block;
		width: auto;
		min-width: 0;
		max-width: 100%;
		padding: 0 !important;
		margin: 0;
		text-align: left;
	}

	.woocommerce-checkout-review-order-table tbody td.product-thumb {
		grid-area: thumb;
	}

	.woocommerce-checkout-review-order-table .product-thumb img,
	.woocommerce-checkout-review-order td.product-thumb img {
		display: block;
		width: 64px;
		height: 64px;
		max-width: 64px !important;
		object-fit: cover;
		border-radius: 6px;
		background: #f6f6f6;
	}

	.woocommerce-checkout-review-order-table tbody td.item-name,
	.woocommerce-checkout-review-order-table tbody td.product-name {
		grid-area: info;
		color: #1a1a1a;
		font-size: 14px;
		font-weight: 500;
		line-height: 1.4;
		overflow-wrap: break-word;
		word-break: normal;
	}

	.woocommerce-checkout-review-order-table tbody .product-quantity {
		display: block;
		margin-top: 4px;
		color: #757575;
		font-size: 12px;
		font-weight: 400;
		line-height: 1.3;
		white-space: nowrap;
	}

	.woocommerce-checkout-review-order-table tbody .variation,
	.woocommerce-checkout-review-order-table tbody .product-bundle {
		display: block;
		margin-top: 4px;
		color: #757575;
		font-size: 12px;
		font-weight: 400;
		line-height: 1.35;
	}

	.woocommerce-checkout-review-order-table tbody td.product-total {
		grid-area: price;
		text-align: left;
		line-height: 1.2;
	}

	.woocommerce-checkout-review-order-table tbody .woocommerce-Price-amount {
		color: #bc8980 !important;
		font-size: 15px !important;
		font-weight: 600;
		letter-spacing: 0.01em;
		white-space: nowrap !important;
	}

	.woocommerce-checkout-review-order-table tfoot tr {
		display: flex;
		flex-wrap: nowrap;
		align-items: flex-start;
		justify-content: space-between;
		gap: 12px;
		width: 100%;
		margin: 0;
		padding: 12px 0;
		box-sizing: border-box;
	}

	.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal {
		border-top: 1px solid #eeeeee !important;
		margin-top: 4px;
		padding-top: 16px;
	}

	.woocommerce-checkout-review-order-table tfoot tr.order-total {
		border-top: 1px solid #e0e0e0 !important;
		padding-top: 14px;
		padding-bottom: 8px;
	}

	.woocommerce-checkout-review-order-table tfoot th,
	.woocommerce-checkout-review-order-table tfoot td {
		display: block;
		width: auto;
		min-width: 0;
		padding: 0 !important;
		margin: 0;
		color: #1a1a1a;
		font-size: 14px;
		line-height: 1.4;
		white-space: normal;
	}

	.woocommerce-checkout-review-order-table tfoot th {
		flex: 1 1 auto;
		text-align: left;
		font-weight: 500;
	}

	.woocommerce-checkout-review-order-table tfoot td {
		flex: 0 1 auto;
		text-align: right;
	}

	.woocommerce-checkout-review-order-table tfoot tr.shipping {
		flex-wrap: wrap;
	}

	.woocommerce-checkout-review-order-table tfoot tr.shipping th {
		flex: 1 1 100%;
	}

	.woocommerce-checkout-review-order-table tfoot tr.shipping td {
		flex: 1 1 100%;
		text-align: left;
		color: #666;
		font-size: 13px;
	}

	.woocommerce-checkout-review-order-table tfoot .woocommerce-Price-amount {
		color: #1a1a1a !important;
		font-size: 14px !important;
		font-weight: 600;
		white-space: nowrap !important;
	}

	.woocommerce-checkout-review-order-table tfoot tr.order-total th,
	.woocommerce-checkout-review-order-table tfoot tr.order-total td {
		font-size: 16px;
		font-weight: 700;
	}

	.woocommerce-checkout-review-order-table tfoot tr.order-total .woocommerce-Price-amount {
		color: #bc8980 !important;
		font-size: 16px !important;
		font-weight: 700;
	}

	.woocommerce-cart-form .product-price .woocommerce-Price-amount,
	.woocommerce-cart-form .product-subtotal .woocommerce-Price-amount,
	.cart_totals .woocommerce-Price-amount {
		white-space: nowrap !important;
	}
}

/* Thank-you / order view: address titles match checkout h3 (16px, bold, uppercase). */
.woocommerce-customer-details .woocommerce-column__title,
.woocommerce-order .woocommerce-customer-details h2,
.woocommerce-order-details .woocommerce-customer-details h2,
.woocommerce-view-order .woocommerce-customer-details h2 {
	font-size: 16px !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	line-height: 1.3;
	margin: 0 0 10px;
}

/* Cart shipping calculator: labels above fields, left-aligned (not squeezed in the totals column). */
.cart_totals .woocommerce-shipping-calculator {
	display: block;
	width: 100%;
	margin-top: 12px;
	text-align: left;
}

.cart_totals .shipping-calculator-button {
	display: inline-block;
	margin: 8px 0 0;
	text-align: left;
}

.cart_totals .shipping-calculator-form,
.cart_totals .shipping-calculator-form p,
.cart_totals .shipping-calculator-form .form-row,
.cart_totals .shipping-calculator-form span {
	float: none !important;
	width: 100% !important;
	max-width: 100%;
	clear: both;
	text-align: left !important;
	margin-left: 0;
	margin-right: 0;
}

.cart_totals .shipping-calculator-form .form-row {
	margin: 0 0 12px;
	padding: 0;
	border: 0;
	position: static;
}

.cart_totals .shipping-calculator-form .form-row label,
.cart_totals .shipping-calculator-form label {
	display: block !important;
	float: none !important;
	width: auto !important;
	margin: 0 0 6px;
	padding: 0;
	text-align: left !important;
	font-weight: 600;
	line-height: 1.3;
}

.cart_totals #calc_shipping_country_field,
.cart_totals #calc_shipping_postcode_field {
	display: none !important;
}

.cart_totals .shipping-calculator-form select,
.cart_totals .shipping-calculator-form input.input-text,
.cart_totals .shipping-calculator-form .select2-container {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	text-align: left !important;
	box-sizing: border-box;
}

.cart_totals .shipping-calculator-form .select2-selection,
.cart_totals .shipping-calculator-form .select2-selection__rendered {
	text-align: left !important;
}

.cart_totals .shipping-calculator-form button {
	width: 100%;
	margin: 4px 0 0;
}
