.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
	margin-bottom: 2rem;
}

.woocommerce-notices-wrapper {
	margin-bottom: 1.5rem;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	margin: 0 0 1.5rem;
	border: 1px solid var(--vo-line);
	border-top: 1px solid var(--vo-line);
	border-radius: var(--vo-radius);
	background: var(--vo-soft);
	color: var(--vo-ink);
	box-shadow: 0 12px 34px rgba(17, 17, 17, 0.05);
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	color: var(--vo-ink);
}

.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button {
	min-height: 40px;
	padding: 0.7rem 1rem;
}

.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(20px, 2.2vw, 34px);
	margin: 0;
	padding: 0;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	float: none;
	width: auto;
	margin: 0;
	padding: 0 0 clamp(22px, 2.3vw, 34px);
	border: 1px solid var(--vo-line);
	border-radius: var(--vo-radius);
	background: var(--vo-white);
	overflow: hidden;
	box-shadow: 0 14px 44px rgba(17, 17, 17, 0.05);
}

.woocommerce ul.products li.product a img {
	width: 100%;
	aspect-ratio: 1 / 1;
	margin: 0 0 1.25rem;
	object-fit: cover;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	padding: 0 clamp(18px, 2vw, 28px);
	color: var(--vo-ink);
	font-family: "Fraunces", Georgia, serif;
	font-size: clamp(1.35rem, 2vw, 2rem);
	font-weight: 300;
	line-height: 1.1;
}

.woocommerce ul.products li.product .price {
	padding: 0 clamp(18px, 2vw, 28px);
	color: var(--vo-ink);
	font-weight: 700;
}

.woocommerce ul.products li.product .button {
	margin-left: clamp(18px, 2vw, 28px);
	margin-right: clamp(18px, 2vw, 28px);
}

.woocommerce div.product {
	display: grid;
	grid-template-columns: minmax(360px, 0.88fr) minmax(360px, 1fr);
	gap: clamp(30px, 5vw, 80px);
	align-items: start;
}

.woocommerce div.product div.images,
.woocommerce div.product div.summary {
	float: none !important;
	width: auto !important;
	max-width: none;
}

.woocommerce div.product div.images {
	border-radius: var(--vo-radius);
	background: var(--vo-soft);
	overflow: hidden;
}

.woocommerce div.product div.images img {
	width: 100%;
	border-radius: var(--vo-radius);
}

.woocommerce div.product div.summary {
	padding: clamp(24px, 3vw, 42px);
	border: 1px solid var(--vo-line);
	border-radius: var(--vo-radius);
	background: var(--vo-white);
	box-shadow: 0 14px 44px rgba(17, 17, 17, 0.05);
}

.woocommerce div.product .product_title {
	font-size: clamp(2.6rem, 6vw, 6rem);
	max-width: 12ch;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--vo-ink);
	font-size: 1.35rem;
	font-weight: 700;
}

.woocommerce .quantity .qty {
	min-height: 48px;
	border: 1px solid var(--vo-line);
	border-radius: var(--vo-radius);
}

.woocommerce div.product form.cart {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 1.8rem;
	margin-bottom: 1.8rem;
}

.woocommerce div.product form.cart div.quantity {
	float: none;
	margin: 0;
}

.woocommerce div.product form.cart .button {
	float: none;
}

.woocommerce div.product .woocommerce-tabs {
	grid-column: 1 / -1;
	padding-top: clamp(24px, 4vw, 60px);
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	padding: 0;
	margin: 0 0 1.5rem;
	border-bottom: 1px solid var(--vo-line);
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
	display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	border: 0;
	border-radius: 0;
	background: transparent;
	padding: 0;
	margin: 0 1.4rem 0 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	padding: 0 0 0.85rem;
	font-weight: 700;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	border-bottom: 2px solid var(--vo-ink);
}

.woocommerce div.product .woocommerce-tabs .panel {
	max-width: 860px;
	margin: 0;
	padding: 0;
}

.woocommerce div.product .woocommerce-tabs .panel h2 {
	font-size: clamp(1.8rem, 3vw, 3rem);
}

.woocommerce .related.products {
	grid-column: 1 / -1;
	padding-top: clamp(40px, 6vw, 88px);
}

.woocommerce .related.products > h2 {
	margin-bottom: clamp(24px, 3vw, 40px);
}

.woocommerce-cart-form,
.woocommerce-checkout,
.woocommerce-order {
	max-width: 1100px;
}

.woocommerce table.shop_table,
.wc-block-cart,
.wc-block-checkout,
.wc-block-components-sidebar-layout {
	border-color: var(--vo-line);
	border-radius: var(--vo-radius);
}

.wc-block-cart,
.wc-block-checkout {
	max-width: 1180px;
}

.wc-block-components-totals-wrapper,
.wc-block-cart-items,
.wc-block-components-sidebar,
.wc-block-components-main {
	border-color: var(--vo-line) !important;
}

.wc-block-components-button:not(.is-link) {
	border-radius: var(--vo-radius);
	background: var(--vo-ink);
	color: var(--vo-white);
	font-weight: 700;
}

.wc-block-components-button:not(.is-link):hover {
	background: transparent;
	color: var(--vo-ink);
	box-shadow: inset 0 0 0 1px var(--vo-ink);
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
.wc-block-components-form .wc-block-components-text-input input {
	border: 1px solid var(--vo-line);
	border-radius: var(--vo-radius);
	background: var(--vo-white);
	color: var(--vo-ink);
}

@media (max-width: 920px) {
	.woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.woocommerce div.product {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 560px) {
	.woocommerce ul.products {
		grid-template-columns: 1fr;
	}

	.woocommerce div.product div.summary {
		padding: 22px;
	}

	.woocommerce div.product form.cart {
		align-items: stretch;
		flex-direction: column;
	}

	.woocommerce div.product form.cart .button,
	.woocommerce div.product form.cart .quantity,
	.woocommerce div.product form.cart .qty {
		width: 100%;
	}
}
