/**
 * WooCommerce pages: shop, single product, cart, classic checkout, account.
 *
 * The same sheet as the plugin's menu: ruled rows, condensed heads, the
 * price in the operator's ink, outlined controls, no cards and no shadows.
 * Reads the plugin's tokens.
 */

/* ---------- Shared ---------- */
.woocommerce .modern-main-content,
.modern-main-content .woocommerce {
	font-family: var(--fm-font-body);
	color: var(--fm-black);
}

.woocommerce .price,
.woocommerce .amount,
.modern-product-price {
	font-family: var(--fm-font-display);
	font-weight: var(--fm-display-weight);
	color: var(--fm-price-ink);
	font-variant-numeric: tabular-nums lining-nums;
}

.woocommerce .price del,
.modern-product-price del {
	margin-inline-end: var(--fm-m);
	font-family: var(--fm-font-body);
	font-weight: 500;
	font-size: 0.7em;
	color: var(--fm-n6);
	text-decoration: line-through;
}

.woocommerce .price ins,
.modern-product-price ins {
	text-decoration: none;
	color: var(--fm-price-ink);
}

/* Buttons */
.woocommerce .button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .single_add_to_cart_button,
.woocommerce .add_to_cart_button,
.modern-product-actions .single_add_to_cart_button,
.woocommerce-cart .checkout-button,
.woocommerce #place_order {
	appearance: none;
	-webkit-appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--fm-m);
	min-height: calc(var(--fm-m) * 6);
	margin: 0;
	padding: 0 calc(var(--fm-m) * 2.5);
	background: var(--fm-ink);
	border: 1.5px solid var(--fm-ink);
	border-radius: var(--fm-radius);
	box-shadow: none;
	color: var(--fm-on-ink);
	font-family: var(--fm-font-display);
	font-weight: var(--fm-display-weight);
	font-size: 17px;
	line-height: 1;
	letter-spacing: calc(0.03em * var(--fm-tracking));
	text-transform: var(--fm-caps);
	text-decoration: none;
	cursor: pointer;
	transition: background var(--fm-fast) var(--fm-ease), color var(--fm-fast) var(--fm-ease), border-color var(--fm-fast) var(--fm-ease);
}

.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce input.button:hover,
.woocommerce .single_add_to_cart_button:hover,
.woocommerce .add_to_cart_button:hover,
.woocommerce-cart .checkout-button:hover,
.woocommerce #place_order:hover {
	background: var(--fm-ink-hover);
	border-color: var(--fm-ink-hover);
	color: var(--fm-on-ink);
	text-decoration: none;
}

.woocommerce .button.alt:disabled,
.woocommerce .button:disabled,
.woocommerce button.button:disabled {
	background: var(--fm-n2);
	border-color: var(--fm-n2);
	color: var(--fm-n6);
	cursor: not-allowed;
	opacity: 1;
}

.woocommerce .button.button-outline,
.woocommerce a.button.wc-forward,
.woocommerce a.button.wc-backward,
.woocommerce .return-to-shop .button,
.woocommerce-MyAccount-navigation a,
.woocommerce .woocommerce-orders-table .button,
.woocommerce .coupon .button,
.woocommerce .reset_variations {
	background: var(--fm-paper);
	border-color: var(--fm-black);
	color: var(--fm-black);
}

.woocommerce a.button.wc-forward:hover,
.woocommerce a.button.wc-backward:hover,
.woocommerce .return-to-shop .button:hover,
.woocommerce .woocommerce-orders-table .button:hover,
.woocommerce .coupon .button:hover {
	background: var(--fm-black);
	border-color: var(--fm-black);
	color: var(--fm-paper);
}

/* Headings in WooCommerce areas */
.woocommerce h1,
.woocommerce h2,
.woocommerce h3,
.woocommerce-products-header__title,
.modern-shop-header h1,
.woocommerce .product_title,
.woocommerce-Reviews-title,
.woocommerce-tabs h2,
.cart_totals h2,
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3,
#order_review_heading,
.woocommerce-order h2,
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
	margin: 0 0 var(--fm-m);
	font-family: var(--fm-font-display);
	font-weight: var(--fm-display-weight);
	line-height: 0.95;
	letter-spacing: calc(0.01em * var(--fm-tracking));
	text-transform: var(--fm-caps);
	color: var(--fm-black);
}

/* Notices: ruled notes */
.woocommerce-notices-wrapper {
	margin: 0 0 calc(var(--fm-m) * 2);
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notice,
.woocommerce-NoticeGroup .woocommerce-error {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--fm-m) calc(var(--fm-m) * 2);
	margin: 0 0 var(--fm-m);
	padding: var(--fm-m) calc(var(--fm-m) * 1.5);
	background: var(--fm-paper);
	border: 1.5px solid var(--fm-black);
	border-top-width: 1.5px;
	border-radius: var(--fm-radius);
	color: var(--fm-black);
	font-size: 14px;
	line-height: 1.4;
	list-style: none;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	display: none;
}

.woocommerce-error,
.woocommerce-error li {
	border-color: var(--fm-error);
	color: var(--fm-error);
	font-weight: 600;
}

.woocommerce-error li {
	border: 0;
	padding: 0;
	margin: 0;
}

.woocommerce-message .button,
.woocommerce-info .button {
	order: 2;
	margin-inline-start: auto;
	min-height: calc(var(--fm-m) * 4.5);
	padding: 0 calc(var(--fm-m) * 1.5);
	font-size: 14px;
}

/* ---------- Shop ---------- */
.modern-shop-header {
	padding: 0 0 calc(var(--fm-m) * 1.5);
	border-bottom: var(--fm-rule-strong);
	margin: 0 0 calc(var(--fm-m) * 2);
}

.modern-shop-header h1,
.woocommerce-products-header__title {
	margin: 0;
	font-size: clamp(32px, 4vw, 48px);
}

