/**
 * Kozaru Honbu - WooCommerce Shop Overrides
 *
 * Kept in Honbu/Shoten so public WooCommerce pages inherit the same front-facing
 * Kozaru shell as the rest of the site without depending on the theme.
 */

body.woocommerce-page,
body.post-type-archive-product,
body.tax-product_cat,
body.tax-product_tag,
body.single-product {
	--kozaru-shop-ink: #10131a;
	--kozaru-shop-muted: #626b7a;
	--kozaru-shop-paper: #ffffff;
	--kozaru-shop-bone: #f7f4ef;
	--kozaru-shop-line: rgba(16, 19, 26, .12);
	--kozaru-shop-line-strong: rgba(16, 19, 26, .18);
	--kozaru-shop-crimson: #c5161d;
	--kozaru-shop-crimson-dark: #951117;
	--kozaru-shop-radius: 16px;
	--kozaru-shop-shadow: 0 16px 38px rgba(16, 19, 26, .08);
	background: var(--kozaru-shop-bone);
	color: var(--kozaru-shop-ink);
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.woocommerce-page .site-content,
body.woocommerce-page .content-area,
body.woocommerce-page .site-main,
body.woocommerce-page #primary,
body.woocommerce-page #main,
body.woocommerce-page main,
body.woocommerce-page .wp-site-blocks > main {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
	padding-left: 0;
	padding-right: 0;
}

body.woocommerce-page .woocommerce,
body.post-type-archive-product .woocommerce,
body.tax-product_cat .woocommerce,
body.tax-product_tag .woocommerce {
	box-sizing: border-box;
	width: min(calc(100vw - 2rem), 1240px);
	max-width: min(calc(100vw - 2rem), 1240px);
	margin: clamp(2rem, 5vw, 4.5rem) auto clamp(3rem, 6vw, 5rem);
}

body.single-product .woocommerce {
	box-sizing: border-box;
	width: min(calc(100vw - 2rem), 1180px);
	max-width: min(calc(100vw - 2rem), 1180px);
	margin: clamp(2rem, 5vw, 4.5rem) auto clamp(3rem, 6vw, 5rem);
}

body.woocommerce-page .woocommerce-products-header__title,
body.woocommerce-page .product_title,
body.woocommerce-page .entry-title {
	color: var(--kozaru-shop-ink);
	font-size: clamp(2.25rem, 5vw, 3.55rem);
	font-weight: 850;
	letter-spacing: -.045em;
	line-height: .95;
	margin: 0 0 1.35rem;
}

body.woocommerce-page .woocommerce-result-count,
body.woocommerce-page .woocommerce-ordering {
	color: var(--kozaru-shop-muted);
	font-size: .92rem;
	font-weight: 700;
	margin-bottom: 1.4rem;
}

body.woocommerce-page .woocommerce-ordering select {
	appearance: none;
	background: var(--kozaru-shop-paper);
	border: 1px solid var(--kozaru-shop-line-strong);
	border-radius: 999px;
	box-shadow: 0 8px 20px rgba(16, 19, 26, .05);
	color: var(--kozaru-shop-ink);
	font: inherit;
	font-weight: 800;
	min-height: 42px;
	padding: .55rem 2.25rem .55rem 1rem;
}

body.woocommerce-page ul.products {
	display: grid;
	gap: clamp(1rem, 2.2vw, 1.5rem);
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 0;
}

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

body.woocommerce-page ul.products li.product,
body.woocommerce-page ul.products[class*="columns-"] li.product {
	background: var(--kozaru-shop-paper);
	border: 1px solid var(--kozaru-shop-line);
	border-radius: var(--kozaru-shop-radius);
	box-shadow: var(--kozaru-shop-shadow);
	box-sizing: border-box;
	float: none;
	margin: 0;
	min-width: 0;
	overflow: hidden;
	padding: 1rem;
	text-align: left;
	transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
	width: auto;
}

body.woocommerce-page ul.products li.product:hover {
	border-color: rgba(197, 22, 29, .28);
	box-shadow: 0 20px 44px rgba(16, 19, 26, .12);
	transform: translateY(-2px);
}

body.woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link {
	color: inherit;
	display: block;
	text-decoration: none;
}

body.woocommerce-page ul.products li.product img {
	aspect-ratio: 1 / 1;
	background: #f3f4f4;
	border-radius: 12px;
	box-shadow: none;
	display: block;
	height: auto;
	margin: 0 0 1rem;
	object-fit: cover;
	width: 100%;
}

body.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
body.woocommerce-page ul.products li.product h2,
body.woocommerce-page ul.products li.product h3 {
	color: var(--kozaru-shop-ink);
	font-size: clamp(.98rem, 1.2vw, 1.08rem);
	font-weight: 800;
	letter-spacing: -.015em;
	line-height: 1.08;
	margin: 0 0 .65rem;
	padding: 0;
}

body.woocommerce-page ul.products li.product .price,
body.woocommerce-page div.product p.price,
body.woocommerce-page div.product span.price {
	color: #7c7300;
	display: block;
	font-size: .95rem;
	font-weight: 780;
	margin: 0 0 1rem;
}

body.woocommerce-page a.button,
body.woocommerce-page button.button,
body.woocommerce-page input.button,
body.woocommerce-page #respond input#submit,
body.woocommerce-page .woocommerce a.button,
body.woocommerce-page .woocommerce button.button,
body.woocommerce-page .woocommerce input.button {
	align-items: center;
	appearance: none;
	background: var(--kozaru-shop-crimson);
	border: 0;
	border-radius: 999px;
	box-shadow: 0 12px 24px rgba(197, 22, 29, .22);
	color: #fff;
	display: inline-flex;
	font-size: .82rem;
	font-weight: 850;
	justify-content: center;
	letter-spacing: .01em;
	line-height: 1.1;
	min-height: 44px;
	padding: .78rem 1.15rem;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

body.woocommerce-page a.button:hover,
body.woocommerce-page button.button:hover,
body.woocommerce-page input.button:hover,
body.woocommerce-page #respond input#submit:hover,
body.woocommerce-page .woocommerce a.button:hover,
body.woocommerce-page .woocommerce button.button:hover,
body.woocommerce-page .woocommerce input.button:hover {
	background: var(--kozaru-shop-crimson-dark);
	box-shadow: 0 14px 30px rgba(197, 22, 29, .28);
	color: #fff;
	transform: translateY(-1px);
}

body.woocommerce-page ul.products li.product .button {
	margin-top: auto;
	width: 100%;
}

body.woocommerce-page ul.products li.product .kozaru-shop-select-person-button::after {
	content: "";
}

body.woocommerce-page div.product {
	background: var(--kozaru-shop-paper);
	border: 1px solid var(--kozaru-shop-line);
	border-radius: 24px;
	box-shadow: var(--kozaru-shop-shadow);
	padding: clamp(1rem, 3vw, 2rem);
}

body.woocommerce-page div.product div.images,
body.woocommerce-page div.product div.summary {
	margin-bottom: 0;
}

body.woocommerce-page div.product div.images img {
	background: #f3f4f4;
	border-radius: 18px;
}

body.woocommerce-page div.product form.cart {
	border-top: 1px solid var(--kozaru-shop-line);
	margin-top: 1.25rem;
	padding-top: 1.25rem;
}

body.woocommerce-page .kozaru-commerce-product-attribution {
	background: #fbfaf7;
	border: 1px solid var(--kozaru-shop-line);
	border-radius: 18px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .85);
	margin: 0 0 1rem;
	padding: 1rem;
}

body.woocommerce-page .kozaru-commerce-product-attribution label {
	color: var(--kozaru-shop-ink);
	display: block;
	font-weight: 950;
	margin: 0 0 .45rem;
}

body.woocommerce-page .kozaru-commerce-product-attribution .kozaru-commerce-help {
	color: var(--kozaru-shop-muted);
	font-size: .9rem;
	font-weight: 650;
	line-height: 1.35;
	margin: 0 0 .8rem;
}

body.woocommerce-page .kozaru-commerce-product-attribution select,
body.woocommerce-page div.product form.cart select,
body.woocommerce-page div.product form.cart input.qty {
	background: #fff;
	border: 1px solid var(--kozaru-shop-line-strong);
	border-radius: 12px;
	box-shadow: inset 0 1px 2px rgba(16, 19, 26, .04);
	color: var(--kozaru-shop-ink);
	font: inherit;
	font-weight: 750;
	min-height: 46px;
	padding: .7rem .85rem;
}

body.woocommerce-page .woocommerce-message,
body.woocommerce-page .woocommerce-info,
body.woocommerce-page .woocommerce-error {
	border-radius: 16px;
	box-shadow: var(--kozaru-shop-shadow);
	font-weight: 750;
}

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

@media (max-width: 782px) {
	body.woocommerce-page .woocommerce,
	body.post-type-archive-product .woocommerce,
	body.tax-product_cat .woocommerce,
	body.tax-product_tag .woocommerce,
	body.single-product .woocommerce {
		width: min(calc(100vw - 1.25rem), 680px);
		max-width: min(calc(100vw - 1.25rem), 680px);
		margin-top: 1.25rem;
	}

	body.woocommerce-page ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.woocommerce-page .woocommerce-ordering,
	body.woocommerce-page .woocommerce-result-count {
		float: none;
		width: 100%;
	}

	body.woocommerce-page .woocommerce-ordering select {
		width: 100%;
	}
}

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

	body.woocommerce-page ul.products li.product,
	body.woocommerce-page ul.products[class*="columns-"] li.product {
		padding: .85rem;
	}

	body.woocommerce-page .woocommerce-products-header__title,
	body.woocommerce-page .product_title,
	body.woocommerce-page .entry-title {
		font-size: clamp(2.25rem, 13vw, 3.2rem);
	}
}

