/* CHF shop (/menu/) + single product restyle (plugin 1.7.0). Loaded only when body has .chf-shop-on.
   Restyles the live WooCommerce loop and Oxygen template 160 elements. Nothing here creates products. */

body.chf-shop-on {
	--paper: oklch(97.6% 0.008 350);
	--blush: oklch(94.5% 0.022 350);
	--blush-deep: oklch(90% 0.035 350);
	--ink: oklch(24% 0.016 355);
	--ink-soft: oklch(40% 0.02 355);
	--accent: oklch(47% 0.155 12);
	--accent-dark: oklch(40% 0.14 12);
	--line: oklch(86% 0.02 350);
	--white: #fff;
	--serif: "Fraunces", Georgia, "Times New Roman", serif;
	--sans: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
	--radius: 14px;
	background: var(--paper) !important;
}

/* Page frame: plain paper, no patterned background, no boxed panels */
body.chf-shop-on .ct-inner-content,
body.chf-shop-on #section-237-289,
body.chf-shop-on #section-59-160,
body.chf-shop-on #section-4-160 {
	background: var(--paper) !important;
	background-image: none !important;
}
body.chf-shop-on #section-237-289 > .ct-section-inner-wrap,
body.chf-shop-on #section-59-160 > .ct-section-inner-wrap,
body.chf-shop-on #section-4-160 > .ct-section-inner-wrap,
body.chf-shop-on #div_block-2-64,
body.chf-shop-on #div_block-22-160,
body.chf-shop-on #div_block-70-160 {
	background: transparent !important;
	box-shadow: none !important;
	border: 0 !important;
}
body.chf-shop-on #section-237-289 > .ct-section-inner-wrap,
body.chf-shop-on #section-59-160 > .ct-section-inner-wrap,
body.chf-shop-on #section-4-160 > .ct-section-inner-wrap {
	max-width: 1160px;
	padding-left: 20px !important;
	padding-right: 20px !important;
}
body.chf-shop-on #section-237-289 > .ct-section-inner-wrap { padding-top: clamp(2rem, 5vw, 3.5rem) !important; padding-bottom: clamp(3rem, 7vw, 5rem) !important; }
body.chf-shop-on #section-59-160 > .ct-section-inner-wrap { padding-top: clamp(1.5rem, 4vw, 3rem) !important; padding-bottom: 1rem !important; }
body.chf-shop-on #section-4-160 > .ct-section-inner-wrap { padding-top: 1rem !important; padding-bottom: clamp(3rem, 7vw, 5rem) !important; }

/* Oxygen boxes inside the templates: no white panels, no extra side padding */
body.chf-shop-on #headline-242-289,
body.chf-shop-on #-woo-products-238-289,
body.chf-shop-on #new_columns-61-160,
body.chf-shop-on #new_columns-53-160,
body.chf-shop-on #-product-tabs-47-160 {
	background: transparent !important;
	box-shadow: none !important;
}
body.chf-shop-on #-woo-products-238-289,
body.chf-shop-on #new_columns-61-160,
body.chf-shop-on #-product-tabs-47-160 { padding-left: 0 !important; padding-right: 0 !important; }

/* Shared type */
body.chf-shop-on .ct-inner-content,
body.chf-shop-on .ct-inner-content p,
body.chf-shop-on .woocommerce {
	font-family: var(--sans);
	color: var(--ink);
}
body.chf-shop-on .ct-inner-content a { color: var(--accent); text-underline-offset: 3px; }
body.chf-shop-on .ct-inner-content :focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; border-radius: 6px; }

/* ---- Shop grid (/menu/) ---- */
body.chf-shop-on #headline-242-289,
body.chf-shop-on #headline-242-289 * {
	font-family: var(--serif) !important;
	font-weight: 500 !important;
	color: var(--ink) !important;
	text-align: left !important;
}
body.chf-shop-on #headline-242-289 { font-size: clamp(2.5rem, 5.4vw, 4.25rem) !important; line-height: 1.1 !important; letter-spacing: -0.01em; margin: 0 0 0.75rem !important; }
body.chf-shop-on .oxy-woo-products h1.page-title { display: none !important; } /* second h1 "Shop" under "Menu" */
.chf-shop-intro { max-width: 44rem; margin: 0 0 2rem; }
.chf-shop-intro, .chf-shop-intro p { text-align: left !important; }
.chf-shop-eyebrow { font: 600 0.8rem/1.3 var(--sans) !important; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent) !important; margin: 0 0 0.75rem !important; }
.chf-shop-lede { font-size: 1.15rem !important; line-height: 1.6 !important; color: var(--ink-soft) !important; margin: 0 !important; }