.woocommerce .term-description {
	margin: var(--fm-m) 0 0;
	max-width: 70ch;
	color: var(--fm-n6);
}

.modern-shop-controls {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--fm-m) calc(var(--fm-m) * 2);
	margin: 0 0 calc(var(--fm-m) * 2);
}

.modern-shop-filters {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--fm-m) calc(var(--fm-m) * 2);
	width: 100%;
}

.woocommerce .woocommerce-result-count {
	margin: 0;
	font-size: 14px;
	color: var(--fm-n6);
}

.woocommerce .woocommerce-ordering,
.modern-catalog-ordering {
	margin: 0 0 0 auto;
}

.woocommerce .woocommerce-ordering select {
	width: auto;
	min-width: 220px;
}

.woocommerce ul.products,
.modern-products-wrapper ul.products {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: calc(var(--fm-m) * 3) calc(var(--fm-m) * 4);
	margin: 0;
	padding: 0;
	list-style: none;
}

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

.woocommerce ul.products li.product,
.modern-product-card {
	float: none;
	width: auto;
	margin: 0;
	padding: 0 0 calc(var(--fm-m) * 2);
	background: transparent;
	border: 0;
	border-bottom: var(--fm-rule);
	border-radius: 0;
	box-shadow: none;
	overflow: visible;
	transition: none;
}

.woocommerce ul.products li.product:hover {
	box-shadow: none;
	transform: none;
}

/* The card is one grid: photo, then name and line, then price with the action beside it. */
.modern-product-inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-areas:
		"image image"
		"header header"
		"footer actions";
	align-items: end;
	column-gap: calc(var(--fm-m) * 2);
	height: 100%;
}

.modern-product-image-wrapper,
.modern-product-info {
	display: contents;
}

.modern-product-image-wrapper .modern-product-link,
.modern-product-image {
	grid-area: image;
}

.modern-product-header { grid-area: header; align-self: start; padding-top: calc(var(--fm-m) * 1.5); }
.modern-product-footer { grid-area: footer; }
.modern-product-actions { grid-area: actions; padding-top: calc(var(--fm-m) * 1.5); }

.modern-product-image {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: var(--fm-radius);
	background: var(--fm-n1);
}

.modern-product-image {
	aspect-ratio: 4 / 3;
}

.modern-product-image img,
.woocommerce ul.products li.product a img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	margin: 0;
	border-radius: var(--fm-radius);
	outline: 1px solid var(--fm-n2);
	outline-offset: -1px;
	box-shadow: none;
	transition: none;
}

.modern-product-link {
	display: block;
	text-decoration: none;
}

.modern-product-overlay {
	display: none;
}

/* Sale flash: a deal tag on the second ink */
.woocommerce span.onsale,
.modern-sale-badge {
	position: absolute;
	top: var(--fm-m);
	inset-inline-start: var(--fm-m);
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	min-height: 0;
	min-width: 0;
	margin: 0;
	padding: 4px 6px 3px;
	background: var(--fm-ink-2);
	border: 1.5px solid var(--fm-black);
	border-radius: var(--fm-radius);
	color: var(--fm-on-ink-2);
	font-family: var(--fm-font-body);
	font-weight: 700;
	font-size: 11px;
	letter-spacing: calc(0.06em * var(--fm-tracking));
	line-height: 1;
	text-transform: var(--fm-caps);
}

.modern-sale-badge .sale-text::after {
	content: "";
}

/* Category reads after the name as a footnote, never as an eyebrow above it */
.modern-product-header {
	display: flex;
	flex-direction: column;
}

.modern-product-categories {
	order: 2;
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin: 6px 0 0;
}

.modern-product-rating { order: 3; }
.modern-product-excerpt { order: 4; }

