/**
 * IFA FILTRI - Scheda prodotto
 * Asset sviluppato da Tech Made Solutions SRL.
 */

.ifa-sheet {
	--ifa-bg: var(--nm--color-surface, var(--nm--color-body-background, #fff));
	--ifa-ink: var(--nm--color-font-strong, #111);
	--ifa-text: var(--nm--color-font, #333);
	--ifa-muted: var(--nm--color-font-light, var(--nm--color-font-subtle, #777));
	--ifa-accent: var(--nm--color-accent, var(--nm--color-font-highlight, #124389));
	--ifa-accent-contrast: var(--nm--color-accent-contrast, var(--nm--color-button, #fff));
	--ifa-border: var(--nm--color-border, #ededed);
	--ifa-divider: var(--nm--color-divider, #ccc);
	--ifa-button-bg: var(--nm--color-button-background, #111);
	--ifa-button-text: var(--nm--color-button, #fff);
	--ifa-control-bg: var(--nm--color-control-background, var(--ifa-bg));
	--ifa-control-text: var(--nm--color-control-text, var(--ifa-ink));
	--ifa-control-border: var(--nm--color-control-border, var(--ifa-border));
	--ifa-radius: var(--nm--border-radius-container, 0px);
	--ifa-radius-image: var(--nm--border-radius-image, 0px);
	--ifa-radius-button: var(--nm--border-radius-button, 8px);
	background: var(--ifa-bg);
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
	margin: 0 auto 50px;
	position: relative;
	max-width: none;
	width: var(--ifa-aligned-content-width, min(calc(100vw - clamp(24px, 3vw, 56px)), 1440px));
	border-radius: var(--ifa-radius);
	overflow: hidden;
	box-sizing: border-box;
}

.ifa-sheet--has-sidebar {
	max-width: none;
	overflow: visible;
	z-index: 40;
}

.ifa-sheet__layout {
	display: block;
	position: relative;
	isolation: isolate;
	z-index: 40;
}

.ifa-sheet--has-sidebar .ifa-sheet__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 340px);
	align-items: stretch;
}

.ifa-sheet__main {
	padding: 36px clamp(28px, 2.5vw, 40px) 50px;
	min-width: 0;
	position: relative;
	z-index: 1;
}

@media (min-width: 1025px) {
	.single-product .nm-single-product-top > .nm-row {
		max-width: none;
		width: var(--ifa-aligned-content-width, min(calc(100vw - clamp(24px, 3vw, 56px)), 1440px));
		padding-left: 0;
		padding-right: 0;
	}

	.single-product .nm-single-product-top > .nm-row > [class*="col-"] {
		padding-left: 0;
		padding-right: 0;
	}
}

.ifa-sheet__top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	margin-bottom: 12px;
	min-height: 0;
}

.ifa-sheet__top-actions {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	justify-content: flex-end;
	margin-left: auto;
}

.ifa-quote-feedback {
	display: none;
	align-items: center;
	min-height: 32px;
	margin-left: auto;
	padding: 7px 10px;
	border: 1px solid var(--ifa-control-border);
	border-radius: var(--ifa-radius-button);
	background: var(--ifa-control-bg);
	color: var(--ifa-ink);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
}

.ifa-quote-feedback.is-visible {
	display: inline-flex;
}

.ifa-badge {
	background: var(--ifa-button-bg);
	color: var(--ifa-button-text);
	font-weight: 700;
	font-size: 16px;
	padding: 10px 18px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	display: inline-block;
}

.ifa-print {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: var(--ifa-button-bg);
	border: 1px solid var(--ifa-button-bg);
	color: var(--ifa-button-text);
	font-weight: 700;
	font-size: 14px;
	padding: 10px 14px;
	text-transform: uppercase;
	letter-spacing: 0.4px;
	cursor: pointer;
	transition: all 0.2s ease;
	border-radius: var(--ifa-radius-button);
}

.ifa-print:hover {
	background: var(--ifa-accent);
	color: var(--ifa-button-text);
	border-color: var(--ifa-accent);
}

.ifa-print.ifa-print--loading,
.ifa-print.ifa-print--loading:hover,
.ifa-print.ifa-print--loading:focus {
	justify-content: center;
	gap: 0;
	background: var(--ifa-accent);
	border-color: var(--ifa-accent);
	color: var(--ifa-accent-contrast);
	cursor: wait;
	box-sizing: border-box;
}

.ifa-print.ifa-print--loading .ifa-print__loading-label {
	display: block;
	max-width: 100%;
	overflow: hidden;
	text-overflow: clip;
	white-space: nowrap;
	font-size: 10px;
	line-height: 1;
	letter-spacing: 0;
	text-transform: none;
}

.ifa-print svg {
	width: 16px;
	height: 16px;
}

.ifa-print .ifa-print__icon {
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
	font-size: 18px;
	line-height: 1;
	letter-spacing: 0;
	text-transform: none;
}

.ifa-print .ifa-action__icon {
	width: 16px;
	height: 16px;
	flex: 0 0 16px;
	border-width: 1.8px;
	border-color: currentColor;
}

.ifa-print .ifa-action__icon.quote:before {
	inset: 3px 4px;
	border-left-width: 1.8px;
	border-right-width: 1.8px;
	border-color: currentColor;
}

.ifa-print--quote,
.ifa-print--quote:hover {
	color: var(--ifa-button-text);
}

.ifa-sheet__body {
	display: grid;
	grid-template-columns: minmax(320px, 0.78fr) minmax(360px, 1.22fr);
	gap: clamp(34px, 4vw, 64px);
	align-items: start;
}

.ifa-sheet__col--info {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.ifa-section-title {
	margin: 0 0 6px;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: var(--ifa-ink);
	font-weight: 800;
}

.ifa-description {
	margin-top: 6px;
}

.ifa-description__content {
	font-size: 15px;
	line-height: 1.6;
	color: var(--ifa-text);
}

.ifa-description__content p {
	margin: 0 0 10px;
}

.ifa-attributes {
	margin-top: 6px;
}

.ifa-attributes__grid {
	display: grid;
	gap: 8px;
}

.ifa-attributes__item {
	display: grid;
	grid-template-columns: 200px 1fr;
	gap: 14px;
	font-size: 15px;
	line-height: 1.4;
	padding: 0;
	border: none;
	border-radius: 0;
	background: transparent;
}

.ifa-attributes__label {
	color: var(--ifa-ink);
	font-weight: 600;
	font-size: 15px;
	text-transform: none;
	letter-spacing: 0;
	margin-bottom: 0;
}

.ifa-attributes__value {
	font-size: 15px;
	color: var(--ifa-text);
	line-height: 1.4;
}

.ifa-type {
	margin: 0;
	font-size: 16px;
	color: var(--ifa-text);
	letter-spacing: 0.3px;
}

.ifa-code {
	font-size: 52px;
	font-weight: 800;
	margin: 0 0 10px;
	letter-spacing: 1px;
	color: var(--ifa-ink);
}

.ifa-specs {
	display: grid;
	gap: 8px;
}

.ifa-specs__row {
	display: grid;
	grid-template-columns: 200px 1fr;
	gap: 14px;
	font-size: 15px;
	line-height: 1.4;
}

.ifa-specs__label {
	color: var(--ifa-ink);
	font-weight: 600;
}

.ifa-specs__value {
	color: var(--ifa-text);
}

.ifa-specs__spacer {
	height: 10px;
}

.ifa-filtration {
	margin-top: 10px;
	border-top: 2px solid var(--ifa-ink);
	padding-top: 16px;
}

.ifa-filtration__title {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-weight: 800;
	text-transform: uppercase;
	font-size: 14px;
	letter-spacing: 0.4px;
	margin: 0 0 10px;
	color: var(--ifa-ink);
}

.ifa-filtration__title:before {
	content: '';
	display: inline-block;
	width: 22px;
	height: 22px;
	background: radial-gradient(circle at 30% 30%, var(--ifa-border), var(--ifa-divider));
	border-radius: 50%;
}

.ifa-sheet__col--image {
	text-align: right;
	align-self: stretch;
	min-width: 0;
}

.ifa-product-image {
	max-width: 100%;
	display: block;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
	border-radius: var(--ifa-radius-image);
	background: var(--ifa-bg);
	margin: 0 auto;
}

.ifa-gallery {
	position: relative;
	height: 100%;
	width: 100%;
	min-width: 0;
}

.nm-single-product-custom-sheet .woocommerce-product-gallery__trigger {
	display: none !important;
}

.ifa-sheet__sidebar {
	align-self: stretch;
	position: relative;
	z-index: 45;
	overflow: visible;
}

.ifa-sidepanel {
	background: var(--ifa-accent);
	color: var(--ifa-accent-contrast);
	padding: 36px clamp(22px, 2vw, 32px) 44px;
	min-height: 0;
	height: 100%;
	position: relative;
	z-index: 45;
	overflow: visible;
	box-sizing: border-box;
}

.ifa-sidepanel__group + .ifa-sidepanel__group {
	margin-top: 42px;
}

.ifa-sidepanel__group-title {
	margin: 0 0 16px;
	font-size: 18px;
	line-height: 1.35;
	font-weight: 800;
	text-align: center;
	color: var(--ifa-accent-contrast);
}

.ifa-sidepanel__select-wrap {
	position: relative;
	margin-bottom: 16px;
}

.ifa-sidepanel__select {
	appearance: none;
	-webkit-appearance: none;
	width: 100%;
	min-height: 34px;
	padding: 8px 40px 8px 18px;
	border: 0;
	border-radius: 0;
	background: var(--ifa-control-bg);
	color: var(--ifa-control-text);
	font-size: 15px;
	font-weight: 800;
	text-transform: uppercase;
	cursor: pointer;
	text-align: left;
}

.ifa-sidepanel__select:focus {
	outline: 2px solid color-mix(in srgb, var(--ifa-accent-contrast) 54%, transparent);
	outline-offset: 0;
}

.ifa-sidepanel__toggle {
	position: relative;
	width: 22px;
	height: 22px;
	border: 1px solid var(--ifa-control-border);
	background: var(--ifa-control-bg);
	flex: 0 0 22px;
	position: absolute;
	right: 14px;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
}

.ifa-sidepanel__toggle:before,
.ifa-sidepanel__toggle:after {
	content: '';
	position: absolute;
	background: var(--ifa-control-text);
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}

.ifa-sidepanel__toggle:before {
	width: 9px;
	height: 2px;
}

.ifa-sidepanel__toggle:after {
	width: 2px;
	height: 9px;
}

.ifa-sidepanel__items {
	display: grid;
}

.ifa-sidepanel__panel {
	display: none;
	padding: 10px 2px 2px 4px;
}

.ifa-sidepanel__panel.is-active {
	display: block;
}

.ifa-sidepanel__models {
	display: grid;
	gap: 10px;
}

.ifa-sidepanel__model {
	border: 1px solid color-mix(in srgb, var(--ifa-accent-contrast) 22%, transparent);
	background: color-mix(in srgb, var(--ifa-accent-contrast) 8%, transparent);
}

.ifa-sidepanel__model-summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 12px;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.35;
	text-transform: uppercase;
}

.ifa-sidepanel__model-summary::-webkit-details-marker {
	display: none;
}

.ifa-sidepanel__model-title {
	display: block;
}

.ifa-sidepanel__model-toggle {
	position: relative;
	width: 16px;
	height: 16px;
	flex: 0 0 16px;
}

.ifa-sidepanel__model-toggle:before,
.ifa-sidepanel__model-toggle:after {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	background: var(--ifa-accent-contrast);
	transform: translate(-50%, -50%);
}

.ifa-sidepanel__model-toggle:before {
	width: 10px;
	height: 2px;
}

.ifa-sidepanel__model-toggle:after {
	width: 2px;
	height: 10px;
}

.ifa-sidepanel__model[open] .ifa-sidepanel__model-toggle:after {
	display: none;
}

.ifa-sidepanel__list {
	margin: 0;
	padding: 0;
	list-style: none;
	color: var(--ifa-accent-contrast);
	font-size: 14px;
	line-height: 1.55;
	font-weight: 500;
}

.ifa-sidepanel__list li + li {
	margin-top: 8px;
}

.ifa-sidepanel__list--variants {
	padding: 0 12px 12px;
	font-size: 13px;
	line-height: 1.45;
	color: color-mix(in srgb, var(--ifa-accent-contrast) 92%, transparent);
}

.ifa-sidepanel__list--variants li {
	position: relative;
	padding-left: 12px;
}

.ifa-sidepanel__list--variants li:before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.62em;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: color-mix(in srgb, var(--ifa-accent-contrast) 78%, transparent);
}

.ifa-sidepanel__list--variants li + li {
	margin-top: 6px;
}

.nm-single-product-custom-sheet .woocommerce-product-gallery {
	margin: 0;
	padding-right: 0;
	width: 100% !important;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative;
	background: var(--ifa-bg) !important;
}

.nm-single-product-custom-sheet .woocommerce-product-gallery__wrapper,
.nm-single-product-custom-sheet .woocommerce-product-gallery__image,
.nm-single-product-custom-sheet .woocommerce-product-gallery__image > a,
.nm-single-product-custom-sheet .woocommerce-product-gallery .flex-viewport,
.nm-single-product-custom-sheet .woocommerce-product-gallery .flex-control-thumbs {
	background: var(--ifa-bg) !important;
}

.nm-single-product-custom-sheet .woocommerce-product-gallery.thumbnails-horizontal .flex-direction-nav,
.nm-single-product-custom-sheet .woocommerce-product-gallery .flex-direction-nav {
	display: block !important;
	visibility: visible !important;
}

.nm-single-product-custom-sheet .woocommerce-product-gallery .flex-viewport {
	flex: 1 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: clamp(420px, 35vw, 560px);
	position: relative;
	width: 100%;
}

.nm-single-product-custom-sheet .woocommerce-product-gallery .flex-direction-nav a {
	position: absolute !important;
	top: 50%;
	transform: translateY(-50%);
	margin-top: 0 !important;
	width: 48px !important;
	height: 48px !important;
	z-index: 999 !important;
	opacity: 1 !important;
	visibility: visible !important;
	display: block !important;
	color: var(--ifa-button-text);
	background: var(--ifa-button-bg) !important;
	border: 1px solid var(--ifa-button-bg);
	border-radius: var(--ifa-radius-button) !important;
	text-align: center;
	line-height: 48px !important;
}

.nm-single-product-custom-sheet .woocommerce-product-gallery .flex-direction-nav a.flex-prev {
	left: 20px !important;
}

.nm-single-product-custom-sheet .woocommerce-product-gallery .flex-direction-nav a.flex-next {
	right: 20px !important;
}

.nm-single-product-custom-sheet .woocommerce-product-gallery .flex-direction-nav a.flex-prev,
.nm-single-product-custom-sheet .woocommerce-product-gallery .flex-direction-nav a.flex-next {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
}

.nm-single-product-custom-sheet .woocommerce-product-gallery .flex-direction-nav a:hover {
	background: var(--ifa-accent) !important;
	color: var(--ifa-button-text) !important;
	border-color: var(--ifa-accent);
}

.nm-single-product-custom-sheet .woocommerce-product-gallery .flex-direction-nav a:before {
	display: none !important;
}

/* Force arrows to always be visible - override theme's hover-only behavior */
.nm-single-product-custom-sheet .woocommerce-product-gallery .flex-direction-nav a:after {
	display: inline-block !important;
	visibility: visible !important;
	opacity: 1 !important;
	font-family: 'nm-font' !important;
	font-size: 24px !important;
	line-height: 48px !important;
}

.nm-single-product-custom-sheet.no-touch .woocommerce-product-gallery .flex-direction-nav a,
.nm-single-product-custom-sheet .woocommerce-product-gallery.nm-touch-hover .flex-direction-nav a {
	opacity: 1 !important;
	visibility: visible !important;
}

.nm-single-product-custom-sheet .woocommerce-product-gallery .flex-control-thumbs {
	display: flex;
	flex-wrap: nowrap;
	gap: 8px;
	margin-top: 10px;
	justify-content: center;
	overflow-x: auto;
	padding: 0 0 6px;
}

.nm-single-product-custom-sheet .woocommerce-product-gallery .flex-control-thumbs li {
	float: none;
	width: 70px;
	margin: 0;
}

.nm-single-product-custom-sheet .woocommerce-product-gallery .flex-control-thumbs img {
	border-radius: var(--ifa-radius-image);
	border: 2px solid transparent;
	width: 100%;
	height: auto;
}

.nm-single-product-custom-sheet .woocommerce-product-gallery .flex-control-thumbs img.flex-active {
	border-color: var(--ifa-ink);
}

.ifa-sheet__footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 30px;
	margin-top: 30px;
	flex-wrap: wrap;
}

.ifa-sheet__footer:not(:has(.ifa-product-codes--ready)) {
	display: none;
}

.ifa-sheet__footer .ifa-barcode {
	display: none;
	flex: 0 1 auto;
}

.ifa-sheet__footer .ifa-barcode:has(.ifa-product-codes--ready) {
	display: flex;
}

.ifa-sheet__footer .ifa-barcode__graphic {
	background: none;
	border: 0;
	width: auto;
	height: auto;
	padding: 0;
	margin: 0;
}

.ifa-sheet__footer .ifa-barcode .ifa-product-codes__wrapper {
	display: flex;
	align-items: flex-start;
	gap: 32px;
	flex-wrap: wrap;
}

.ifa-sheet__footer .ifa-barcode .ifa-product-codes__item {
	width: auto;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	overflow: visible;
}

.ifa-sheet__footer .ifa-barcode .ifa-product-codes__item::after,
.ifa-sheet__footer .ifa-barcode .ifa-product-codes__figure::before {
	display: none;
}

.ifa-sheet__footer .ifa-barcode .ifa-product-codes__title {
	margin: 0 0 8px;
	padding: 0;
	font-weight: 800;
	font-size: 14px;
	letter-spacing: 0;
	line-height: 1;
	color: var(--ifa-ink);
	text-transform: uppercase;
	text-align: center;
}

.ifa-sheet__footer .ifa-barcode .ifa-product-codes__title::after {
	display: none;
}

.ifa-sheet__footer .ifa-barcode .ifa-product-codes__figure {
	padding: 0;
	border-radius: 0;
	background: transparent;
	justify-content: center;
}

.ifa-sheet__footer .ifa-barcode .ifa-product-codes__barcode {
	width: 280px;
	height: 44px;
	max-width: none;
}

.ifa-sheet__footer .ifa-barcode .ifa-product-codes__qrcode img {
	width: 118px !important;
	height: 118px !important;
}

.ifa-actions {
	display: flex;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
}

.ifa-action {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.4px;
	color: var(--ifa-button-bg);
	padding: 8px 12px;
	border-radius: var(--ifa-radius-button);
	border: 1px solid var(--ifa-button-bg);
	transition: all 0.2s ease;
}

.ifa-action__icon:not(svg) {
	width: 26px;
	height: 26px;
	border: 2px solid var(--ifa-button-bg);
	border-radius: 50%;
	position: relative;
}

.ifa-action svg.ifa-action__icon {
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
	color: currentColor;
	fill: none;
}

.ifa-action__icon.quote:before {
	content: '';
	position: absolute;
	inset: 6px 7px;
	border-left: 2px solid var(--ifa-button-bg);
	border-right: 2px solid var(--ifa-button-bg);
}

.ifa-action__icon.interchange:before {
	content: 'OE';
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: -0.2px;
	color: var(--ifa-button-bg);
}

.ifa-action--quote {
	border-color: var(--ifa-button-bg);
	background: var(--ifa-button-bg);
	color: var(--ifa-button-text);
}

.ifa-action--quote:hover {
	border-color: var(--ifa-accent);
	background: var(--ifa-accent);
	color: var(--ifa-button-text);
}

.ifa-action--quote .ifa-action__icon:not(svg),
.ifa-action--quote .ifa-action__icon:before {
	border-color: var(--ifa-button-text);
	color: var(--ifa-button-text);
}

.ifa-action--quote:hover .ifa-action__icon:not(svg),
.ifa-action--quote:hover .ifa-action__icon:before {
	border-color: var(--ifa-button-text);
	color: var(--ifa-button-text);
}

.ifa-action:not(.ifa-action--quote):hover {
	border-color: var(--ifa-accent);
	color: var(--ifa-accent);
}

.ifa-action:not(.ifa-action--quote):hover .ifa-action__icon:not(svg),
.ifa-action:not(.ifa-action--quote):hover .ifa-action__icon:before,
.ifa-action:not(.ifa-action--quote):hover .ifa-action__icon:after {
	border-color: var(--ifa-accent);
	color: var(--ifa-accent);
}

.ifa-sheet__top-actions .ifa-action {
	gap: 10px;
	font-size: 14px;
	padding: 10px 14px;
	cursor: pointer;
}

.ifa-sheet__top-actions .ifa-action .ifa-action__icon:not(svg) {
	width: 16px;
	height: 16px;
	flex: 0 0 16px;
	border-width: 1.8px;
}

.ifa-sheet__top-actions .ifa-action svg.ifa-action__icon {
	width: 18px;
	height: 18px;
	flex-basis: 18px;
}

.ifa-sheet__top-actions .ifa-action .ifa-action__icon.quote:before {
	inset: 3px 4px;
	border-left-width: 1.8px;
	border-right-width: 1.8px;
}

@media (min-width: 1025px) {
	.single-product.theme-IFA .nm-single-product-top {
		padding-top: 6px;
		padding-bottom: 6px;
	}

	.single-product.theme-IFA .nm-single-product-top .woocommerce-breadcrumb,
	.single-product.theme-IFA .nm-single-product-menu a {
		font-size: 12px;
		line-height: 20px;
	}

	.single-product.theme-IFA .ifa-sheet {
		width: min(calc(100vw - clamp(20px, 2.4vw, 44px)), 1440px);
		min-height: 0;
		margin-bottom: 20px;
	}

	.single-product.theme-IFA .ifa-sheet--has-sidebar .ifa-sheet__layout {
		grid-template-columns: minmax(0, 1fr) minmax(270px, 300px);
		align-items: start;
		min-height: 0;
	}

	.single-product.theme-IFA .ifa-sheet__main {
		display: grid;
		grid-template-columns: minmax(390px, 0.86fr) minmax(330px, 1.14fr);
		grid-template-areas:
			"top top"
			"info image"
			"footer image";
		column-gap: clamp(22px, 3vw, 42px);
		grid-template-rows: auto auto auto;
		align-content: start;
		padding: 16px clamp(22px, 2vw, 32px) 18px;
		min-height: 0;
	}

	.single-product.theme-IFA .ifa-sheet__top {
		grid-area: top;
		margin-bottom: 6px;
	}

	.single-product.theme-IFA .ifa-sheet__top-actions {
		gap: 8px;
	}

	.single-product.theme-IFA .ifa-print,
	.single-product.theme-IFA .ifa-sheet__top-actions .ifa-action {
		min-height: 32px;
		padding: 7px 12px;
		font-size: 12px;
		line-height: 1;
	}

	.single-product.theme-IFA .ifa-print svg,
	.single-product.theme-IFA .ifa-print .ifa-print__icon,
	.single-product.theme-IFA .ifa-sheet__top-actions .ifa-action svg.ifa-action__icon {
		width: 15px;
		height: 15px;
		flex-basis: 15px;
		font-size: 15px;
	}

	.single-product.theme-IFA .ifa-sheet__body {
		display: contents;
	}

	.single-product.theme-IFA .ifa-sheet__col--info {
		grid-area: info;
		gap: 9px;
		margin-top: 0 !important;
	}

	.single-product.theme-IFA .ifa-type {
		font-size: 13px;
		line-height: 1.2;
	}

	.single-product.theme-IFA .ifa-code {
		margin-bottom: 2px;
		font-size: 38px;
		line-height: 0.95;
		letter-spacing: 0.5px;
	}

	.single-product.theme-IFA .ifa-description {
		margin-top: 0;
	}

	.single-product.theme-IFA .ifa-section-title {
		margin-bottom: 3px;
		font-size: 11px;
		line-height: 1.1;
		letter-spacing: 0.35px;
	}

	.single-product.theme-IFA .ifa-description__content {
		font-size: 12.5px;
		line-height: 1.4;
	}

	.single-product.theme-IFA .ifa-description__content p {
		margin-bottom: 4px;
	}

	.single-product.theme-IFA .ifa-specs {
		gap: 5px;
	}

	.single-product.theme-IFA .ifa-specs__row {
		grid-template-columns: minmax(220px, 56%) 1fr;
		gap: 8px;
		font-size: 12.5px;
		line-height: 1.42;
	}

	.single-product.theme-IFA .ifa-specs__label {
		font-weight: 700;
	}

	.single-product.theme-IFA .ifa-specs__spacer {
		height: 7px;
	}

	.single-product.theme-IFA .ifa-filtration {
		margin-top: 6px;
		padding-top: 8px;
	}

	.single-product.theme-IFA .ifa-filtration__title {
		margin-bottom: 6px;
		font-size: 11px;
	}

	.single-product.theme-IFA .ifa-filtration__title:before {
		width: 16px;
		height: 16px;
	}

	.single-product.theme-IFA .nm-single-product-custom-sheet .woocommerce-product-gallery {
		grid-area: image;
		min-height: 0;
		justify-content: center;
	}

	.single-product.theme-IFA .nm-single-product-custom-sheet .woocommerce-product-gallery__wrapper,
	.single-product.theme-IFA .nm-single-product-custom-sheet .woocommerce-product-gallery .flex-viewport {
		height: min(29vw, calc(100vh - var(--ifa-header-height) - 260px), 300px) !important;
		min-height: 220px !important;
	}

	.single-product.theme-IFA .nm-single-product-custom-sheet .woocommerce-product-gallery__image,
	.single-product.theme-IFA .nm-single-product-custom-sheet .woocommerce-product-gallery__image > a {
		height: 100%;
	}

	.single-product.theme-IFA .nm-single-product-custom-sheet .woocommerce-product-gallery__image > a {
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.single-product.theme-IFA .nm-single-product-custom-sheet .woocommerce-product-gallery__image a img {
		width: auto !important;
		max-width: 100%;
		max-height: 100%;
		object-fit: contain;
	}

	.single-product.theme-IFA .nm-single-product-custom-sheet .woocommerce-product-gallery .flex-control-thumbs {
		height: 54px !important;
		margin-top: 6px;
		gap: 6px;
		padding-bottom: 0;
		overflow: hidden;
	}

	.single-product.theme-IFA .nm-single-product-custom-sheet .woocommerce-product-gallery .flex-control-thumbs li {
		width: 52px;
	}

	.single-product.theme-IFA .nm-single-product-custom-sheet .woocommerce-product-gallery .flex-control-thumbs img {
		width: 52px;
		height: 52px;
		object-fit: cover;
	}

	.single-product.theme-IFA .nm-single-product-custom-sheet .woocommerce-product-gallery .flex-direction-nav a {
		width: 34px !important;
		height: 34px !important;
		line-height: 34px !important;
	}

	.single-product.theme-IFA .nm-single-product-custom-sheet .woocommerce-product-gallery .flex-direction-nav a.flex-prev {
		left: 12px !important;
	}

	.single-product.theme-IFA .nm-single-product-custom-sheet .woocommerce-product-gallery .flex-direction-nav a.flex-next {
		right: 12px !important;
	}

	.single-product.theme-IFA .nm-single-product-custom-sheet .woocommerce-product-gallery .flex-direction-nav a:after {
		font-size: 20px !important;
		line-height: 34px !important;
	}

	.single-product.theme-IFA .ifa-sheet__footer {
		grid-area: footer;
		display: flex;
		justify-content: flex-start;
		align-self: start;
		margin-top: 0;
		padding-top: 24px;
		background: var(--ifa-bg);
		width: 100%;
		box-sizing: border-box;
	}

	.single-product.theme-IFA .ifa-sheet__footer:not(:has(.ifa-product-codes--ready)) {
		display: none;
	}

	.single-product.theme-IFA .ifa-sheet__footer .ifa-barcode .ifa-product-codes__wrapper {
		gap: 16px;
	}

	.single-product.theme-IFA .ifa-sheet__footer .ifa-barcode .ifa-product-codes__barcode {
		width: 236px;
		height: 40px;
	}

	.single-product.theme-IFA .ifa-sheet__footer .ifa-barcode .ifa-product-codes__qrcode img {
		width: 96px !important;
		height: 96px !important;
	}

	.single-product.theme-IFA .ifa-sidepanel {
		min-height: min(420px, calc(100vh - var(--ifa-header-height) - 120px));
		height: 100%;
		max-height: none;
		padding: 22px 24px;
		overflow-y: visible;
		box-sizing: border-box;
	}

	.single-product.theme-IFA .ifa-sidepanel__group + .ifa-sidepanel__group {
		margin-top: 24px;
	}

	.single-product.theme-IFA .ifa-sidepanel__group-title {
		margin-bottom: 12px;
		font-size: 16px;
	}

	.single-product.theme-IFA .ifa-sidepanel__select {
		min-height: 30px;
		padding: 7px 36px 7px 14px;
		font-size: 12px;
	}

	.single-product.theme-IFA .ifa-sidepanel__select-wrap {
		margin-bottom: 12px;
	}

	.single-product.theme-IFA .ifa-sidepanel__toggle {
		right: 10px;
		width: 20px;
		height: 20px;
		flex-basis: 20px;
	}

	body.admin-bar.single-product.theme-IFA .ifa-sheet {
		min-height: 0;
	}

	body.admin-bar.single-product.theme-IFA .ifa-sheet__main {
		padding-bottom: 14px;
	}

	body.admin-bar.single-product.theme-IFA .ifa-sidepanel {
		max-height: none;
	}
}

@media (min-width: 1025px) and (min-height: 650px) {
	.single-product.theme-IFA .ifa-type {
		font-size: 14px;
	}

	.single-product.theme-IFA .ifa-code {
		font-size: 42px;
	}

	.single-product.theme-IFA .ifa-description__content,
	.single-product.theme-IFA .ifa-specs__row {
		font-size: 13px;
		line-height: 1.44;
	}

	.single-product.theme-IFA .ifa-specs {
		gap: 6px;
	}

	.single-product.theme-IFA .nm-single-product-custom-sheet .woocommerce-product-gallery__wrapper,
	.single-product.theme-IFA .nm-single-product-custom-sheet .woocommerce-product-gallery .flex-viewport {
		height: min(30vw, calc(100vh - var(--ifa-header-height) - 270px), 340px) !important;
	}
}

@media (min-width: 1025px) and (min-height: 760px) {
	.single-product.theme-IFA .ifa-sheet__body {
		align-items: start;
	}

	.single-product.theme-IFA .ifa-sheet__col--info {
		gap: 9px;
	}

	.single-product.theme-IFA .ifa-type {
		font-size: 15px;
	}

	.single-product.theme-IFA .ifa-code {
		font-size: 48px;
	}

	.single-product.theme-IFA .ifa-section-title {
		font-size: 12px;
	}

	.single-product.theme-IFA .ifa-description__content,
	.single-product.theme-IFA .ifa-specs__row {
		font-size: 13.5px;
		line-height: 1.48;
	}

	.single-product.theme-IFA .ifa-specs {
		gap: 7px;
	}

	.single-product.theme-IFA .ifa-description__content p {
		margin-bottom: 6px;
	}

	.single-product.theme-IFA .nm-single-product-custom-sheet .woocommerce-product-gallery__wrapper,
	.single-product.theme-IFA .nm-single-product-custom-sheet .woocommerce-product-gallery .flex-viewport {
		height: clamp(300px, min(28vw, calc(100vh - var(--ifa-header-height) - 360px)), 420px) !important;
	}
}

@media (max-width: 1024px) {
	.single-product.theme-IFA .ifa-sheet--has-sidebar .ifa-sheet__layout,
	.ifa-sheet--has-sidebar .ifa-sheet__layout {
		grid-template-columns: 1fr !important;
	}

	.ifa-sheet__body {
		grid-template-columns: 1fr;
	}

	.ifa-sheet__col--image {
		text-align: left;
	}

	.ifa-sheet {
		max-width: 100%;
		width: 100%;
	}

	.ifa-sheet__main {
		padding: 28px 24px 40px;
	}

	.ifa-sidepanel {
		height: auto;
		padding: 28px 24px 32px;
	}

	.ifa-sidepanel__group + .ifa-sidepanel__group {
		margin-top: 32px;
	}

	.ifa-sheet__footer {
		justify-content: center;
	}

	.ifa-sheet__footer .ifa-barcode,
	.ifa-sheet__footer .ifa-barcode__graphic {
		width: 100%;
		align-items: center;
		justify-content: center;
	}

	.ifa-sheet__footer .ifa-barcode .ifa-product-codes__wrapper {
		justify-content: center;
		width: 100%;
	}
}

@media (max-width: 1140px) {
	.single-product.theme-IFA .ifa-sheet--has-sidebar .ifa-sheet__layout,
	.ifa-sheet--has-sidebar .ifa-sheet__layout {
		grid-template-columns: 1fr !important;
	}

	.single-product.theme-IFA .ifa-sheet__main,
	.ifa-sheet__main {
		display: flex;
		flex-direction: column;
		grid-template-columns: none;
		grid-template-areas: none;
	}

	.single-product.theme-IFA .ifa-sheet__body,
	.ifa-sheet__body {
		display: contents;
		grid-template-columns: 1fr;
	}

	.single-product.theme-IFA .ifa-sheet__col--image,
	.ifa-sheet__col--image {
		grid-area: auto;
		order: 1;
		text-align: left;
		margin-bottom: 28px;
	}

	.single-product.theme-IFA .ifa-sheet__top,
	.ifa-sheet__top {
		grid-area: auto;
		order: 2;
		margin-bottom: 28px;
	}

	.single-product.theme-IFA .ifa-sheet__col--info,
	.ifa-sheet__col--info {
		grid-area: auto;
		order: 3;
	}

	.single-product.theme-IFA .ifa-sheet__footer,
	.ifa-sheet__footer {
		grid-area: auto;
		order: 4;
	}
}

@media (max-width: 640px) {
	.ifa-sheet__top {
		flex-direction: column;
		align-items: stretch;
	}

	.ifa-sheet__top-actions {
		width: 100%;
		margin-left: 0;
		justify-content: center;
	}

	.ifa-quote-feedback {
		margin-right: auto;
	}

	.ifa-sidepanel__group-title {
		font-size: 16px;
	}

	.ifa-sidepanel__select {
		font-size: 14px;
	}

	.ifa-specs__row {
		grid-template-columns: 1fr;
		gap: 4px;
	}

	.ifa-sheet__footer {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	.ifa-sheet__footer .ifa-barcode,
	.ifa-sheet__footer .ifa-barcode__graphic {
		width: 100%;
		align-items: center;
		justify-content: center;
	}

	.ifa-sheet__footer .ifa-barcode .ifa-product-codes__wrapper {
		gap: 20px;
		justify-content: center;
		width: 100%;
	}

	.ifa-sheet__footer .ifa-barcode .ifa-product-codes__item {
		margin-right: auto;
		margin-left: auto;
	}

	.ifa-sheet__footer .ifa-barcode .ifa-product-codes__barcode {
		width: 220px;
		height: 38px;
	}

	.ifa-sheet__footer .ifa-barcode .ifa-product-codes__qrcode img {
		width: 96px !important;
		height: 96px !important;
	}
}
