:root {
	--ff-content-max: 1080px;
	--ff-product-layout-max: 1600px;
	--ff-transition: 160ms ease;
}

html {
	scroll-behavior: smooth;
}

body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

a {
	transition: color var(--ff-transition), background-color var(--ff-transition), border-color var(--ff-transition), box-shadow var(--ff-transition);
}

a:hover,
a:focus-visible {
	color: var(--wp--preset--color--deep);
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 3px;
}

img {
	height: auto;
	max-width: 100%;
}

input,
select,
textarea {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--small);
	color: var(--wp--preset--color--ink);
	font: inherit;
	min-height: 44px;
	padding: 0.72rem 0.85rem;
	width: 100%;
}

textarea {
	min-height: 140px;
}

button,
.wp-element-button,
.wp-block-button__link {
	border: 1px solid transparent;
	cursor: pointer;
	transition: background-color var(--ff-transition), border-color var(--ff-transition), color var(--ff-transition), transform var(--ff-transition);
}

button:hover,
.wp-element-button:hover,
.wp-block-button__link:hover {
	background: var(--wp--preset--color--deep);
	color: var(--wp--preset--color--base);
}

button:active,
.wp-element-button:active,
.wp-block-button__link:active {
	transform: translateY(1px);
}

.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	border-color: currentColor;
	color: var(--wp--preset--color--primary);
}

.wp-block-button.is-style-outline > .wp-block-button__link:hover,
.wp-block-button.is-style-quiet > .wp-block-button__link:hover {
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--deep);
}

.wp-block-button.is-style-quiet > .wp-block-button__link {
	background: transparent;
	border-color: var(--wp--preset--color--border);
	color: var(--wp--preset--color--ink);
}

.site-header {
	background: color-mix(in srgb, var(--wp--preset--color--base) 92%, transparent);
	border-bottom: 1px solid var(--wp--preset--color--border);
	position: sticky;
	top: 0;
	z-index: 20;
}

.admin-bar .site-header {
	top: 32px;
}

.site-header__bar {
	gap: var(--wp--preset--spacing--40);
}

.site-branding {
	min-width: 220px;
}

.site-header .wp-block-site-title a,
.site-footer .wp-block-site-title a {
	color: inherit;
}

.site-header .wp-block-navigation a:hover,
.site-header .wp-block-navigation .current-menu-item > a,
.site-header .wp-block-navigation .current-menu-ancestor > a {
	color: var(--wp--preset--color--primary);
}

.site-header .wp-block-search {
	max-width: 240px;
}

.site-main {
	margin-block-start: 0;
}

.page-hero {
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.page-hero__panel {
	position: relative;
}

.page-hero__panel::after {
	background:
		linear-gradient(135deg, color-mix(in srgb, var(--wp--preset--color--primary) 18%, transparent), transparent 48%),
		linear-gradient(35deg, color-mix(in srgb, var(--wp--preset--color--accent) 25%, transparent), transparent 55%);
	border-radius: var(--wp--custom--radius--medium);
	content: "";
	inset: 0;
	opacity: 0.55;
	pointer-events: none;
	position: absolute;
}

.page-hero__panel > * {
	position: relative;
	z-index: 1;
}

.commerce-stat {
	border-left: 4px solid var(--wp--preset--color--primary);
}

.is-style-surface {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--medium);
	box-shadow: var(--wp--custom--shadow--soft);
	padding: var(--wp--preset--spacing--50);
}

.is-style-outlined,
.post-card {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--medium);
	padding: var(--wp--preset--spacing--50);
}

.post-card {
	display: flex;
	flex-direction: column;
	min-height: 100%;
}

.post-card .wp-block-post-featured-image img {
	aspect-ratio: 4 / 3;
	border-radius: var(--wp--custom--radius--small);
	object-fit: cover;
	width: 100%;
}

.post-card .wp-block-post-excerpt {
	color: color-mix(in srgb, var(--wp--preset--color--ink) 72%, var(--wp--preset--color--base));
}

.entry-shell {
	padding-bottom: var(--wp--preset--spacing--70);
	padding-top: var(--wp--preset--spacing--60);
}

.entry-shell > .alignwide {
	box-sizing: border-box;
	max-width: var(--ff-product-layout-max);
	width: calc(100% - 3rem);
}

.entry-shell .wp-block-post-content.alignwide {
	box-sizing: border-box;
	max-width: var(--ff-product-layout-max);
	width: 100%;
}

.entry-shell .wp-block-post-content.alignwide > :where(
	p,
	h2,
	h3,
	h4,
	h5,
	h6,
	ul,
	ol,
	blockquote,
	pre
):not(.alignwide):not(.alignfull) {
	margin-left: 0;
	margin-right: 0;
	max-width: var(--ff-content-max);
}

.site-footer {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--base);
	margin-block-start: 0;
}

.site-footer a {
	color: var(--wp--preset--color--base);
}

.site-footer a:hover,
.site-footer a:focus-visible {
	color: var(--wp--preset--color--accent);
}

.site-footer .wp-block-navigation {
	color: inherit;
}

.wp-block-query-pagination {
	gap: var(--wp--preset--spacing--40);
}

.wp-block-query-pagination a,
.wp-block-query-pagination .page-numbers {
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--small);
	display: inline-flex;
	min-height: 40px;
	padding: 0.45rem 0.75rem;
}

.wp-block-comments {
	border-top: 1px solid var(--wp--preset--color--border);
	margin-top: var(--wp--preset--spacing--60);
	padding-top: var(--wp--preset--spacing--60);
}

.wp-block-search__inside-wrapper {
	gap: 0.5rem;
}

.wp-block-search__button {
	border-radius: var(--wp--custom--radius--small);
	margin-left: 0;
}

.woocommerce,
.woocommerce-page,
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
	--wc-theme-border: var(--wp--preset--color--border);
	--wc-theme-radius: var(--wp--custom--radius--medium);
	--wc-theme-surface: var(--wp--preset--color--surface);
}

.has-woocommerce .wp-site-blocks > main,
.woocommerce-page .wp-site-blocks > main {
	padding-bottom: var(--wp--preset--spacing--70);
	padding-top: var(--wp--preset--spacing--60);
}

.woocommerce .woocommerce-breadcrumb {
	color: color-mix(in srgb, var(--wp--preset--color--ink) 62%, var(--wp--preset--color--base));
	font-size: var(--wp--preset--font-size--small);
	margin-bottom: var(--wp--preset--spacing--40);
}

.woocommerce .woocommerce-breadcrumb a {
	color: var(--wp--preset--color--primary);
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
	font-size: var(--wp--preset--font-size--small);
	margin-bottom: var(--wp--preset--spacing--50);
}

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

.woocommerce ul.products {
	box-sizing: border-box;
	display: grid;
	gap: var(--wp--preset--spacing--50);
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0 auto var(--wp--preset--spacing--60);
	max-width: 100%;
	padding: 0;
	width: 100%;
}

.wp-block-woocommerce-product-collection .wc-block-product-template {
	box-sizing: border-box;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	margin-inline: auto;
	max-width: 100%;
	padding-inline: 0;
	width: 100%;
}

.ff-catalog-filters {
	background:
		linear-gradient(115deg, rgba(118, 166, 44, 0.1), transparent 46%),
		var(--ff-soft);
	border: 1px solid var(--ff-line);
	border-radius: 14px;
	box-sizing: border-box;
	margin: 0 auto var(--wp--preset--spacing--60);
	max-width: var(--ff-product-layout-max) !important;
	padding: clamp(1.25rem, 2.5vw, 2rem);
	width: calc(100% - 3rem);
}

.ff-catalog-filters__heading {
	align-items: end;
	display: flex;
	gap: 1.5rem;
	justify-content: space-between;
	margin-bottom: 1.25rem;
}

.ff-catalog-filters__kicker {
	color: var(--ff-green-dark);
	display: block;
	font-size: 0.7rem;
	font-weight: 900;
	letter-spacing: 0.13em;
	margin-bottom: 0.4rem;
	text-transform: uppercase;
}

.ff-catalog-filters h2 {
	color: var(--ff-forest);
	font-size: clamp(1.4rem, 2vw, 1.85rem);
	letter-spacing: -0.025em;
	line-height: 1.1;
	margin: 0;
}

.ff-catalog-filters__reset {
	align-items: center;
	color: var(--ff-green-dark);
	display: inline-flex;
	font-size: 0.78rem;
	font-weight: 800;
	gap: 0.35rem;
	white-space: nowrap;
}

.ff-catalog-filters__reset span {
	font-size: 1.1rem;
	line-height: 1;
}

.ff-catalog-filters__list {
	display: grid;
	gap: 0.65rem;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.ff-catalog-filter {
	align-items: center;
	background: #fff;
	border: 1px solid var(--ff-line);
	border-radius: 8px;
	color: var(--ff-forest);
	display: flex;
	font-size: 0.88rem;
	font-weight: 800;
	gap: 0.75rem;
	justify-content: space-between;
	min-height: 48px;
	padding: 0.65rem 0.75rem;
	text-decoration: none;
}

.ff-catalog-filter:hover {
	background: #fff;
	border-color: #b8caaa;
	box-shadow: 0 8px 20px rgba(11, 43, 17, 0.07);
	color: var(--ff-green-dark);
}

.ff-catalog-filter small {
	align-items: center;
	background: var(--ff-soft);
	border-radius: 999px;
	color: var(--ff-muted);
	display: inline-flex;
	font-size: 0.67rem;
	font-weight: 900;
	height: 24px;
	justify-content: center;
	min-width: 24px;
	padding: 0 0.35rem;
}

.ff-catalog-filter--child span::before {
	color: var(--ff-green);
	content: "↳";
	margin-right: 0.4rem;
}

.ff-catalog-filter.is-active {
	background: var(--ff-forest);
	border-color: var(--ff-forest);
	box-shadow: 0 10px 24px rgba(11, 43, 17, 0.14);
	color: #fff;
}

.ff-catalog-filter.is-active small {
	background: rgba(255, 255, 255, 0.14);
	color: #fff;
}

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

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wc-theme-border);
	border-radius: var(--wc-theme-radius);
	box-shadow: none;
	float: none;
	margin: 0;
	padding: var(--wp--preset--spacing--40);
	position: relative;
	width: auto;
}

.woocommerce ul.products li.product a img {
	aspect-ratio: 1 / 1;
	border-radius: var(--wp--custom--radius--small);
	object-fit: cover;
	width: 100%;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 750;
	line-height: 1.2;
	padding: 0.35rem 0 0;
}

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--wp--preset--color--primary);
	font-weight: 800;
}

