/* Shared mobile catalogue and product corrections tested at 375x667. */
@media only screen and (max-width: 768px) {
	/* Keep sorting on its own row and start the catalogue beneath it. */
	.woocommerce .woocommerce-ordering,
	.woocommerce-page .woocommerce-ordering {
		float: none;
		clear: both;
		display: block;
		width: 100%;
		margin: 0 0 16px;
		text-align: left;
	}

	.woocommerce .woocommerce-ordering select,
	.woocommerce-page .woocommerce-ordering select {
		box-sizing: border-box;
		width: 100%;
		min-height: 44px;
		padding: 8px 10px;
	}

	.woocommerce ul.products,
	.woocommerce-page ul.products {
		clear: both !important;
		width: 100%;
	}

	/* Use half of the available card width and keep images centred. */
	.woocommerce ul.products li.product a img,
	.woocommerce-page ul.products li.product a img {
		display: block;
		box-sizing: border-box;
		width: 50% !important;
		max-width: 50%;
		height: auto !important;
		aspect-ratio: 1 / 1;
		object-fit: contain;
		margin: 0 auto !important;
		padding: 8px 4px 0;
	}

	.woocommerce ul.products li.product .woocommerce-loop-category__title,
	.woocommerce-page ul.products li.product .woocommerce-loop-category__title,
	.woocommerce ul.products li.product .woocommerce-loop-product__title,
	.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
		display: block !important;
		visibility: visible;
		height: auto;
		min-height: 44px;
		padding: 9px 6px;
		font-size: 14px !important;
		line-height: 1.3;
		color: #fff !important;
		background: #8bbf44;
		text-align: center;
	}

	/* Anchor homepage category titles to the bottom edge of every card. */
	.woocommerce ul.products li.product-category > a,
	.woocommerce-page ul.products li.product-category > a {
		display: grid !important;
		grid-template-rows: minmax(0, 1fr) auto;
		height: 100%;
	}

	.woocommerce ul.products li.product-category > a > img,
	.woocommerce-page ul.products li.product-category > a > img {
		grid-row: 1;
		align-self: center;
	}

	.woocommerce ul.products li.product-category .woocommerce-loop-category__title,
	.woocommerce-page ul.products li.product-category .woocommerce-loop-category__title {
		grid-row: 2;
		align-self: end;
		box-sizing: border-box;
		width: 100%;
		margin: 0 !important;
	}

	/* Archive cards use an inline price wrapper. Give it the full card width
	 * so the VAT-inclusive line can align against the actual right edge. */
	.woocommerce ul.products li.product .price .prijsblok4,
	.woocommerce-page ul.products li.product .price .prijsblok4 {
		display: block;
		box-sizing: border-box;
		width: 100%;
		text-align: right !important;
	}

	.woocommerce ul.products li.product .price .prijsblok4 .excl_grouped,
	.woocommerce ul.products li.product .price .prijsblok4 .incl_grouped,
	.woocommerce-page ul.products li.product .price .prijsblok4 .excl_grouped,
	.woocommerce-page ul.products li.product .price .prijsblok4 .incl_grouped {
		float: none !important;
		display: block;
		box-sizing: border-box;
		width: 100%;
		text-align: right !important;
	}

	.woocommerce ul.products li.product .price .prijsblok4 br,
	.woocommerce-page ul.products li.product .price .prijsblok4 br {
		display: none;
	}

	.woocommerce ul.products li.product .price .prijsblok4 .vanaf,
	.woocommerce-page ul.products li.product .price .prijsblok4 .vanaf {
		float: left;
	}

	/* Fit all three product tabs on one readable row. */
	.woocommerce div.product .woocommerce-tabs ul.tabs {
		display: flex;
		align-items: stretch;
		justify-content: center;
		gap: 3px;
		overflow-x: auto;
		margin: 0 0 16px;
		padding: 0 !important;
	}

	.woocommerce div.product .woocommerce-tabs ul.tabs li {
		float: none;
		flex: 0 1 auto;
		display: block;
		margin: 0 !important;
		padding: 0 !important;
		border-radius: 4px 4px 0 0;
	}

	.woocommerce div.product .woocommerce-tabs ul.tabs li a {
		display: block;
		padding: 8px 5px !important;
		font-size: 11px;
		line-height: 1.2;
		white-space: nowrap;
		text-align: center;
	}

	/* Keep long grouped-product lists usable and the cart button nearby. */
	.single-product form.grouped_form .grouped-product-scroll {
		clear: both;
		overflow-x: hidden;
		overflow-y: auto;
		max-height: 55vh;
		margin-bottom: 12px;
		border: 1px solid #d7ddd8;
		border-radius: 5px;
		-webkit-overflow-scrolling: touch;
	}

	.single-product form.grouped_form .group_table {
		width: 100%;
		min-width: 0;
		margin: 0;
	}

	.single-product form.grouped_form .group_table tr {
		display: grid;
		grid-template-columns: 88px minmax(0, 1fr);
		width: 100%;
	}

	.single-product form.grouped_form .group_table td {
		float: none !important;
		display: block;
		box-sizing: border-box;
		max-width: none !important;
		padding: 8px !important;
	}

	.single-product form.grouped_form .group_table td.woocommerce-grouped-product-list-item__quantity {
		grid-column: 1;
		width: 88px !important;
		text-align: center;
	}

	.single-product form.grouped_form .group_table td.woocommerce-grouped-product-list-item__label {
		grid-column: 2;
		width: 100% !important;
		margin: 0;
		text-align: left;
	}

	.single-product form.grouped_form .group_table td.woocommerce-grouped-product-list-item__price {
		grid-column: 1 / -1;
		width: 100% !important;
		text-align: right;
	}

	.single-product form.grouped_form .group_table td.woocommerce-grouped-product-list-item__price .prijsblok3,
	.single-product form.grouped_form .group_table td.woocommerce-grouped-product-list-item__price .excl_simpel_product,
	.single-product form.grouped_form .group_table td.woocommerce-grouped-product-list-item__price .incl_simpel_product {
		float: none !important;
		display: block;
		box-sizing: border-box;
		width: 100%;
		text-align: right !important;
	}

	.single-product form.grouped_form .group_table td.woocommerce-grouped-product-list-item__price .prijsblok3 br {
		display: none;
	}

	.single-product form.grouped_form .group_table td.woocommerce-grouped-product-list-item__price .stock {
		clear: both;
	}

	.single-product form.grouped_form .quantity,
	.single-product form.grouped_form .quantity .qty {
		box-sizing: border-box;
		width: 72px !important;
		min-width: 72px;
		height: 44px;
		padding: 7px 5px;
		font-size: 16px !important;
		line-height: 1.2;
		text-align: center;
	}

	.single-product form.grouped_form .single_add_to_cart_button {
		position: static !important;
		float: none !important;
		display: block !important;
		width: 100%;
		min-height: 48px;
		margin: 0 0 16px !important;
		font-size: 15px !important;
		text-align: center;
	}

	/* Keep the quantity and order button available and readable on simple
	 * product pages, including products with four-digit quantities. */
	.single-product form.cart:not(.grouped_form) {
		display: flex !important;
		align-items: stretch;
		flex-wrap: wrap;
		gap: 8px;
		width: 100%;
	}

	.single-product form.cart:not(.grouped_form) .quantity {
		float: none !important;
		display: block !important;
		width: 96px !important;
		min-width: 96px;
		margin: 0 !important;
	}

	.single-product form.cart:not(.grouped_form) .quantity .qty {
		display: block !important;
		box-sizing: border-box;
		width: 96px !important;
		min-width: 96px;
		height: 48px;
		padding: 7px 6px;
		font-size: 16px !important;
		line-height: 1.2;
		text-align: center;
	}

	.single-product form.cart:not(.grouped_form) .single_add_to_cart_button {
		position: static !important;
		float: none !important;
		display: block !important;
		flex: 1 1 160px;
		min-height: 48px;
		margin: 0 !important;
		font-size: 15px !important;
		text-align: center;
	}
}
