/*
	Theme Name: aqualeader
	Theme URI: https://aqualeader.co.uk/
	Description: Custom theme for aqualeader
	Author: Ultimately Better
	Author URI: https://ultimatelybetter.com
	Version: 1
*/

/* RESETS */
* { margin: 0; padding: 0; }
*, *:before, *:after { box-sizing: border-box; }

html {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	word-wrap: break-word;

	--default-border-radius: 8px;
	--default-border-radius-large: 16px;
	--default-gap: 16px;
}

a {
	text-underline-offset: 3px;
}
a.button:hover {
	text-decoration: none !important;
}

input, select, textarea, button {
	border: 1px solid;
	border-radius: var(--default-border-radius);
	font: inherit;
	font-size: var(--wp--preset--font-size--small);
	padding: 0.5rem;
}
button, input[type=submit] {
	padding: 0.5rem 1rem;
}

.site-logo {
	position: absolute;
	left: calc((100% - var(--wp--style--global--content-size)) / 2);
	z-index: 10;
}

.wp-block-navigation .has-child .wp-block-navigation__submenu-container {
	min-width: 300px !important;
	z-index: 15;
}

.free-trial-button {
	z-index: 10;
}

.woo-inner {
	margin: 0;
	padding: 0;
}

	ul.products {
		display: grid;
		gap: var(--default-gap);
		list-style: none;
		max-width: var(--wp--style--global--wide-size);
	}
	ul.products.columns-2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	ul.products.columns-3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	ul.products.columns-4 {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

		ul.products li {
			background-color: var(--wp--preset--color--light-grey);
			border-radius: var(--default-border-radius);
			padding: var(--wp--preset--spacing--40);
		}
			ul.products li.product-category a,
			ul.products li.product { /* this also applies to product-category items because woocommerce, but has no visual impact */
				display: flex;
				flex-wrap: nowrap;
				gap: var(--default-gap);
			}
				ul.products a.woocommerce-LoopProduct-link,
				ul.products li.product-category a img {
					height: auto;
					max-width: 30%;
				}
					ul.products a.woocommerce-LoopProduct-link img {
						height: auto;
						width: 100%;
					}
				ul.products .woocommerce-loop-category__title {
					color: var(--wp--preset--color--navy);
					font-size: var(--wp--preset--font-size--medium);
				}
				ul.products .category-description {
					color: var(--wp--preset--color--black);
					font-size: var(--wp--preset--font-size--x-small);
				}
				ul.products a.add_to_cart_button,
				ul.products .fake-button {
					background-color: var(--wp--preset--color--cerulean);
					border-radius: var(--default-border-radius);
					color: var(--wp--preset--color--white);
					display: block;
					font-size: var(--wp--preset--font-size--x-small);
					font-weight: bold;
					padding: 0.5rem 1rem;
					width: max-content;
				}

.single-product {}
	.single-product .woo-inner > .product {
		grid-gap: var(--wp--preset--spacing--60);
		grid-template-columns: 50% 50%;
		display: grid;
		margin: 0 0 var(--wp--preset--spacing--60);
		position: relative;
	}
		.single-product .woocommerce-product-gallery__wrapper {
			display: flex;
			gap: var(--default-gap);
			flex-wrap: wrap;
		}
			.single-product .woocommerce-product-gallery__wrapper .splide__list div,
			.single-product .splide__slide {
				align-items: center;
				background-color: var(--wp--preset--color--light-grey);
				border-radius: var(--default-border-radius);
				display: flex;
				justify-content: center;
				padding: var(--wp--preset--spacing--20);
				width: 100px;
			}
				.single-product .woocommerce-product-gallery__wrapper .splide__list div img,
				.single-product .splide__slide img {
					display: block;
					height: auto;
					width: 100%;
				}
			.single-product .woocommerce-product-gallery__wrapper .splide__list div:first-of-type {
				width: 100%;
			}
				.single-product .woocommerce-product-gallery__wrapper .splide__list div:first-of-type img {
					max-height: 50vh;
					width: auto;
				}

			.single-product .product .woocommerce-product-thumbnails {
				padding: 8px calc(var(--wp--preset--spacing--60) + 7px + 44px);
				display: flex;
			}

		.single-product .summary {
			padding-top: var(--wp--preset--spacing--60);
		}
			.single-product .summary .product_meta {
				color: var(--wp--preset--color--navy);
				font-size:var(--wp--preset--font-size--x-small);
			}
				.single-product .summary .product_meta > span {
					font-weight: 600;
					padding-right: 1rem;
				}
				.single-product .summary .product_meta > span:not(.sku_wrapper, .posted_in) {
					display: none;
				}
				.single-product .summary .product_meta .sku,
				.single-product .summary .product_meta a {
					font-weight: 400;
				}
				.single-product .summary .product_meta a {
					color: var(--wp--preset--color--cerulean);
				}
				.single-product .summary .product_meta a:hover {
					text-decoration: underline;
				}
			.single-product .summary .woocommerce-product-details__short-description {
				color: var(--wp--preset--color--black);
				font-size:var(--wp--preset--font-size--small);
			}

		.single-product .variations_form.cart {
			align-items: flex-end;
			display: flex;
			gap: var(--default-gap);
			justify-content: space-between;
			margin: var(--wp--preset--spacing--60) 0;
		}
			.single-product .variations_form tr,
			.single-product .variations_form .woocommerce-variation-add-to-cart {
				display: flex;
				flex-wrap: wrap;
				gap: var(--default-gap);
			}
				.single-product .variations_form th {
					text-align: left;
					width: 100%;
				}

			.aq-swatches {
				display: flex;
				flex-wrap: wrap;
				gap: var(--default-gap);
			}
				.aq-swatch {
					background-color: var(--wp--preset--color--light-grey);
					border: 2px solid;
					border-radius: var(--default-border-radius);
					color: var(--wp--preset--color--navy);
					cursor: pointer;
					font: inherit;
					font-size: var(--wp--preset--font-size--small);
					font-weight: 600;
					padding: 0.5rem 1rem;
				}
				.aq-swatch:hover {
					color: var(--wp--preset--color--light-blue);
				}
				.aq-swatch.active {
					background-color: var(--wp--preset--color--yellow);
					border-color: var(--wp--preset--color--mid-blue);
					color: var(--wp--preset--color--navy);
				}

				.aq-swatches:has(.active) .aq-swatch:not(.active) {
					color: var(--wp--preset--color--mid-grey);
				}
			.reset_variations { display: none !important; }

			.single-product .variations_form .woocommerce-variation-add-to-cart {
				flex-wrap: nowrap;
				max-width: 150px;
			}
				.single-product .woocommerce-variation-price {
					color: var(--wp--preset--color--navy);
					font-weight: 700;
					margin-bottom: var(--default-gap);
				}
				.single-product .woocommerce-variation-add-to-cart input[type=number] {
					border: 2px solid var(--wp--preset--color--light-grey);
					max-width: 60px;
				}
				.single-product .woocommerce-variation-add-to-cart button.single_add_to_cart_button {
					background: var(--wp--preset--color--navy) url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NDAgNjQwIj48cGF0aCBmaWxsPSIjZmZmZmZmIiBkPSJNMzIwIDY0QzMyNi42IDY0IDMzMi45IDY2LjcgMzM3LjQgNzEuNUw0ODEuNCAyMjMuNUw0ODEuOSAyMjRMNTYwIDIyNEM1NzcuNyAyMjQgNTkyIDIzOC4zIDU5MiAyNTZDNTkyIDI3MC41IDU4Mi40IDI4Mi43IDU2OS4yIDI4Ni43TDUyMy4xIDQ5My45QzUxNi42IDUyMy4yIDQ5MC42IDU0NCA0NjAuNiA1NDRMMTc5LjMgNTQ0QzE0OS4zIDU0NCAxMjMuMyA1MjMuMiAxMTYuOCA0OTMuOUw3MC44IDI4Ni43QzU3LjYgMjgyLjggNDggMjcwLjUgNDggMjU2QzQ4IDIzOC4zIDYyLjMgMjI0IDgwIDIyNEwxNTguMSAyMjRMMTU4LjYgMjIzLjVMMzAyLjYgNzEuNUMzMDcuMSA2Ni43IDMxMy40IDY0IDMyMCA2NHpNMzIwIDEyMi45TDIyNC4yIDIyNEw0MTUuOCAyMjRMMzIwIDEyMi45ek0yNDAgMzI4QzI0MCAzMTQuNyAyMjkuMyAzMDQgMjE2IDMwNEMyMDIuNyAzMDQgMTkyIDMxNC43IDE5MiAzMjhMMTkyIDQ0MEMxOTIgNDUzLjMgMjAyLjcgNDY0IDIxNiA0NjRDMjI5LjMgNDY0IDI0MCA0NTMuMyAyNDAgNDQwTDI0MCAzMjh6TTMyMCAzMDRDMzA2LjcgMzA0IDI5NiAzMTQuNyAyOTYgMzI4TDI5NiA0NDBDMjk2IDQ1My4zIDMwNi43IDQ2NCAzMjAgNDY0QzMzMy4zIDQ2NCAzNDQgNDUzLjMgMzQ0IDQ0MEwzNDQgMzI4QzM0NCAzMTQuNyAzMzMuMyAzMDQgMzIwIDMwNHpNNDQ4IDMyOEM0NDggMzE0LjcgNDM3LjMgMzA0IDQyNCAzMDRDNDEwLjcgMzA0IDQwMCAzMTQuNyA0MDAgMzI4TDQwMCA0NDBDNDAwIDQ1My4zIDQxMC43IDQ2NCA0MjQgNDY0QzQzNy4zIDQ2NCA0NDggNDUzLjMgNDQ4IDQ0MEw0NDggMzI4eiIvPjwvc3ZnPg==") no-repeat center center / 1.5rem;
					border-color: var(--wp--preset--color--navy);
					color: var(--wp--preset--color--white);
					cursor: pointer;
					overflow: hidden;
					text-indent: 2000px;
					white-space: nowrap;
				}
				.single-product .woocommerce-variation-add-to-cart button.single_add_to_cart_button:hover {
					background-color: var(--wp--preset--color--cerulean);
					border-color: var(--wp--preset--color--cerulean);
				}

		.single-product .product-description {
			align-content: center;
		}
			.single-product .product-description p:first-of-type {
				color: var(--wp--preset--color--navy);
				font-weight: 700;
			}
		.single-product .product-specs {
			background-color: var(--wp--preset--color--light-grey);
			border-radius: var(--default-border-radius);
			color: var(--wp--preset--color--black);
			font-size: var(--wp--preset--font-size--small);
			padding: var(--wp--preset--spacing--60);
		}
			.single-product .product-specs p {
				border-bottom: 1px solid #fff;
				line-height: 1;
				margin: 0;
				padding: var(--wp--preset--spacing--30) 0;
			}
			.single-product .product-specs p:last-of-type {
				border-bottom: 0 none;
			}
				.single-product .product-specs b,
				.single-product .product-specs strong {
					color: var(--wp--preset--color--mid-blue);
				}

		.single-product .key-points {
			background-color: var(--wp--preset--color--cerulean);
			color: var(--wp--preset--color--white);
			padding-top: var(--wp--preset--spacing--60);
			padding-bottom: var(--wp--preset--spacing--60);
			max-width: 100%;
		}
			.single-product .key-points > div {
				column-gap: var(--wp--preset--spacing--60);
				display: flex;
				justify-content: space-between;
				row-gap: var(--default-gap);
				flex-wrap: wrap;
				font-size: var(--wp--preset--font-size--small);
			}
				.single-product .key-points > div > * {
					max-width: calc( 50% - var(--wp--preset--spacing--60) );
				}

		.single-product .up-sells,
		.single-product .related {
			padding-top: var(--wp--preset--spacing--60);
			padding-bottom: var(--wp--preset--spacing--60);
		}
			.single-product .up-sells h2,
			.single-product .related h2 {
				margin-bottom: var(--wp--preset--spacing--60);
			}
			.single-product .up-sells ul.products li.product,
			.single-product .related ul.products li.product {
				flex-wrap: wrap;
				justify-content: center;
				text-align: center;
			}
				.single-product .up-sells ul.products li.product a.woocommerce-LoopProduct-link,
				.single-product .related ul.products li.product a.woocommerce-LoopProduct-link {
					max-width: 100%;
				}
					.single-product .up-sells ul.products li.product a.woocommerce-LoopProduct-link img,
					.single-product .related ul.products li.product a.woocommerce-LoopProduct-link img {
						display: block;
						height: 200px;
						width: 200px;
					}
				.single-product .up-sells ul.products li.product .product-short-description,
				.single-product .related ul.products li.product .product-short-description {
					display: none;
				}
				.single-product .up-sells ul.products li.product .woocommerce-loop-product__title,
				.single-product .related ul.products li.product .woocommerce-loop-product__title {
					font-size: var(--wp--preset--font-size--medium);
				}

.splide__arrows {
	align-items: center;
	display: flex;
	gap: 32px;
	justify-content: space-between;
	position: absolute;
	top: 50%;
	left: var(--wp--preset--spacing--40);
	right: var(--wp--preset--spacing--40);
	transform: translateY(-50%);
}
	.splide__arrows .splide__arrow {
		align-items: center;
		background-color: var(--wp--preset--color--light-grey);
		border: none;
		border-radius: 100%;
		cursor: pointer;
		display: flex;
		height: 44px;
		justify-content: center;
		padding: 0;
		width: 44px;
	}
	.splide__arrows .splide__arrow:hover {
		background-color: var(--wp--preset--color--mid-grey);
	}
		.splide__arrows .splide__arrow svg {
			stroke: var(--wp--preset--color--navy);
		}
		.splide__arrows .splide__arrow:not([disabled]):hover svg {
			stroke: var(--wp--preset--color--cerulean);
		}
		.splide__arrows .splide__arrow.splide__arrow--next svg {
			transform: rotate(180deg);
		}

.wp-block-details {}
	.wp-block-details summary {
		color: var(--wp--preset--color--navy);
		font-weight: 700;
	}
	.wp-block-details p:first-of-type {
		margin-top: 1rem;
	}

.free-trial-image {
	position: relative;
	z-index: 2;
}