.modern-product-category {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: calc(0.04em * var(--fm-tracking));
	text-transform: var(--fm-caps);
	color: var(--fm-n6);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.modern-product-title {
	margin: 0;
	padding: 0;
	font-family: var(--fm-font-display);
	font-weight: var(--fm-display-weight);
	font-size: 22px;
	line-height: 1;
	letter-spacing: calc(0.005em * var(--fm-tracking));
	color: var(--fm-black);
}

.modern-product-title-link {
	color: inherit;
	text-decoration: none;
}

.modern-product-title-link:hover {
	color: var(--fm-ink);
}

.modern-product-rating {
	margin: 6px 0 0;
}

.modern-stars-wrapper {
	display: flex;
	align-items: center;
	gap: var(--fm-m);
	font-size: 13px;
	color: var(--fm-n6);
}

.woocommerce .star-rating {
	float: none;
	margin: 0;
	color: var(--fm-black);
	font-size: 12px;
	letter-spacing: 2px;
}

.woocommerce .star-rating span::before {
	color: var(--fm-black);
}

.modern-product-excerpt {
	margin: 6px 0 0;
	font-size: 14px;
	line-height: 1.35;
	color: var(--fm-n6);
	max-width: 48ch;
}

.modern-product-excerpt p {
	margin: 0;
}

.modern-product-footer {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: calc(var(--fm-m) * 2);
	margin-top: 0;
	padding-top: calc(var(--fm-m) * 1.5);
}

.woocommerce ul.products li.product .price,
.modern-product-price {
	display: block;
	margin: 0;
	font-size: 22px;
	line-height: 1;
	color: var(--fm-price-ink);
}

.modern-product-actions {
	flex-shrink: 0;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product .foodmaster-quickview-button {
	min-height: calc(var(--fm-m) * 5);
	padding: 0 calc(var(--fm-m) * 1.5);
	font-size: 14px;
	background: var(--fm-paper);
	border-color: var(--fm-black);
	color: var(--fm-black);
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .add_to_cart_button:hover,
.woocommerce ul.products li.product .foodmaster-quickview-button:hover {
	background: var(--fm-ink);
	border-color: var(--fm-ink);
	color: var(--fm-on-ink);
}

.woocommerce ul.products li.product .added_to_cart {
	display: inline-block;
	margin-inline-start: var(--fm-m);
	font-size: 13px;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Pagination */
.woocommerce nav.woocommerce-pagination {
	margin: calc(var(--fm-m) * 4) 0 0;
	text-align: start;
}

.woocommerce nav.woocommerce-pagination ul {
	display: inline-flex;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	border: 1.5px solid var(--fm-black);
	border-radius: var(--fm-radius);
	overflow: hidden;
}

.woocommerce nav.woocommerce-pagination ul li {
	margin: 0;
	border: 0;
	border-inline-start: 1.5px solid var(--fm-black);
	list-style: none;
}

.woocommerce nav.woocommerce-pagination ul li::marker,
.woocommerce div.product .woocommerce-tabs ul.tabs li::marker {
	content: "";
}

.woocommerce nav.woocommerce-pagination ul li:first-child {
	border-inline-start: 0;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: calc(var(--fm-m) * 5);
	min-height: calc(var(--fm-m) * 5);
	padding: 0 var(--fm-m);
	font-family: var(--fm-font-display);
	font-weight: var(--fm-display-weight);
	font-size: 16px;
	color: var(--fm-black);
	text-decoration: none;
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
	background: var(--fm-black);
	color: var(--fm-paper);
}

/* Breadcrumb */
.woocommerce .woocommerce-breadcrumb,
.modern-breadcrumbs .woocommerce-breadcrumb {
	margin: 0 0 calc(var(--fm-m) * 2);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: calc(0.02em * var(--fm-tracking));
	color: var(--fm-n6);
}

.woocommerce .woocommerce-breadcrumb a {
	color: var(--fm-black);
	text-decoration: none;
}

.woocommerce .woocommerce-breadcrumb a:hover {
	color: var(--fm-ink);
}

/* ---------- Single product ---------- */
.modern-product-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: calc(var(--fm-m) * 4);
	align-items: start;
}

.modern-product-gallery-column,
.modern-product-details-column {
	min-width: 0;
}

.modern-product-details-column .summary {
	display: flex;
	flex-direction: column;
	gap: 0;
	float: none;
	width: 100%;
	margin: 0;
}

.woocommerce div.product .product_title {
	font-size: clamp(32px, 4vw, 48px);
	margin: 0 0 var(--fm-m);
}

.woocommerce div.product .woocommerce-product-rating {
	display: flex;
	align-items: center;
	gap: var(--fm-m);
	margin: 0 0 var(--fm-m);
	font-size: 13px;
	color: var(--fm-n6);
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	margin: 0 0 calc(var(--fm-m) * 1.5);
	font-size: 30px;
	line-height: 1;
	color: var(--fm-price-ink);
}

.woocommerce div.product .woocommerce-product-details__short-description {
	margin: 0 0 calc(var(--fm-m) * 2);
	max-width: 56ch;
	font-size: 16px;
	line-height: 1.45;
	color: var(--fm-n7);
}

.woocommerce div.product .woocommerce-product-details__short-description p {
	margin: 0 0 0.6em;
}

.woocommerce div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: var(--fm-m);
	margin: 0 0 calc(var(--fm-m) * 2);
	padding: calc(var(--fm-m) * 2) 0 0;
	border-top: var(--fm-rule-strong);
}

.woocommerce div.product form.cart .extra-options-accordion,
.woocommerce div.product form.cart .foodmaster_additional_comments,
.woocommerce div.product form.cart .variations,
.woocommerce div.product form.cart .single_variation_wrap {
	flex: 1 1 100%;
}

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

.woocommerce .quantity .modern-quantity-wrapper {
	display: inline-grid;
	grid-template-columns: calc(var(--fm-m) * 6) calc(var(--fm-m) * 7) calc(var(--fm-m) * 6);
	height: calc(var(--fm-m) * 7);
	border: 1.5px solid var(--fm-black);
	border-radius: var(--fm-radius);
	overflow: hidden;
}

.woocommerce .quantity .qty,
.woocommerce .quantity input.qty {
	width: calc(var(--fm-m) * 9);
	min-height: calc(var(--fm-m) * 7);
	text-align: center;
	font-family: var(--fm-font-display);
	font-weight: var(--fm-display-weight);
	font-size: 18px;
}

.woocommerce .quantity .modern-quantity-wrapper .qty {
	width: 100%;
	min-height: 0;
	border: 0;
	border-left: 1.5px solid var(--fm-black);
	border-right: 1.5px solid var(--fm-black);
	border-radius: 0;
}

.woocommerce .quantity .modern-quantity-wrapper .qty-btn {
	appearance: none;
	-webkit-appearance: none;
	background: transparent;
	border: 0;
	font-family: var(--fm-font-display);
	font-weight: var(--fm-display-weight);
	font-size: 20px;
	color: var(--fm-black);
	cursor: pointer;
}

.woocommerce .quantity .modern-quantity-wrapper .qty-btn:hover {
	background: var(--fm-black);
	color: var(--fm-paper);
}

.woocommerce div.product form.cart .single_add_to_cart_button,
.modern-product-actions .single_add_to_cart_button {
	flex: 1 1 auto;
	min-height: calc(var(--fm-m) * 7);
	font-size: 19px;
}

.woocommerce div.product .product_meta {
	padding: calc(var(--fm-m) * 1.5) 0 0;
	border-top: var(--fm-rule);
	font-size: 13px;
	color: var(--fm-n6);
}

.woocommerce div.product .product_meta > span {
	display: block;
	margin: 0 0 4px;
}

.woocommerce div.product .product_meta a {
	color: var(--fm-black);
	text-decoration: none;
}

/* Variations table */
.woocommerce div.product form.cart .variations {
	margin: 0;
	border: 0;
}

.woocommerce div.product form.cart .variations td,
.woocommerce div.product form.cart .variations th {
	display: block;
	padding: 0;
	border: 0;
	text-align: start;
}

.woocommerce div.product form.cart .variations tr {
	display: grid;
	gap: 4px;
	margin: 0 0 calc(var(--fm-m) * 1.5);
}

.woocommerce div.product form.cart .variations label {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: calc(0.02em * var(--fm-tracking));
	color: var(--fm-n7);
}

.woocommerce div.product form.cart .reset_variations {
	display: inline-block;
	margin: 4px 0 0;
	min-height: 0;
	padding: 0;
	border: 0;
	background: transparent;
	font-family: var(--fm-font-body);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: underline;
	text-underline-offset: 3px;
	color: var(--fm-n6);
}

/* Tabs and reviews */
.modern-product-tabs-section {
	margin: calc(var(--fm-m) * 5) 0 0;
	padding: calc(var(--fm-m) * 3) 0 0;
	border-top: var(--fm-rule-strong);
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex;
	gap: 0;
	margin: 0 0 calc(var(--fm-m) * 2);
	padding: 0;
	list-style: none;
	border-bottom: var(--fm-rule-strong);
	overflow-x: auto;
}

.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 {
	margin: 0;
	padding: 0;
	list-style: none;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::marker {
	content: "";
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display: inline-flex;
	align-items: center;
	min-height: calc(var(--fm-m) * 6);
	padding: 0 calc(var(--fm-m) * 2) 0 0;
	box-shadow: inset 0 -3px 0 transparent;
	color: var(--fm-n6);
	font-family: var(--fm-font-display);
	font-weight: var(--fm-display-weight);
	font-size: 17px;
	letter-spacing: calc(0.02em * var(--fm-tracking));
	text-transform: var(--fm-caps);
	text-decoration: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--fm-black);
	box-shadow: inset 0 -3px 0 var(--fm-ink);
}

.woocommerce div.product .woocommerce-tabs .panel {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}

.woocommerce #reviews #comments ol.commentlist {
	margin: 0;
	padding: 0;
	list-style: none;
}

.woocommerce #reviews #comments ol.commentlist li,
#reviews .commentlist li {
	margin: 0;
	padding: calc(var(--fm-m) * 2) 0;
	border-bottom: var(--fm-rule);
}

