/*
Theme Name: FlexKnee Landing
Description: A custom block theme scaffolded by Studio Code.
Requires at least: 6.7
Tested up to: 6.9
Requires PHP: 7.2
Version: 0.1.33
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: flexknee-landing
Tags: full-site-editing, block-patterns, block-styles, wide-blocks, accessibility-ready
*/

.wp-site-blocks > * + * { margin-block-start: 0; }
.wp-site-blocks main { padding-block: var(--wp--preset--spacing--lg) var(--wp--preset--spacing--xl); }
.wp-site-blocks main.is-flush { padding-block: 0; }

:root {
	--fk-green: var(--wp--preset--color--primary);
	--fk-dark-green: var(--wp--preset--color--dark-green);
	--fk-text: var(--wp--preset--color--text);
	--fk-muted: var(--wp--preset--color--muted);
	--fk-border: var(--wp--preset--color--border);
	--fk-surface: var(--wp--preset--color--surface);
}

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
a { text-underline-offset: .18em; }

.site-header {
	background: #fff;
	border-bottom: 1px solid var(--fk-border);
	box-shadow: 0 1px 0 rgba(0,0,0,.05);
	position: sticky;
	top: 0;
	z-index: 50;
}
.site-header__inner { min-height: 82px; }
.site-header .wp-block-site-title { font-weight: 700; letter-spacing: -.03em; }
.site-header .wp-block-site-title a { color: var(--fk-green); text-decoration: none; }
.site-header .wp-block-navigation a { color: var(--fk-text); font-weight: 500; }

