/* Product Archive */
.product-card {
	min-height: 100%;
	display: flex;
}

.product-card .wp-block-woocommerce-product-image {
	aspect-ratio: 1/1;
	overflow: hidden;
}

.product-card .wp-block-woocommerce-product-image img {
	transition: transform 0.3s ease-out;
}

.product-card .wp-block-woocommerce-product-image:has(a:hover,a:focus) img {
	transform: scale(1.05);
}

.product-card .wp-block-post-title a:hover {
	color: var(--wp--preset--color--brand-pink);
}

.shop-background-pattern {
	position: relative;
	overflow: hidden;
}

.shop-background-pattern > * {
	z-index: 1;
	position: relative;
}

.shop-background-pattern::after {
	content: "";
	position: absolute;
	width: 100%;
	background-image: url(../images/pink-gradient-notes.svg);
	bottom: 0;
	left: 0;
	background-size: contain;
	background-position: bottom left;
	background-repeat: no-repeat;
	aspect-ratio: 1440 / 529;
	transform:translateY(25%);
	z-index: 0;
	pointer-events: none;
}

.woocommerce.wc-block-catalog-sorting select.orderby,
.wc-block-product-categories__dropdown select,
.wp-block-categories-taxonomy-product_cat select {
	background-color: var(--wp--preset--color--base);
	border: 2px solid var(--wp--preset--color--brand-pink);
	border-radius: 50vw;
	color: var(--wp--preset--color--neutral-darkest);
	padding: 0.25rem 1rem;
	font-size: var(--wp--preset--font-size--medium);
	appearance: none;
	margin: 0;
	width: 100%;
	max-width: 100%;
}

.woocommerce-ordering,
.wc-block-product-categories__dropdown,
.wp-block-categories-taxonomy-product_cat {
	position: relative;
}

.woocommerce-ordering::after,
.wc-block-product-categories__dropdown::after,
.wp-block-categories-taxonomy-product_cat::after {
	content: "";
	background-color: currentColor;
	width: 1em;
	height: 1em;
	mask-image: url(../images/icon-chevron-down.svg);
	mask-size: contain;
	mask-repeat: no-repeat;
	mask-position: center;
	display: block;
	position: absolute;
	right: 1rem;
	top: 50%;
	transform: translateY(-50%);
}

.wc-block-product-categories.is-dropdown {
	gap: 0.5rem;
}

.wc-block-product-categories__button {
	background-color: var(--wp--preset--color--brand-pink);
	color: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--contrast);
	border-radius: 50vw;
}