body.chf-shop-on .woocommerce-result-count { font-size: 0.95rem; color: var(--ink-soft); margin: 0 0 1.5rem; line-height: 44px; }
body.chf-shop-on .woocommerce-ordering { margin: 0 0 1.5rem; }

body.chf-shop-on .woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 2rem 12px;
	margin: 0 !important;
	padding: 0 !important;
	clear: both;
}
body.chf-shop-on .woocommerce ul.products::before,
body.chf-shop-on .woocommerce ul.products::after { content: none !important; display: none !important; }
@media (min-width: 760px) { body.chf-shop-on .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem 1.5rem; } }
@media (min-width: 1080px) { body.chf-shop-on .woocommerce ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
body.chf-shop-on .woocommerce ul.products li.product {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex;
	flex-direction: column;
	text-align: left;
}
body.chf-shop-on ul.products li.product a.woocommerce-loop-product__link {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	color: var(--ink) !important;
	text-decoration: none !important;
}
body.chf-shop-on ul.products li.product img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: var(--radius);
	margin: 0 0 0.75rem !important;
	background: var(--blush);
	transition: transform 0.5s ease;
}
body.chf-shop-on ul.products li.product a.woocommerce-loop-product__link { overflow: visible; }
body.chf-shop-on ul.products li.product a.woocommerce-loop-product__link:hover img { transform: scale(1.02); }
body.chf-shop-on ul.products li.product .woocommerce-loop-product__title {
	font: 500 1.15rem/1.25 var(--serif) !important;
	color: var(--ink) !important;
	padding: 0 !important;
	margin: 0 0 0.35rem !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
body.chf-shop-on ul.products li.product a:hover .woocommerce-loop-product__title { color: var(--accent) !important; }
@media (min-width: 760px) { body.chf-shop-on ul.products li.product .woocommerce-loop-product__title { font-size: 1.3rem !important; } }
body.chf-shop-on ul.products li.product .star-rating { margin: 0 0 0.35rem !important; font-size: 0.85rem; color: var(--accent); }
body.chf-shop-on .star-rating::before { color: var(--line) !important; }
body.chf-shop-on .star-rating span::before { color: var(--accent) !important; }
body.chf-shop-on ul.products li.product .price {
	display: block;
	margin: auto 0 0.75rem !important;
	padding-top: 0.25rem;
	font: 600 1rem/1.3 var(--sans) !important;
	font-variant-numeric: tabular-nums;
	color: var(--accent) !important;
}
body.chf-shop-on ul.products li.product .price * { color: inherit !important; font: inherit !important; }
body.chf-shop-on ul.products li.product .button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 44px;
	margin: 0 !important;
	padding: 0.55em 1em !important;
	border-radius: 999px !important;
	border: 2px solid var(--accent) !important;
	background: transparent !important;
	color: var(--accent) !important;
	font: 600 0.95rem/1.2 var(--sans) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	text-decoration: none !important;
	transition: background-color 0.2s ease, color 0.2s ease;
}
body.chf-shop-on ul.products li.product .button:hover { background: var(--accent) !important; color: var(--white) !important; }
body.chf-shop-on ul.products li.product .added_to_cart { display: block; margin-top: 0.5rem; text-align: center; font-weight: 600; }