.woocommerce #reviews #comments ol.commentlist li img.avatar {
	position: static;
	float: left;
	width: calc(var(--fm-m) * 5);
	height: calc(var(--fm-m) * 5);
	margin: 0 calc(var(--fm-m) * 1.5) 0 0;
	padding: 0;
	border: 0;
	border-radius: var(--fm-radius);
	background: var(--fm-n1);
}

.woocommerce #reviews #comments ol.commentlist li .comment-text {
	margin: 0 0 0 calc(var(--fm-m) * 6.5);
	padding: 0;
	border: 0;
	border-radius: 0;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta {
	margin: 0 0 4px;
	font-size: 13px;
	color: var(--fm-n6);
}

.woocommerce #reviews #comments ol.commentlist li .comment-text .description p {
	margin: 0;
	font-size: 15px;
}

.woocommerce-review__verified {
	font-size: 12px;
	font-weight: 700;
	color: var(--fm-success);
}

.woocommerce #review_form #respond {
	margin: calc(var(--fm-m) * 3) 0 0;
	padding: calc(var(--fm-m) * 2) 0 0;
	border-top: var(--fm-rule-strong);
}

.woocommerce #review_form #respond .comment-reply-title {
	display: block;
	margin: 0 0 var(--fm-m);
	font-family: var(--fm-font-display);
	font-weight: var(--fm-display-weight);
	font-size: 20px;
	letter-spacing: calc(0.02em * var(--fm-tracking));
	text-transform: var(--fm-caps);
}

.woocommerce #review_form #respond p {
	margin: 0 0 calc(var(--fm-m) * 1.5);
}

.woocommerce #review_form #respond label {
	display: block;
	margin: 0 0 4px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: calc(0.02em * var(--fm-tracking));
	color: var(--fm-n7);
}

.woocommerce p.stars a {
	color: var(--fm-black);
}

.woocommerce p.stars a:hover,
.woocommerce p.stars.selected a.active,
.woocommerce p.stars.selected a:not(.active) {
	color: var(--fm-ink);
}

.woocommerce .woocommerce-noreviews,
.woocommerce .woocommerce-Reviews .woocommerce-noreviews {
	padding: calc(var(--fm-m) * 2) 0;
	border-top: var(--fm-rule);
	border-bottom: var(--fm-rule);
	color: var(--fm-n6);
}

/* Related and upsells */
.woocommerce .related,
.woocommerce .up-sells {
	margin: calc(var(--fm-m) * 4) 0 0;
	padding: calc(var(--fm-m) * 3) 0 0;
	border-top: var(--fm-rule-strong);
}

.modern-product-tabs-section > .related:first-child,
.modern-product-tabs-section > .up-sells:first-child {
	margin-top: 0;
	border-top: 0;
}

.woocommerce .related > h2,
.woocommerce .up-sells > h2 {
	font-size: 28px;
	margin: 0 0 calc(var(--fm-m) * 2);
}

/* Sticky add-to-cart on phones */
.modern-sticky-cart {
	display: none;
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1000;
	background: var(--fm-black);
	color: var(--fm-paper);
	padding: var(--fm-m) calc(var(--fm-m) * 2);
	padding-bottom: calc(var(--fm-m) + env(safe-area-inset-bottom, 0px));
}

.modern-sticky-cart .sticky-cart-content {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: calc(var(--fm-m) * 2);
}

