.woocommerce,
.woocommerce-page,
.wc-block-components-form,
.wc-block-components-order-summary,
.wp-block-woocommerce-product-collection {
	font-family: var(--ovimes-font-sans, Inter, Arial, sans-serif);
	font-size: var(--ovimes-type-body, 16px);
	line-height: 1.62;
}

.woocommerce .woocommerce-breadcrumb {
	color: var(--ovimes-muted, #626b76);
	font-family: var(--ovimes-font-sans, Inter, Arial, sans-serif);
	font-size: var(--ovimes-type-eyebrow, 12px);
	font-weight: 500;
	line-height: 1.4;
}
.woocommerce .woocommerce-breadcrumb a { color: var(--ovimes-graphite, #20242b); }

/* One product-card system for classic WooCommerce and Product Collection blocks. */
.woocommerce ul.products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(32px, 4vw, 56px) clamp(20px, 1.7vw, 24px); }
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { position: relative; float: none; width: auto; margin: 0; }
.woocommerce ul.products li.product a img,
.wc-block-grid__product-image img,
.wp-block-woocommerce-product-collection .wc-block-components-product-image img {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	margin: 0 0 14px;
	background: var(--ovimes-silver, #e4e7ea);
	object-fit: cover;
	transition: opacity .25s ease;
}
.woocommerce ul.products li.product:hover a img,
.wc-block-grid__product:hover .wc-block-grid__product-image img { opacity: .94; }

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__product-title,
.wc-block-components-product-name,
.wc-block-components-product-name a,
.wp-block-woocommerce-product-collection .wc-block-components-product-name {
	padding: 0;
	color: var(--ovimes-graphite, #20242b);
	font-family: var(--ovimes-font-sans, Inter, Arial, sans-serif);
	font-size: var(--ovimes-type-product, 17px);
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0;
}

.woocommerce ul.products li.product .price,
.wc-block-grid__product-price,
.wc-block-components-product-price,
.wc-block-components-product-price .woocommerce-Price-amount {
	color: var(--ovimes-graphite, #20242b);
	font-family: var(--ovimes-font-sans, Inter, Arial, sans-serif);
	font-size: var(--ovimes-type-price, 15px);
	font-weight: 500;
	line-height: 1.4;
}
.woocommerce .price del,
.wc-block-components-product-price del { color: var(--ovimes-muted, #626b76); font-weight: 400; opacity: 1; }
.woocommerce .price ins,
.wc-block-components-product-price ins { color: var(--ovimes-deep-navy, #172b48); font-weight: 500; text-decoration: none; }

.woocommerce ul.products li.product .button {
	margin-top: 8px;
	border: 0;
	background: transparent;
	color: var(--ovimes-deep-navy, #172b48);
	font-family: var(--ovimes-font-sans, Inter, Arial, sans-serif);
	font-size: var(--ovimes-type-button, 13px);
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: .04em;
	padding: 8px 0;
}
.woocommerce ul.products li.product .button:hover { background: transparent; color: var(--ovimes-graphite, #20242b); text-decoration: underline; text-underline-offset: 4px; }
.ovimes-featured .woocommerce ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.woocommerce span.onsale,
.wc-block-components-product-sale-badge {
	min-width: auto;
	min-height: auto;
	border: 0;
	border-radius: 0;
	background: var(--ovimes-deep-navy, #172b48);
	color: var(--ovimes-white, #fff);
	font-family: var(--ovimes-font-sans, Inter, Arial, sans-serif);
	font-size: var(--ovimes-type-eyebrow, 12px);
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: .04em;
	padding: 7px 10px;
}
.woocommerce ul.products li.product.outofstock::after,
.wc-block-grid__product.is-sold-out::after {
	content: "Sold out";
	position: absolute;
	top: 12px;
	left: 12px;
	background: var(--ovimes-graphite, #20242b);
	color: var(--ovimes-white, #fff);
	font-size: var(--ovimes-type-eyebrow, 12px);
	font-weight: 500;
	line-height: 1.2;
	padding: 7px 10px;
}

.woocommerce ul.products li.product :where(.yith-wcwl-add-to-wishlist, .wcboost-wishlist-button, .ovimes-wishlist-button),
.wc-block-grid__product :where(.yith-wcwl-add-to-wishlist, .wcboost-wishlist-button, .ovimes-wishlist-button) {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 2;
	display: grid;
	width: 40px;
	height: 40px;
	place-items: center;
	margin: 0;
	border: 0;
	background: rgba(255, 255, 255, .9);
	color: var(--ovimes-graphite, #20242b);
	box-shadow: none;
}

.woocommerce .woocommerce-ordering select,
.woocommerce .widget_price_filter select,
.wc-block-components-sort-select__select,
.wc-block-components-filter-reset-button {
	min-height: 44px;
	border: 1px solid var(--ovimes-steel-gray, #b8bec5);
	border-radius: 0;
	background: var(--ovimes-white, #fff);
	color: var(--ovimes-graphite, #20242b);
	font-family: var(--ovimes-font-sans, Inter, Arial, sans-serif);
	font-size: var(--ovimes-type-nav, 15px);
	padding: 9px 36px 9px 12px;
}

.woocommerce div.product { padding-block: clamp(56px, 6vw, 88px); }
.woocommerce div.product div.images,
.woocommerce div.product div.summary { margin-bottom: 0; }
.woocommerce div.product .product_title {
	font-family: var(--ovimes-font-display, "Cormorant Garamond", Georgia, serif);
	font-size: var(--ovimes-type-h1, 64px);
	font-weight: 400;
	line-height: 1.05;
	letter-spacing: -.01em;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price { color: var(--ovimes-graphite, #20242b); font-size: var(--ovimes-type-price, 15px); font-weight: 500; line-height: 1.4; }

.woocommerce div.product form.cart .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.wc-block-components-button,
.wc-block-cart__submit-button {
	min-height: 44px;
	border: 1px solid var(--ovimes-deep-navy, #172b48);
	border-radius: 0;
	background: var(--ovimes-deep-navy, #172b48);
	color: var(--ovimes-white, #fff);
	font-family: var(--ovimes-font-sans, Inter, Arial, sans-serif);
	font-size: var(--ovimes-type-button, 13px);
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: .04em;
	padding: 14px 24px;
}
.woocommerce div.product form.cart .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.wc-block-components-button:hover,
.wc-block-cart__submit-button:hover { border-color: var(--ovimes-graphite, #20242b); background: var(--ovimes-graphite, #20242b); color: var(--ovimes-white, #fff); }
.wc-block-components-button:disabled,
.wc-block-cart__submit-button:disabled { cursor: not-allowed; opacity: .52; }

.woocommerce div.product form.cart div.quantity,
.woocommerce .quantity { display: inline-flex; align-items: center; min-height: 44px; }
.woocommerce .quantity .qty { width: 72px; min-height: 44px; border: 1px solid var(--ovimes-steel-gray, #b8bec5); border-radius: 0; background: var(--ovimes-white, #fff); font-size: var(--ovimes-type-body, 16px); text-align: center; }

.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 8px 28px; padding: 0; border-bottom: 1px solid var(--ovimes-silver, #e4e7ea); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border: 0; border-radius: 0; background: transparent; margin: 0; padding: 0; }
.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 a { padding: 14px 0; font-size: var(--ovimes-type-nav, 15px); font-weight: 500; line-height: 1.4; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--ovimes-deep-navy, #172b48); box-shadow: inset 0 -2px var(--ovimes-deep-navy, #172b48); }

.wc-block-cart__submit-container { background: var(--ovimes-off-white, #f7f8f8); }
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	min-height: 48px;
	border: 1px solid var(--ovimes-steel-gray, #b8bec5);
	border-radius: 0;
	background: var(--ovimes-white, #fff);
	color: var(--ovimes-graphite, #20242b);
	font-family: var(--ovimes-font-sans, Inter, Arial, sans-serif);
	font-size: var(--ovimes-type-body, 16px);
	padding: 11px 14px;
}
.woocommerce form .form-row.woocommerce-invalid :where(input.input-text, select, textarea),
.wc-block-components-validation-error + :where(input, select, textarea) { border-color: var(--ovimes-deep-navy, #172b48); box-shadow: 0 0 0 1px var(--ovimes-deep-navy, #172b48); }
.woocommerce form .form-row label,
.wc-block-components-text-input label { font-size: 14px; font-weight: 500; }

.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-MyAccount-navigation li + li { margin-top: 4px; }
.woocommerce-MyAccount-navigation a { display: block; min-height: 44px; padding: 10px 12px; font-size: var(--ovimes-type-nav, 15px); }
.woocommerce-MyAccount-navigation .is-active a { background: var(--ovimes-silver, #e4e7ea); color: var(--ovimes-deep-navy, #172b48); font-weight: 500; }

.woocommerce nav.woocommerce-pagination ul { display: flex; gap: 8px; border: 0; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span { display: grid; min-width: 40px; min-height: 40px; place-items: center; padding: 0; font-size: var(--ovimes-type-nav, 15px); }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--ovimes-deep-navy, #172b48); color: var(--ovimes-white, #fff); }

.woocommerce-info,
.woocommerce-message,
.woocommerce-error,
.wc-block-components-notice-banner { border: 0; border-left: 3px solid var(--ovimes-deep-navy, #172b48); border-radius: 0; background: var(--ovimes-silver, #e4e7ea); color: var(--ovimes-graphite, #20242b); }

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

@media (max-width: 480px) {
	.woocommerce ul.products { gap: 28px 12px; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title,
	.wc-block-grid__product-title,
	.wc-block-components-product-name,
	.wc-block-components-product-name a { font-size: 15px; }
	.woocommerce ul.products li.product .price,
	.wc-block-grid__product-price,
	.wc-block-components-product-price { font-size: 14px; }
}