/* ---- Single product (template 160) ---- */
body.chf-shop-on #new_columns-61-160 { align-items: flex-start; }
@media (min-width: 993px) { body.chf-shop-on #div_block-64-160 { padding-left: clamp(1.5rem, 4vw, 3.5rem) !important; } }
@media (max-width: 992px) { body.chf-shop-on #div_block-62-160, body.chf-shop-on #div_block-64-160 { padding-left: 0 !important; padding-right: 0 !important; } body.chf-shop-on #div_block-64-160 { padding-top: 1.5rem !important; } }
body.chf-shop-on .oxy-product-images .woocommerce-product-gallery__image img,
body.chf-shop-on .oxy-product-images .flex-viewport { border-radius: var(--radius); }
body.chf-shop-on .oxy-product-images .flex-control-thumbs { display: grid !important; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-top: 8px !important; }
body.chf-shop-on .oxy-product-images .flex-control-thumbs li { width: auto !important; float: none !important; margin: 0 !important; }
body.chf-shop-on .oxy-product-images .flex-control-thumbs img { border-radius: 8px; opacity: 0.7; aspect-ratio: 1; object-fit: cover; }
body.chf-shop-on .oxy-product-images .flex-control-thumbs img.flex-active,
body.chf-shop-on .oxy-product-images .flex-control-thumbs img:hover { opacity: 1; }

body.chf-shop-on .oxy-product-title,
body.chf-shop-on h1.product_title {
	font: 500 clamp(2rem, 3.6vw, 2.9rem)/1.1 var(--serif) !important;
	color: var(--ink) !important;
	letter-spacing: -0.01em;
	text-transform: none !important;
	margin: 0 0 0.75rem !important;
}
body.chf-shop-on .oxy-product-price .price,
body.chf-shop-on .oxy-product-price .price * {
	font: 600 1.4rem/1.3 var(--sans) !important;
	font-variant-numeric: tabular-nums;
	color: var(--accent) !important;
}
body.chf-shop-on .oxy-product-rating { margin: 0.25rem 0 1.25rem; }
body.chf-shop-on .oxy-product-rating .star-rating { color: var(--accent); }
body.chf-shop-on .woocommerce-review-link { font-size: 0.9rem; color: var(--ink-soft) !important; }

/* Variation choices: one clear label + one full-width select per row */
body.chf-shop-on form.cart table.variations,
body.chf-shop-on form.cart table.variations tbody,
body.chf-shop-on form.cart table.variations tr,
body.chf-shop-on form.cart table.variations th,
body.chf-shop-on form.cart table.variations td { display: block; width: 100%; border: 0 !important; padding: 0 !important; background: none !important; text-align: left !important; }
body.chf-shop-on form.cart table.variations { margin: 0 0 1rem !important; }
body.chf-shop-on form.cart table.variations tr { margin-bottom: 1rem; }
body.chf-shop-on form.cart table.variations th.label label {
	display: block;
	margin: 0 0 0.4rem;
	font: 600 0.95rem/1.3 var(--sans) !important;
	color: var(--ink) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
body.chf-shop-on form.cart table.variations select,
body.chf-shop-on form.cart .quantity input.qty {
	-webkit-appearance: none;
	appearance: none;
	width: 100% !important;
	min-height: 50px;
	padding: 0.65em 2.6em 0.65em 0.9em !important;
	border: 1px solid var(--line) !important;
	border-radius: 10px !important;
	background: var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237a2033' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 0.9em center / 18px !important;
	color: var(--ink) !important;
	font: 400 1rem/1.3 var(--sans) !important;
	box-shadow: none !important;
}
body.chf-shop-on form.cart .quantity input.qty { background-image: none !important; padding: 0.65em 0.5em !important; text-align: center; width: 5.5em !important; }
body.chf-shop-on form.cart table.variations select:focus,
body.chf-shop-on form.cart .quantity input.qty:focus { border-color: var(--accent) !important; box-shadow: 0 0 0 3px oklch(47% 0.155 12 / 0.18) !important; outline: none; }
body.chf-shop-on form.cart .reset_variations { display: inline-block; margin-top: 0.5rem; font-size: 0.9rem; color: var(--ink-soft) !important; }
body.chf-shop-on .woocommerce-variation-price .price,
body.chf-shop-on .woocommerce-variation-price .price * { font: 600 1.25rem/1.3 var(--sans) !important; color: var(--accent) !important; }
body.chf-shop-on .woocommerce-variation-availability { font-size: 0.95rem; color: var(--ink-soft); }
body.chf-shop-on .single_variation_wrap .woocommerce-variation { margin-bottom: 1rem; }
body.chf-shop-on .woocommerce-variation-add-to-cart,
body.chf-shop-on form.cart:not(.variations_form) { display: flex !important; flex-wrap: wrap; align-items: stretch; gap: 10px; }
body.chf-shop-on form.cart .quantity { margin: 0 !important; float: none !important; }
body.chf-shop-on form.cart .single_add_to_cart_button {
	flex: 1 1 12rem;
	float: none !important;
	min-height: 52px;
	margin: 0 !important;
	padding: 0.8em 1.6em !important;
	border-radius: 999px !important;
	border: 2px solid var(--accent) !important;
	background: var(--accent) !important;
	color: var(--white) !important;
	font: 600 1rem/1.2 var(--sans) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	opacity: 1;
	transition: background-color 0.2s ease;
}
body.chf-shop-on .oxy-product-cart-button form.cart button.single_add_to_cart_button.button.alt,
body.chf-shop-on .oxy-product-cart-button form.cart button.single_add_to_cart_button.button.alt.disabled {
	background: var(--accent) !important;
	background-color: var(--accent) !important;
	border-color: var(--accent) !important;
	color: var(--white) !important;
}
body.chf-shop-on #-product-cart-button-69-160 form.cart button.single_add_to_cart_button.disabled,
body.chf-shop-on #-product-cart-button-39-160 form.cart button.single_add_to_cart_button.disabled,
body.chf-shop-on #-product-cart-button-69-160 form.cart button.single_add_to_cart_button:disabled {
	background: var(--accent) !important;
	background-color: var(--accent) !important;
	border-color: var(--accent) !important;
	color: var(--white) !important;
	opacity: 0.5 !important;
}
body.chf-shop-on form.cart .single_add_to_cart_button:hover { background: var(--accent-dark) !important; border-color: var(--accent-dark) !important; }
body.chf-shop-on form.cart .single_add_to_cart_button.disabled,
body.chf-shop-on form.cart .single_add_to_cart_button:disabled { opacity: 0.5 !important; cursor: not-allowed; }

.chf-shop-pickup {
	margin-top: 1.25rem;
	padding: 1rem 1.25rem;
	border-radius: var(--radius);
	background: var(--blush);
	font-size: 0.95rem;
	line-height: 1.55;
	color: var(--ink-soft);
}
.chf-shop-pickup p { margin: 0 !important; color: var(--ink-soft) !important; font-size: 0.95rem !important; }
.chf-shop-pickup p + p { margin-top: 0.4rem !important; }
.chf-shop-pickup strong { color: var(--ink); }
.chf-shop-pickup a { color: var(--accent) !important; font-weight: 600; }

/* WooCommerce notices (added to cart, errors) */
body.chf-shop-on .woocommerce-message,
body.chf-shop-on .woocommerce-info,
body.chf-shop-on .woocommerce-error {
	border: 0 !important;
	border-radius: var(--radius);
	background: var(--blush) !important;
	color: var(--ink) !important;
	font: 400 1rem/1.5 var(--sans) !important;
	padding: 1rem 1.25rem 1rem 3rem !important;
}
body.chf-shop-on .woocommerce-message::before,
body.chf-shop-on .woocommerce-info::before { color: var(--accent) !important; }
body.chf-shop-on .woocommerce-error::before { color: var(--accent-dark) !important; }
body.chf-shop-on .woocommerce-message .button,
body.chf-shop-on .woocommerce-info .button {
	float: right;
	border-radius: 999px !important;
	background: var(--accent) !important;
	color: var(--white) !important;
	font: 600 0.95rem/1.2 var(--sans) !important;
	text-transform: none !important;
	padding: 0.6em 1.2em !important;
}

/* Tabs (description, additional information, reviews) */
body.chf-shop-on .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 1.5rem !important;
	padding: 0 !important;
	list-style: none;
	border: 0 !important;
}
body.chf-shop-on .woocommerce-tabs ul.tabs::before,
body.chf-shop-on .woocommerce-tabs ul.tabs li::before,
body.chf-shop-on .woocommerce-tabs ul.tabs li::after { display: none !important; }
body.chf-shop-on .woocommerce-tabs ul.tabs li {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	list-style: none !important;
}
body.chf-shop-on .woocommerce-tabs ul.tabs li a {
	display: flex !important;
	align-items: center;
	justify-content: center;
	text-align: center;
	width: 100%;
	height: 52px;
	padding: 0 1em !important;
	white-space: nowrap;
	border-radius: 999px;
	border: 1px solid var(--line);
	background: var(--white);
	color: var(--ink) !important;
	font: 600 0.95rem/1.2 var(--sans) !important;
	text-decoration: none !important;
}
body.chf-shop-on .woocommerce-tabs ul.tabs li.active a { background: var(--accent); border-color: var(--accent); color: var(--white) !important; }
body.chf-shop-on .woocommerce-tabs .panel,
body.chf-shop-on .woocommerce-tabs .panel p,
body.chf-shop-on .woocommerce-tabs .panel li { font: 400 1rem/1.65 var(--sans) !important; color: var(--ink-soft) !important; }
body.chf-shop-on .woocommerce-tabs .panel h2 { font: 500 1.6rem/1.2 var(--serif) !important; color: var(--ink) !important; margin: 0 0 1rem !important; }
body.chf-shop-on .woocommerce-tabs table.shop_attributes th,
body.chf-shop-on .woocommerce-tabs table.shop_attributes td { font: 400 0.95rem/1.5 var(--sans) !important; color: var(--ink) !important; border-color: var(--line) !important; padding: 0.6rem 0.75rem !important; }
body.chf-shop-on #reviews .comment-text { border-color: var(--line) !important; border-radius: var(--radius) !important; }
body.chf-shop-on #reviews .star-rating,
body.chf-shop-on #reviews p.stars a { color: var(--accent) !important; }


/* Tabs layout (Mario 10-01): one column of equal pills, clear space before the content, content left-aligned */
body.chf-shop-on .woocommerce-tabs {
	display: grid !important;
	grid-template-columns: 1fr;
	gap: 1.5rem;
	align-items: start;
}
body.chf-shop-on .woocommerce-tabs ul.tabs {
	display: grid !important;
	grid-template-columns: 1fr;
	gap: 10px !important;
	width: auto !important;
	float: none !important;
	margin: 0 !important;
}
body.chf-shop-on .woocommerce-tabs ul.tabs li { width: 100% !important; float: none !important; display: block !important; }
body.chf-shop-on .woocommerce-tabs .panel {
	width: auto !important;
	float: none !important;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
	text-align: left !important;
}
body.chf-shop-on .woocommerce-tabs .panel * { text-align: left; }
@media (min-width: 760px) {
	body.chf-shop-on .woocommerce-tabs { grid-template-columns: 15rem minmax(0, 1fr); gap: clamp(2.5rem, 5vw, 4.5rem); }
	body.chf-shop-on .woocommerce-tabs ul.tabs { gap: 12px !important; }
}

/* Related products slider (product pages): a scroll-snap row; arrows from shop.js on wider screens */
body.chf-shop-on #-related-products-71-160 { display: none !important; } /* second related block in section 59, above the tabs */
body.chf-shop-on .oxy-related-products {
	position: relative;
	min-width: 0;
	max-width: 100%;
	margin-top: clamp(2.5rem, 6vw, 4rem) !important;
	padding: 0 !important;
	background: transparent !important;
}
body.chf-shop-on .oxy-related-products > h2 { padding-right: 180px; }
body.chf-shop-on .oxy-related-products section.related { margin: 0 !important; padding: 0 !important; width: 100% !important; float: none !important; }
body.chf-shop-on .oxy-related-products section.related ul.products {
	display: grid !important;
	grid-auto-flow: column;
	grid-template-columns: none !important;
	grid-auto-columns: calc((100% - 3 * 1.5rem) / 4);
	gap: 1.5rem;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
	scrollbar-color: var(--line) transparent;
	padding: 4px 2px 14px !important;
	margin: 0 !important;
}
body.chf-shop-on .oxy-related-products section.related ul.products li.product {
	scroll-snap-align: start;
	float: none !important;
	width: auto !important;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column;
	text-align: left !important;
}
body.chf-shop-on .oxy-related-products section.related ul.products li.product a.woocommerce-loop-product__link { display: flex; flex-direction: column; flex: 1 1 auto; width: 100%; }
body.chf-shop-on .oxy-related-products section.related ul.products li.product img { width: 100% !important; max-width: none !important; height: auto !important; aspect-ratio: 1; object-fit: cover; }
body.chf-shop-on .oxy-related-products section.related ul.products li.product .button { width: 100% !important; }
body.chf-shop-on .oxy-related-products section.related ul.products:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; border-radius: 8px; }
@media (max-width: 999px) { body.chf-shop-on .oxy-related-products section.related ul.products { grid-auto-columns: calc((100% - 2 * 1.25rem) / 3); gap: 1.25rem; } }
@media (max-width: 759px) {
	body.chf-shop-on .oxy-related-products section.related ul.products { grid-auto-columns: 70%; gap: 12px; }
	body.chf-shop-on .oxy-related-products > h2 { padding-right: 0; }
}
.chf-rel__nav { position: absolute; top: 0; right: 0; display: flex; gap: 8px; }
.chf-rel__nav[hidden] { display: none; }
.chf-rel__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border-radius: 50%;
	border: 2px solid var(--accent);
	background: var(--white);
	color: var(--accent);
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, opacity 0.2s ease;
}
.chf-rel__btn svg { width: 22px; height: 22px; }
.chf-rel__btn:hover:not(:disabled) { background: var(--accent); color: var(--white); }
.chf-rel__btn:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.chf-rel__btn:disabled { opacity: 0.35; cursor: default; }
/* phones: swipe; arrows hidden, pause button stays (see below) */