.modern-sticky-cart .sticky-product-price,
.modern-sticky-cart .sticky-product-price .amount {
	font-family: var(--fm-font-display);
	font-weight: var(--fm-display-weight);
	font-size: 22px;
	color: var(--fm-paper);
}

.modern-sticky-cart .sticky-cart-actions {
	display: flex;
	align-items: stretch;
	gap: var(--fm-m);
}

.sticky-quantity-controls {
	display: inline-grid;
	grid-template-columns: calc(var(--fm-m) * 5) calc(var(--fm-m) * 5) calc(var(--fm-m) * 5);
	height: calc(var(--fm-m) * 6);
	border: 1.5px solid var(--fm-paper);
	border-radius: var(--fm-radius);
	overflow: hidden;
}

.sticky-quantity-controls .qty-btn {
	appearance: none;
	-webkit-appearance: none;
	background: transparent;
	border: 0;
	color: var(--fm-paper);
	font-family: var(--fm-font-display);
	font-weight: var(--fm-display-weight);
	font-size: 20px;
	cursor: pointer;
}

/* Outranks the theme's generic form-control rule on body.foodmaster-modern-theme input[type="number"] */
body.foodmaster-modern-theme .sticky-quantity-controls input.sticky-qty-input,
.sticky-qty-input {
	width: 100%;
	min-height: 0;
	padding: 0;
	background: transparent;
	border: 0;
	border-left: 1.5px solid var(--fm-paper);
	border-right: 1.5px solid var(--fm-paper);
	border-radius: 0;
	color: var(--fm-paper);
	font-family: var(--fm-font-display);
	font-weight: var(--fm-display-weight);
	font-size: 18px;
	text-align: center;
	-moz-appearance: textfield;
}

.sticky-add-to-cart-btn {
	appearance: none;
	-webkit-appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: calc(var(--fm-m) * 6);
	padding: 0 calc(var(--fm-m) * 2.5);
	background: var(--fm-ink);
	border: 0;
	border-radius: var(--fm-radius);
	color: var(--fm-on-ink);
	font-family: var(--fm-font-display);
	font-weight: var(--fm-display-weight);
	font-size: 17px;
	letter-spacing: calc(0.03em * var(--fm-tracking));
	text-transform: var(--fm-caps);
	cursor: pointer;
}

/* ---------- Cart (classic) ---------- */
.woocommerce-cart .modern-main-content table.shop_table,
.woocommerce table.shop_table {
	width: 100%;
	margin: 0 0 calc(var(--fm-m) * 3);
	border: 0;
	border-top: var(--fm-rule-strong);
	border-collapse: collapse;
	border-radius: 0;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	padding: calc(var(--fm-m) * 1.5) var(--fm-m);
	border: 0;
	border-bottom: var(--fm-rule);
	vertical-align: middle;
	text-align: start;
}

.woocommerce table.shop_table th {
	font-family: var(--fm-font-display);
	font-weight: var(--fm-display-weight);
	font-size: 14px;
	letter-spacing: calc(0.04em * var(--fm-tracking));
	text-transform: var(--fm-caps);
	color: var(--fm-n6);
}

.woocommerce table.shop_table td.product-thumbnail img {
	width: calc(var(--fm-m) * 7);
	height: calc(var(--fm-m) * 7);
	object-fit: cover;
	border-radius: var(--fm-radius);
	outline: 1px solid var(--fm-n2);
	outline-offset: -1px;
}

.woocommerce table.shop_table td.product-name a {
	font-family: var(--fm-font-display);
	font-weight: var(--fm-display-weight);
	font-size: 18px;
	color: var(--fm-black);
	text-decoration: none;
}

.woocommerce table.shop_table td.product-price,
.woocommerce table.shop_table td.product-subtotal,
.woocommerce table.shop_table th.product-price,
.woocommerce table.shop_table th.product-subtotal {
	text-align: end;
	white-space: nowrap;
}

.woocommerce table.shop_table td.product-price .amount,
.woocommerce table.shop_table td.product-subtotal .amount {
	font-size: 18px;
}

.woocommerce a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: calc(var(--fm-m) * 4);
	height: calc(var(--fm-m) * 4);
	border-radius: var(--fm-radius);
	color: var(--fm-n6) !important;
	font-size: 22px;
	font-weight: 400;
	line-height: 1;
	text-decoration: none;
}

.woocommerce a.remove:hover {
	background: var(--fm-black);
	color: var(--fm-paper) !important;
}

.woocommerce-cart table.cart td.actions {
	padding-top: calc(var(--fm-m) * 2);
	border-bottom: 0;
}

.woocommerce-cart table.cart td.actions .coupon {
	display: flex;
	gap: var(--fm-m);
	float: none;
	margin: 0 0 var(--fm-m);
}

.woocommerce-cart table.cart td.actions .coupon .input-text {
	width: auto;
	min-width: 180px;
}

.woocommerce-cart .cart-collaterals {
	width: 100%;
}

.woocommerce-cart .cart-collaterals .cart_totals {
	float: none;
	width: 100%;
	max-width: 480px;
	margin-inline-start: auto;
	padding: 0;
	border: var(--fm-rule-strong);
	border-radius: var(--fm-radius);
}

.woocommerce-cart .cart_totals h2 {
	margin: 0;
	padding: var(--fm-m) calc(var(--fm-m) * 2);
	border-bottom: var(--fm-rule-strong);
	font-size: 22px;
}

.woocommerce-cart .cart_totals table.shop_table {
	margin: 0;
	border-top: 0;
}

.woocommerce-cart .cart_totals table.shop_table th {
	width: auto;
	padding-inline-start: calc(var(--fm-m) * 2);
	font-family: var(--fm-font-body);
	font-weight: 600;
	font-size: 15px;
	letter-spacing: 0;
	text-transform: none;
	color: var(--fm-n7);
}

