/**
 * Optional WooCommerce presentation layer.
 *
 * Loaded only when WooCommerce is active. It aligns shop screens with the
 * Servnora design tokens and adds no WooCommerce behaviour of its own.
 */

.woocommerce ul.products li.product,
.wc-block-grid__product {
	background-color: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--medium);
	padding: var(--wp--preset--spacing--20);
	text-align: start;
}

.woocommerce ul.products li.product img,
.wc-block-grid__product-image img {
	border-radius: var(--wp--custom--radius--small);
	margin-block-end: var(--wp--preset--spacing--20);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__product-title {
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 650;
	line-height: 1.3;
}

.woocommerce ul.products li.product .price,
.wc-block-grid__product-price {
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 650;
}

.woocommerce span.onsale {
	background-color: var(--wp--preset--color--accent);
	border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--contrast);
	font-weight: 650;
	min-block-size: auto;
	min-inline-size: auto;
	padding: 0.35rem 0.85rem;
	line-height: 1.3;
}

.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.wc-block-components-button {
	background-color: var(--wp--preset--color--primary);
	border: 2px solid var(--wp--preset--color--primary);
	border-radius: var(--wp--custom--radius--small);
	color: var(--wp--preset--color--base);
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 600;
	min-block-size: 48px;
	padding: 0.9rem 1.75rem;
}

.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.wc-block-components-button:hover {
	background-color: var(--wp--preset--color--primary-strong);
	border-color: var(--wp--preset--color--primary-strong);
	color: var(--wp--preset--color--base);
}

.woocommerce a.button.alt,
.woocommerce button.button.alt {
	background-color: var(--wp--preset--color--contrast);
	border-color: var(--wp--preset--color--contrast);
}

.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error {
	background-color: var(--wp--preset--color--surface);
	border-block-start: 3px solid var(--wp--preset--color--primary);
	border-radius: var(--wp--custom--radius--small);
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--small);
	padding: 1rem 1.25rem;
}

.woocommerce .woocommerce-error {
	border-block-start-color: #9b1c1c;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.select2-container--default .select2-selection--single {
	background-color: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--small);
	color: var(--wp--preset--color--contrast);
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--medium);
	padding: 0.75rem 0.9rem;
	block-size: auto;
}

.woocommerce table.shop_table,
.woocommerce-cart table.cart {
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--medium);
	border-collapse: separate;
	border-spacing: 0;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	border-block-start: 1px solid var(--wp--preset--color--border);
	padding: 1rem;
}

.woocommerce-checkout #payment,
.woocommerce .cart_totals,
.woocommerce-account .woocommerce-MyAccount-navigation {
	background-color: var(--wp--preset--color--surface);
	border-radius: var(--wp--custom--radius--medium);
	padding: var(--wp--preset--spacing--30);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
	border-block-end: 1px solid var(--wp--preset--color--border);
	padding-block: 0.6rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation li:last-child {
	border-block-end: 0;
}

.woocommerce .star-rating span::before,
.woocommerce p.stars a::before {
	color: var(--wp--preset--color--accent);
}

.woocommerce-breadcrumb {
	color: var(--wp--preset--color--contrast-soft);
	font-size: var(--wp--preset--font-size--small);
}