.woocommerce .woocommerce-breadcrumb { display: none; }
.single-product .wp-site-blocks main { padding-top: 40px; }
.flexknee-product .wp-site-blocks main { padding-bottom: 0; }
.flexknee-product .woocommerce.product .woocommerce-Tabs-panel--description { margin-bottom: 0 !important; }
.flexknee-product .wp-block-woocommerce-product-meta { display: none; }
.single-product .woocommerce div.product { max-width: 1200px; margin-inline: auto; }
.single-product div.product .woocommerce-product-gallery { width: 40%; }
.single-product div.product .summary { width: 55%; margin-bottom: 40px; }
.single-product main > .wp-block-columns.alignwide:first-child { align-items: flex-start; }
.single-product main > .wp-block-columns.alignwide:first-child > .wp-block-column:first-child { flex-basis: 40%; flex-grow: 0; }
.single-product main > .wp-block-columns.alignwide:first-child > .wp-block-column:last-child { flex-basis: 55%; flex-grow: 1; }
.single-product div.product .product_title { font-size: clamp(1.8rem, 3vw, 2.8rem); line-height: 1.15; }
.of-product-subtitle {
	margin: 6px 0 2px !important;
	color: color-mix(in srgb, var(--fk-text) 55%, var(--fk-muted));
	font-size: clamp(1rem, 1.8vw, 1.2rem);
	font-weight: 500;
	line-height: 1.45;
}
.single-product div.product p.price { color: var(--fk-green); font-size: 1.9rem; font-weight: 700; }
.single-product div.product p.price del { color: var(--fk-muted); font-size: 1rem; font-weight: 400; opacity: .7; }
.flexknee-product .wp-block-woocommerce-product-price { display: none; }
.flexknee-product .wp-block-post-excerpt { display: none; }
.single-product div.product .of-price-block { margin: 12px 0 18px; }
.single-product div.product p.of-price-line {
	align-items: baseline;
	display: flex !important;
	flex-wrap: nowrap;
	gap: 6px 10px;
	line-height: 1.15;
	margin: 0;
}
.single-product div.product p.of-price-line .of-price-regular del {
	color: var(--fk-muted);
	font-size: 1rem;
	font-weight: 400;
	opacity: .75;
	text-decoration-thickness: 1px;
}
.single-product div.product p.of-price-line .of-price-sale ins {
	color: var(--fk-text);
	font-size: clamp(1.75rem, 3vw, 2.15rem);
	font-weight: 700;
	text-decoration: none;
}
.single-product div.product p.of-price-line .of-price-sale small { font-size: .58em; font-weight: 600; }
.single-product div.product p.of-price-line .of-price-promo {
	color: var(--fk-green);
	font-size: .72rem !important;
	font-weight: 700;
	letter-spacing: .035em;
	text-transform: uppercase;
	white-space: nowrap;
}
.single-product div.product .of-lowest-price {
	color: var(--fk-text);
	font-size: .76rem;
	font-style: italic;
	margin: 8px 0 0;
}
.single-product div.product .of-lowest-price strong { font-weight: 500; }
.single-product div.product .of-rating-proof {
	align-items: center;
	display: flex;
	gap: 10px;
	margin-top: 10px;
}
.single-product div.product .of-rating-stars {
	display: block;
	height: auto;
	margin: 0;
	width: 110px;
}
.single-product div.product .of-rating-proof__text {
	color: var(--fk-text);
	font-size: .82rem;
	font-weight: 500;
	white-space: nowrap;
}
.single-product .onsale { background: var(--fk-green) !important; color: #fff; border-radius: 999px; min-height: 0; line-height: 1; padding: 11px 14px; width: auto; height: auto; }
.single-product .woocommerce-product-gallery__image img { background: #fff; display: block; width: 100%; height: auto; }
.single-product .flex-control-thumbs { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin-top: 12px !important; }
.single-product .flex-control-thumbs li { width: auto !important; }
.single-product .flex-control-thumbs img { border: 2px solid transparent; border-radius: 4px; }
.single-product .flex-control-thumbs img.flex-active { border-color: var(--fk-green); }
.single-product table.variations { margin: 8px 0 0 !important; }
.of-package-picker {
	display: none;
	border: 0;
	margin: 14px 0 8px;
	padding: 0;
	scroll-margin-top: 90px;
}
.of-package-picker.is-ready { display: block; }
.of-package-picker legend {
	font-size: .9rem;
	font-weight: 700;
	margin-bottom: 10px;
	padding: 0;
}
.of-package-picker__options { display: grid; gap: 10px; }
.of-package-card { display: block; position: relative; }
.of-package-card > input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
.of-package-card__surface {
	background: #fff;
	border: 1px solid var(--fk-border);
	border-radius: 8px;
	position: relative;
	transition: border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}
.single-product form.cart .of-package-card__body {
	align-items: center;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	margin: 0;
	min-height: 68px;
	padding: 13px 16px;
	position: relative;
}
.of-package-card:has(.of-package-card__badge) .of-package-card__body {
	padding-top: 16px;
	padding-bottom: 10px;
}
.of-package-card:hover .of-package-card__surface { border-color: color-mix(in srgb, var(--fk-green) 55%, var(--fk-border)); }
.of-package-card > input:checked + .of-package-card__surface {
	background: color-mix(in srgb, var(--fk-green) 4%, #fff);
	border-color: var(--fk-green);
	box-shadow: 0 0 0 1px var(--fk-green);
}
.of-package-card > input:focus-visible + .of-package-card__surface {
	outline: 3px solid color-mix(in srgb, var(--fk-green) 28%, transparent);
	outline-offset: 2px;
}
.of-package-card__choice { align-items: center; display: flex; gap: 12px; }
.of-package-card__radio {
	align-items: center;
	border: 2px solid #bbb;
	border-radius: 50%;
	display: flex;
	height: 20px;
	justify-content: center;
	width: 20px;
}
.of-package-card > input:checked + .of-package-card__surface .of-package-card__radio { border-color: var(--fk-green); }
.of-package-card > input:checked + .of-package-card__surface .of-package-card__radio::after {
	background: var(--fk-green);
	border-radius: 50%;
	content: "";
	height: 10px;
	width: 10px;
}
.of-package-card__name { font-size: 1.05rem; font-weight: 700; }
.of-package-card__pricing { align-items: flex-end; display: flex; flex-direction: column; line-height: 1.25; }
.of-package-card__pricing strong { color: var(--fk-text); font-size: 1.15rem; }
.of-package-card__pricing del { color: var(--fk-muted); font-size: .75rem; }
.of-package-card__pricing small { color: var(--fk-muted); font-size: .72rem; margin-top: 3px; }
.of-package-card__sizes {
	border-top: 1px solid color-mix(in srgb, var(--fk-green) 18%, var(--fk-border));
	display: none;
	gap: 10px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	padding: 0 18px 18px;
}
.of-package-card > input:checked + .of-package-card__surface .of-package-card__sizes { display: grid; padding-top: 15px; }
.of-package-card__sizes--1 { grid-template-columns: minmax(0, 1fr); }
.of-package-card__size-field span {
	display: block;
	font-size: .72rem;
	font-weight: 700;
	margin-bottom: 6px;
}
.of-package-card__size-field select {
	background: #fff;
	border: 1px solid var(--fk-border);
	border-radius: 4px;
	font-family: inherit;
	font-size: .78rem;
	min-height: 44px;
	padding: 0 10px;
	width: 100%;
}
.of-package-card__size-field select:focus { border-color: var(--fk-green); outline: 2px solid color-mix(in srgb, var(--fk-green) 18%, transparent); }
.of-package-card__badge {
	background: var(--fk-green);
	border-radius: 999px;
	color: #fff;
	font-size: .63rem;
	font-weight: 700;
	letter-spacing: .04em;
	padding: 5px 9px;
	position: absolute;
	right: 12px;
	text-transform: uppercase;
	top: -10px;
	white-space: nowrap;
}
tr.of-native-package-row,
tr.of-native-size-row { display: none !important; }
.single-product table.variations th,
.single-product table.variations td { display: block; width: 100%; text-align: left; padding: 5px 0; }
.single-product table.variations label { font-weight: 700; }
.single-product table.variations select { width: 100%; min-height: 50px; border: 1px solid var(--fk-border); border-radius: 4px; padding: 0 14px; background: #fff; }
.single-product .quantity .qty { min-height: 52px; border: 1px solid var(--fk-border); border-radius: 4px; }
.single-product form.cart .single_variation_wrap {
	grid-column: 1 / -1;
	width: 100%;
}
.single-product form.cart .woocommerce-variation-add-to-cart {
	grid-template-columns: minmax(0, 1fr);
	width: 100%;
}
.single-product form.cart .woocommerce-variation-add-to-cart .quantity { display: none !important; }
.single-product form.cart .woocommerce-variation-add-to-cart .single_add_to_cart_button {
	grid-column: 1 / -1;
	width: 100%;
	margin: 0 !important;
}
.flexknee-product .woocommerce-variation-price { display: none; }
.single-product .woocommerce-product-rating {
	align-items: center;
	display: flex;
	gap: 8px;
	margin: 12px 0 16px;
}
.single-product .star-rating span::before { color: var(--fk-green); }
.of-hero-benefits {
	display: grid;
	gap: 7px;
	list-style: none;
	margin: 18px 0 0;
	padding: 0;
}
.of-hero-benefits li {
	font-size: .96rem;
	font-weight: 600;
	line-height: 1.4;
	padding-left: 25px;
	position: relative;
}
.of-hero-benefits li::before {
	align-items: center;
	background: var(--fk-green);
	border-radius: 50%;
	color: #fff;
	content: "✓";
	display: flex;
	font-size: .68rem;
	font-weight: 700;
	height: 17px;
	justify-content: center;
	left: 0;
	position: absolute;
	top: .18em;
	width: 17px;
}
.of-payment-proof {
	margin: 20px 0 4px;
	max-width: 430px;
}
.of-payment-proof img {
	display: block;
	height: auto;
	object-fit: contain;
}
.of-payment-proof__row {
	align-items: center;
	display: flex;
	flex-wrap: nowrap;
	gap: 14px;
}
.of-payment-proof__inpost { width: 136px; }
.of-payment-proof__cod { width: 64px; }
.of-payment-proof__blik { width: 92px; }
.of-payment-proof__paynow {
	margin-top: 18px;
	max-width: 100%;
	width: 365px;
}
.single-product .single_add_to_cart_button,
.woocommerce .button,
.woocommerce button.button,
.wc-block-components-button { background: var(--fk-green) !important; color: #fff !important; border-radius: 999px !important; min-height: 52px; padding-inline: 28px !important; font-weight: 700 !important; }
.single-product .single_add_to_cart_button,
.of-cta .wp-element-button {
	animation: fk-cta-pulse 3.4s ease-in-out infinite;
	box-shadow: 0 6px 16px rgba(56, 91, 25, .2);
	transform-origin: center;
}
.single-product .single_add_to_cart_button {
	font-size: 1rem !important;
	line-height: 1.3;
}
.single-product .single_add_to_cart_button:hover,
.single-product .single_add_to_cart_button:focus-visible,
.of-cta .wp-element-button:hover,
.of-cta .wp-element-button:focus-visible { animation-play-state: paused; }

@keyframes fk-cta-pulse {
	0%, 68%, 100% {
		transform: scale(1);
		box-shadow: 0 6px 16px rgba(56, 91, 25, .2);
	}
	80% {
		transform: scale(1.015);
		box-shadow: 0 9px 22px rgba(56, 91, 25, .3);
	}
	90% {
		transform: scale(1);
		box-shadow: 0 6px 16px rgba(56, 91, 25, .2);
	}
}
.single-product .single_add_to_cart_button:hover,
.woocommerce .button:hover { background: var(--fk-dark-green) !important; }
.single-product .product_meta { color: var(--fk-muted); font-size: .85rem; }
.single-product .wp-block-woocommerce-product-details { margin-top: 8px !important; }
.single-product .woocommerce-tabs { max-width: 1200px; margin: 0 auto; }
.single-product .woocommerce-Tabs-panel--description { font-family: Poppins, sans-serif; }
.single-product .woocommerce-tabs ul.tabs { display: none; }
.single-product .woocommerce-Tabs-panel > h2:first-child { display: none; }
.single-product .woocommerce-Tabs-panel--description > .wp-block-group:first-of-type { padding-top: 24px; }

.of-section { padding-block: clamp(56px, 8vw, 100px); }
.of-section--tight { padding-block: 44px; }
.of-section--surface { background: var(--fk-surface); }
.of-section h2 { font-size: clamp(2rem, 4.2vw, 3.4rem); line-height: 1.12; margin-bottom: 24px; }
.of-lead { color: var(--fk-text); font-family: Poppins, sans-serif; font-size: 1rem; line-height: 1.6; max-width: 760px; }
.of-feature-image img { width: 100%; max-height: 720px; object-fit: contain; }
.of-feature-video video {
	display: block;
	width: min(100%, 720px);
	aspect-ratio: 1;
	margin-inline: auto;
	background: var(--fk-surface);
	border-radius: 18px;
	object-fit: cover;
}
.of-ugc-proof {
	background: #fff;
	padding-block: 24px 44px;
	text-align: center;
}
.of-ugc-proof > * { margin-block-start: 18px; }
.of-ugc-proof > *:first-child { margin-block-start: 0; }
.of-ugc-comment {
	margin-inline: auto;
	max-width: 449px;
}
.of-ugc-comment img {
	border-radius: 12px;
	display: block;
	height: auto;
	width: 100%;
}
.of-ugc-video {
	margin-inline: auto;
	max-width: 260px;
	width: 100%;
}
.of-ugc-video .wp-block-embed__wrapper { aspect-ratio: 422 / 750; }
.of-ugc-video .wp-block-embed__wrapper::before { display: none !important; }
.of-ugc-video iframe {
	border: 0;
	display: block;
	height: 100%;
	width: 100%;
}
.of-ugc-proof { padding-bottom: 24px; }
.of-ugc-proof + .of-section {
	padding-top: 48px;
	padding-bottom: 42px;
}
.of-ugc-proof + .of-section + .of-section--surface { padding-top: 48px; }
.of-section:has(> .of-checks) + .of-review-section { padding-top: 48px; }
.of-section:has(> .of-checks):has(+ .of-review-section) { padding-bottom: 42px; }
.of-checks { padding-left: 0; list-style: none; }
.of-checks li { border-bottom: 1px solid var(--fk-border); padding: 14px 0 14px 32px; position: relative; }
.of-checks li::before { content: "✓"; color: var(--fk-green); font-weight: 700; position: absolute; left: 0; }
.of-ingredients-grid { gap: 0 24px; }
.of-ingredient-item {
	border-bottom: 1px solid var(--fk-border);
	margin-block-start: 0 !important;
	padding: 14px 0 14px 32px;
	position: relative;
}
.of-ingredient-item::before {
	color: var(--fk-green);
	content: "✓";
	font-weight: 700;
	left: 0;
	position: absolute;
}
.of-quote { border-left: 5px solid var(--fk-green); padding: 28px 32px; background: #fff; box-shadow: 0 10px 35px rgba(0,0,0,.07); }
.of-faq .wp-block-details { border-bottom: 1px solid var(--fk-border); padding: 22px 0; }
.of-faq summary { color: var(--fk-dark-green); cursor: pointer; font-size: 1.2rem; font-weight: 600; }
.of-faq details p { max-width: 760px; color: var(--fk-muted); }
.of-cta { text-align: center; padding-block: 48px; }
.of-cta .wp-element-button { font-size: 1rem; font-weight: 700; min-width: min(100%, 360px); }
.of-important-note { padding-block: 56px; }
.of-important-note > h2 { margin-bottom: 0; }
.of-important-note > * + * { margin-block-start: 16px !important; }
.of-important-note .of-cta { padding-block: 24px; }
.of-review-section { background: var(--fk-surface); }
.of-review-intro { max-width: 720px; margin-inline: auto; color: var(--fk-muted); }
.of-review-grid { align-items: stretch; gap: 24px; margin-top: 38px; }
.of-review-grid > .wp-block-column { display: flex; }
.of-review-card {
	width: 100%;
	padding: 18px;
	background: #fff;
	border: 1px solid var(--fk-border);
	border-radius: 18px;
	box-shadow: 0 12px 34px rgba(0, 0, 0, .06);
}
.of-review-card > * + * { margin-block-start: 10px; }
.of-review-photo {
	position: relative;
	display: flex;
	min-height: 220px;
	margin: 0 0 18px;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background: linear-gradient(135deg, #fff 0%, #eef6e8 100%);
	border: 1px dashed #abc495;
	border-radius: 14px;
}
.of-review-photo-label {
	margin: 0;
	padding: 14px;
	color: var(--fk-muted);
	font-size: .9rem;
	font-weight: 600;
	text-align: center;
}
.of-review-stars { margin-bottom: 0; color: #d99b00; font-size: 1.4rem; letter-spacing: .12em; line-height: 1; }
.of-review-verified { margin-bottom: 0; color: var(--fk-green); font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; }
.of-review-copy { min-height: 0; margin-bottom: 0; color: var(--fk-text); }
.of-review-card .of-review-verified { margin-top: 16px !important; }
.of-review-source {
	color: color-mix(in srgb, var(--fk-muted) 45%, #fff);
	font-size: .62rem;
	line-height: 1.35;
	margin-top: 4px !important;
}
.of-social-review-gallery {
	background: var(--fk-surface);
	padding-block: 0 64px;
}
.of-social-review-gallery > * + * { margin-block-start: 18px; }
.of-social-review-image {
	margin-inline: auto;
	max-width: 397px;
	width: 100%;
}
.of-social-review-image img {
	border-radius: 10px;
	display: block;
	height: auto;
	width: 100%;
}
.of-phone-order {
	padding-block: 18px;
	background: linear-gradient(135deg, #edf7e5 0%, #f8fcf5 45%, #e5f3da 100%);
}
.of-phone-order__inner {
	position: relative;
	overflow: hidden;
	box-sizing: border-box;
	padding: 34px 32px 34px 132px;
	border: 1px solid rgba(105, 168, 50, .3);
	border-radius: 22px;
	background:
		radial-gradient(circle at 88% 18%, rgba(105, 168, 50, .15) 0 52px, transparent 53px),
		#fff;
	box-shadow: 0 14px 34px rgba(56, 91, 25, .1);
}
.of-phone-order__inner::before {
	content: "\260E";
	position: absolute;
	top: 50%;
	left: 38px;
	display: grid;
	width: 68px;
	height: 68px;
	place-items: center;
	transform: translateY(-50%) rotate(-12deg);
	border-radius: 50%;
	background: var(--fk-green);
	color: #fff;
	font-size: 2.1rem;
	box-shadow: 0 10px 24px rgba(105, 168, 50, .28);
}
.of-phone-order h2 {
	margin: 0;
	color: var(--fk-text);
	font-size: clamp(1.35rem, 2.8vw, 2rem);
}
.of-phone-order .of-phone-order__number {
	margin-top: 8px;
	color: var(--fk-green);
	font-size: clamp(1.8rem, 4vw, 2.8rem);
	font-weight: 800;
	letter-spacing: .055em;
	line-height: 1.1;
}
.of-trust-row { border-top: 0; padding-block: 56px; }
.of-trust-card { text-align: center; }
.of-trust-card h3 { color: var(--fk-green); font-size: 1.15rem; }

.site-footer { background: var(--fk-green); color: #fff; padding-block: 60px 36px; }
.site-footer a { color: #fff; }
.site-footer h3 { color: #fff; font-size: 1.25rem; }
.site-footer p,
.site-footer li { color: #fff; }

/* CookieYes: keep the notice actions aligned and evenly spaced. */
.cky-consent-container .cky-notice-btn-wrapper {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	align-items: stretch;
}
.cky-consent-container .cky-notice-btn-wrapper .cky-btn {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}
.cky-consent-container .cky-notice-btn-wrapper .cky-btn-customize { order: 1; }
.cky-consent-container .cky-notice-btn-wrapper .cky-btn-reject { order: 2; }
.cky-consent-container .cky-notice-btn-wrapper .cky-btn-accept {
	grid-column: 1 / -1;
	order: 3;
}

@media (max-width: 576px) {
	.cky-consent-container .cky-notice-btn-wrapper { grid-template-columns: minmax(0, 1fr); }
	.cky-consent-container .cky-notice-btn-wrapper .cky-btn-accept {
		grid-column: auto;
		order: 1;
	}
	.cky-consent-container .cky-notice-btn-wrapper .cky-btn-customize { order: 2; }
	.cky-consent-container .cky-notice-btn-wrapper .cky-btn-reject { order: 3; }
}
.site-footer p { font-size: .9rem; }
.site-footer .wp-block-columns { align-items: stretch !important; }
.site-footer .wp-block-column { border-left: 1px solid rgba(255,255,255,.22); padding-left: 28px; }
.site-footer .wp-block-column:first-child { border-left: 0; padding-left: 0; }

@media (max-width: 781px) {
	.site-header__inner { min-height: 68px; }
	.single-product .wp-site-blocks main { padding-top: 24px; }
	.single-product div.product .woocommerce-product-gallery,
	.single-product div.product .summary { float: none; width: 100%; }
	.single-product div.product .summary { margin-top: 30px; }
	.single-product main > .wp-block-columns.alignwide:first-child > .wp-block-column:first-child,
	.single-product main > .wp-block-columns.alignwide:first-child > .wp-block-column:last-child { flex-basis: 100%; }
	.single-product .single_add_to_cart_button { width: 100%; margin-top: 10px; }
	.of-package-card__body { min-height: 62px; padding: 12px 14px; }
	.of-package-card:has(.of-package-card__badge) .of-package-card__body { padding-top: 16px; padding-bottom: 8px; }
	.of-package-card__sizes { padding-inline: 14px; }
	.of-package-card__name { font-size: 1rem; }
	.of-hero-benefits li { font-size: .9rem; }
	.of-payment-proof { max-width: 100%; }
	.of-payment-proof__row { gap: 11px; }
	.of-payment-proof__inpost { width: 120px; }
	.of-payment-proof__cod { width: 58px; }
	.of-payment-proof__blik { width: 82px; }
	.of-phone-order { padding-block: 12px; }
	.of-phone-order__inner { padding: 96px 20px 28px; border-radius: 18px; }
	.of-phone-order__inner::before { top: 22px; left: 50%; width: 58px; height: 58px; transform: translateX(-50%) rotate(-12deg); font-size: 1.8rem; }
	.of-payment-proof__paynow { width: 330px; }
	.of-section { padding-block: 52px; }
	.of-ingredients-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 0 12px; }
	.of-ingredient-item { font-size: .9rem; padding: 11px 0 11px 24px; }
	.site-footer .wp-block-column { border-left: 0; border-top: 1px solid rgba(255,255,255,.22); padding: 24px 0 0; }
	.site-footer .wp-block-column:first-child { border-top: 0; padding-top: 0; }
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input {
	border: 1px solid var(--fk-border);
	border-radius: 6px;
	min-height: 50px;
	background: #fff;
}

.woocommerce-cart table.shop_table,
.woocommerce-checkout .woocommerce-checkout-review-order,
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
	border-color: var(--fk-border);
	border-radius: 8px;
}

/* Checkout: zachowujemy natywne bloki WooCommerce, zmieniamy wyłącznie układ i wygląd. */
body.woocommerce-checkout {
	background: var(--fk-surface);
}

.woocommerce-checkout .wp-site-blocks main {
	background: var(--fk-surface);
	padding-block: clamp(32px, 5vw, 64px);
}

.woocommerce-checkout .wc-block-checkout {
	box-sizing: border-box;
	max-width: 1120px;
	margin-inline: auto;
}

.woocommerce-checkout .wc-block-checkout.is-large {
	column-gap: 24px;
	align-items: flex-start;
}

.woocommerce-checkout .wc-block-checkout.is-large .wc-block-checkout__main {
	box-sizing: border-box;
	width: calc(60% - 12px);
	padding-right: 0;
}

.woocommerce-checkout .wc-block-checkout.is-large .wc-block-checkout__sidebar {
	box-sizing: border-box;
	width: calc(40% - 12px);
	padding-left: 0;
}

.woocommerce-checkout .of-checkout-card:not(.of-checkout-card--shipping),
.woocommerce-checkout .of-checkout-card--shipping:has(.wc-block-components-checkout-step__heading),
.woocommerce-checkout .of-checkout-card--shipping:has(.wc-block-components-radio-control) {
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 18px !important;
	padding: 22px 24px !important;
	background: #fff;
	border: 1px solid var(--fk-border) !important;
	border-radius: 10px;
	box-shadow: 0 6px 22px rgba(23, 23, 23, .055);
}

.woocommerce-checkout .of-checkout-card--shipping:not(:has(.wc-block-components-checkout-step__heading)):not(:has(.wc-block-components-radio-control)) {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

.woocommerce-checkout .of-checkout-card.of-checkout-card--join-top {
	margin-bottom: 0 !important;
	padding-bottom: 10px !important;
	border-bottom: 0 !important;
	border-radius: 10px 10px 0 0 !important;
	box-shadow: 0 3px 14px rgba(23, 23, 23, .035) !important;
}

.woocommerce-checkout .of-checkout-card.of-checkout-card--join-bottom {
	padding-top: 8px !important;
	border-top: 0 !important;
	border-radius: 0 0 10px 10px !important;
	box-shadow: 0 8px 22px rgba(23, 23, 23, .055) !important;
}

.woocommerce-checkout .of-checkout-card--join-bottom > .wc-block-components-checkout-step__heading,
.woocommerce-checkout .of-checkout-card--join-bottom > .wc-block-components-checkout-step__heading-container {
	display: none !important;
}

.woocommerce-checkout .of-checkout-card--join-bottom > .wc-block-components-checkout-step__content {
	padding-top: 18px !important;
	border-top: 1px solid var(--fk-border);
}

.woocommerce-checkout .wc-block-components-checkout-step__heading {
	margin: 0 0 16px;
	padding: 0;
}

.woocommerce-checkout .wc-block-components-checkout-step__heading h2 {
	margin: 0;
	color: var(--fk-text);
	font-size: clamp(1.05rem, 1.8vw, 1.25rem);
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -.015em;
}

.woocommerce-checkout .wc-block-components-checkout-step__description {
	margin-top: 5px;
	color: var(--fk-muted);
	font-size: .78rem;
	line-height: 1.45;
}

.woocommerce-checkout .wc-block-components-checkout-step__content {
	padding-left: 0 !important;
}

.woocommerce-checkout .wc-block-components-text-input input,
.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
.woocommerce-checkout .wc-block-components-textarea {
	min-height: 50px;
	border-color: #d5d5d5 !important;
	border-radius: 6px !important;
	background: #fff !important;
	box-shadow: none !important;
	font-family: inherit;
}

.woocommerce-checkout .wc-block-components-text-input input:focus,
.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input:focus,
.woocommerce-checkout .wc-block-components-textarea:focus {
	border-color: var(--fk-green) !important;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--fk-green) 12%, transparent) !important;
	outline: 0 !important;
}

.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input,
.woocommerce-checkout input[type="radio"] {
	accent-color: var(--fk-green);
}

.woocommerce-checkout .wc-block-components-radio-control {
	display: grid;
	gap: 9px;
}

.woocommerce-checkout .wc-block-components-radio-control > .wc-block-components-radio-control__option {
	box-sizing: border-box;
	min-height: 58px;
	margin: 0 !important;
	padding: 14px 16px 14px 48px !important;
	border: 1px solid var(--fk-border) !important;
	border-radius: 7px !important;
	background: #fff;
	transition: border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}

.woocommerce-checkout .wc-block-components-radio-control > .wc-block-components-radio-control-accordion-option {
	box-sizing: border-box;
	min-height: 58px;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;
	border: 1px solid var(--fk-border) !important;
	border-radius: 7px !important;
	background: #fff;
	transition: border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}

.woocommerce-checkout .wc-block-components-radio-control > .wc-block-components-radio-control-accordion-option > .wc-block-components-radio-control__option {
	min-height: 58px;
	margin: 0 !important;
	padding: 14px 16px 14px 48px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.woocommerce-checkout .wc-block-components-radio-control > .wc-block-components-radio-control__option::after,
.woocommerce-checkout .wc-block-components-radio-control > .wc-block-components-radio-control-accordion-option::after,
.woocommerce-checkout .wc-block-components-radio-control > .wc-block-components-radio-control-accordion-option > .wc-block-components-radio-control__option::after {
	display: none !important;
}

.woocommerce-checkout .wc-block-components-radio-control > .wc-block-components-radio-control__option--checked-option-highlighted,
.woocommerce-checkout .wc-block-components-radio-control > .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.woocommerce-checkout .wc-block-components-radio-control > .wc-block-components-radio-control__option:has(> input:checked),
.woocommerce-checkout .wc-block-components-radio-control > .wc-block-components-radio-control-accordion-option:has(input:checked) {
	border-color: var(--fk-green) !important;
	background: color-mix(in srgb, var(--fk-green) 4%, #fff) !important;
	box-shadow: 0 0 0 1px var(--fk-green);
}

.woocommerce-checkout .wc-block-components-radio-control > .wc-block-components-radio-control__option:hover,
.woocommerce-checkout .wc-block-components-radio-control > .wc-block-components-radio-control-accordion-option:hover {
	border-color: color-mix(in srgb, var(--fk-green) 48%, var(--fk-border)) !important;
}

.woocommerce-checkout .wc-block-components-radio-control .wc-block-components-radio-control__input:checked::before {
	background: var(--fk-green);
}

.woocommerce-checkout .wc-block-components-radio-control__label,
.woocommerce-checkout .wc-block-components-radio-control-accordion-content {
	font-size: .88rem;
	font-weight: 600;
}

.woocommerce-checkout .of-checkout-card--invoice .wc-block-components-checkbox {
	margin: 0;
	padding: 2px 0;
}

.woocommerce-checkout .of-checkout-card--invoice .wc-block-components-checkbox__label {
	color: var(--fk-text);
	font-size: .9rem;
	font-weight: 600;
}

.woocommerce-checkout .of-checkout-summary {
	box-sizing: border-box;
	top: 100px;
	padding: 22px !important;
	background: #fff;
	border: 1px solid var(--fk-border);
	border-radius: 10px;
	box-shadow: 0 8px 28px rgba(23, 23, 23, .07);
}

.woocommerce-checkout .of-checkout-summary .wc-block-components-checkout-order-summary__title {
	padding: 0 0 16px;
}

.woocommerce-checkout .of-checkout-summary .wc-block-components-checkout-order-summary__title-text {
	font-size: 1.15rem;
	font-weight: 700;
	letter-spacing: -.01em;
}

.woocommerce-checkout .of-checkout-summary .wc-block-components-order-summary-item {
	padding-block: 14px;
}

.woocommerce-checkout .of-checkout-summary .wc-block-components-order-summary-item__description {
	flex: 1 1 auto;
	width: auto;
	min-width: 0;
	padding-left: 14px;
	padding-right: 8px;
}

.woocommerce-checkout .of-checkout-summary .wc-block-components-order-summary-item__total-price {
	flex: 0 0 82px;
	width: 82px;
}

.woocommerce-checkout .of-checkout-summary .wc-block-components-product-name {
	max-width: none;
	font-size: .8rem;
	line-height: 1.35;
	word-break: normal;
	overflow-wrap: break-word;
}

.woocommerce-checkout .of-checkout-summary .wc-block-components-product-badge {
	max-width: 78px;
	padding: 2px 4px;
	font-size: .62rem;
	line-height: 1.25;
	white-space: normal;
}

.woocommerce-checkout .of-checkout-summary .wc-block-components-order-summary-item__image img {
	border-radius: 6px;
}

.woocommerce-checkout .wc-block-components-totals-wrapper {
	padding: 16px 0;
}

.woocommerce-checkout .wc-block-components-totals-item__label,
.woocommerce-checkout .wc-block-components-totals-item__value {
	font-size: .86rem;
}

.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-size: 1.05rem;
	font-weight: 700;
}

.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button {
	display: none;
}

.woocommerce-checkout .wc-block-checkout__actions_row {
	display: block;
}

.woocommerce-checkout .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button {
	width: 100%;
	min-height: 54px;
	border-radius: 8px !important;
	background: var(--fk-green) !important;
	box-shadow: none !important;
	font-size: .94rem;
	font-weight: 700 !important;
	transition: background-color 180ms ease, transform 180ms ease;
}

.woocommerce-checkout .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button:hover {
	background: var(--fk-dark-green) !important;
	transform: translateY(-1px);
}

.woocommerce-checkout .wc-block-checkout__terms,
.woocommerce-checkout .wc-block-components-checkout-step__content .wc-block-components-notice-banner {
	font-size: .76rem;
	line-height: 1.5;
}

.woocommerce-checkout .wc-block-components-notice-banner {
	border-radius: 7px;
}

@media (max-width: 781px) {
	.woocommerce-checkout .wp-site-blocks main {
		padding-block: 10px 38px;
	}

	/* WooCommerce duplicates the order summary on mobile. Keep the full
	 * summary above the place-order button and hide only the top toggle. */
	.woocommerce-checkout .wc-block-components-sidebar-layout.is-mobile > .wc-block-checkout__sidebar {
		display: none !important;
	}

	.woocommerce-checkout .wc-block-checkout {
		width: 100%;
		padding-top: 0;
		padding-inline: 12px;
	}

	.woocommerce-checkout .wc-block-checkout__main,
	.woocommerce-checkout .wc-block-checkout__sidebar,
	.woocommerce-checkout .wc-block-checkout.is-large .wc-block-checkout__main,
	.woocommerce-checkout .wc-block-checkout.is-large .wc-block-checkout__sidebar {
		width: 100%;
		padding-inline: 0;
	}

	.woocommerce-checkout .of-checkout-card:not(.of-checkout-card--shipping),
	.woocommerce-checkout .of-checkout-card--shipping:has(.wc-block-components-checkout-step__heading),
	.woocommerce-checkout .of-checkout-card--shipping:has(.wc-block-components-radio-control),
	.woocommerce-checkout .of-checkout-summary {
		padding: 18px !important;
		border-radius: 9px;
		box-shadow: 0 5px 18px rgba(23, 23, 23, .05);
	}

	.woocommerce-checkout .of-checkout-card.of-checkout-card--join-top {
		padding-bottom: 8px !important;
		border-radius: 9px 9px 0 0 !important;
	}

	.woocommerce-checkout .of-checkout-card.of-checkout-card--join-bottom {
		padding-top: 7px !important;
		border-radius: 0 0 9px 9px !important;
	}

	.woocommerce-checkout .of-checkout-summary {
		position: static !important;
		top: auto;
	}

	/* Compact the duplicated full order summary shown above the place-order
	 * button on mobile. Empty WooCommerce totals must not reserve space. */
	.woocommerce-checkout .wc-block-checkout__main .checkout-order-summary-block-fill-wrapper {
		padding-bottom: 22px;
		font-size: .875rem;
		line-height: 1.45;
	}

	.woocommerce-checkout .wc-block-checkout__main .checkout-order-summary-block-fill > .wp-block-woocommerce-checkout-order-summary-totals-block > .wc-block-components-totals-wrapper:empty {
		display: none;
	}

	.woocommerce-checkout .wc-block-checkout__main .checkout-order-summary-block-fill .wc-block-components-totals-wrapper {
		padding-block: 12px;
	}

	.woocommerce-checkout .wc-block-checkout__main .checkout-order-summary-block-fill .wp-block-woocommerce-checkout-order-summary-cart-items-block {
		padding-block: 10px 12px;
	}

	.woocommerce-checkout .wc-block-checkout__main .checkout-order-summary-block-fill .wc-block-components-order-summary-item {
		align-items: flex-start;
		padding-inline: 14px;
	}

	.woocommerce-checkout .wc-block-checkout__main .checkout-order-summary-block-fill .wc-block-components-order-summary-item__description {
		flex: 1 1 0;
		width: auto;
		min-width: 0;
		padding: 2px 8px 0 10px;
	}

	.woocommerce-checkout .wc-block-checkout__main .checkout-order-summary-block-fill .wc-block-components-order-summary-item__total-price {
		flex: 0 0 92px;
		width: 92px;
		padding-top: 2px;
		font-size: .82rem;
		line-height: 1.35;
	}

	.woocommerce-checkout .wc-block-checkout__main .checkout-order-summary-block-fill .wc-block-components-product-name {
		max-width: none;
		font-size: .875rem;
		font-weight: 600;
		line-height: 1.35;
		word-break: normal;
		overflow-wrap: break-word;
	}

	.woocommerce-checkout .wc-block-checkout__main .checkout-order-summary-block-fill .wc-block-components-product-details {
		font-size: .75rem;
		line-height: 1.4;
	}

	.woocommerce-checkout .wc-block-checkout__main .checkout-order-summary-block-fill .wc-block-components-product-badge {
		max-width: 88px;
		font-size: .65rem;
		line-height: 1.25;
	}

	.woocommerce-checkout .wc-block-checkout__main .checkout-order-summary-block-fill .wc-block-components-totals-item {
		padding-inline: 14px;
	}

	.woocommerce-checkout .wc-block-checkout__main .checkout-order-summary-block-fill .wc-block-components-totals-item__label,
	.woocommerce-checkout .wc-block-checkout__main .checkout-order-summary-block-fill .wc-block-components-totals-item__value {
		font-size: .875rem;
		line-height: 1.4;
	}

	.woocommerce-checkout .wc-block-checkout__main .checkout-order-summary-block-fill .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__label-group,
	.woocommerce-checkout .wc-block-checkout__main .checkout-order-summary-block-fill .wc-block-components-totals-shipping__via {
		font-size: .72rem;
		line-height: 1.4;
	}

	.woocommerce-checkout .wc-block-checkout__main .checkout-order-summary-block-fill .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
	.woocommerce-checkout .wc-block-checkout__main .checkout-order-summary-block-fill .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
		font-size: 1.05rem;
		font-weight: 700;
	}

	.woocommerce-checkout .wc-block-components-radio-control > .wc-block-components-radio-control__option,
	.woocommerce-checkout .wc-block-components-radio-control > .wc-block-components-radio-control-accordion-option > .wc-block-components-radio-control__option {
		padding: 13px 14px 13px 46px !important;
	}
}

.woocommerce-order-received .wp-block-woocommerce-order-confirmation-billing-wrapper {
	display: none;
}

.woocommerce-order-received .wc-block-order-confirmation-address-wrapper > .wp-block-column:has(.wp-block-woocommerce-order-confirmation-billing-wrapper) {
	display: none;
}

.woocommerce-order-received .wc-block-order-confirmation-address-wrapper > .wp-block-column {
	flex-basis: 100%;
}

@media (max-width: 520px) {
	.of-social-review-gallery {
		padding-bottom: 32px;
	}

	.of-social-review-gallery + .of-important-note {
		padding-top: 40px;
	}

	.of-ugc-comment {
		left: 50%;
		margin-inline: 0;
		max-width: 449px;
		position: relative;
		transform: translateX(-50%);
		width: calc(100vw - 20px);
	}

	.of-social-review-image {
		left: 50%;
		margin-inline: 0;
		max-width: 397px;
		position: relative;
		transform: translateX(-50%);
		width: calc(100vw - 20px);
	}

	.woocommerce-checkout .wc-block-components-address-form__first_name,
	.woocommerce-checkout .wc-block-components-address-form__last_name,
	.woocommerce-checkout .wc-block-components-address-form__postcode,
	.woocommerce-checkout .wc-block-components-address-form__city {
		flex: 1 0 100% !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; animation: none !important; }
}