.woocommerce-cart .cart_totals table.shop_table td {
	padding-inline-end: calc(var(--fm-m) * 2);
	text-align: end;
}

.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
	border-bottom: 0;
	font-family: var(--fm-font-display);
	font-weight: var(--fm-display-weight);
	font-size: 18px;
	letter-spacing: calc(0.02em * var(--fm-tracking));
	text-transform: var(--fm-caps);
	color: var(--fm-black);
}

.woocommerce-cart .cart_totals .order-total .amount {
	font-size: 26px;
}

.woocommerce-cart .wc-proceed-to-checkout {
	padding: calc(var(--fm-m) * 2);
	border-top: var(--fm-rule-strong);
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	display: flex;
	width: 100%;
	min-height: calc(var(--fm-m) * 7);
	margin: 0;
	font-size: 19px;
}

.woocommerce .cart-empty,
.woocommerce .return-to-shop {
	margin: 0 0 calc(var(--fm-m) * 2);
}

/* ---------- Classic checkout ---------- */
.woocommerce-checkout .col2-set {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: calc(var(--fm-m) * 3);
	width: 100%;
}

.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 {
	float: none;
	width: 100%;
}

.woocommerce-checkout form.checkout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: calc(var(--fm-m) * 4);
}

.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3,
#order_review_heading {
	padding: 0 0 var(--fm-m);
	border-bottom: var(--fm-rule-strong);
	font-size: 22px;
}

.woocommerce form .form-row {
	margin: 0 0 calc(var(--fm-m) * 1.5);
	padding: 0;
}

.woocommerce form .form-row label {
	display: block;
	margin: 0 0 4px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: calc(0.02em * var(--fm-tracking));
	color: var(--fm-n7);
}

.woocommerce form .form-row .required {
	color: var(--fm-ink);
	text-decoration: none;
}

.woocommerce form .form-row.woocommerce-invalid .input-text,
.woocommerce form .form-row.woocommerce-invalid select {
	border-color: var(--fm-error);
}

.woocommerce form .form-row.woocommerce-validated .input-text,
.woocommerce form .form-row.woocommerce-validated select {
	border-color: var(--fm-black);
}

.woocommerce form .form-row-first,
.woocommerce form .form-row-last {
	float: none;
	width: 100%;
}

.woocommerce form .form-row.form-row-first,
.woocommerce form .form-row.form-row-last {
	width: 100%;
}

.woocommerce-checkout .woocommerce-checkout-review-order {
	border: var(--fm-rule-strong);
	border-radius: var(--fm-radius);
}

.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table {
	margin: 0;
	border-top: 0;
}

.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table th,
.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table td {
	padding-inline: calc(var(--fm-m) * 2);
}

.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table tfoot th {
	font-family: var(--fm-font-body);
	font-weight: 600;
	font-size: 15px;
	letter-spacing: 0;
	text-transform: none;
	color: var(--fm-n7);
}

.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table tfoot td {
	text-align: end;
}

.woocommerce-checkout .woocommerce-checkout-review-order .order-total th,
.woocommerce-checkout .woocommerce-checkout-review-order .order-total td {
	font-family: var(--fm-font-display);
	font-weight: var(--fm-display-weight);
	font-size: 18px;
	letter-spacing: calc(0.02em * var(--fm-tracking));
	text-transform: var(--fm-caps);
	color: var(--fm-black);
}

.woocommerce-checkout .woocommerce-checkout-review-order .order-total .amount {
	font-size: 26px;
}

.woocommerce-checkout #payment {
	background: transparent;
	border-top: var(--fm-rule-strong);
	border-radius: 0;
}

.woocommerce-checkout #payment ul.payment_methods {
	margin: 0;
	padding: calc(var(--fm-m) * 2);
	border-bottom: var(--fm-rule);
}

.woocommerce-checkout #payment ul.payment_methods li {
	margin: 0;
	padding: var(--fm-m) 0;
	border-bottom: var(--fm-rule);
	line-height: 1.4;
}

.woocommerce-checkout #payment ul.payment_methods li:last-child {
	border-bottom: 0;
}

.woocommerce-checkout #payment ul.payment_methods li label {
	font-weight: 600;
}

.woocommerce-checkout #payment div.payment_box {
	margin: var(--fm-m) 0 0;
	padding: var(--fm-m) calc(var(--fm-m) * 1.5);
	background: var(--fm-n1);
	border-radius: var(--fm-radius);
	color: var(--fm-n7);
	font-size: 14px;
}

.woocommerce-checkout #payment div.payment_box::before {
	display: none;
}

.woocommerce-checkout #payment .place-order {
	padding: calc(var(--fm-m) * 2);
}

.woocommerce-checkout #payment .place-order .woocommerce-terms-and-conditions-wrapper {
	margin: 0 0 calc(var(--fm-m) * 1.5);
	font-size: 14px;
}

.woocommerce-checkout #place_order {
	display: flex;
	width: 100%;
	min-height: calc(var(--fm-m) * 7);
	font-size: 19px;
	float: none;
}

.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
	margin: 0 0 calc(var(--fm-m) * 2);
}

.woocommerce-checkout .checkout_coupon {
	display: flex;
	flex-wrap: wrap;
	gap: var(--fm-m);
	margin: 0 0 calc(var(--fm-m) * 2);
	padding: calc(var(--fm-m) * 2);
	border: 1.5px solid var(--fm-black);
	border-radius: var(--fm-radius);
}

.woocommerce-checkout .checkout_coupon .form-row {
	margin: 0;
	flex: 1 1 200px;
}

/* Select2 inside the checkout */
.woocommerce .select2-container--default .select2-selection--single {
	height: calc(var(--fm-m) * 6);
	border: 1.5px solid var(--fm-black);
	border-radius: var(--fm-radius);
	background: var(--fm-paper);
}

