/* Keep WooCommerce behaviour and native block layouts; share the theme's tokens. */
.entry-content > :is(.woocommerce, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) {
	max-inline-size: var(--wp--style--global--wide-size, 1200px);
	margin-inline: auto;
}
.shashkevych-shop .woocommerce-breadcrumb { color: var(--wp--preset--color--muted); margin-block-end: 2rem; }
.woocommerce .woocommerce-products-header { margin-block-end: 2rem; }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { margin-block-end: 1.5rem; }
.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(var(--shashkevych-product-columns, 3), minmax(0, 1fr));
	gap: var(--wp--preset--spacing--40);
}
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products.columns-1 { --shashkevych-product-columns: 1; }
.woocommerce ul.products.columns-2 { --shashkevych-product-columns: 2; }
.woocommerce ul.products.columns-4 { --shashkevych-product-columns: 4; }
.woocommerce ul.products.columns-5 { --shashkevych-product-columns: 5; }
.woocommerce ul.products.columns-6 { --shashkevych-product-columns: 6; }
.woocommerce ul.products li.product {
	float: none;
	inline-size: auto;
	margin: 0;
	padding: 1.25rem;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--large);
	display: flex;
	flex-direction: column;
	min-inline-size: 0;
}
.woocommerce ul.products li.product a.woocommerce-loop-product__link { flex: 1; color: inherit; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: var(--wp--preset--font-size--medium); }
.woocommerce ul.products li.product a img { border-radius: var(--wp--custom--radius--small); }
.woocommerce ul.products li.product .price, .woocommerce div.product p.price { color: var(--wp--preset--color--contrast); }
.woocommerce ul.products li.product .button { align-self: flex-start; margin-block-start: 1rem; }
.woocommerce span.onsale { background: var(--wp--preset--color--accent); color: var(--wp--preset--color--surface); }
.woocommerce :is(a.button, button.button, input.button, #respond input#submit) {
	font: inherit;
	font-weight: 600;
	line-height: 1.4;
	padding: 0.75rem 1.25rem;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--surface);
	border: 1px solid transparent;
	border-radius: var(--wp--custom--radius--small);
}
.woocommerce :is(a.button, button.button, input.button, #respond input#submit):hover {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--surface);
}
.woocommerce :is(a.button, button.button, input.button).alt { background: var(--wp--preset--color--accent); color: var(--wp--preset--color--surface); }
.woocommerce :is(a.button, button.button, input.button).alt:hover { background: var(--wp--preset--color--contrast); }
.woocommerce :is(a.button, button.button, input.button):disabled { opacity: 0.6; }
.woocommerce :is(a.button, button.button, input.button):focus-visible { outline: 3px solid var(--wp--preset--color--accent); outline-offset: 4px; }
.woocommerce div.product :is(.woocommerce-product-gallery__image, .woocommerce-product-gallery__image img) { border-radius: var(--wp--custom--radius--large); }
.woocommerce div.product .product_title { font-size: var(--wp--preset--font-size--x-large); }
.woocommerce div.product form.cart .variations th { text-align: start; }
.woocommerce div.product form.cart .variations select { min-inline-size: min(100%, 12rem); }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding-inline-start: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: var(--wp--preset--color--surface); border-color: var(--wp--preset--color--line); }
.woocommerce .quantity .qty { inline-size: 5rem; padding-inline: 0.5rem; }
.woocommerce table.shop_table { border-color: var(--wp--preset--color--line); border-radius: var(--wp--custom--radius--small); }
.woocommerce table.shop_table :is(th, td) { padding: 0.875rem; overflow-wrap: anywhere; }
.woocommerce table.shop_table td.actions .coupon .input-text { inline-size: 10rem; min-block-size: 2.8rem; }
.woocommerce form :is(.form-row input.input-text, .form-row textarea, .form-row select) { line-height: 1.5; }
.woocommerce form .form-row label { line-height: 1.5; margin-block-end: 0.5rem; }
.woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register {
	background: var(--wp--preset--color--surface);
	border-color: var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--large);
}
.woocommerce #payment { background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius--large); }
.woocommerce #payment div.payment_box { background: var(--wp--preset--color--base); color: inherit; }
.woocommerce #payment div.payment_box::before { border-block-end-color: var(--wp--preset--color--base); }
.woocommerce-error, .woocommerce-info, .woocommerce-message { background: var(--wp--preset--color--surface); color: var(--wp--preset--color--contrast); }
.woocommerce-info { border-block-start-color: var(--wp--preset--color--accent); }
.woocommerce .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0 0 2rem; }
.woocommerce .woocommerce-MyAccount-navigation a { display: block; padding: 0.75rem 1rem; border-block-end: 1px solid var(--wp--preset--color--line); }
.woocommerce .woocommerce-MyAccount-navigation .is-active a { background: var(--wp--preset--color--surface); font-weight: 650; }
.woocommerce nav.woocommerce-pagination ul, .woocommerce nav.woocommerce-pagination ul li { border-color: var(--wp--preset--color--line); }
.woocommerce nav.woocommerce-pagination ul li :is(a, span) { padding: 0.75rem 1rem; }
:where(.wc-block-components-button:not(.is-link)) {
	border-radius: var(--wp--custom--radius--small);
	font-weight: 600;
}
:where(.wc-block-cart, .wc-block-checkout) { margin-block-end: 2rem; }
@media (max-width: 60rem) {
	.woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.woocommerce ul.products.columns-1 { grid-template-columns: 1fr; }
}
@media (max-width: 40rem) {
	.woocommerce ul.products { grid-template-columns: 1fr; }
	.woocommerce .woocommerce-ordering, .woocommerce .woocommerce-result-count { float: none; }
	.woocommerce .woocommerce-ordering select { inline-size: 100%; }
	.woocommerce table.shop_table td.actions .coupon .input-text { inline-size: 48%; }
	.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 0.5rem; }
	.woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0; }
}