/* Reviews (Mario 10-01): padded review cards, readable date, rounded "add a review" card, site-style fields */
body.chf-shop-on #reviews .commentlist { margin: 0 0 1.5rem !important; padding: 0 !important; }
body.chf-shop-on #reviews .commentlist li { margin: 0 0 1rem !important; }
body.chf-shop-on #reviews .comment_container { display: flex; align-items: flex-start; gap: 14px; padding: 0 !important; margin: 0 !important; }
body.chf-shop-on #reviews .comment_container img.avatar { position: static !important; float: none !important; flex: none; width: 48px !important; height: 48px !important; margin: 0 !important; padding: 0 !important; border: 1px solid var(--line) !important; border-radius: 50% !important; }
body.chf-shop-on #reviews .comment-text {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0 !important;
	padding: 1.25rem 1.5rem !important;
	background: var(--white) !important;
	border: 1px solid var(--line) !important;
	border-radius: var(--radius) !important;
}
body.chf-shop-on #reviews .comment-text .star-rating { float: none !important; margin: 0 0 0.6rem !important; }
body.chf-shop-on #reviews .comment-text p.meta { margin: 0 0 0.6rem !important; font: 400 0.95rem/1.4 var(--sans) !important; color: var(--ink-soft) !important; }
body.chf-shop-on #reviews .woocommerce-review__author { font-weight: 600; color: var(--ink) !important; }
body.chf-shop-on #reviews .woocommerce-review__published-date { color: var(--accent) !important; font-style: normal !important; font-weight: 500; }
body.chf-shop-on #reviews .comment-text .description p { margin: 0 !important; color: var(--ink) !important; }
@media (max-width: 559px) { body.chf-shop-on #reviews .comment_container img.avatar { display: none !important; } body.chf-shop-on #reviews .comment-text { padding: 1rem 1.15rem !important; } }

body.chf-shop-on #review_form_wrapper #respond {
	padding: clamp(1.25rem, 3vw, 2rem) !important;
	background: var(--white) !important;
	border: 1px solid var(--line) !important;
	border-radius: var(--radius) !important;
	box-shadow: 0 24px 60px -36px oklch(24% 0.05 355 / 0.5);
}
body.chf-shop-on #respond .comment-reply-title { display: block; margin: 0 0 0.75rem; font: 500 1.4rem/1.25 var(--serif) !important; color: var(--ink) !important; }
body.chf-shop-on #respond p { margin: 0 0 1rem !important; }
body.chf-shop-on #respond label { display: block; margin: 0 0 0.4rem; font: 600 0.95rem/1.3 var(--sans) !important; color: var(--ink) !important; }
body.chf-shop-on #respond .comment-form-cookies-consent label { display: inline; font-weight: 400 !important; font-size: 0.9rem !important; color: var(--ink-soft) !important; }
body.chf-shop-on #respond .comment-form-cookies-consent { display: flex; gap: 0.5rem; align-items: flex-start; }
body.chf-shop-on #respond .comment-form-cookies-consent input { margin-top: 0.25em; accent-color: var(--accent); }
body.chf-shop-on #respond input[type="text"],
body.chf-shop-on #respond input[type="email"],
body.chf-shop-on #respond textarea {
	width: 100% !important;
	min-height: 50px;
	padding: 0.7em 0.9em !important;
	border: 1px solid var(--line) !important;
	border-radius: 10px !important;
	background: var(--paper) !important;
	color: var(--ink) !important;
	font: 400 1rem/1.4 var(--sans) !important;
	box-shadow: none !important;
}
body.chf-shop-on #respond textarea { min-height: 130px; }
body.chf-shop-on #respond input:focus,
body.chf-shop-on #respond textarea:focus { border-color: var(--accent) !important; box-shadow: 0 0 0 3px oklch(47% 0.155 12 / 0.18) !important; outline: none; }
body.chf-shop-on #respond p.stars a { color: var(--accent) !important; }
body.chf-shop-on #respond p.stars a:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; border-radius: 4px; }
body.chf-shop-on #respond .required { color: var(--accent) !important; }
body.chf-shop-on #respond .form-submit { margin: 0.5rem 0 0 !important; }
body.chf-shop-on #respond input#submit {
	min-height: 52px;
	padding: 0.8em 2em !important;
	border-radius: 999px !important;
	border: 2px solid var(--accent) !important;
	background: var(--accent) !important;
	color: var(--white) !important;
	font: 600 1rem/1.2 var(--sans) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	cursor: pointer;
	transition: background-color 0.2s ease;
}
body.chf-shop-on #respond input#submit:hover { background: var(--accent-dark) !important; border-color: var(--accent-dark) !important; }
body.chf-shop-on #respond input#submit:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }

/* Slider autoplay pause button (shop.js) */
.chf-rel__btn--pause svg { width: 18px; height: 18px; }
@media (max-width: 759px) {
	.chf-rel__nav { display: flex; top: auto; bottom: -6px; right: 0; }
	.chf-rel__nav .chf-rel__btn[data-dir] { display: none; }
	.chf-rel__nav .chf-rel__btn { width: 44px; height: 44px; }
	body.chf-shop-on .oxy-related-products { padding-bottom: 52px !important; }
}

/* "Back to Shop" link button from template 160 */
body.chf-shop-on #link_button-52-160,
body.chf-shop-on #link_button-74-160 {
	border-radius: 999px !important;
	border: 2px solid var(--accent) !important;
	background: transparent !important;
	color: var(--accent) !important;
	font: 600 1rem/1.2 var(--sans) !important;
	padding: 0.75em 1.5em !important;
	text-transform: none !important;
}
body.chf-shop-on #link_button-52-160:hover,
body.chf-shop-on #link_button-74-160:hover { background: var(--accent) !important; color: var(--white) !important; }

/* Related products: same cards as the grid; hide the heading when the list is empty */
body.chf-shop-on .related.products > h2,
body.chf-shop-on .oxy-related-products h2 { font: 500 clamp(1.8rem, 3vw, 2.4rem)/1.15 var(--serif) !important; color: var(--ink) !important; text-transform: none !important; margin: 0 0 1.5rem !important; }
body.chf-shop-on .oxy-related-products:not(:has(li.product)) { display: none !important; }
@media (prefers-reduced-motion: reduce) { .chf-rel__btn { transition: none; } }

@media (prefers-reduced-motion: reduce) {
	body.chf-shop-on ul.products li.product img { transition: none; }
	body.chf-shop-on ul.products li.product a:hover img { transform: none; }
}