.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: calc(var(--fm-m) * 6 - 3px);
	padding-inline: calc(var(--fm-m) * 1.5) calc(var(--fm-m) * 5);
	color: var(--fm-black);
	font-weight: 600;
}

.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: calc(var(--fm-m) * 6 - 3px);
	inset-inline-end: var(--fm-m);
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] {
	background: var(--fm-selected-bg);
	color: var(--fm-on-selected);
}

.select2-dropdown {
	border: 1.5px solid var(--fm-black);
	border-radius: var(--fm-radius);
}

/* Thank you */
.woocommerce-order .woocommerce-thankyou-order-received {
	margin: 0 0 calc(var(--fm-m) * 2);
	font-family: var(--fm-font-display);
	font-weight: var(--fm-display-weight);
	font-size: 28px;
	text-transform: var(--fm-caps);
}

.woocommerce-order-overview,
.woocommerce ul.order_details {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 0 calc(var(--fm-m) * 3);
	margin: 0 0 calc(var(--fm-m) * 3);
	padding: 0;
	border-top: var(--fm-rule-strong);
	list-style: none;
}

.woocommerce-order-overview li,
.woocommerce ul.order_details li {
	float: none;
	margin: 0;
	padding: calc(var(--fm-m) * 1.5) 0;
	border: 0;
	border-bottom: var(--fm-rule);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: calc(0.02em * var(--fm-tracking));
	text-transform: var(--fm-caps);
	color: var(--fm-n6);
}

.woocommerce-order-overview li strong,
.woocommerce ul.order_details li strong {
	display: block;
	margin-top: 4px;
	font-family: var(--fm-font-display);
	font-weight: var(--fm-display-weight);
	font-size: 20px;
	letter-spacing: 0;
	text-transform: none;
	color: var(--fm-black);
}

.woocommerce-customer-details .woocommerce-column__title {
	font-size: 20px;
}

.woocommerce-customer-details address {
	padding: calc(var(--fm-m) * 1.5) 0;
	border: 0;
	border-top: var(--fm-rule-strong);
	border-bottom: var(--fm-rule);
	border-radius: 0;
	font-style: normal;
	line-height: 1.5;
}

/* ---------- Account ---------- */
.woocommerce-account .woocommerce {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: calc(var(--fm-m) * 4);
}

.woocommerce-account .woocommerce:not(:has(.woocommerce-MyAccount-navigation)) {
	grid-template-columns: minmax(0, 1fr) !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
	float: none;
	width: 100%;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	display: flex;
	flex-wrap: wrap;
	gap: var(--fm-m);
	margin: 0;
	padding: 0 0 calc(var(--fm-m) * 2);
	border-bottom: var(--fm-rule-strong);
	list-style: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
	margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: inline-flex;
	align-items: center;
	min-height: calc(var(--fm-m) * 5);
	padding: 0 calc(var(--fm-m) * 1.5);
	border: 1.5px solid var(--fm-black);
	border-radius: var(--fm-radius);
	color: var(--fm-black);
	font-family: var(--fm-font-display);
	font-weight: var(--fm-display-weight);
	font-size: 14px;
	letter-spacing: calc(0.03em * var(--fm-tracking));
	text-transform: var(--fm-caps);
	text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
	background: var(--fm-black);
	color: var(--fm-paper);
}

.woocommerce-account .woocommerce-MyAccount-content {
	float: none;
	width: 100%;
	min-width: 0;
}

.woocommerce-account .woocommerce-MyAccount-content p {
	max-width: 70ch;
}

.woocommerce-account .woocommerce-orders-table .button {
	min-height: calc(var(--fm-m) * 4.5);
	padding: 0 calc(var(--fm-m) * 1.5);
	font-size: 13px;
}

.woocommerce-account .addresses .title h3 {
	font-size: 20px;
}

.woocommerce-account .woocommerce-Address address {
	padding: calc(var(--fm-m) * 1.5) 0;
	border-top: var(--fm-rule-strong);
	font-style: normal;
	line-height: 1.5;
}