.woocommerce span.onsale,
.wc-block-components-product-sale-badge {
	background: var(--wp--preset--color--signal);
	border: 0;
	border-radius: 999px;
	color: var(--wp--preset--color--base);
	font-size: 0.75rem;
	font-weight: 800;
	line-height: 1;
	min-height: auto;
	padding: 0.45rem 0.65rem;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.wc-block-components-button,
.wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button {
	background: var(--wp--preset--color--primary);
	border: 1px solid transparent;
	border-radius: var(--wp--custom--radius--small);
	color: var(--wp--preset--color--base);
	font-weight: 750;
	line-height: 1.2;
	padding: 0.72rem 1rem;
	text-decoration: none;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.wc-block-components-button:hover,
.wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button:hover {
	background: var(--wp--preset--color--deep);
	color: var(--wp--preset--color--base);
}

.woocommerce a.added_to_cart {
	display: inline-flex;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	margin-left: 0.5rem;
}

.single-product .wp-site-blocks > main {
	background:
		linear-gradient(180deg, #f7faf5 0, #fff 430px),
		#fff;
	padding-inline: 1.5rem;
}

.single-product .woocommerce {
	margin-inline: auto;
	max-width: var(--ff-product-layout-max);
}

.single-product .woocommerce .woocommerce-breadcrumb {
	align-items: center;
	background: #fff;
	border: 1px solid var(--ff-line);
	border-radius: 8px;
	display: inline-flex;
	gap: 0.35rem;
	margin-bottom: 1.35rem;
	padding: 0.55rem 0.75rem;
}

.single-product .woocommerce .woocommerce-breadcrumb,
.single-product .woocommerce .woocommerce-breadcrumb a {
	color: #647064;
	font-size: 0.72rem;
	font-weight: 800;
	text-transform: uppercase;
}

.single-product .woocommerce .woocommerce-breadcrumb a:hover {
	color: var(--ff-green-dark);
}

body.single-product .woocommerce div.product {
	background: #fff;
	border: 1px solid var(--ff-line);
	border-radius: 16px;
	box-shadow: 0 18px 46px rgba(11, 43, 17, 0.08);
	display: flow-root;
	isolation: isolate;
	padding: clamp(1rem, 2.4vw, 1.5rem);
	position: relative;
}

.single-product .woocommerce div.product::before {
	background-image:
		linear-gradient(rgba(11, 43, 17, 0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(11, 43, 17, 0.035) 1px, transparent 1px);
	background-size: 34px 34px;
	content: "";
	inset: 0 0 auto;
	height: 190px;
	pointer-events: none;
	position: absolute;
}

body.single-product .woocommerce div.product > .woocommerce-product-gallery,
body.single-product .woocommerce div.product > .summary,
body.single-product .woocommerce div.product > .woocommerce-tabs,
body.single-product .woocommerce div.product > .related.products,
body.single-product .woocommerce div.product > .upsells.products {
	box-sizing: border-box;
	position: relative;
	z-index: 1;
}

body.single-product .woocommerce div.product > .onsale {
	left: 0.75rem;
	position: absolute;
	top: 0.75rem;
	z-index: 3;
}

body.single-product .woocommerce div.product > .woocommerce-product-gallery.images {
	float: left;
	margin: 0;
	min-width: 0;
	width: 56%;
}

body.single-product .woocommerce div.product > .summary.entry-summary {
	float: right;
	margin: 0;
	min-width: 0;
	width: 40%;
}

.woocommerce div.product div.images img {
	border: 1px solid var(--wc-theme-border);
	border-radius: var(--wc-theme-radius);
}

.single-product .woocommerce div.product div.images {
	background:
		radial-gradient(circle at 24% 18%, rgba(118, 166, 44, 0.18), transparent 34%),
		var(--ff-soft);
	border-radius: 12px;
	margin-bottom: 0;
	padding: clamp(0.85rem, 2vw, 1.35rem);
}

.single-product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
	margin: 0;
}

.single-product .woocommerce div.product div.images img {
	background: #fff;
	border: 1px solid #dfe6dc;
	border-radius: 12px;
	box-shadow: 0 12px 28px rgba(11, 43, 17, 0.08);
	display: block;
	object-fit: contain;
}

.single-product .woocommerce div.product div.images .flex-control-thumbs {
	display: grid;
	gap: 0.65rem;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: 0.75rem;
}

.single-product .woocommerce div.product div.images .flex-control-thumbs li {
	float: none;
	width: auto;
}

.single-product .woocommerce div.product div.images .flex-control-thumbs img {
	aspect-ratio: 1 / 1;
	border-radius: 8px;
	box-shadow: none;
	opacity: 0.68;
	padding: 0.25rem;
}

.single-product .woocommerce div.product div.images .flex-control-thumbs img.flex-active,
.single-product .woocommerce div.product div.images .flex-control-thumbs img:hover {
	border-color: var(--ff-green);
	opacity: 1;
}

body.single-product .woocommerce div.product > .summary.entry-summary {
	align-self: stretch;
	background: #fff;
	border-left: 1px solid var(--ff-line);
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: clamp(0.5rem, 1.6vw, 1.3rem) clamp(0.25rem, 1.8vw, 1.5rem);
}

.woocommerce div.product .product_title {
	font-size: var(--wp--preset--font-size--xx-large);
	line-height: 1.1;
	margin-top: 0;
}

.single-product .woocommerce div.product .product_title {
	box-sizing: border-box;
	color: var(--ff-forest);
	display: block;
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: clamp(1.7rem, 2.4vw, 2.25rem);
	font-weight: 900;
	hyphens: none;
	letter-spacing: 0;
	line-height: 1.12;
	margin: 0 0 0.75rem;
	max-width: 100%;
	text-transform: none;
	white-space: normal;
	word-break: normal;
	overflow-wrap: break-word;
	width: 100%;
}

.single-product .woocommerce div.product .price {
	align-items: baseline;
	color: var(--ff-forest);
	display: flex;
	flex-wrap: wrap;
	font-size: clamp(1.55rem, 2.5vw, 2.1rem);
	gap: 0.55rem;
	margin: 0 0 1rem;
}

.single-product .woocommerce div.product .price del {
	color: #8a9688;
	font-size: 0.95rem;
	font-weight: 650;
	opacity: 1;
}

.single-product .woocommerce div.product .price ins {
	color: var(--ff-green-dark);
	text-decoration: none;
}

.single-product .woocommerce div.product .woocommerce-product-details__short-description {
	background: #f8faf6;
	border: 1px solid var(--ff-line);
	border-left: 4px solid var(--ff-green);
	border-radius: 9px;
	box-sizing: border-box;
	color: var(--ff-muted);
	font-size: 0.92rem;
	line-height: 1.68;
	margin: 0 0 1.25rem;
	max-width: 100%;
	overflow-wrap: break-word;
	padding: 0.95rem 1rem;
	width: 100%;
}

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

.single-product .woocommerce div.product .woocommerce-product-details__short-description p + p,
.single-product .woocommerce div.product .woocommerce-product-details__short-description ul,
.single-product .woocommerce div.product .woocommerce-product-details__short-description ol {
	margin-top: 0.75rem;
}

.single-product .woocommerce div.product .woocommerce-product-details__short-description ul,
.single-product .woocommerce div.product .woocommerce-product-details__short-description ol {
	padding-left: 1.15rem;
}

.single-product .woocommerce div.product .stock {
	align-self: flex-start;
	background: #eaf2e4;
	border-radius: 999px;
	color: var(--ff-green-dark);
	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	margin-bottom: 1rem;
	padding: 0.42rem 0.65rem;
	text-transform: uppercase;
}

.woocommerce div.product form.cart {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--40);
}

.single-product .woocommerce div.product form.cart {
	background: var(--ff-soft);
	border: 1px solid var(--ff-line);
	border-radius: 10px;
	gap: .65rem;
	margin: 0 0 1.15rem;
	padding: 0.85rem;
}

.woocommerce .quantity .qty {
	max-width: 92px;
	text-align: center;
}

.single-product .woocommerce .quantity .qty {
	background: #fff;
	border-color: #cfdac8;
	border-radius: 7px;
	box-sizing: border-box;
	font-weight: 800;
	height: 48px;
	min-height: 48px;
	padding-block: 0;
}

.single-product .woocommerce div.product form.cart .button {
	background: var(--ff-green);
	border-radius: 7px;
	box-shadow: 0 10px 22px rgba(79, 119, 22, 0.2);
	flex: 0 1 210px;
	font-size: 0.82rem;
	font-weight: 900;
	letter-spacing: 0.02em;
	max-width: 210px;
	min-height: 48px;
	padding-inline: 1rem;
	text-transform: uppercase;
}

.single-product .woocommerce div.product form.cart .button:hover {
	background: var(--ff-green-dark);
}

.single-product .woocommerce div.product form.cart table.variations {
	margin: 0;
	width: 100%;
}

.single-product .woocommerce div.product form.cart table.variations th,
.single-product .woocommerce div.product form.cart table.variations td {
	background: transparent;
	border: 0;
	display: block;
	padding: 0 0 0.55rem;
	text-align: left;
}

.single-product .woocommerce div.product form.cart table.variations label,
.single-product .woocommerce div.product .product_meta {
	color: var(--ff-forest);
	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.single-product .woocommerce div.product form.cart table.variations select {
	background: #fff;
	border-color: #cfdac8;
	border-radius: 7px;
}

.single-product .woocommerce div.product .product_meta {
	border-top: 1px solid var(--ff-line);
	display: grid;
	gap: 0.55rem;
	margin-top: auto;
	padding-top: 1.1rem;
}

.single-product .woocommerce div.product .product_meta a,
.single-product .woocommerce div.product .product_meta .sku {
	color: var(--ff-green-dark);
	text-transform: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	border-bottom: 1px solid var(--wc-theme-border);
	margin: var(--wp--preset--spacing--60) 0 var(--wp--preset--spacing--40);
	padding: 0;
}

body.single-product .woocommerce div.product > .woocommerce-tabs,
body.single-product .woocommerce div.product > .related.products,
body.single-product .woocommerce div.product > .upsells.products {
	clear: both;
	width: 100%;
}

body.single-product .woocommerce div.product > .woocommerce-tabs {
	background: #fff;
	border-top: 1px solid var(--ff-line);
	margin: 2rem -1.5rem -1.5rem;
	padding: clamp(1.5rem, 3vw, 2.2rem) clamp(1rem, 2.4vw, 1.5rem);
}

.single-product .woocommerce div.product .woocommerce-tabs ul.tabs {
	border-bottom-color: var(--ff-line);
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	margin: 0 0 1.3rem;
}

.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 {
	content: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: transparent;
	border: 0;
	border-radius: 0;
	margin: 0 var(--wp--preset--spacing--40) 0 0;
	padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	border-bottom: 3px solid transparent;
	color: var(--wp--preset--color--ink);
	padding: 0.8rem 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary);
}

.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li {
	margin: 0;
}

.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a {
	border: 1px solid transparent;
	border-radius: 7px 7px 0 0;
	color: var(--ff-ink);
	font-size: 0.78rem;
	font-weight: 900;
	letter-spacing: 0.04em;
	padding: 0.75rem 0.9rem;
	text-transform: uppercase;
}

.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	background: var(--ff-forest);
	border-color: var(--ff-forest);
	color: #fff;
}

.single-product .woocommerce div.product .woocommerce-tabs .panel {
	color: var(--ff-muted);
	line-height: 1.75;
	margin: 0;
}

.single-product .woocommerce div.product .woocommerce-tabs .panel h2,
.single-product .woocommerce .related.products > h2,
.single-product .woocommerce .upsells.products > h2 {
	color: var(--ff-forest);
	font-family: "Arial Narrow", Impact, sans-serif;
	font-size: clamp(1.9rem, 3vw, 2.65rem);
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1;
	margin: 0 0 1rem;
	text-transform: uppercase;
}

.single-product .woocommerce .related.products,
.single-product .woocommerce .upsells.products {
	margin-inline: auto;
	max-width: 100%;
	margin-top: 3rem;
}

.single-product .woocommerce .related.products > h2,
.single-product .woocommerce .upsells.products > h2 {
	margin-bottom: 1.4rem;
}

.woocommerce table.shop_table,
.woocommerce table.shop_attributes,
.wc-block-cart-items,
.wc-block-components-totals-wrapper,
.wc-block-components-sidebar {
	border-color: var(--wc-theme-border);
	border-radius: var(--wc-theme-radius);
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td,
.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td {
	border-color: var(--wc-theme-border);
	padding: 1rem;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-account .woocommerce-Input {
	line-height: 1.5;
}

.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
	background: var(--wc-theme-surface);
	border-top-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--ink);
}

.woocommerce-error::before,
.woocommerce-info::before,
.woocommerce-message::before {
	color: var(--wp--preset--color--primary);
}

.woocommerce nav.woocommerce-pagination ul {
	border: 0;
	display: flex;
	gap: 0.5rem;
	justify-content: center;
}

.woocommerce nav.woocommerce-pagination ul li {
	border: 0;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	border: 1px solid var(--wc-theme-border);
	border-radius: var(--wp--custom--radius--small);
	color: var(--wp--preset--color--ink);
	min-width: 42px;
	padding: 0.7rem;
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
}

.wc-block-grid__products,
.wc-block-product-template {
	gap: var(--wp--preset--spacing--50);
}

.wc-block-grid__product,
.wc-block-components-product-card {
	border: 1px solid var(--wc-theme-border);
	border-radius: var(--wc-theme-radius);
	padding: var(--wp--preset--spacing--40);
}

.wc-block-grid__product-image img,
.wc-block-components-product-image img {
	border-radius: var(--wp--custom--radius--small);
}

.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
	margin-bottom: var(--wp--preset--spacing--70);
	margin-top: var(--wp--preset--spacing--60);
}