/* Single product refinement */
body.single-product .entry-meta,
body.single-product .posted-on,
body.single-product .byline,
body.single-product .author,
body.single-product .cat-links,
body.single-product .tags-links,
body.single-product .product_meta {
	display: none !important;
}
body.single-product .site-main > article,
body.single-product article.product,
body.single-product .type-product {
	background: transparent;
	box-shadow: none;
}
body.single-product .woocommerce div.product {
	display: grid;
	grid-template-columns: minmax(280px, .82fr) minmax(320px, .68fr);
	gap: clamp(1.25rem, 3vw, 2rem);
	align-items: start;
}
body.single-product .woocommerce div.product::before,
body.single-product .woocommerce div.product::after {
	display: none;
}
body.single-product.woocommerce div.product div.images,
body.single-product.woocommerce div.product div.summary,
body.single-product.woocommerce-page div.product div.images,
body.single-product.woocommerce-page div.product div.summary {
	float: none;
	width: auto;
}
body.single-product div.product div.images {
	background: #f7f8f8;
	border: 1px solid var(--kozaru-shop-line);
	border-radius: 20px;
	padding: 1rem;
}
body.single-product div.product div.images .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: .75rem;
	margin-top: .75rem;
}
body.single-product div.product div.images .flex-control-thumbs li {
	float: none;
	width: auto;
}
body.single-product div.product div.images .flex-control-thumbs img {
	border: 1px solid var(--kozaru-shop-line);
	border-radius: 12px;
	padding: .25rem;
}
body.single-product div.product div.summary {
	background: #fff;
	border: 1px solid var(--kozaru-shop-line);
	border-radius: 20px;
	box-shadow: 0 14px 34px rgba(16, 19, 26, .07);
	padding: clamp(1rem, 2.5vw, 1.35rem);
}
body.single-product div.product p.price,
body.single-product div.product span.price {
	border-bottom: 1px solid var(--kozaru-shop-line);
	font-size: 1.08rem;
	margin: 0 0 1rem;
	padding: 0 0 1rem;
}
body.single-product div.product form.cart {
	display: grid;
	gap: 1rem;
}
body.single-product div.product form.cart .kozaru-commerce-product-attribution {
	margin: 0;
}
body.single-product div.product form.cart::before,
body.single-product div.product form.cart::after {
	display: none;
}
body.single-product div.product form.cart .quantity {
	margin: 0;
}
body.single-product div.product form.cart input.qty {
	text-align: center;
	width: 4.5rem;
}
body.single-product div.product form.cart button.single_add_to_cart_button {
	min-width: 11rem;
}
body.single-product div.product .related,
body.single-product div.product .upsells {
	grid-column: 1 / -1;
	border-top: 1px solid var(--kozaru-shop-line);
	margin-top: 1rem;
	padding-top: 1.5rem;
}
body.single-product div.product .related > h2,
body.single-product div.product .upsells > h2 {
	font-size: clamp(1.65rem, 3vw, 2.25rem);
	font-weight: 850;
	letter-spacing: -.04em;
	line-height: .95;
	margin: 0 0 1rem;
}
body.woocommerce-page .kozaru-commerce-product-attribution {
	border-color: rgba(197, 22, 29, .18);
}
body.woocommerce-page .kozaru-commerce-product-attribution select {
	width: 100%;
}
@media (max-width: 900px) {
	body.single-product .woocommerce div.product {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 520px) {
	body.single-product div.product div.summary,
	body.single-product div.product div.images {
		border-radius: 16px;
		padding: .85rem;
	}
	body.single-product div.product form.cart button.single_add_to_cart_button {
		width: 100%;
	}
}


/* 1.0.158: tighter Woo alignment and less chunky type */
body.single-product .site-main > article > .entry-header,
body.single-product .site-main > article > header.entry-header,
body.single-product .wp-site-blocks main > article > header {
	box-sizing: border-box;
	width: min(calc(100vw - 2rem), 1180px);
	max-width: min(calc(100vw - 2rem), 1180px);
	margin-left: auto;
	margin-right: auto;
}

body.single-product .product_title,
body.single-product .entry-title {
	max-width: 980px;
}

body.woocommerce-page .kozaru-commerce-kicker,
body.woocommerce-page .kozaru-commerce-product-attribution .kozaru-commerce-kicker {
	color: var(--kozaru-shop-crimson);
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .08em;
	line-height: 1.1;
	margin: 0 0 .55rem;
	text-transform: uppercase;
}

body.woocommerce-page .kozaru-commerce-product-attribution label {
	font-size: .98rem;
	font-weight: 800;
}

body.woocommerce-page .kozaru-commerce-product-attribution .kozaru-commerce-help {
	font-size: .84rem;
	font-weight: 560;
}

body.woocommerce-page .kozaru-commerce-product-attribution select,
body.woocommerce-page div.product form.cart select,
body.woocommerce-page div.product form.cart input.qty {
	font-size: .9rem;
	font-weight: 650;
}

body.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
body.woocommerce-page ul.products li.product h2,
body.woocommerce-page ul.products li.product h3 {
	min-height: 2.35em;
}

@media (min-width: 901px) {
	body.single-product div.product div.summary {
		position: sticky;
		top: 96px;
	}
}

@media (max-width: 782px) {
	body.single-product .site-main > article > .entry-header,
	body.single-product .site-main > article > header.entry-header,
	body.single-product .wp-site-blocks main > article > header {
		width: min(calc(100vw - 1.25rem), 680px);
		max-width: min(calc(100vw - 1.25rem), 680px);
	}
}

/* 1.0.159: scoped Woo containment repair.
 * Do not size the whole page/article. Keep overrides on Woo-owned elements only
 * so shop/product/cart pages stay aligned inside the theme content column.
 */
body.woocommerce-page main.site-main > article,
body.woocommerce-page .site-main > article,
body.woocommerce-page article.page,
body.woocommerce-page article.product {
	max-width: none;
	width: auto;
}

body.woocommerce-page .entry-content > .woocommerce,
body.woocommerce-page article .entry-content > .woocommerce,
body.post-type-archive-product .entry-content > .woocommerce,
body.tax-product_cat .entry-content > .woocommerce,
body.tax-product_tag .entry-content > .woocommerce,
body.single-product .entry-content > .woocommerce,
body.woocommerce-cart .entry-content > .woocommerce,
body.woocommerce-checkout .entry-content > .woocommerce,
body.woocommerce-account .entry-content > .woocommerce {
	box-sizing: border-box;
	clear: both;
	width: 100%;
	max-width: 100%;
	margin: clamp(1.75rem, 4vw, 3rem) 0 clamp(2.5rem, 5vw, 4rem);
	padding: 0;
}

body.woocommerce-page .woocommerce-products-header__title,
body.woocommerce-page .product_title,
body.woocommerce-page .entry-title {
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 820;
	letter-spacing: -.035em;
	line-height: 1;
}

body.post-type-archive-product .woocommerce-result-count,
body.tax-product_cat .woocommerce-result-count,
body.tax-product_tag .woocommerce-result-count {
	float: left;
	margin: 0 0 1rem;
}

body.post-type-archive-product .woocommerce-ordering,
body.tax-product_cat .woocommerce-ordering,
body.tax-product_tag .woocommerce-ordering {
	float: right;
	margin: 0 0 1rem;
}

body.woocommerce-page ul.products {
	clear: both;
	gap: 1.15rem;
}

body.woocommerce-page ul.products li.product,
body.woocommerce-page ul.products[class*="columns-"] li.product {
	padding: .9rem;
}

body.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
body.woocommerce-page ul.products li.product h2,
body.woocommerce-page ul.products li.product h3 {
	font-size: .98rem;
	font-weight: 780;
	letter-spacing: -.01em;
	line-height: 1.12;
	min-height: 0;
}

body.woocommerce-page a.button,
body.woocommerce-page button.button,
body.woocommerce-page input.button,
body.woocommerce-page #respond input#submit,
body.woocommerce-page .woocommerce a.button,
body.woocommerce-page .woocommerce button.button,
body.woocommerce-page .woocommerce input.button {
	font-size: .78rem;
	font-weight: 820;
	min-height: 40px;
	padding: .68rem 1rem;
}

body.single-product .site-main > article > .entry-header,
body.single-product .site-main > article > header.entry-header,
body.single-product .wp-site-blocks main > article > header {
	width: auto;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}

body.single-product .woocommerce div.product {
	grid-template-columns: minmax(240px, .95fr) minmax(280px, .75fr);
	gap: clamp(1rem, 2.5vw, 1.5rem);
}

body.single-product div.product div.summary {
	position: static;
	padding: 1rem;
}

body.single-product div.product .related > h2,
body.single-product div.product .upsells > h2 {
	font-size: clamp(1.45rem, 2.5vw, 2rem);
}

body.woocommerce-page .kozaru-commerce-product-attribution,
body.woocommerce-page .kozaru-commerce-product-attribution__inner {
	box-shadow: none;
}

body.woocommerce-page .kozaru-commerce-product-attribution label {
	font-size: .95rem;
	font-weight: 780;
}

body.woocommerce-page .kozaru-commerce-product-attribution .kozaru-commerce-help {
	font-size: .8rem;
	font-weight: 520;
}

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

@media (max-width: 720px) {
	body.post-type-archive-product .woocommerce-result-count,
	body.post-type-archive-product .woocommerce-ordering,
	body.tax-product_cat .woocommerce-result-count,
	body.tax-product_cat .woocommerce-ordering,
	body.tax-product_tag .woocommerce-result-count,
	body.tax-product_tag .woocommerce-ordering {
		float: none;
		width: 100%;
	}

	body.woocommerce-page ul.products {
		grid-template-columns: 1fr;
	}
}

/* 1.0.160: cart controls and block cart polish */
body.woocommerce-cart .entry-content > .woocommerce,
body.woocommerce-cart .wc-block-components-sidebar-layout,
body.woocommerce-cart .wc-block-cart,
body.woocommerce-checkout .entry-content > .woocommerce {
	box-sizing: border-box;
}

body.woocommerce-cart .wc-block-cart-items__row,
body.woocommerce-cart table.shop_table.cart tr.cart_item {
	border-color: var(--kozaru-shop-line);
}

body.woocommerce-cart .wc-block-components-product-name,
body.woocommerce-cart .cart_item .product-name a {
	color: var(--kozaru-shop-crimson);
	font-weight: 760;
	text-decoration-thickness: 1px;
}

body.woocommerce-cart .wc-block-components-product-metadata,
body.woocommerce-cart .variation,
body.woocommerce-cart .wc-block-components-product-metadata__description {
	color: var(--kozaru-shop-muted);
	font-size: .84rem;
	font-weight: 520;
	line-height: 1.35;
}

body.woocommerce-cart .wc-block-components-quantity-selector,
body.woocommerce-cart .quantity {
	align-items: center;
	background: #fff;
	border: 1px solid var(--kozaru-shop-line-strong);
	border-radius: 999px;
	display: inline-flex;
	gap: .15rem;
	min-height: 38px;
	overflow: hidden;
	padding: .12rem;
}

body.woocommerce-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button,
body.woocommerce-cart .wc-block-components-quantity-selector button,
body.woocommerce-cart .quantity button,
body.woocommerce-cart .quantity .minus,
body.woocommerce-cart .quantity .plus {
	appearance: none !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 999px !important;
	box-shadow: none !important;
	color: var(--kozaru-shop-ink) !important;
	font-size: 1rem !important;
	font-weight: 800 !important;
	height: 32px !important;
	line-height: 1 !important;
	min-height: 32px !important;
	min-width: 32px !important;
	padding: 0 !important;
	width: 32px !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover,
body.woocommerce-cart .quantity button:hover,
body.woocommerce-cart .quantity .minus:hover,
body.woocommerce-cart .quantity .plus:hover {
	background: rgba(197, 22, 29, .08) !important;
	color: var(--kozaru-shop-crimson) !important;
	transform: none !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input,
body.woocommerce-cart .quantity input.qty {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	color: var(--kozaru-shop-ink);
	font-size: .9rem;
	font-weight: 720;
	height: 32px;
	min-height: 32px;
	padding: 0 .25rem;
	text-align: center;
	width: 2.4rem;
}

body.woocommerce-cart .wc-block-cart-item__remove-link,
body.woocommerce-cart .product-remove a.remove,
body.woocommerce-cart .wc-block-components-product-metadata + button {
	background: transparent !important;
	box-shadow: none !important;
	color: var(--kozaru-shop-muted) !important;
	font-size: .9rem !important;
	min-height: 0 !important;
	padding: .2rem !important;
	text-decoration: none;
}

body.woocommerce-cart .wc-block-cart-item__remove-link:hover,
body.woocommerce-cart .product-remove a.remove:hover {
	color: var(--kozaru-shop-crimson) !important;
}

/* 1.0.161: purchase-path polish: cart, checkout, order confirmation, account orders */
body.woocommerce-cart .entry-content > .woocommerce,
body.woocommerce-checkout .entry-content > .woocommerce,
body.woocommerce-account .entry-content > .woocommerce {
	width: min(calc(100vw - 2rem), 1120px);
	max-width: min(calc(100vw - 2rem), 1120px);
	margin-left: auto;
	margin-right: auto;
}

body.woocommerce-cart .wc-block-cart,
body.woocommerce-checkout .wc-block-checkout,
body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-checkout form.checkout,
body.woocommerce-account .woocommerce-MyAccount-content {
	font-size: .95rem;
}

body.woocommerce-cart .wc-block-components-sidebar,
body.woocommerce-checkout .wc-block-components-sidebar,
body.woocommerce-cart .cart-collaterals .cart_totals,
body.woocommerce-checkout #order_review {
	background: #fff;
	border: 1px solid var(--kozaru-shop-line);
	border-radius: 18px;
	box-shadow: 0 14px 34px rgba(16, 19, 26, .07);
	padding: 1rem;
}

body.woocommerce-cart .wc-block-cart-items,
body.woocommerce-checkout .wc-block-components-order-summary,
body.woocommerce-cart table.shop_table,
body.woocommerce-checkout table.shop_table,
body.woocommerce-account table.shop_table {
	background: #fff;
	border: 1px solid var(--kozaru-shop-line);
	border-radius: 18px;
	box-shadow: 0 12px 30px rgba(16, 19, 26, .055);
	overflow: hidden;
}

body.woocommerce-cart .wc-block-cart-items__row,
body.woocommerce-cart table.shop_table.cart tr.cart_item,
body.woocommerce-checkout .wc-block-components-order-summary-item,
body.woocommerce-account table.shop_table tr {
	background: #fff;
	border-bottom: 1px solid var(--kozaru-shop-line);
}

body.woocommerce-cart .wc-block-cart-items__row:last-child,
body.woocommerce-checkout .wc-block-components-order-summary-item:last-child,
body.woocommerce-account table.shop_table tr:last-child {
	border-bottom: 0;
}

body.woocommerce-cart .wc-block-components-product-name,
body.woocommerce-checkout .wc-block-components-product-name,
body.woocommerce-account .woocommerce-table__product-name a,
body.woocommerce-cart .cart_item .product-name a {
	color: var(--kozaru-shop-ink) !important;
	font-size: .98rem;
	font-weight: 780;
	letter-spacing: -.01em;
	text-decoration: none;
}

body.woocommerce-cart .wc-block-components-product-name:hover,
body.woocommerce-checkout .wc-block-components-product-name:hover,
body.woocommerce-account .woocommerce-table__product-name a:hover,
body.woocommerce-cart .cart_item .product-name a:hover {
	color: var(--kozaru-shop-crimson) !important;
}

body.woocommerce-cart .wc-block-components-product-metadata,
body.woocommerce-checkout .wc-block-components-product-metadata,
body.woocommerce-cart .variation,
body.woocommerce-checkout .variation,
body.woocommerce-account .wc-item-meta {
	background: #f8fafc;
	border: 1px solid rgba(16, 19, 26, .07);
	border-radius: 10px;
	color: var(--kozaru-shop-muted);
	display: inline-block;
	font-size: .78rem;
	font-weight: 620;
	line-height: 1.35;
	margin-top: .4rem;
	padding: .3rem .45rem;
}

body.woocommerce-cart .wc-block-components-product-metadata .wc-block-components-product-details__name,
body.woocommerce-checkout .wc-block-components-product-metadata .wc-block-components-product-details__name,
body.woocommerce-cart .variation dt,
body.woocommerce-checkout .variation dt,
body.woocommerce-account .wc-item-meta-label {
	color: var(--kozaru-shop-muted);
	font-weight: 780;
}

body.woocommerce-cart .wc-block-components-product-metadata .wc-block-components-product-details__value,
body.woocommerce-checkout .wc-block-components-product-metadata .wc-block-components-product-details__value,
body.woocommerce-cart .variation dd,
body.woocommerce-checkout .variation dd,
body.woocommerce-account .wc-item-meta p {
	color: var(--kozaru-shop-ink);
	font-weight: 700;
}

body.woocommerce-cart .wc-block-components-quantity-selector,
body.woocommerce-cart .quantity {
	background: #fff;
	border: 1px solid var(--kozaru-shop-line-strong);
	border-radius: 999px;
	box-shadow: none;
	min-height: 34px;
	padding: .1rem;
}

body.woocommerce-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button,
body.woocommerce-cart .quantity .minus,
body.woocommerce-cart .quantity .plus {
	background: #f8fafc !important;
	border-radius: 999px !important;
	color: var(--kozaru-shop-muted) !important;
	height: 28px !important;
	min-height: 28px !important;
	min-width: 28px !important;
	width: 28px !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover,
body.woocommerce-cart .quantity .minus:hover,
body.woocommerce-cart .quantity .plus:hover {
	background: rgba(197, 22, 29, .08) !important;
	color: var(--kozaru-shop-crimson) !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input,
body.woocommerce-cart .quantity input.qty {
	font-size: .85rem;
	font-weight: 750;
	height: 28px;
	min-height: 28px;
	width: 2rem;
}

body.woocommerce-cart .wc-block-components-totals-wrapper,
body.woocommerce-checkout .wc-block-components-totals-wrapper {
	border-color: var(--kozaru-shop-line);
}

body.woocommerce-cart .wc-block-components-totals-footer-item,
body.woocommerce-checkout .wc-block-components-totals-footer-item,
body.woocommerce-cart .cart_totals .order-total,
body.woocommerce-checkout .order-total {
	font-size: 1.05rem;
	font-weight: 850;
}

body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
body.woocommerce-cart .checkout-button,
body.woocommerce-checkout #place_order {
	border-radius: 12px !important;
	font-size: .86rem !important;
	font-weight: 850 !important;
	min-height: 48px !important;
	width: 100%;
}

body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-combobox input,
body.woocommerce-checkout .woocommerce-input-wrapper input,
body.woocommerce-checkout .woocommerce-input-wrapper select,
body.woocommerce-checkout .woocommerce-input-wrapper textarea {
	border: 1px solid var(--kozaru-shop-line-strong) !important;
	border-radius: 12px !important;
	box-shadow: none !important;
	font-size: .94rem !important;
	font-weight: 600 !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step,
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-shipping-fields,
body.woocommerce-checkout .woocommerce-additional-fields {
	background: #fff;
	border: 1px solid var(--kozaru-shop-line);
	border-radius: 18px;
	box-shadow: 0 12px 30px rgba(16, 19, 26, .045);
	margin-bottom: 1rem;
	padding: 1rem;
}

body.woocommerce-checkout .wc-block-components-checkout-step__title,
body.woocommerce-checkout .woocommerce-billing-fields > h3,
body.woocommerce-checkout .woocommerce-additional-fields > h3,
body.woocommerce-checkout #order_review_heading {
	font-size: 1.05rem;
	font-weight: 850;
	letter-spacing: -.01em;
}

body.woocommerce-order-received .woocommerce-order,
body.woocommerce-account .woocommerce-MyAccount-content {
	background: #fff;
	border: 1px solid var(--kozaru-shop-line);
	border-radius: 18px;
	box-shadow: 0 14px 34px rgba(16, 19, 26, .07);
	padding: 1.1rem;
}

body.woocommerce-order-received .woocommerce-thankyou-order-received {
	background: #ecfdf3;
	border: 1px solid rgba(5, 150, 105, .18);
	border-radius: 14px;
	color: #067647;
	font-weight: 800;
	padding: .85rem 1rem;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	list-style: none;
	margin: 0 0 1rem;
	padding: 0;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li a {
	background: #fff;
	border: 1px solid var(--kozaru-shop-line);
	border-radius: 999px;
	color: var(--kozaru-shop-ink);
	display: inline-flex;
	font-size: .82rem;
	font-weight: 780;
	padding: .45rem .75rem;
	text-decoration: none;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
body.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
	background: var(--kozaru-shop-ink);
	color: #fff;
}

@media (max-width: 782px) {
	body.woocommerce-cart .entry-content > .woocommerce,
	body.woocommerce-checkout .entry-content > .woocommerce,
	body.woocommerce-account .entry-content > .woocommerce {
		width: min(calc(100vw - 1.25rem), 680px);
		max-width: min(calc(100vw - 1.25rem), 680px);
	}

	body.woocommerce-cart .wc-block-cart-items,
	body.woocommerce-checkout .wc-block-components-order-summary,
	body.woocommerce-account table.shop_table {
		border-radius: 14px;
	}

	body.woocommerce-cart .wc-block-components-product-name,
	body.woocommerce-checkout .wc-block-components-product-name,
	body.woocommerce-account .woocommerce-table__product-name a {
		font-size: .92rem;
	}
}