@media screen and (max-width: 1080px) {
	.wc-block-product-template__responsive.columns-4 {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media screen and (max-width: 599px) {
	.wc-block-product-template__responsive.columns-4 {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (max-width: 429px) {
	.wc-block-product-template__responsive.columns-4 {
		grid-template-columns: 1fr;
	}
}

/* Mini Cart */

h2.wc-block-mini-cart__title {
	font-size: var(--wp--preset--font-size--medium-large);
	font-family: var(--wp--preset--font-family--subheading);
	font-weight: 600;
	color: var(--wp--preset--color--brand-blue);
	text-transform: uppercase;
}

table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name {
	text-decoration: none;
	font-weight: 500;
}

table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-metadata__description {
	display: none;
}

.wc-block-mini-cart__footer {
	border-top: 2px solid var(--wp--preset--color--brand-blue-light);
}

.wc-block-mini-cart__footer-actions .wp-block-woocommerce-mini-cart-cart-button-block.is-style-outline {
	box-shadow: unset !important;
	background-color: var(--wp--preset--color--yellow);
	color: var(--wp--preset--color--contrast);
	border: 1px solid var(--wp--preset--color--contrast) !important;
	--button-hover-background-color: var(--wp--preset--color--yellow-light);
}

.wc-block-mini-cart__footer-actions .wp-block-woocommerce-mini-cart-cart-button-block.is-style-outline:hover,
.wc-block-mini-cart__footer-actions .wp-block-woocommerce-mini-cart-cart-button-block.is-style-outline:focus {
	background-color: var(--button-hover-background-color);
	color: var(--button-hover-color);
}

.wc-block-mini-cart__footer-actions .wp-block-woocommerce-mini-cart-cart-button-block.is-style-outline:active {
	background-color: var(--wp--preset--color--base);
}

.wc-block-cart-item__remove-link {
	border-radius: 5px !important;
}

.wc-block-cart-item__remove-link:hover,
.wc-block-cart-item__remove-link:focus {
	color: var(--wp--preset--color--brand-blue) !important;
}

.wc-block-cart-item__remove-link:active {
	background-color: var(--wp--preset--color--brand-blue) !important;
	color: var(--wp--preset--color--base) !important;
}

/* Single Product */

.woocommerce .wc-block-product-description iframe {
	max-width: 100%;
}

.woocommerce .wp-block-woocommerce-product-image-gallery {
	max-width: unset;
}

.woocommerce div.product div.images {
	margin-bottom: 0;
}

.wp-block-woocommerce-product-image-gallery .woocommerce-product-gallery__image {
	border-radius: var(--wp--preset--border-radius--medium);
}

.woocommerce div.product div.images .flex-control-thumbs {
	margin: var(--wp--preset--spacing--30) 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--wp--preset--spacing--20);
}

.woocommerce div.product div.images .flex-control-thumbs li {
	width: unset;
	float: unset;
}

.wp-block-woocommerce-product-image-gallery .flex-control-thumbs img {
	border-radius: var(--wp--preset--border-radius--x-small);
}

.wp-block-button.wc-block-components-product-button.is-style-outline .wp-block-button__link {
	border-width: 1px;
	padding-left: 1.125em;
	padding-right: 1.125em;
}

.wp-block-button.wc-block-components-product-button.is-style-outline .wp-block-button__link,
.single_add_to_cart_button,
.wc-block-components-button {
	background-color: var(--wp--preset--color--base);
	display: inline-flex !important;
	align-items: center;
	gap: 0.5em;
	--button-hover-background-color: var(--wp--preset--color--yellow);
	--button-hover-color: var(--wp--preset--color--contrast)
}

.wp-block-button.wc-block-components-product-button.is-style-outline .wp-block-button__link:hover,
.single_add_to_cart_button:hover,
.wc-block-components-button:hover {
	background-color: var(--button-hover-background-color);
	color: var(--button-hover-color);
}

.wp-block-button.wc-block-components-product-button.is-style-outline .wp-block-button__link:active,
.single_add_to_cart_button:active,
.wc-block-components-button:active {
	--button-hover-background-color: var(--wp--preset--color--yellow-light);
}

.wp-block-woocommerce-product-collection h2.wp-block-heading {
	font-size: var(--wp--preset--font-size--xm-large);
}

.product-image-column {
	position: relative;
}

.product-audio-preview {
	color: var(--wp--preset--color--base);
	background-color: rgba(42, 11, 51, 0.50);
	border-top: 1px solid var(--wp--preset--color--white-50);
	backdrop-filter: blur(10px);
	padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
}

.product-audio-preview,
.product-audio-preview .mejs-audio {
	margin: 0;
}

.product-audio-preview .mejs-audio {
	background: transparent;
}

.product-audio-preview .mejs-audio .mejs-controls {
	background: transparent;
	padding: 0;
}

.product-audio-preview  .mejs-controls .mejs-time-rail .mejs-time-loaded {
	background-color: var(--wp--preset--color--rose-light);
}

.product-audio-preview .mejs-controls .mejs-time-rail .mejs-time-total,
.product-audio-preview .mejs-controls .mejs-time-rail span,
.product-audio-preview .mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-total,
.product-audio-preview .mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-current {
	border-radius: 50vw;
}

.product-audio-preview .mejs-controls .mejs-time-rail .mejs-time-current {
	background: var(--wp--preset--gradient--pink-purple-orange);
}


.wp-block-woocommerce-product-image-gallery:not(:has(.flex-control-thumbs)) + .product-audio-preview {
	position: absolute;
	bottom: 0;
	width: 100%;
	z-index: 1;
	border-bottom-left-radius: var(--wp--preset--border-radius--medium);
	border-bottom-right-radius: var(--wp--preset--border-radius--medium);
}

.product-inclusions-card-icon svg {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

@media screen and (max-width: 1080px) {
	.product-inclusion-cards {
		grid-template-columns: 1fr 1fr;
	}
}

@media screen and (max-width: 499px) {
	.product-inclusion-cards {
		grid-template-columns: 1fr;
	}

	.wp-block-woocommerce-product-button .add_to_cart_button::after,
	.single_add_to_cart_button::after {
		display: none !important;
	}
}

.wp-block-woocommerce-product-button a.added_to_cart {
	margin-top: 0;
	padding-top: 0;
	font-size: var(--wp--preset--font-size--tiny);
}

.wp-block-woocommerce-product-button .add_to_cart_button {
	gap: 0.5em;
}

.wp-block-woocommerce-product-button .add_to_cart_button::after,
.single_add_to_cart_button::after {
	content: "";
	width: 1em;
	height: 1em;
	display: block;
	mask-image: url(../images/icon-plus.svg);
	mask-size: contain;
	mask-repeat: no-repeat;
	mask-position: center;
	background-color: currentColor;
}

.woocommerce-account .wp-block-post-title, .woocommerce-account main .woocommerce, .woocommerce-cart .wp-block-post-title, .woocommerce-cart main .woocommerce, .woocommerce-checkout .wp-block-post-title, .woocommerce-checkout main .woocommerce
{
	max-width: var(--wp--style--global--content-size);
}

.variations {
	--wp--style--block-gap: 0.5rem;
}

.variations select,
.single-product .quantity .qty {
	border-radius: var(--wp--preset--border-radius--x-small);
	background-color: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--neutral-darkest);
}

.variations_form .woocommerce-variation-price {
	margin-bottom: var(--wp--preset--spacing--40);
}

.variations_form .woocommerce-variation-price .price {
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--large);
}

.woocommerce-variation-availability .out-of-stock {
	color: var(--wp--preset--color--rose-dark);
	font-weight: 500;
}

/* Cart page */

.wp-block-woocommerce-cart table.wc-block-cart-items {
	border-radius: var(--wp--preset--border-radius--x-small);
	overflow: hidden;
	border: 3px solid var(--wp--preset--color--brand-blue) !important;
	background-color: var(--wp--preset--color--base) !important;
}

.wp-block-woocommerce-cart table.wc-block-cart-items thead {
	background-color: var(--wp--preset--color--brand-blue) !important;
	color: var(--wp--preset--color--base);
}

.wp-block-woocommerce-cart table.wc-block-cart-items thead tr {
	text-transform: none;
}

.wp-block-woocommerce-cart table.wc-block-cart-items tbody tr td {
	border: none;
}

@media screen and (max-width:772px) {
	.wc-block-components-sidebar-layout {
		gap: var(--wp--preset--spacing--40);
	}

	.wp-block-woocommerce-cart table.wc-block-cart-items,
	.wp-block-woocommerce-cart table.wc-block-cart-items tbody {
		display: block;
	}

	.wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row {
		border-top: 2px solid var(--wp--preset--color--brand-blue-light);
		padding-left: var(--wp--preset--spacing--40) !important;
		padding-right: var(--wp--preset--spacing--40) !important;
	}

	.wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row:first-child {
		border-top: 0;
	}
}

@media screen and (min-width:773px) {
	.wp-block-woocommerce-cart table.wc-block-cart-items thead .wc-block-cart-items__header-image,
	.wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__image {
		padding-left: var(--wp--preset--spacing--40);
	}

	.wp-block-woocommerce-cart table.wc-block-cart-items thead .wc-block-cart-items__header-total,
	.wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__total {
		padding-right: var(--wp--preset--spacing--40);
	}

	.wp-block-woocommerce-cart table.wc-block-cart-items tbody tr td {
		border-top: 2px solid var(--wp--preset--color--brand-blue-light);
	}

	.wp-block-woocommerce-cart table.wc-block-cart-items tbody tr:first-child td {
		border-top: 0;
	}
}

.wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-components-product-metadata__description {
	display: none;
}

.wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-components-product-name,
.wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__total {
	text-decoration: none;
	font-size: var(--wp--preset--font-size--medium);
}

.wc-block-components-quantity-selector {
	color: var(--wp--preset--color--brand-blue);
	border-color: var(--wp--preset--color--brand-blue);
	border-radius: var(--wp--preset--border-radius--x-small);
}

.wp-block-woocommerce-cart-order-summary-block {
	background-color: var(--wp--preset--color--base);
	border: 3px solid var(--wp--preset--color--brand-blue) !important;
	border-radius: var(--wp--preset--border-radius--x-small);
	overflow: hidden;
}

.wp-block-woocommerce-cart-order-summary-block .wc-block-cart__totals-title {
	color: var(--wp--preset--color--base);
	background-color: var(--wp--preset--color--brand-blue);
	text-transform: none;
	padding-left: var(--wp--preset--spacing--40);
	padding-right: var(--wp--preset--spacing--40);
}

.wp-block-woocommerce-cart-order-summary-block > div {
	padding-left: var(--wp--preset--spacing--40);
	padding-right: var(--wp--preset--spacing--40);
	border-top: 2px solid var(--wp--preset--color--brand-blue-light);
}

.wp-block-woocommerce-cart-order-summary-block > div:first-of-type {
	border-top: 0;
}

.editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__header .wc-block-cart-items__header-product, table.wc-block-cart-items .wc-block-cart-items__header .wc-block-cart-items__header-product {
	visibility: visible;
	opacity: 0;
}

/* Checkout page */

.woocommerce form {
	--wc-form-border-color: var(--wp--preset--color--contrast);
	--wc-form-border-radius: var(--wp--preset--border-radius--x-small);
	--wc-form-color-background: var(--wp--preset--color--base);
	--wc-form-border-width: 1px;
	--wc-form-color-text: var(--wp--preset--color--neutral-darkest);
}

.woocommerce form .form-row .input-text, .woocommerce form .form-row select,
.wc-blocks-components-select .wc-blocks-components-select__select, .wc-blocks-components-select .wc-blocks-components-select__container,
.wc-block-components-form .wc-block-components-text-input input[type=email], .wc-block-components-form .wc-block-components-text-input input[type=number], .wc-block-components-form .wc-block-components-text-input input[type=password], .wc-block-components-form .wc-block-components-text-input input[type=tel], .wc-block-components-form .wc-block-components-text-input input[type=text], .wc-block-components-form .wc-block-components-text-input input[type=url], .wc-block-components-text-input input[type=email], .wc-block-components-text-input input[type=number], .wc-block-components-text-input input[type=password], .wc-block-components-text-input input[type=tel], .wc-block-components-text-input input[type=text], .wc-block-components-text-input input[type=url]
{
	border-radius: var(--wp--preset--border-radius--x-small);
	outline-color: var(--wp--preset--color--brand-blue);
}

.wc-block-checkout__terms.wc-block-checkout__terms--with-separator {
	border-color: var(--wp--preset--color--brand-blue-light);
}

.wp-block-woocommerce-checkout-order-summary-block {
	border-radius: var(--wp--preset--border-radius--x-small);
	border: 3px solid var(--wp--preset--color--brand-blue);
	overflow: hidden;
	background-color: var(--wp--preset--color--base);
}

.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-step__heading {
	background-color: var(--wp--preset--color--brand-blue);
	margin: 0;
	color: var(--wp--preset--color--base);
	padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
}

.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title > .wc-block-components-checkout-order-summary__title-text,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-step__heading > .wc-block-components-title {
	margin: 0;
}

.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__content > div,
.wp-block-woocommerce-checkout-order-summary-block .checkout-order-summary-block-fill > div {
	border-top: 2px solid var(--wp--preset--color--brand-blue-light);
}

.wc-block-components-order-summary-item .wc-block-components-product-metadata__description {
	display: none;
}

.wc-block-components-order-summary .wc-block-components-order-summary-item__quantity {
	border-color: var(--wp--preset--color--brand-blue-light);
}

.wc-block-components-radio-control--highlight-checked:after {
	color: var(--wp--preset--color--brand-blue);
	border-radius: var(--wp--preset--border-radius--x-small);
	border-width: 2px;
}

.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted, .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted {
	box-shadow: inset 0 0 0 2px var(--wp--preset--color--brand-blue);
	border-radius: var(--wp--preset--border-radius--x-small);
}

.wc-block-components-radio-control .wc-block-components-radio-control__input:checked,
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked {
	border-color: var(--wp--preset--color--brand-blue);
}

.wc-block-components-radio-control .wc-block-components-radio-control__input:checked:before {
	background-color: var(--wp--preset--color--brand-blue);
}

.wc-block-components-radio-control .wc-block-components-radio-control__input:focus,
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:focus {
	outline: none;
	box-shadow: 0px 0px 2px 1px var(--wp--preset--color--brand-blue-light);
}

.wc-block-components-checkbox .wc-block-components-checkbox__mark {
	fill: var(--wp--preset--color--brand-blue);
}

.wc-block-components-address-card {
	border: 2px solid var(--wp--preset--color--brand-blue-light);
	border-radius: var(--wp--preset--border-radius--x-small);
}

@media screen and (max-width:772px) {
	.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title {
		padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
	}
	.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__content.is-open > div {
		padding-left: var(--wp--preset--spacing--30);
		padding-right: var(--wp--preset--spacing--30);
	}
	.wp-block-woocommerce-checkout-order-summary-block .checkout-order-summary-block-fill {
		border: none;
	}
	.wp-block-woocommerce-checkout-order-summary-block.checkout-order-summary-block-fill-wrapper {
		padding:0;
		margin-bottom: var(--wp--preset--spacing--40);
	}
}

/* my account page */

.woocommerce-account .entry-content > .woocommerce {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50);
}

.woocommerce-account .entry-content > .woocommerce::before,
.woocommerce-account .entry-content > .woocommerce::after {
	display: none;
}

.woocommerce-account .woocommerce-MyAccount-content {
	flex-shrink: 1;
	flex-grow: 1;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
	width: unset;
	flex-basis: 20%;
	flex-grow: 1;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	margin: 0;
	border: 3px solid var(--wp--preset--color--brand-blue);
	border-radius: var(--wp--preset--border-radius--medium);
	overflow: hidden;
	position: sticky;
	top: calc(100px + var(--wp-admin--admin-bar--height, 0px));
}

.woocommerce-account .woocommerce-MyAccount-navigation ul > li.woocommerce-MyAccount-navigation-link {
	padding: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul > li.woocommerce-MyAccount-navigation-link:not(:last-child) {
	border-bottom: 2px solid var(--wp--preset--color--brand-blue-light);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul > li.woocommerce-MyAccount-navigation-link > a {
	display: block;
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
	text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul > li.woocommerce-MyAccount-navigation-link > a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation ul > li.woocommerce-MyAccount-navigation-link.is-active > a {
	background-color: var(--wp--preset--color--brand-blue-lightest);
	color:var(--wp--preset--color--contrast);
}

.woocommerce-account .entry-content > .woocommerce > *:not(.woocommerce-MyAccount-content,.woocommerce-MyAccount-navigation) {
	flex-basis: 100%;
}

.woocommerce-account form.woocommerce-form-login {
	border: 3px solid var(--wp--preset--color--brand-blue);
	border-radius: var(--wp--preset--border-radius--medium);
	overflow: hidden;
	background: var(--wp--preset--gradient--blue-light);
}

.woocommerce table.shop_table,
.woocommerce .woocommerce-customer-details address {
	border: 3px solid var(--wp--preset--color--brand-blue);
	border-radius: var(--wp--preset--border-radius--x-small);
	overflow: hidden;
}

.woocommerce table.shop_table thead th {
	background-color: var(--wp--preset--color--brand-blue);
	color: var(--wp--preset--color--base);
}

.woocommerce table.shop_table tbody th,
.woocommerce table.shop_table tbody td,
.woocommerce table.shop_table tfoot td,
.woocommerce table.shop_table tfoot th {
	border-top: 2px solid var(--wp--preset--color--brand-blue-light);
}

.woocommerce table.shop_table tbody tr:first-child > * {
	border-top: none;
}


@media screen and (max-width: 768px) {
	.woocommerce table.woocommerce-orders-table tbody th.woocommerce-orders-table__cell-order-number {
		display: block;
		text-align: right;
	}
	.woocommerce table.woocommerce-orders-table tbody th.woocommerce-orders-table__cell-order-number::before {
		content: attr(data-title) ": ";
		float: left;
	}
}