.wc-block-components-sidebar-layout {
	gap: var(--wp--preset--spacing--60);
}

.wc-block-components-totals-wrapper,
.wc-block-components-sidebar .wc-block-components-panel,
.wc-block-components-checkout-step {
	border-color: var(--wc-theme-border);
}

.wp-block-woocommerce-customer-account a,
.wc-block-mini-cart__button {
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--small);
	color: var(--wp--preset--color--ink);
	min-height: 40px;
	padding: 0.45rem 0.65rem;
}

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

	.wp-block-woocommerce-product-collection .wc-block-product-template {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	body.single-product .woocommerce div.product > .woocommerce-product-gallery.images,
	body.single-product .woocommerce div.product > .summary.entry-summary {
		float: none;
		width: 100%;
	}

	body.single-product .woocommerce div.product > .summary.entry-summary {
		border-left: 0;
		border-top: 1px solid var(--ff-line);
		margin-top: 1.5rem;
		padding-top: 1.5rem;
	}
}

@media (max-width: 782px) {
	.admin-bar .site-header {
		top: 46px;
	}
}

@media (max-width: 640px) {
	.site-header {
		position: static;
	}

	.site-header__bar {
		align-items: stretch;
	}

	.site-header .wp-block-search {
		max-width: none;
		width: 100%;
	}

	.ff-catalog-filters {
		padding: 1rem;
		width: calc(100% - 2rem);
	}

	.ff-catalog-filters__heading {
		align-items: flex-start;
		flex-direction: column;
		gap: 0.75rem;
	}

	.ff-catalog-filters__list {
		grid-template-columns: 1fr;
	}

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

	.wp-block-woocommerce-product-collection .wc-block-product-template {
		grid-template-columns: 1fr !important;
	}

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

	.woocommerce div.product .product_title {
		font-size: var(--wp--preset--font-size--x-large);
	}

	.single-product .wp-site-blocks > main {
		padding-inline: 1rem;
	}

	.single-product .woocommerce div.product {
		border-radius: 12px;
		padding: 0.85rem;
	}

	.single-product .woocommerce div.product .product_title {
		font-size: 2rem;
	}

	.single-product .woocommerce div.product form.cart {
		align-items: center;
		flex-direction: row;
		flex-wrap: wrap;
	}

	.single-product .woocommerce .quantity .qty {
		max-width: 88px;
		width: 88px;
	}

	.single-product .woocommerce div.product form.cart .button {
		flex: 1 1 170px;
		max-width: 220px;
		min-width: 0;
		width: auto;
	}

	.single-product .woocommerce div.product .woocommerce-tabs {
		margin: 0 -0.85rem -0.85rem;
	}
}

/* Homepage — Industrial Integrity */
:root {
	--ff-green: #76a62c;
	--ff-green-dark: #4f7716;
	--ff-forest: #0b2b11;
	--ff-ink: #17211a;
	--ff-muted: #677168;
	--ff-line: #dfe6dc;
	--ff-soft: #f4f7f2;
	--ff-white: #fff;
	--ff-radius: 14px;
	--ff-shell: 1600px;
}