.woocommerce-account .edit {
	font-size: 13px;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Login and register */
.woocommerce-form-login,
.woocommerce-form-register,
.woocommerce-ResetPassword {
	max-width: 520px;
	margin: 0;
	padding: calc(var(--fm-m) * 3);
	border: var(--fm-rule-strong) !important;
	border-radius: var(--fm-radius) !important;
}

.woocommerce-form-login .form-row,
.woocommerce-form-register .form-row,
.woocommerce-form-register p,
.woocommerce-form-register > div {
	margin: 0 0 calc(var(--fm-m) * 1.5);
}

.woocommerce-form-register .form-field {
	margin: 0 0 calc(var(--fm-m) * 1.5);
}

.woocommerce-form-register .form-field .required,
.woocommerce-form-login .required {
	color: var(--fm-ink);
	text-decoration: none;
}

.woocommerce-form-register label,
.woocommerce-form-register .form-field label,
.woocommerce-form-login label {
	display: block;
	margin: 0 0 4px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: calc(0.02em * var(--fm-tracking));
	color: var(--fm-n7);
}

/* Password field with its show control */
.woocommerce-form .password-input {
	position: relative;
	display: block;
}

.woocommerce-form .password-input input {
	padding-inline-end: calc(var(--fm-m) * 6);
}

.woocommerce-form .show-password-input {
	position: absolute;
	top: 50%;
	inset-inline-end: var(--fm-m);
	width: calc(var(--fm-m) * 4);
	height: calc(var(--fm-m) * 4);
	margin: 0;
	padding: 0;
	transform: translateY(-50%);
	background-color: var(--fm-black);
	border: 0;
	border-radius: var(--fm-radius);
	cursor: pointer;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M2 12s3.5-6 10-6 10 6 10 6-3.5 6-10 6S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / 20px 20px no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M2 12s3.5-6 10-6 10 6 10 6-3.5 6-10 6S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / 20px 20px no-repeat;
}

.woocommerce-form .show-password-input.display-password {
	background-color: var(--fm-ink);
}

.woocommerce-form .show-password-input::after {
	display: none;
}

.woocommerce-form-login .woocommerce-form-login__rememberme {
	display: inline-flex;
	align-items: center;
	gap: var(--fm-m);
	margin: 0 0 calc(var(--fm-m) * 1.5);
	font-size: 14px;
}

.woocommerce-form-login .woocommerce-form-login__submit,
.woocommerce-form-register .woocommerce-form-register__submit {
	width: 100%;
	min-height: calc(var(--fm-m) * 6.5);
}

.woocommerce-LostPassword {
	margin: calc(var(--fm-m) * 1.5) 0 0;
	font-size: 14px;
}

.woocommerce-LostPassword a {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.u-columns.col2-set {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: calc(var(--fm-m) * 3);
}

.u-columns .u-column1,
.u-columns .u-column2 {
	float: none;
	width: 100%;
}

.woocommerce-form-register .woocommerce-privacy-policy-text {
	font-size: 13px;
	color: var(--fm-n6);
}

/* Loading overlay */
.woocommerce .blockUI.blockOverlay {
	background: var(--fm-paper) !important;
	opacity: 0.6 !important;
}

.woocommerce .blockUI.blockOverlay::before {
	display: none;
}

/* ---------- Breakpoints ---------- */
@media (min-width: 769px) {
	.modern-product-layout {
		grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
		gap: calc(var(--fm-m) * 6);
	}

	.woocommerce form .form-row-first,
	.woocommerce form .form-row-last {
		width: calc(50% - var(--fm-m));
		float: left;
	}

	.woocommerce form .form-row-last {
		float: right;
	}

	.woocommerce-account .woocommerce {
		grid-template-columns: minmax(200px, 240px) minmax(0, 1fr);
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		flex-direction: column;
		gap: 0;
		padding: 0;
		border-bottom: 0;
		border-top: var(--fm-rule-strong);
	}

	.woocommerce-account .woocommerce-MyAccount-navigation a {
		width: 100%;
		min-height: calc(var(--fm-m) * 6);
		padding: 0 var(--fm-m);
		border: 0;
		border-bottom: var(--fm-rule);
		border-radius: 0;
		font-size: 16px;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
		background: var(--fm-ink-tint, var(--fm-n1));
		color: var(--fm-ink);
	}

	.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
		background: var(--fm-n1);
		color: var(--fm-black);
	}

	.u-columns.col2-set {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1025px) {
	.woocommerce-checkout form.checkout {
		grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
		align-items: start;
	}

	.woocommerce-checkout form.checkout .col2-set {
		grid-column: 1;
	}

	.woocommerce-checkout form.checkout #order_review_heading,
	.woocommerce-checkout form.checkout #order_review {
		grid-column: 2;
	}

	.woocommerce-checkout form.checkout #order_review_heading {
		grid-row: 1;
	}

	.woocommerce-checkout form.checkout #order_review {
		grid-row: 2 / span 4;
		position: sticky;
		top: calc(var(--fm-m) * 2);
	}
}

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

@media (max-width: 600px) {
	.woocommerce ul.products,
	.modern-products-wrapper ul.products {
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
	}

	.modern-product-card {
		padding: calc(var(--fm-m) * 1.5) 0;
	}

	.modern-product-inner {
		grid-template-columns: calc(var(--fm-m) * 11) minmax(0, 1fr) auto;
		grid-template-areas:
			"image header header"
			"image footer actions";
		column-gap: calc(var(--fm-m) * 2);
	}

	.modern-product-image {
		aspect-ratio: 1;
	}

	.modern-product-header,
	.modern-product-actions {
		padding-top: 0;
	}

	.modern-product-footer {
		padding-top: var(--fm-m);
	}

	.modern-product-title {
		font-size: 20px;
	}

	.modern-product-price {
		font-size: 20px;
	}

	.modern-sticky-cart {
		display: block;
	}

	.woocommerce table.shop_table thead {
		display: none;
	}

	.woocommerce table.shop_table tr {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr) auto;
		gap: 4px calc(var(--fm-m) * 1.5);
		padding: calc(var(--fm-m) * 1.5) 0;
		border-bottom: var(--fm-rule);
	}

	.woocommerce table.shop_table td {
		padding: 0;
		border: 0;
	}

	.woocommerce table.shop_table td.product-remove { grid-column: 3; grid-row: 1; justify-self: end; }
	.woocommerce table.shop_table td.product-thumbnail { grid-column: 1; grid-row: 1 / span 3; }
	.woocommerce table.shop_table td.product-name { grid-column: 2; grid-row: 1; }
	.woocommerce table.shop_table td.product-price { grid-column: 2; grid-row: 2; text-align: start; }
	.woocommerce table.shop_table td.product-quantity { grid-column: 2; grid-row: 3; }
	.woocommerce table.shop_table td.product-subtotal { grid-column: 3; grid-row: 2 / span 2; align-self: end; }

	.woocommerce table.shop_table td::before {
		display: none;
	}

	.woocommerce-cart table.cart td.actions {
		display: block;
		padding: calc(var(--fm-m) * 2) 0 0;
	}

	.woocommerce-cart .cart-collaterals .cart_totals {
		max-width: none;
	}

	.woocommerce-cart .cart_totals table.shop_table tr {
		display: flex;
		justify-content: space-between;
		padding: var(--fm-m) calc(var(--fm-m) * 2);
	}
}

@media (prefers-reduced-motion: reduce) {
	.woocommerce .button,
	.woocommerce a.button {
		transition: none;
	}
}