.ff-home,
.ff-header,
.ff-footer {
	box-sizing: border-box;
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.ff-home *,
.ff-header *,
.ff-footer * {
	box-sizing: border-box;
}

.ff-header {
	background: rgba(255, 255, 255, 0.97);
	border-bottom: 1px solid var(--ff-line);
	position: sticky;
	top: 0;
	z-index: 50;
}

.admin-bar .ff-header { top: 32px; }

.ff-header__main,
.ff-header__utility,
.ff-section,
.ff-hero-shell,
.ff-about,
.ff-consultation,
.ff-footer__grid,
.ff-footer__bottom {
	margin-inline: auto;
	max-width: var(--ff-shell);
	width: 100%;
}

.ff-header__main {
	align-items: center;
	display: grid;
	gap: clamp(1rem, 2vw, 2rem);
	grid-template-columns: minmax(190px, 1fr) auto minmax(250px, 1fr);
	min-height: 86px;
	padding: 0 1.5rem;
}

.ff-brand {
	align-items: center;
	color: var(--ff-forest);
	display: inline-flex;
	gap: 0.65rem;
	text-decoration: none;
}

.ff-brand:hover { color: var(--ff-forest); }
.ff-brand__mark {
	align-items: center;
	background: var(--ff-green);
	border-radius: 7px 15px 7px 15px;
	color: #fff;
	display: inline-flex;
	font-size: 1.7rem;
	font-style: italic;
	font-weight: 900;
	height: 44px;
	justify-content: center;
	transform: skew(-7deg);
	width: 44px;
}

.ff-brand strong { display: block; font-size: 1.22rem; font-weight: 900; letter-spacing: -0.04em; line-height: 1; }
.ff-brand strong span { color: var(--ff-green); }
.ff-brand small { color: #72806f; display: block; font-size: 0.56rem; font-weight: 800; letter-spacing: 0.16em; margin-top: 0.28rem; }
.ff-native-menu { list-style: none; margin: 0; padding: 0; }
.ff-nav { align-items: center; display: flex; justify-content: center; }
.ff-nav > .ff-native-menu { align-items: center; display: flex; gap: clamp(1rem, 2.4vw, 2.1rem); justify-content: center; }
.ff-nav .menu-item { position: relative; }
.ff-nav a { color: #354036; font-size: 0.87rem; font-weight: 700; text-decoration: none; }
.ff-nav a:hover { color: var(--ff-green-dark); }
.ff-nav .sub-menu { background: #fff; border: 1px solid var(--ff-line); border-radius: 9px; box-shadow: 0 15px 30px rgba(11,43,17,.12); display: none; left: 0; list-style: none; margin: 0; min-width: 210px; padding: .45rem; position: absolute; top: calc(100% + .65rem); }
.ff-nav .sub-menu a { display: block; padding: .65rem .75rem; }
.ff-nav .menu-item:hover > .sub-menu,
.ff-nav .menu-item:focus-within > .sub-menu { display: block; }
.ff-header__actions { align-items: center; display: flex; justify-content: flex-end; min-width: 0; }
.ff-header__actions .creatos-dpc br,
.ff-header__actions .creatos-dpc p:empty { display: none; }
.ff-header .ff-mobile-nav { display: none !important; position: relative; }
.ff-mobile-nav > summary { align-items: center; background: var(--ff-forest); border-radius: 7px; color: #fff; cursor: pointer; display: flex; flex-direction: column; gap: 4px; height: 41px; justify-content: center; list-style: none; width: 41px; }
.ff-mobile-nav > summary::-webkit-details-marker { display: none; }
.ff-mobile-nav > summary span { background: currentColor; border-radius: 999px; display: block; height: 2px; width: 20px; }
.ff-mobile-nav > summary:hover,
.ff-mobile-nav > summary:focus-visible { background: var(--ff-green-dark); color: #fff; outline: none; }
.ff-mobile-nav__panel { background: #fff; color: var(--ff-forest); display: none; inset: 0; overflow-y: auto; padding: 4.75rem 2rem 2rem; position: fixed; z-index: 1000; }
.ff-mobile-nav[open] .ff-mobile-nav__panel { display: block; }
.ff-mobile-nav__close { align-items: center; background: var(--ff-soft); border: 1px solid var(--ff-line); border-radius: 8px; color: var(--ff-forest); cursor: pointer; display: inline-flex; font-size: .82rem; font-weight: 800; gap: .55rem; min-height: 44px; padding: .55rem .8rem; position: absolute; right: 1rem; top: 1rem; z-index: 2; }
.ff-mobile-nav__close span[aria-hidden="true"] { font-size: 1.65rem; font-weight: 400; line-height: .75; }
.ff-mobile-nav__close:hover,
.ff-mobile-nav__close:focus-visible { background: var(--ff-forest); border-color: var(--ff-forest); color: #fff; outline: none; }
.ff-mobile-nav__panel nav,
.ff-mobile-nav__panel .ff-native-menu { width: 100%; }
.ff-mobile-nav__panel .ff-native-menu,
.ff-mobile-nav__panel .sub-menu { list-style: none; margin: 0; padding: 0; }
.ff-mobile-nav__panel .sub-menu { padding-left: 1rem; }
.ff-mobile-nav__panel a { border-bottom: 1px solid var(--ff-line); color: var(--ff-forest); display: block; font-size: 1.1rem; font-weight: 800; padding: .85rem 0; text-decoration: none; width: 100%; }
.ff-mobile-nav .wp-block-navigation__responsive-container-open {
	align-items: center;
	background: var(--ff-forest);
	border-radius: 7px;
	color: #fff;
	display: flex;
	height: 41px;
	justify-content: center;
	padding: 0;
	width: 41px;
}
.ff-mobile-nav .wp-block-navigation__responsive-container-open:hover { background: var(--ff-green-dark); color: #fff; }
.ff-mobile-nav .wp-block-navigation__responsive-container-open svg { height: 22px; width: 22px; }
.ff-mobile-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: #fff;
	color: var(--ff-forest);
	padding: 2rem;
}
.ff-mobile-nav .wp-block-navigation__responsive-container-close {
	color: var(--ff-forest);
	right: 1.25rem;
	top: 1.25rem;
}
.ff-mobile-nav .wp-block-navigation__responsive-container-content { align-items: flex-start; padding-top: 3rem; }
.ff-mobile-nav .wp-block-navigation__container { align-items: flex-start; gap: .4rem; width: 100%; }
.ff-mobile-nav .wp-block-navigation-item { width: 100%; }
.ff-mobile-nav .wp-block-navigation-item__content { border-bottom: 1px solid var(--ff-line); color: var(--ff-forest); font-size: 1.1rem; font-weight: 800; padding: .85rem 0; width: 100%; }
.ff-header__cart { min-width: 48px; }
.ff-header__cart .wc-block-mini-cart__button { border-color: var(--ff-line); border-radius: 9px; }

.ff-header__utility {
	align-items: center;
	border-top: 1px solid #edf1eb;
	display: grid;
	gap: 1rem;
	grid-template-columns: 1fr auto;
	padding: 12px 1.5rem;
}

.ff-search { display: flex; max-width: 760px; position: relative; }
.ff-search input[type="search"] { background: #f4f6f3; border: 1px solid transparent; border-radius: 8px 0 0 8px; font-size: 0.86rem; height: 43px; min-height: 43px; padding: 0 1rem; }
.ff-search input[type="search"]:focus { background: #fff; border-color: var(--ff-green); outline: none; }
.ff-search button { align-items: center; background: var(--ff-forest); border: 0; border-radius: 0 8px 8px 0; color: #fff; display: flex; font-size: 1.5rem; height: 43px; justify-content: center; padding: 0; width: 50px; }
.ff-quick-contact { display: flex; gap: 0.65rem; }
.ff-quick-contact a { align-items: center; border: 1px solid var(--ff-line); border-radius: 7px; color: var(--ff-forest); display: flex; font-size: 0.78rem; font-weight: 800; gap: 0.45rem; min-height: 41px; padding: 0 0.9rem; text-decoration: none; }
.ff-quick-contact a:hover { background: var(--ff-soft); }
.ff-quick-contact .ff-whatsapp { background: var(--ff-green); border-color: var(--ff-green); color: #fff; }
.ff-quick-contact .ff-whatsapp:hover { background: var(--ff-green-dark); color: #fff; }

.ff-home { background: #fff; color: var(--ff-ink); margin: 0; }
.ff-home-hero { align-items: stretch; display: grid; gap: 18px; grid-template-columns: minmax(255px, 300px) minmax(0, 1fr); margin: 0 auto; max-width: var(--ff-shell); padding: 20px 1.5rem 34px; width: 100%; }
.ff-home-hero > br,
.ff-home-hero .ff-category-grid br,
.ff-home-hero .ff-hero br { display: none; }
.ff-home-hero > .ff-hero-shell { min-width: 0; padding: 0; width: 100%; }
.ff-home .creatos-ccs { margin-inline: auto; max-width: var(--ff-shell); }
.ff-hero { background: var(--ff-forest); border: 1px solid var(--ff-line); border-radius: 4px; box-shadow: none; min-height: 360px; overflow: hidden; position: relative; }
.ff-hero::before { background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px); background-size: 34px 34px; content: ""; inset: 0; pointer-events: none; position: absolute; }
.ff-hero__slide { align-items: center; display: grid; gap: 2.5rem; grid-template-columns: 1.1fr .9fr; inset: 0; opacity: 0; padding: clamp(2.25rem,4vw,3.3rem) clamp(3rem,6vw,5rem); pointer-events: none; position: absolute; transform: translateX(22px); transition: opacity .5s ease, transform .5s ease; visibility: hidden; }
.ff-hero__slide.is-active { opacity: 1; pointer-events: auto; position: relative; transform: translateX(0); visibility: visible; }
.ff-hero__content { color: #fff; max-width: 620px; position: relative; z-index: 2; }
.ff-eyebrow,.ff-kicker { color: var(--ff-green); display: block; font-size: 0.68rem; font-weight: 900; letter-spacing: .14em; margin-bottom: .85rem; text-transform: uppercase; }
.ff-hero h1,.ff-hero h2 { color: #fff; font-family: "Arial Narrow", Impact, sans-serif; font-size: clamp(2.55rem,4vw,3.5rem); font-weight: 800; letter-spacing: -.035em; line-height: .98; margin: 0 0 1rem; max-width: 700px; text-transform: uppercase; }
.ff-hero p { color: #cfddce; font-size: .92rem; line-height: 1.58; margin: 0 0 1.4rem; max-width: 580px; }
.ff-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.ff-button { align-items: center; background: var(--ff-green); border: 1px solid var(--ff-green); border-radius: 7px; color: #fff; display: inline-flex; font-size: .82rem; font-weight: 900; justify-content: center; letter-spacing: .02em; min-height: 46px; padding: 0 1.25rem; text-decoration: none; }
.ff-button:hover { background: #8abd3b; border-color: #8abd3b; color: #fff; }
.ff-button--ghost { background: transparent; border-color: rgba(255,255,255,.55); color: #fff; }
.ff-button--ghost:hover { background: rgba(255,255,255,.1); border-color: #fff; }
.ff-button--dark { background: var(--ff-forest); border-color: var(--ff-forest); }
.ff-hero__visual { align-items: center; display: flex; height: 265px; justify-content: center; position: relative; }
.ff-hero__visual::before { background: var(--ff-green); border-radius: 48% 52% 61% 39% / 43% 34% 66% 57%; content: ""; filter: blur(1px); height: 245px; opacity: .92; position: absolute; transform: rotate(-8deg); width: 295px; }
.ff-hero__visual img { border-radius: 52% 48% 45% 55% / 38% 47% 53% 62%; filter: drop-shadow(0 22px 24px rgba(0,0,0,.35)); height: 235px; object-fit: cover; position: relative; transform: rotate(3deg); width: 295px; z-index: 1; }
.ff-hero__visual--alt img { object-fit: contain; }
.ff-hero__ring { border: 1px solid rgba(255,255,255,.18); border-radius: 50%; height: 320px; position: absolute; width: 320px; }
.ff-hero__ring::after { border: 1px solid rgba(118,166,44,.42); border-radius: 50%; content: ""; inset: 35px; position: absolute; }
.ff-hero__arrow { align-items: center; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.2); border-radius: 50%; color: #fff; display: flex; font-size: 1.8rem; height: 42px; justify-content: center; padding: 0 0 3px; position: absolute; top: 50%; transform: translateY(-50%); width: 42px; z-index: 3; }
.ff-hero__arrow:hover { background: var(--ff-green); }
.ff-hero__arrow--prev { left: 18px; }.ff-hero__arrow--next { right: 18px; }
.ff-hero__dots { bottom: 21px; display: flex; gap: 8px; left: 50%; position: absolute; transform: translateX(-50%); z-index: 3; }
.ff-hero__dots button { background: rgba(255,255,255,.4); border: 0; border-radius: 99px; height: 7px; padding: 0; width: 22px; }
.ff-hero__dots button.is-active { background: var(--ff-green); width: 42px; }

.ff-section { padding: 76px 1.5rem; }
.ff-section--sales { padding-top: 28px; }
.ff-section__heading { align-items: end; display: flex; gap: 2rem; justify-content: space-between; margin-bottom: 2.1rem; }
.ff-section__heading h2,.ff-about h2,.ff-consultation h2 { color: var(--ff-forest); font-family: "Arial Narrow", Impact, sans-serif; font-size: clamp(2.1rem,4vw,3.15rem); letter-spacing: -.025em; line-height: 1; margin: 0 0 .8rem; text-transform: uppercase; }
.ff-section__heading p { color: var(--ff-muted); margin: 0; }
.ff-section__heading--center { justify-content: center; text-align: center; }
.ff-section__heading--center p { margin-inline: auto; max-width: 640px; }
.ff-text-link { color: var(--ff-green-dark); flex: none; font-size: .8rem; font-weight: 900; text-decoration: none; }
.ff-text-link span { font-size: 1.15rem; margin-left: .3rem; }

.ff-product-menu { background: #fff; border: 1px solid var(--ff-line); display: flex; flex-direction: column; min-width: 0; }
.ff-product-menu__heading { align-items: center; background: var(--ff-green-dark); color: #fff; display: flex; font-size: .86rem; font-weight: 900; justify-content: space-between; letter-spacing: .08em; min-height: 54px; padding: 0 1.15rem; text-transform: uppercase; }
.ff-product-menu__icon { font-size: 1.15rem; letter-spacing: 0; }
.ff-category-grid { align-items: stretch; display: flex; flex: 1; flex-direction: column; padding: 0 1rem; }
.ff-category-grid > br { display: none; }
.ff-category-card { align-items: center; background: #fff; border-bottom: 1px solid #edf1eb; color: var(--ff-forest); display: grid; flex: 1 1 0; gap: .9rem; grid-template-columns: minmax(0,1fr) auto; min-height: 43px; padding: .55rem .35rem; position: relative; text-decoration: none; transition: color .2s ease, padding .2s ease; }
.ff-category-card:hover { color: var(--ff-green-dark); padding-left: .3rem; }
.ff-category-card strong { display: block; font-size: 1rem; line-height: 1.25; }
.ff-category-card__arrow { color: var(--ff-muted); font-size: 1.15rem; line-height: 1; }
.ff-category-grid__all { align-items: center; color: var(--ff-green-dark); display: flex; font-size: .73rem; gap: .55rem; min-height: 48px; padding: .55rem .15rem; text-decoration: none; }
.ff-category-grid__all:hover { color: var(--ff-forest); }
.ff-category-grid__all > span { font-size: 1rem; font-weight: 900; }

.ff-documents {
	align-items: center;
	background:
		linear-gradient(115deg, rgba(118, 166, 44, .11), transparent 42%),
		var(--ff-soft);
	border: 1px solid var(--ff-line);
	border-radius: 14px;
	display: grid;
	gap: clamp(2rem, 5vw, 5rem);
	grid-template-columns: minmax(0, .82fr) minmax(540px, 1.18fr);
	margin: 0 auto 18px;
	max-width: var(--ff-shell);
	overflow: hidden;
	padding: clamp(2rem, 4vw, 4rem);
	position: relative;
	width: calc(100% - 3rem);
}
.ff-documents::after {
	border: 1px solid rgba(118, 166, 44, .2);
	border-radius: 50%;
	content: "";
	height: 310px;
	left: -155px;
	pointer-events: none;
	position: absolute;
	top: -155px;
	width: 310px;
}
.ff-documents__intro { max-width: 680px; position: relative; z-index: 1; }
.ff-documents__intro .ff-kicker { margin-bottom: 1rem; }
.ff-documents h1 {
	color: var(--ff-forest);
	font-family: "Arial Narrow", Impact, sans-serif;
	font-size: clamp(2.35rem, 4vw, 4.15rem);
	font-weight: 800;
	letter-spacing: -.035em;
	line-height: .98;
	margin: 0 0 1.15rem;
	text-transform: uppercase;
}
.ff-documents__intro p { color: var(--ff-muted); font-size: .96rem; line-height: 1.7; margin: 0; max-width: 610px; }
.ff-documents__links { display: grid; gap: .7rem; position: relative; z-index: 1; }
.ff-document-button {
	align-items: center;
	background: #fff;
	border: 1px solid var(--ff-line);
	border-radius: 9px;
	color: var(--ff-forest);
	display: grid;
	gap: 1rem;
	grid-template-columns: 42px minmax(0, 1fr) auto;
	min-height: 82px;
	padding: .9rem 1rem;
	text-decoration: none;
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.ff-document-button:hover {
	border-color: #bfd0b5;
	box-shadow: 0 12px 28px rgba(11, 43, 17, .08);
	color: var(--ff-forest);
	transform: translateY(-2px);
}
.ff-document-button__number {
	align-items: center;
	background: var(--ff-forest);
	border-radius: 7px;
	color: #fff;
	display: flex;
	font-size: .68rem;
	font-weight: 900;
	height: 42px;
	justify-content: center;
	letter-spacing: .05em;
	width: 42px;
}
.ff-document-button strong,
.ff-document-button small { display: block; }
.ff-document-button strong { font-size: .95rem; line-height: 1.25; }
.ff-document-button small { color: var(--ff-muted); font-size: .68rem; line-height: 1.35; margin-top: .25rem; }
.ff-document-button__arrow { color: var(--ff-green-dark); font-size: 1.15rem; font-weight: 900; padding-right: .15rem; }

.ff-category-carousels {
	box-sizing: border-box;
	margin: 0 auto;
	max-width: var(--ff-shell);
	padding: 64px 1.5rem 6px;
	width: 100%;
}
.ff-category-products { margin-bottom: 68px; }
.ff-category-products__heading {
	align-items: end;
	display: flex;
	gap: 2rem;
	justify-content: space-between;
	margin-bottom: 1.65rem;
}
.ff-category-products__heading .ff-kicker { margin-bottom: .7rem; }
.ff-category-products__heading h2 {
	color: var(--ff-forest);
	font-family: "Arial Narrow", Impact, sans-serif;
	font-size: clamp(2rem, 3.3vw, 2.85rem);
	letter-spacing: -.025em;
	line-height: 1;
	margin: 0;
	text-transform: uppercase;
}
.ff-category-carousel {
	align-items: stretch;
	display: grid;
	gap: .8rem;
	grid-template-columns: 44px minmax(0, 1fr) 44px;
}
.ff-category-carousel__track {
	display: grid;
	gap: 1.1rem;
	grid-auto-columns: calc((100% - 3.3rem) / 4);
	grid-auto-flow: column;
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	padding: 4px 0 18px;
	scroll-behavior: smooth;
	scroll-snap-type: inline mandatory;
	scrollbar-color: #c8d5c1 transparent;
	scrollbar-width: thin;
}
.ff-category-carousel__track .ff-product-card { scroll-snap-align: start; }
.ff-category-carousel__arrow {
	align-self: center;
	background: #fff;
	border: 1px solid var(--ff-line);
	border-radius: 50%;
	color: var(--ff-forest);
	cursor: pointer;
	font-size: 1.05rem;
	font-weight: 900;
	height: 44px;
	padding: 0;
	transition: background .2s ease, border-color .2s ease, color .2s ease, opacity .2s ease;
	width: 44px;
}
.ff-category-carousel__arrow:hover:not(:disabled) { background: var(--ff-green-dark); border-color: var(--ff-green-dark); color: #fff; }
.ff-category-carousel__arrow:disabled { cursor: default; opacity: .28; }
.ff-category-products__empty {
	background: var(--ff-soft);
	border: 1px dashed #bfccb9;
	border-radius: 10px;
	color: var(--ff-muted);
	margin: 0;
	padding: 2rem;
	text-align: center;
}

.ff-sale-grid { display: grid; gap: 1.1rem; grid-template-columns: repeat(4,minmax(0,1fr)); }
.ff-product-card { background: #fff; border: 1px solid var(--ff-line); border-radius: 10px; display: flex; flex-direction: column; min-width: 0; overflow: hidden; transition: box-shadow .2s ease, transform .2s ease; }
.ff-product-card:hover { box-shadow: 0 16px 35px rgba(11,43,17,.10); transform: translateY(-4px); }
.ff-product-card__media { background: #f1f4ef; display: block; overflow: hidden; position: relative; }
.ff-product-card__media .ff-optimized-picture { display: block; width: 100%; }
.ff-product-card__media img { aspect-ratio: 1.15/1; display: block; object-fit: contain; padding: .65rem; transition: transform .3s ease; width: 100%; }
.ff-product-card:hover .ff-product-card__media img { transform: scale(1.035); }
.ff-product-card__sale { background: #d93636; border-radius: 5px; color: #fff; font-size: .68rem; font-weight: 900; left: .7rem; padding: .32rem .5rem; position: absolute; top: .7rem; z-index: 2; }
.ff-product-card__body { display: flex; flex: 1; flex-direction: column; padding: 1rem; }
.ff-product-card__category,.ff-product-card__category a { color: var(--ff-green-dark); font-size: .61rem; font-weight: 900; letter-spacing: .09em; text-decoration: none; text-transform: uppercase; }
.ff-product-card h3 { font-family: inherit; font-size: .97rem; line-height: 1.3; margin: .45rem 0 .75rem; text-transform: none; }
.ff-product-card h3 a { color: var(--ff-ink); text-decoration: none; }
.ff-product-card__price { color: var(--ff-forest); font-size: 1rem; font-weight: 900; margin-bottom: .9rem; }
.ff-product-card__price del { color: #96a096; font-size: .75rem; font-weight: 600; margin-left: .35rem; }
.ff-product-card__price ins { text-decoration: none; }
.ff-product-card__button.button { background: var(--ff-green-dark); border-radius: 5px; color: #fff; display: flex; font-size: .7rem; justify-content: center; margin-top: auto; padding: .68rem .8rem; text-align: center; text-decoration: none; }
.ff-product-card__button.button:hover { background: var(--ff-forest); color: #fff; }
.ff-products-empty { background: var(--ff-soft); border: 1px dashed #bfccb9; border-radius: 10px; color: var(--ff-muted); padding: 2rem; text-align: center; }
.ff-promotions-page { margin-top: 2rem; }
.ff-promotions-empty {
	background: var(--ff-soft);
	border: 1px dashed #b9c9b1;
	border-radius: 12px;
	color: var(--ff-forest);
	font-size: 1rem;
	font-weight: 800;
	margin-top: 2rem;
	padding: 2.25rem;
	text-align: center;
}

.ff-depots { background: var(--ff-soft); max-width: var(--ff-shell); padding-left: 1.5rem; padding-right: 1.5rem; }
.ff-map-card { background: #fff; border: 1px solid var(--ff-line); border-radius: 14px; display: grid; gap: 2rem; grid-template-columns: minmax(0,1fr) 280px; padding: 1.25rem; }
.ff-map { height: auto; max-height: 440px; width: 100%; }
.ff-map__marker { fill: var(--ff-green); }
.ff-map__marker text { fill: var(--ff-forest); font-family: Inter,sans-serif; font-size: 16px; font-weight: 900; }
.ff-map__marker text + text { fill: #768073; font-size: 11px; font-weight: 600; }
.ff-depot-list { align-self: center; display: grid; gap: .75rem; }
.ff-depot-list article { align-items: center; background: var(--ff-soft); border-radius: 8px; display: flex; gap: .8rem; padding: .9rem; }
.ff-depot-list article > span { align-items: center; background: var(--ff-green); border-radius: 50%; color: #fff; display: flex; flex: 0 0 34px; font-size: .68rem; font-weight: 900; height: 34px; justify-content: center; }
.ff-depot-list strong,.ff-depot-list small { display: block; }.ff-depot-list strong { color: var(--ff-forest); font-size: .84rem; }.ff-depot-list small { color: var(--ff-muted); font-size: .68rem; margin-top: .1rem; }

.ff-about { align-items: center; display: grid; gap: clamp(2.5rem,7vw,6rem); grid-template-columns: 1fr 1fr; padding: 88px 1.5rem; }
.ff-about__image { background: var(--ff-soft); border-radius: 14px; min-height: 460px; overflow: hidden; position: relative; }
.ff-about__image::before { background: var(--ff-green); border-radius: 50%; content: ""; height: 350px; left: -70px; opacity: .2; position: absolute; top: -100px; width: 350px; }
.ff-about__image img { height: 460px; object-fit: contain; padding: 1.5rem; position: relative; width: 100%; }
.ff-about__image > span { align-items: center; background: var(--ff-forest); bottom: 0; color: #fff; display: flex; flex-direction: column; font-family: Impact,sans-serif; font-size: 2.5rem; justify-content: center; min-height: 105px; position: absolute; right: 0; width: 145px; }
.ff-about__image > span small { color: #c9d7c5; font-family: Inter,sans-serif; font-size: .62rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.ff-about__content > p { color: var(--ff-muted); line-height: 1.75; }
.ff-benefits { display: grid; gap: .8rem; grid-template-columns: 1fr 1fr; margin: 1.8rem 0; }
.ff-benefits > div { align-items: flex-start; display: flex; gap: .65rem; }
.ff-benefits > div > span { align-items: center; background: #eaf2e4; border-radius: 50%; color: var(--ff-green-dark); display: flex; flex: 0 0 32px; font-weight: 900; height: 32px; justify-content: center; }
.ff-benefits p { margin: 0; }.ff-benefits strong,.ff-benefits small { display: block; }.ff-benefits strong { color: var(--ff-forest); font-size: .78rem; }.ff-benefits small { color: var(--ff-muted); font-size: .67rem; line-height: 1.45; margin-top: .15rem; }

.ff-consultation { background: var(--ff-forest); border-radius: 15px; display: grid; grid-template-columns: .8fr 1.2fr; margin-bottom: 82px; overflow: hidden; }
.ff-consultation__intro { color: #fff; padding: clamp(2.2rem,5vw,4rem); }
.ff-consultation h2 { color: #fff; }
.ff-consultation__intro > p { color: #cad8c7; line-height: 1.7; }
.ff-kicker--light { color: #9bc956; }
.ff-consultation ul { display: grid; gap: .8rem; list-style: none; margin: 1.8rem 0 0; padding: 0; }
.ff-consultation li { align-items: center; color: #e7eee5; display: flex; font-size: .78rem; font-weight: 700; gap: .6rem; }
.ff-consultation li span { align-items: center; background: rgba(118,166,44,.2); border-radius: 50%; color: #a9d866; display: flex; height: 26px; justify-content: center; width: 26px; }
.ff-contact-form { background: #fff; display: grid; gap: 1rem; grid-template-columns: 1fr 1fr; padding: clamp(2rem,4vw,3.25rem); }
.ff-field--full { grid-column: 1/-1; }.ff-field label { color: var(--ff-forest); display: block; font-size: .67rem; font-weight: 900; margin-bottom: .38rem; }
.ff-field input,.ff-field textarea { background: #f7f9f6; border-color: #dfe6dc; border-radius: 6px; font-size: .78rem; min-height: 43px; padding: .65rem .75rem; }
.ff-field textarea { min-height: 86px; resize: vertical; }.ff-field .ff-button { border: 0; width: 100%; }

.ff-regional-grid {
	display: grid;
	gap: 0.75rem;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ff-regional-grid article {
	background: #fff;
	border: 1px solid var(--ff-line);
	border-radius: 9px;
	padding: 1rem;
}

.ff-regional-grid strong,
.ff-regional-grid small {
	display: block;
}

.ff-regional-grid strong {
	color: var(--ff-forest);
	font-size: 0.86rem;
}

.ff-regional-grid small {
	color: var(--ff-muted);
	font-size: 0.7rem;
	line-height: 1.45;
	margin-top: 0.25rem;
}

.ff-depots__action {
	margin-top: 1.25rem;
	text-align: center;
}

.ff-contact-form > .fluentform,
.ff-contact-form > .frm-fluent-form {
	grid-column: 1 / -1;
	width: 100%;
}

.ff-contact-form .ff-el-group,
.ff-page-form .ff-el-group {
	margin-bottom: 0.9rem;
}

.ff-contact-form .ff-el-input--label label,
.ff-page-form .ff-el-input--label label {
	color: var(--ff-forest);
	font-size: 0.72rem;
	font-weight: 850;
}

.ff-contact-form :where(input, textarea, select),
.ff-page-form :where(input, textarea, select) {
	background: #f7f9f6;
	border: 1px solid var(--ff-line);
	border-radius: 7px;
	font-size: 0.86rem;
}

.ff-contact-form textarea,
.ff-page-form textarea {
	min-height: 118px;
	resize: vertical;
}

.ff-contact-form .ff-btn-submit,
.ff-page-form .ff-btn-submit {
	background: var(--ff-green);
	border: 1px solid var(--ff-green);
	border-radius: 7px;
	color: #fff;
	font-weight: 850;
	min-height: 46px;
	padding: 0.75rem 1.2rem;
	width: 100%;
}

.ff-contact-form .ff-btn-submit:hover,
.ff-page-form .ff-btn-submit:hover {
	background: var(--ff-green-dark);
	border-color: var(--ff-green-dark);
}

/* Keep every Fluent Forms action aligned with the site brand. */
.fluentform {
	--fluentform-primary: var(--ff-green);
	--fluentform-secondary: var(--ff-forest);
}

.fluentform :is(button, input[type="button"], input[type="reset"], input[type="submit"], .ff-btn),
.fluentform .ff_upload_btn.ff-btn {
	background-color: var(--ff-green) !important;
	border-color: var(--ff-green) !important;
	color: var(--ff-white) !important;
}

.fluentform :is(button, input[type="button"], input[type="reset"], input[type="submit"], .ff-btn):hover:not(:disabled),
.fluentform :is(button, input[type="button"], input[type="reset"], input[type="submit"], .ff-btn):focus-visible,
.fluentform .ff_upload_btn.ff-btn:hover,
.fluentform .ff_upload_btn.ff-btn:focus-visible {
	background-color: var(--ff-green-dark) !important;
	border-color: var(--ff-green-dark) !important;
	color: var(--ff-white) !important;
}

.fluentform :is(button, input[type="button"], input[type="reset"], input[type="submit"], .ff-btn):focus-visible,
.ff-cropper-lightbox__btn:focus-visible {
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--ff-green) 32%, transparent);
	outline: 2px solid var(--ff-accent, var(--wp--preset--color--accent));
	outline-offset: 2px;
}

.fluentform :is(button, input[type="button"], input[type="reset"], input[type="submit"], .ff-btn):is(:disabled, .disabled),
.fluentform .ff_submitting :is(button, input[type="button"], input[type="reset"], input[type="submit"], .ff-btn) {
	background-color: var(--ff-muted) !important;
	border-color: var(--ff-muted) !important;
	color: var(--ff-white) !important;
	cursor: not-allowed;
}

.fluentform .ff-el-repeat-buttons-list :is(.repeat-plus, .repeat-minus) {
	background: var(--ff-soft);
	color: var(--ff-green-dark);
}

.fluentform .ff-el-repeat-buttons-list :is(.repeat-plus, .repeat-minus):hover,
.fluentform .ff-el-repeat-buttons-list :is(.repeat-plus, .repeat-minus):focus-visible {
	background: var(--ff-green-dark);
	color: var(--ff-white);
}

.ff-cropper-lightbox__btn,
.ff-cropper-lightbox__ratio-btn {
	background: var(--ff-white);
	border-color: var(--ff-green-dark);
	color: var(--ff-green-dark);
}

.ff-cropper-lightbox__btn:hover,
.ff-cropper-lightbox__btn:focus-visible,
.ff-cropper-lightbox__ratio-btn:hover,
.ff-cropper-lightbox__ratio-btn:focus-visible,
.ff-cropper-lightbox__btn--primary:hover,
.ff-cropper-lightbox__btn--primary:focus-visible,
.ff-cropper-lightbox__ratio-btn.is-active {
	background: var(--ff-green-dark);
	border-color: var(--ff-green-dark);
	color: var(--ff-white);
}

.ff-cropper-lightbox__btn--primary {
	background: var(--ff-green);
	border-color: var(--ff-green);
	color: var(--ff-white);
}

.ff-editorial-hero,
.ff-editorial-section,
.ff-editorial-cta,
.ff-page-form {
	box-sizing: border-box;
	margin-left: 0;
	margin-right: 0;
	max-width: var(--ff-product-layout-max);
	width: 100%;
}

.ff-editorial-hero {
	background:
		linear-gradient(115deg, rgba(118, 166, 44, 0.12), transparent 48%),
		var(--ff-soft);
	border: 1px solid var(--ff-line);
	border-radius: 14px;
	margin-bottom: 3rem;
	padding: clamp(2rem, 4vw, 4rem);
}

.ff-editorial-kicker {
	color: var(--ff-green-dark);
	font-size: 0.7rem;
	font-weight: 900;
	letter-spacing: 0.13em;
	margin: 0 0 0.75rem;
	text-transform: uppercase;
}

.ff-editorial-hero h2,
.ff-editorial-section > h2,
.ff-editorial-cta h2,
.ff-page-form h2 {
	color: var(--ff-forest);
	font-family: "Arial Narrow", Impact, sans-serif;
	font-size: clamp(2rem, 3.4vw, 3.2rem);
	letter-spacing: -0.03em;
	line-height: 1;
	margin: 0 0 1rem;
	text-transform: uppercase;
}

.ff-editorial-hero > p:not(.ff-editorial-kicker) {
	color: var(--ff-muted);
	font-size: clamp(1rem, 1.3vw, 1.15rem);
	line-height: 1.75;
	margin: 0;
	max-width: 960px;
}

.ff-editorial-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem;
	margin-top: 1.5rem;
}

.ff-editorial-section {
	margin-bottom: 3.5rem;
}

.ff-editorial-section > p {
	color: var(--ff-muted);
	line-height: 1.75;
	max-width: 980px;
}

.ff-editorial-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 1.5rem;
}

.ff-editorial-grid--four {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ff-editorial-card {
	background: #fff;
	border: 1px solid var(--ff-line);
	border-radius: 12px;
	box-shadow: 0 10px 28px rgba(11, 43, 17, 0.05);
	padding: clamp(1.2rem, 2vw, 1.65rem);
}

.ff-editorial-card > span {
	align-items: center;
	background: #eaf2e4;
	border-radius: 50%;
	color: var(--ff-green-dark);
	display: inline-flex;
	font-size: 0.75rem;
	font-weight: 900;
	height: 34px;
	justify-content: center;
	margin-bottom: 0.85rem;
	width: 34px;
}

.ff-editorial-card h3 {
	color: var(--ff-forest);
	font-size: 1rem;
	line-height: 1.3;
	margin: 0 0 0.55rem;
}

.ff-editorial-card p {
	color: var(--ff-muted);
	font-size: 0.84rem;
	line-height: 1.65;
	margin: 0;
}

.ff-editorial-card a {
	color: var(--ff-green-dark);
	font-weight: 800;
	text-decoration: none;
}

.ff-editorial-list {
	display: grid;
	gap: 0.8rem;
	list-style: none;
	margin: 1.4rem 0 0;
	max-width: 980px;
	padding: 0;
}

.ff-editorial-list li {
	align-items: flex-start;
	color: var(--ff-muted);
	display: flex;
	gap: 0.65rem;
	line-height: 1.65;
}

.ff-editorial-list li::before {
	align-items: center;
	background: #eaf2e4;
	border-radius: 50%;
	color: var(--ff-green-dark);
	content: "✓";
	display: inline-flex;
	flex: 0 0 26px;
	font-size: 0.72rem;
	font-weight: 900;
	height: 26px;
	justify-content: center;
	margin-top: 0.05rem;
}

.ff-editorial-cta {
	align-items: center;
	background: var(--ff-forest);
	border-radius: 14px;
	color: #fff;
	display: flex;
	gap: 2rem;
	justify-content: space-between;
	margin-bottom: 3.5rem;
	padding: clamp(1.75rem, 3vw, 3rem);
}

.ff-editorial-cta h2 {
	color: #fff;
	font-size: clamp(1.7rem, 2.7vw, 2.5rem);
	margin-bottom: 0.65rem;
}

.ff-editorial-cta p {
	color: #c8d7c6;
	line-height: 1.65;
	margin: 0;
	max-width: 820px;
}

.ff-contact-regions {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: 1.5rem;
}

.ff-region-card {
	background: #fff;
	border: 1px solid var(--ff-line);
	border-radius: 12px;
	padding: 1.25rem;
}

.ff-region-card h3 {
	color: var(--ff-forest);
	font-size: 0.95rem;
	margin: 0 0 0.3rem;
}

.ff-region-card > p {
	color: var(--ff-muted);
	font-size: 0.76rem;
	margin: 0 0 0.8rem;
}

.ff-region-card a {
	color: var(--ff-green-dark);
	display: block;
	font-size: 0.8rem;
	font-weight: 800;
	margin-top: 0.35rem;
	text-decoration: none;
}

.ff-page-form {
	background: var(--ff-soft);
	border: 1px solid var(--ff-line);
	border-radius: 14px;
	margin-bottom: 3.5rem;
	padding: clamp(1.5rem, 3.5vw, 3rem);
}

.ff-page-form__intro {
	margin-bottom: 1.5rem;
}

.ff-page-form__intro p {
	color: var(--ff-muted);
	line-height: 1.7;
	margin: 0;
	max-width: 820px;
}

.ff-legal-page {
	color: var(--ff-ink);
	margin: 0 auto;
	max-width: 980px;
	padding-bottom: 3rem;
}

.ff-legal-page__updated {
	color: var(--ff-green-dark);
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .06em;
	margin-bottom: .8rem;
	text-transform: uppercase;
}

.ff-legal-page__lead {
	background: var(--ff-soft);
	border-left: 4px solid var(--ff-green);
	border-radius: 0 10px 10px 0;
	color: var(--ff-forest);
	font-size: 1.02rem;
	line-height: 1.75;
	margin: 0 0 2.5rem;
	padding: 1.2rem 1.35rem;
}

.ff-legal-page h2 {
	color: var(--ff-forest);
	font-size: clamp(1.25rem, 2vw, 1.65rem);
	margin: 2.4rem 0 .85rem;
}

.ff-legal-page p,
.ff-legal-page li {
	color: #465047;
	font-size: .9rem;
	line-height: 1.8;
}

.ff-legal-page a {
	color: var(--ff-green-dark);
	font-weight: 700;
	text-underline-offset: 3px;
}

.ff-legal-page code {
	background: #eef3eb;
	border-radius: 4px;
	color: var(--ff-forest);
	font-size: .78em;
	padding: .12em .3em;
}

.ff-legal-table {
	margin: 1.1rem 0 2rem;
	overflow-x: auto;
}

.ff-legal-table table {
	border: 1px solid var(--ff-line);
	border-collapse: collapse;
	font-size: .8rem;
	min-width: 700px;
	width: 100%;
}

.ff-legal-table th,
.ff-legal-table td {
	border: 1px solid var(--ff-line);
	line-height: 1.55;
	padding: .8rem;
	text-align: left;
	vertical-align: top;
}

.ff-legal-table th {
	background: var(--ff-forest);
	color: #fff;
}

.ff-legal-table tr:nth-child(even) td {
	background: var(--ff-soft);
}

.ff-footer { background: #071d0b; color: #d9e5d7; margin-top: 0; padding: 46px 1.5rem 0; }
.ff-footer__grid { display: grid; gap: clamp(1.75rem, 3vw, 3rem); grid-template-columns: minmax(280px, 350px) repeat(3, minmax(130px, 175px)); justify-content: center; }
.ff-brand--footer { color: #fff; }.ff-brand--footer:hover { color: #fff; }.ff-footer__grid > div:first-child p { color: #98aa98; font-size: .78rem; line-height: 1.7; max-width: 310px; }
.ff-footer h3 { color: #fff; font-size: .73rem; letter-spacing: .08em; margin: 0 0 1rem; text-transform: uppercase; }
.ff-footer__grid > div:not(:first-child) { display: flex; flex-direction: column; }
.ff-footer-menu .ff-native-menu,
.ff-footer-menu .sub-menu { list-style: none; margin: 0; padding: 0; }
.ff-footer-menu .sub-menu { padding-left: .75rem; }
.ff-footer__grid > div:not(:first-child) a { color: #9fb09f; display: block; font-size: .72rem; margin: 0 0 .65rem; text-decoration: none; }
.ff-footer__grid a:hover { color: #fff; }
.ff-footer__sal-badge { align-items: center; background: #fff; border: 1px solid rgba(255,255,255,.18); border-radius: 7px; display: inline-flex; justify-self: end; max-width: 210px; overflow: hidden; text-decoration: none; width: 100%; }
.ff-footer__sal-badge img { display: block; height: auto; width: 100%; }
.ff-footer__sal-badge:hover,
.ff-footer__sal-badge:focus-visible { border-color: var(--ff-green); box-shadow: 0 0 0 3px rgba(118,166,44,.2); outline: none; }
.ff-footer__bottom { align-items: center; border-top: 1px solid #1c3520; display: grid; gap: 1.5rem; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); margin-top: 30px; min-height: 66px; padding: .55rem 0; }
.ff-footer__bottom p { color: #718371; font-size: .64rem; margin: 0; text-transform: uppercase; }.ff-footer__bottom span { color: var(--ff-green); }
.ff-footer__bottom .ff-footer__credit { justify-self: center; text-transform: none; white-space: nowrap; }
.ff-footer__credit a { color: #9fb09f; font-weight: 750; text-decoration: none; }
.ff-footer__credit a:hover,
.ff-footer__credit a:focus-visible { color: #fff; text-decoration: underline; text-underline-offset: .18em; }

@media (max-width: 1100px) {
	.ff-header .ff-nav { display: none !important; }
	.ff-header .ff-mobile-nav { display: flex !important; }
	.ff-header__main { grid-template-columns: 1fr auto auto; }
	.ff-documents { grid-template-columns: 1fr; }
	.ff-hero__slide { grid-template-columns: 1fr; padding: 3.5rem; }
	.ff-hero__visual { display: none; }
	.ff-category-carousel__track { grid-auto-columns: calc((100% - 1.1rem) / 2); }
	.ff-sale-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.ff-regional-grid,
	.ff-contact-regions,
	.ff-editorial-grid--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ff-editorial-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ff-map-card { grid-template-columns: 1fr; }
	.ff-depot-list { grid-template-columns: repeat(3,1fr); }
	.ff-about { gap: 2.5rem; }
	.ff-consultation { border-radius: 0; margin-inline: -1px; }
	.ff-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
	.admin-bar .ff-header { top: 46px; }
	.ff-header { position: relative; top: auto; }
	.ff-header__main { gap: .55rem; grid-template-columns: 1fr auto auto; min-height: 72px; padding-inline: 1rem; }
	.ff-regional-grid,
	.ff-contact-regions,
	.ff-editorial-grid,
	.ff-editorial-grid--four { grid-template-columns: 1fr; }
	.ff-editorial-cta { align-items: flex-start; flex-direction: column; }
	.ff-header__utility { grid-template-columns: 1fr; padding-inline: 1rem; }
	.ff-header__actions .creatos-dpc { gap: .4rem; }
	.ff-header__actions .creatos-dpc .creatos-dpc__toggle { min-height: 39px; padding: 0 .65rem; }
	.ff-header__actions .creatos-dpc__toggle > span:nth-child(2),
	.ff-header__actions .creatos-dpc__chevron { display: none; }
	.ff-home-hero { gap: 12px; grid-template-columns: 1fr; padding: 14px 1rem 30px; }
	.ff-product-menu { order: 2; }
	.ff-home-hero > .ff-hero-shell { order: 1; }
	.ff-hero { min-height: 0; }
	.ff-hero__slide { padding: 3.6rem 2.3rem; }
	.ff-hero h1,.ff-hero h2 { font-size: 2.55rem; }
	.ff-hero__arrow { display: none; }
	.ff-category-grid { padding: 0 1rem; }
	.ff-category-card { flex: none; min-height: 50px; }
	.ff-category-card strong { font-size: .82rem; }
	.ff-documents { border-radius: 10px; gap: 1.7rem; margin-bottom: 0; padding: 2rem 1.2rem; width: calc(100% - 2rem); }
	.ff-documents h1 { font-size: 2.45rem; }
	.ff-documents__intro p { font-size: .88rem; }
	.ff-document-button { gap: .75rem; grid-template-columns: 38px minmax(0, 1fr) auto; min-height: 74px; padding: .75rem; }
	.ff-document-button__number { height: 38px; width: 38px; }
	.ff-document-button strong { font-size: .88rem; }
	.ff-category-carousels { padding: 52px 1rem 2px; }
	.ff-category-products { margin-bottom: 52px; }
	.ff-category-products__heading { align-items: flex-start; flex-direction: column; gap: .85rem; margin-bottom: 1.25rem; }
	.ff-category-products__heading h2 { font-size: 2.25rem; }
	.ff-category-carousel { gap: .5rem; grid-template-columns: 36px minmax(0, 1fr) 36px; }
	.ff-category-carousel__track { gap: .8rem; grid-auto-columns: calc(100% - 1rem); }
	.ff-category-carousel__arrow { height: 36px; width: 36px; }
	.ff-section { padding: 58px 1rem; }
	.ff-section__heading { align-items: flex-start; flex-direction: column; }
	.ff-sale-grid { grid-template-columns: 1fr; }
	.ff-depot-list { grid-template-columns: 1fr; }
	.ff-map__marker text { display: none; }
	.ff-about { grid-template-columns: 1fr; padding: 58px 1rem; }
	.ff-about__image,.ff-about__image img { min-height: 330px; height: 330px; }
	.ff-benefits { grid-template-columns: 1fr; }
	.ff-consultation { grid-template-columns: 1fr; margin-bottom: 0; }
	.ff-contact-form { grid-template-columns: 1fr; }
	.ff-field { grid-column: 1/-1; }
	.ff-footer__grid { grid-template-columns: 1fr 1fr; }
	.ff-footer__grid > div:first-child { grid-column: 1/-1; }
	.ff-footer__sal-badge { max-width: 200px; }
}

@media (max-width: 600px) {
	.ff-footer { padding-top: 40px; }
	.ff-footer__bottom { align-items: center; gap: 1rem; grid-template-columns: minmax(0, 1fr); padding: 1rem 0 1.2rem; }
	.ff-footer__bottom > p:first-child { justify-self: start; }
	.ff-footer__bottom .ff-footer__credit { justify-self: center; }
	.ff-footer__sal-badge { align-self: flex-end; max-width: 190px; }
}

/* WooCommerce block-theme product template */
body.single-product.woocommerce-uses-block-theme .wp-block-group.woocommerce.product {
	background:
		linear-gradient(180deg, #f7faf5 0, #fff 430px),
		#fff;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	box-sizing: border-box;
	display: block;
	isolation: auto;
	margin: 0;
	max-width: none;
	overflow: visible;
	padding: clamp(2rem, 4vw, 3.5rem) 1.5rem 4rem;
	width: 100%;
}

body.single-product.woocommerce-uses-block-theme .wp-block-group.woocommerce.product::before {
	content: none;
}

body.single-product.woocommerce-uses-block-theme .wp-block-group.woocommerce.product > main {
	background: #fff;
	border: 1px solid var(--ff-line);
	border-radius: 16px;
	box-shadow: 0 18px 46px rgba(11, 43, 17, 0.08);
	box-sizing: border-box;
	margin: 0 auto;
	max-width: var(--ff-product-layout-max);
	overflow: hidden;
	padding: clamp(1rem, 2.4vw, 1.5rem);
	width: 100%;
}

body.single-product.woocommerce-uses-block-theme .wp-block-group.woocommerce.product > main > .wp-block-breadcrumbs,
body.single-product.woocommerce-uses-block-theme .wp-block-group.woocommerce.product > main > .wc-block-store-notices,
body.single-product.woocommerce-uses-block-theme .wp-block-group.woocommerce.product > main > .wp-block-columns,
body.single-product.woocommerce-uses-block-theme .wp-block-group.woocommerce.product > main > .wp-block-woocommerce-product-details {
	box-sizing: border-box;
	margin-left: 0;
	margin-right: 0;
	max-width: none;
	width: 100%;
}

body.single-product.woocommerce-uses-block-theme .wp-block-group.woocommerce.product > main > .wp-block-columns {
	align-items: stretch;
	display: grid;
	gap: clamp(1.5rem, 4vw, 3.2rem);
	grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
	margin-top: 1.35rem;
}

body.single-product.woocommerce-uses-block-theme .wp-block-group.woocommerce.product > main > .wp-block-columns > .wp-block-column {
	box-sizing: border-box;
	flex-basis: auto !important;
	min-width: 0;
	width: auto;
}

body.single-product.woocommerce-uses-block-theme .wp-block-group.woocommerce.product > main > .wp-block-columns > .wp-block-column:last-child {
	background: #fff;
	border-left: 1px solid var(--ff-line);
	padding: clamp(0.5rem, 1.6vw, 1.3rem) clamp(0.25rem, 1.8vw, 1.5rem);
}

body.single-product.woocommerce-uses-block-theme .wp-block-woocommerce-product-image-gallery {
	max-width: none;
	position: relative;
	width: 100%;
}

body.single-product.woocommerce-uses-block-theme .wp-block-woocommerce-product-image-gallery > .onsale {
	left: -0.55rem;
	position: absolute;
	top: -0.55rem;
	z-index: 3;
}

body.single-product.woocommerce-uses-block-theme .wp-block-woocommerce-product-image-gallery .woocommerce-product-gallery {
	float: none;
	margin: 0;
	width: 100%;
}

body.single-product.woocommerce-uses-block-theme .wp-block-woocommerce-product-image-gallery .woocommerce-product-gallery__wrapper {
	margin: 0;
}

body.single-product.woocommerce-uses-block-theme .wp-block-woocommerce-product-image-gallery .woocommerce-product-gallery img {
	background: #fff;
	border: 1px solid #dfe6dc;
	border-radius: 12px;
	box-shadow: 0 12px 28px rgba(11, 43, 17, 0.08);
	display: block;
	object-fit: contain;
	width: 100%;
}

body.single-product.woocommerce-uses-block-theme .wp-block-woocommerce-product-image-gallery .flex-control-thumbs {
	display: grid;
	gap: 0.65rem;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: 0.75rem;
}

body.single-product.woocommerce-uses-block-theme .wp-block-woocommerce-product-image-gallery .flex-control-thumbs li {
	float: none;
	width: auto;
}

body.single-product.woocommerce-uses-block-theme .wp-block-woocommerce-product-image-gallery .flex-control-thumbs img {
	aspect-ratio: 1 / 1;
	border-radius: 8px;
	box-shadow: none;
	opacity: 0.68;
	padding: 0.25rem;
}

body.single-product.woocommerce-uses-block-theme .wp-block-woocommerce-product-image-gallery .flex-control-thumbs img.flex-active,
body.single-product.woocommerce-uses-block-theme .wp-block-woocommerce-product-image-gallery .flex-control-thumbs img:hover {
	border-color: var(--ff-green);
	opacity: 1;
}

body.single-product.woocommerce-uses-block-theme .wp-block-post-title {
	box-sizing: border-box;
	color: var(--ff-forest);
	display: block;
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: clamp(1.7rem, 2.4vw, 2.25rem);
	font-weight: 900;
	hyphens: none;
	letter-spacing: 0;
	line-height: 1.12;
	margin: 0 0 0.75rem;
	max-width: 100%;
	overflow-wrap: break-word;
	text-align: left;
	text-transform: none;
	white-space: normal;
	width: 100%;
	word-break: normal;
}

body.single-product.woocommerce-uses-block-theme .wp-block-woocommerce-product-price {
	margin: 0 0 1rem;
}

body.single-product.woocommerce-uses-block-theme .wp-block-woocommerce-product-price .wc-block-components-product-price {
	align-items: baseline;
	color: var(--ff-forest);
	display: flex;
	flex-wrap: wrap;
	font-size: clamp(1.55rem, 2.5vw, 2.1rem);
	font-weight: 800;
	gap: 0.55rem;
}

body.single-product.woocommerce-uses-block-theme .wp-block-woocommerce-product-price del {
	color: #8a9688;
	font-size: 0.95rem;
	font-weight: 650;
	opacity: 1;
}

body.single-product.woocommerce-uses-block-theme .wp-block-woocommerce-product-price ins {
	color: var(--ff-green-dark);
	text-decoration: none;
}

body.single-product.woocommerce-uses-block-theme .wp-block-post-excerpt {
	background: #f8faf6;
	border: 1px solid var(--ff-line);
	border-left: 4px solid var(--ff-green);
	border-radius: 9px;
	box-sizing: border-box;
	color: var(--ff-muted);
	font-size: 0.92rem;
	line-height: 1.68;
	margin: 0 0 1.25rem;
	max-width: 100%;
	overflow-wrap: break-word;
	padding: 0.95rem 1rem;
	width: 100%;
}

body.single-product.woocommerce-uses-block-theme .wp-block-post-excerpt__excerpt {
	margin: 0;
}

body.single-product.woocommerce-uses-block-theme .wp-block-add-to-cart-form .stock {
	background: #eaf2e4;
	border-radius: 999px;
	color: var(--ff-green-dark);
	display: inline-block;
	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	margin: 0 0 1rem;
	padding: 0.42rem 0.65rem;
	text-transform: uppercase;
}

body.single-product.woocommerce-uses-block-theme .wp-block-add-to-cart-form form.cart {
	align-items: center;
	background: var(--ff-soft);
	border: 1px solid var(--ff-line);
	border-radius: 10px;
	display: flex;
	flex-wrap: wrap;
	gap: .65rem;
	margin: 0 0 1.15rem;
	padding: 0.85rem;
}

body.single-product.woocommerce-uses-block-theme .wp-block-add-to-cart-form form.cart .button {
	background: var(--ff-green);
	border-radius: 7px;
	box-shadow: 0 10px 22px rgba(79, 119, 22, 0.2);
	flex: 0 1 210px;
	font-size: 0.82rem;
	font-weight: 900;
	letter-spacing: 0.02em;
	max-width: 210px;
	min-height: 48px;
	padding-inline: 1rem;
	text-transform: uppercase;
}

body.single-product.woocommerce-uses-block-theme .wp-block-add-to-cart-form form.cart .button:hover {
	background: var(--ff-green-dark);
}

body.single-product.woocommerce-uses-block-theme .wp-block-woocommerce-product-meta {
	border-top: 1px solid var(--ff-line);
	color: var(--ff-forest);
	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	margin-top: 1.1rem;
	padding-top: 1.1rem;
	text-transform: uppercase;
}

body.single-product.woocommerce-uses-block-theme .wp-block-woocommerce-product-meta a {
	color: var(--ff-green-dark);
	text-transform: none;
}

body.single-product.woocommerce-uses-block-theme .wp-block-woocommerce-product-details {
	border-top: 1px solid var(--ff-line);
	margin-top: 2rem;
	padding: clamp(1.5rem, 3vw, 2.2rem) 0 0;
}

.single-product .ff-product-contact {
	border-top: 1px solid var(--ff-line);
	margin-top: 1rem;
	padding-top: 1rem;
}

.single-product .ff-product-contact__prompt {
	color: var(--ff-forest);
	font-size: .88rem;
	font-weight: 900;
	margin: 0 0 .75rem;
}

.single-product .ff-product-contact .ff-quick-contact {
	display: flex;
	gap: 0.75rem;
	width: 100%;
}

.single-product .ff-product-contact .creatos-dpc__selector {
	flex: 1 1 0;
}

.single-product .ff-product-contact .creatos-dpc__toggle {
	min-height: 48px;
	width: 100%;
}

@media (max-width: 900px) {
	body.single-product.woocommerce-uses-block-theme .wp-block-group.woocommerce.product > main > .wp-block-columns {
		grid-template-columns: minmax(0, 1fr);
	}

	body.single-product.woocommerce-uses-block-theme .wp-block-group.woocommerce.product > main > .wp-block-columns > .wp-block-column:last-child {
		border-left: 0;
		border-top: 1px solid var(--ff-line);
		padding-top: 1.5rem;
	}
}

@media (max-width: 640px) {
	body.single-product.woocommerce-uses-block-theme .wp-block-group.woocommerce.product {
		padding: 1.5rem 1rem 3rem;
	}

	body.single-product.woocommerce-uses-block-theme .wp-block-group.woocommerce.product > main {
		border-radius: 12px;
		padding: 0.85rem;
	}

	body.single-product.woocommerce-uses-block-theme .wp-block-post-title {
		font-size: 2rem;
	}

	body.single-product.woocommerce-uses-block-theme .wp-block-add-to-cart-form form.cart {
		align-items: center;
		flex-direction: row;
		flex-wrap: wrap;
	}

	body.single-product.woocommerce-uses-block-theme .wp-block-add-to-cart-form .quantity .qty {
		max-width: 88px;
		width: 88px;
	}

	body.single-product.woocommerce-uses-block-theme .wp-block-add-to-cart-form form.cart .button {
		flex: 1 1 170px;
		max-width: 220px;
		min-width: 0;
		width: auto;
	}
}

/* Conversion, catalogue and responsive refinements. */
html,
body {
	max-width: 100%;
	overflow-x: clip;
}

:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 3px solid #f2b705;
	outline-offset: 3px;
}

.ff-header__quote {
	align-items: center;
	background: var(--ff-green-dark);
	border-radius: 8px;
	color: #fff;
	display: inline-flex;
	font-size: .75rem;
	font-weight: 900;
	justify-content: center;
	margin-left: .65rem;
	min-height: 44px;
	padding: 0 1rem;
	text-decoration: none;
	white-space: nowrap;
}

.ff-header__quote:hover {
	background: var(--ff-forest);
	color: #fff;
}

.ff-category-products,
.ff-category-carousel,
.ff-category-carousel__track {
	max-width: 100%;
	min-width: 0;
}

.ff-category-tabs {
	display: none;
}

.ff-product-card__specs {
	display: flex;
	flex-wrap: wrap;
	gap: .35rem;
	list-style: none;
	margin: 0 0 .7rem;
	padding: 0;
}

.ff-product-card__specs li {
	background: var(--ff-soft);
	border-radius: 999px;
	color: var(--ff-forest);
	font-size: .65rem;
	font-weight: 800;
	padding: .32rem .52rem;
}

.ff-product-card__availability {
	color: var(--ff-forest);
	font-size: .68rem;
	font-weight: 800;
	line-height: 1.45;
	margin: 0 0 .8rem;
}

.ff-product-card__availability small {
	color: var(--ff-muted);
	display: block;
	font-size: .64rem;
	font-weight: 650;
}

.ff-product-card__actions {
	display: grid;
	gap: .45rem;
	grid-template-columns: minmax(0, 1fr);
	margin-top: auto;
}

.ff-product-card__button.button {
	align-items: center;
	margin: 0;
	min-height: 42px;
	padding: .55rem .45rem;
}

.ff-solution-finder,
.ff-process {
	margin: 0 auto;
	max-width: var(--ff-shell);
	padding: clamp(3.5rem, 6vw, 6rem) 1.5rem;
	width: 100%;
}

.ff-solution-finder__intro,
.ff-process__heading {
	max-width: 760px;
}

.ff-solution-finder__intro :is(h1, h2, h3, h4, h5, h6),
.ff-process__heading :is(h1, h2, h3, h4, h5, h6) {
	color: var(--ff-forest);
	font-family: "Arial Narrow", Impact, sans-serif;
	font-size: clamp(2.2rem, 4vw, 3.4rem);
	letter-spacing: -.025em;
	line-height: 1;
	margin: 0 0 1rem;
	text-transform: uppercase;
}

.ff-solution-finder__intro > p,
.ff-solution-finder__intro > .ff-editorial-intro,
.ff-process__heading > p,
.ff-process__heading > .ff-editorial-intro {
	color: var(--ff-muted);
	line-height: 1.7;
}

.ff-solution-finder__options {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 2rem;
}

.ff-solution-card {
	background: #fff;
	border: 1px solid var(--ff-line);
	border-radius: 14px;
	box-shadow: 0 14px 35px rgba(11, 43, 17, .06);
	color: var(--ff-forest);
	display: grid;
	gap: .55rem;
	min-height: 210px;
	padding: clamp(1.35rem, 3vw, 2rem);
	text-decoration: none;
	transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.ff-solution-card:hover {
	border-color: var(--ff-green);
	box-shadow: 0 20px 45px rgba(11, 43, 17, .11);
	color: var(--ff-forest);
	transform: translateY(-3px);
}

.ff-solution-card > span {
	align-items: center;
	background: var(--ff-soft);
	border-radius: 50%;
	display: inline-flex;
	font-size: 1.5rem;
	height: 50px;
	justify-content: center;
	width: 50px;
}

.ff-solution-card strong {
	font-size: 1.35rem;
}

.ff-solution-card small {
	color: var(--ff-muted);
	font-size: .82rem;
	line-height: 1.6;
}

.ff-solution-card b {
	align-self: end;
	color: var(--ff-green-dark);
	font-size: .75rem;
	margin-top: .4rem;
}

.ff-process {
	background: var(--ff-soft);
	max-width: none;
	padding-inline: max(1.5rem, calc((100% - var(--ff-shell)) / 2 + 1.5rem));
}

.ff-process__steps {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	list-style: none;
	margin: 2rem 0 0;
	padding: 0;
}

.ff-process__steps li {
	background: #fff;
	border: 1px solid var(--ff-line);
	border-radius: 12px;
	display: grid;
	gap: .6rem;
	padding: 1.3rem;
}

.ff-process__steps span {
	color: var(--ff-green-dark);
	font-size: .72rem;
	font-weight: 900;
	letter-spacing: .12em;
}

.ff-process__steps strong {
	color: var(--ff-forest);
	font-size: 1rem;
}

.ff-process__steps p {
	color: var(--ff-muted);
	font-size: .76rem;
	line-height: 1.6;
	margin: 0;
}

.ff-catalog {
	box-sizing: border-box;
	margin: 1.5rem auto 5rem;
	max-width: var(--ff-shell);
	padding-inline: 1.5rem;
	width: 100%;
}

.ff-catalog > .ff-catalog-filters {
	margin: 0 0 clamp(1.25rem, 3vw, 2rem);
	max-width: none !important;
	width: 100%;
}

.ff-catalog__filters {
	align-self: start;
	background: #fff;
	border: 1px solid var(--ff-line);
	border-radius: 12px;
	display: grid;
	gap: 1rem;
	padding: 1.1rem;
	position: sticky;
	top: 110px;
}

.ff-catalog__filter-heading {
	align-items: center;
	border-bottom: 1px solid var(--ff-line);
	display: flex;
	justify-content: space-between;
	padding-bottom: .8rem;
}

.ff-catalog__filter-heading strong {
	color: var(--ff-forest);
}

.ff-catalog__filter-heading a {
	color: var(--ff-green-dark);
	font-size: .68rem;
	font-weight: 800;
}

.ff-catalog__filters > label,
.ff-catalog__filters legend {
	color: var(--ff-forest);
	display: grid;
	font-size: .72rem;
	font-weight: 850;
	gap: .4rem;
}

.ff-catalog__filters select,
.ff-catalog__filters input {
	background: #f8faf7;
	border: 1px solid #d6dfd2;
	border-radius: 7px;
	font-size: .78rem;
	min-height: 44px;
	padding: .55rem .65rem;
	width: 100%;
}

.ff-catalog__filters fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}

.ff-catalog__price {
	display: grid;
	gap: .5rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ff-catalog__price label {
	color: var(--ff-muted);
	display: grid;
	font-size: .62rem;
	gap: .3rem;
}

.ff-catalog__filters button {
	background: var(--ff-green-dark);
	border: 0;
	border-radius: 7px;
	color: #fff;
	cursor: pointer;
	font-size: .75rem;
	font-weight: 900;
	min-height: 46px;
	padding: .6rem;
}

.ff-catalog__results {
	min-width: 0;
	transition: opacity .18s ease;
}

.ff-catalog.is-loading .ff-catalog__results {
	opacity: .42;
	pointer-events: none;
}

.ff-catalog__count {
	color: var(--ff-muted);
	font-size: .78rem;
	margin: 0 0 1rem;
}

.ff-catalog__grid {
	box-sizing: border-box;
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-inline: auto;
	max-width: 100%;
	width: 100%;
}

.ff-catalog__mobile-filters {
	display: none;
}

.ff-product-buying-info {
	border-top: 1px solid var(--ff-line);
	display: grid;
	gap: .9rem;
	margin-top: 1.15rem;
	padding-top: 1.15rem;
}

.ff-product-buying-info > ul {
	color: var(--ff-forest);
	display: grid;
	font-size: .78rem;
	gap: .55rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.ff-product-buying-info > ul li::before {
	color: var(--ff-green);
	content: "✓";
	font-weight: 900;
	margin-right: .5rem;
}

.ff-mobile-actions {
	display: none;
}

@media (max-width: 1100px) {
	.ff-header__actions {
		display: none;
	}

	.ff-header__main {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.ff-catalog__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ff-process__steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 820px) {
	body {
		padding-bottom: 68px;
	}

	.ff-mobile-actions {
		align-items: stretch;
		background: #fff;
		border-top: 1px solid var(--ff-line);
		bottom: 0;
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		left: 0;
		padding: .45rem max(.55rem, env(safe-area-inset-left)) calc(.45rem + env(safe-area-inset-bottom)) max(.55rem, env(safe-area-inset-right));
		position: fixed;
		right: 0;
		z-index: 100;
	}

	.ff-mobile-actions .ff-quick-contact.creatos-dpc {
		display: grid;
		gap: .4rem;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		width: 100%;
	}

	.ff-mobile-actions .creatos-dpc__selector {
		min-width: 0;
	}

	.ff-mobile-actions .creatos-dpc__toggle {
		font-size: .67rem;
		margin: 0;
		min-height: 48px;
		padding: .35rem .45rem;
		width: 100%;
	}

	.ff-mobile-actions .creatos-dpc .creatos-dpc__chevron {
		display: none;
	}

	.ff-mobile-actions .creatos-dpc .creatos-dpc__panel {
		bottom: calc(100% + .65rem);
		top: auto;
	}

	.ff-catalog {
		display: block;
		padding-inline: 1rem;
	}

	.ff-catalog__mobile-filters {
		background: #fff;
		border: 1px solid var(--ff-line);
		border-radius: 9px;
		display: block;
		margin-bottom: 1rem;
	}

	.ff-catalog__mobile-filters summary {
		color: var(--ff-forest);
		cursor: pointer;
		font-size: .8rem;
		font-weight: 900;
		min-height: 48px;
		padding: .9rem 1rem;
	}

	.ff-catalog__mobile-filters .ff-catalog__filters {
		border: 0;
		border-radius: 0;
		box-shadow: none;
		position: static;
	}
}

@media (max-width: 700px) {
	.ff-brand small {
		display: none;
	}

	.ff-brand strong {
		font-size: 1.05rem;
	}

	.ff-solution-finder,
	.ff-process {
		padding: 3.25rem 1rem;
	}

	.ff-solution-finder__options,
	.ff-process__steps {
		grid-template-columns: 1fr;
	}

	.ff-category-tabs {
		display: flex;
		gap: .5rem;
		margin: 0 0 1.4rem;
		overflow-x: auto;
		padding-bottom: .45rem;
		scrollbar-width: thin;
	}

	.ff-category-tabs button {
		background: #fff;
		border: 1px solid var(--ff-line);
		border-radius: 999px;
		color: var(--ff-forest);
		flex: 0 0 auto;
		font-size: .72rem;
		font-weight: 850;
		min-height: 44px;
		padding: .65rem .9rem;
	}

	.ff-category-tabs button[aria-selected="true"] {
		background: var(--ff-green-dark);
		border-color: var(--ff-green-dark);
		color: #fff;
	}

	.ff-category-products[hidden] {
		display: none;
	}

	.ff-category-products:not(.is-active) {
		display: none;
	}

	.ff-category-products {
		margin-bottom: 1.5rem;
	}

	.ff-category-carousel {
		grid-template-columns: minmax(0, 1fr);
	}

	.ff-category-carousel__arrow {
		display: none;
	}

	.ff-category-carousel__track {
		grid-auto-columns: min(86%, 320px);
		width: 100%;
	}

	.ff-catalog__grid {
		grid-template-columns: 1fr;
	}

	.ff-product-card__actions {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	.ff-solution-card {
		transition: none;
	}
}
