/*
 * Velartem Configurator 0.4.11
 * Elementor odpowiada za układ sekcji. Wtyczka odpowiada za dynamiczne kontrolki.
 */

.velartem-component {
	box-sizing: border-box;
	width: 100%;
}

.velartem-component *,
.velartem-component *::before,
.velartem-component *::after {
	box-sizing: border-box;
}

/* Wspólne pola. */
.velartem-dimension-fields {
	display: grid;
	gap: 22px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.velartem-field label {
	color: #f7ecd6 !important;
	display: block;
	font-family: 'Mulish', sans-serif;
	font-size: 14px;
	font-weight: 700;
	margin-bottom: 8px;
}

.velartem-input-with-unit {
	align-items: center;
	background: #fffdf8;
	border: 1px solid rgba(107, 112, 92, 0.35);
	border-radius: 8px;
	display: flex;
	min-height: 50px;
	overflow: hidden;
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease;
}

.velartem-input-with-unit:focus-within {
	border-color: #f7ecd6;
	box-shadow: 0 0 0 3px rgba(247, 236, 214, 0.28);
}

.velartem-input-with-unit input {
	appearance: textfield;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	color: #3e4436;
	flex: 1;
	font: inherit;
	font-size: 16px;
	min-width: 0;
	outline: 0 !important;
	padding: 13px 14px !important;
	width: 100%;
}

.velartem-input-with-unit input::-webkit-outer-spin-button,
.velartem-input-with-unit input::-webkit-inner-spin-button {
	appearance: none;
	margin: 0;
}

.velartem-input-with-unit > span {
	color: #6b705c;
	font-size: 14px;
	font-weight: 700;
	padding: 0 14px 0 6px;
}

/* Komunikaty. */
.velartem-inline-error {
	color: #f7ecd6;
	display: none;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
	margin-top: 8px;
}

.velartem-inline-error.is-visible {
	display: block;
}

.velartem-group-error {
	margin-top: 12px;
}

input.velartem-field-invalid {
	color: #7f2f3e !important;
}

.velartem-field:has(input.velartem-field-invalid)
	.velartem-input-with-unit {
	border-color: #f7ecd6;
	box-shadow: 0 0 0 2px rgba(247, 236, 214, 0.3);
}

/* Wykończenie — spójne karty z podglądami. */
.velartem-finish-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.velartem-finish-card,
.velartem-finish-card:hover,
.velartem-finish-card:focus,
.velartem-finish-card:active {
	appearance: none;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	color: inherit !important;
	cursor: pointer;
	margin: 0;
	opacity: 1 !important;
	padding: 0 !important;
	text-align: left;
	width: 100%;
}

.velartem-finish-card-media {
	align-items: center;
	aspect-ratio: 4 / 3;
	background: #f7ecd6;
	border: 2px solid transparent;
	border-radius: 14px;
	display: flex;
	justify-content: center;
	overflow: hidden;
	padding: 12px;
	transition:
		background-color 0.22s ease,
		border-color 0.22s ease,
		box-shadow 0.22s ease,
		transform 0.22s ease;
}

.velartem-finish-card-media img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.velartem-finish-card:hover .velartem-finish-card-media,
.velartem-finish-card:focus-visible .velartem-finish-card-media {
	background: #ffffff;
	transform: translateY(-2px);
}

.velartem-finish-card.is-selected .velartem-finish-card-media,
.velartem-finish-card[aria-pressed="true"]
	.velartem-finish-card-media,
.velartem-finish-card.is-selected:hover .velartem-finish-card-media,
.velartem-finish-card[aria-pressed="true"]:hover
	.velartem-finish-card-media {
	background: #ffffff !important;
	border-color: #ffffff;
	box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.32);
	transform: translateY(-2px);
}

.velartem-finish-card-footer {
	align-items: center;
	display: flex;
	gap: 10px;
	justify-content: space-between;
	padding: 10px 3px 0;
}

.velartem-finish-card-label {
	color: #f7ecd6;
	font-size: 15px;
	font-weight: 700;
}

.velartem-selection-indicator {
	align-items: center;
	background: #ffffff;
	border-radius: 999px;
	color: #6b705c;
	display: flex;
	font-size: 12px;
	height: 23px;
	justify-content: center;
	opacity: 0;
	transform: scale(0.7);
	transition:
		opacity 0.2s ease,
		transform 0.2s ease;
	width: 23px;
}

.velartem-finish-card.is-selected
	.velartem-selection-indicator,
.velartem-finish-card[aria-pressed="true"]
	.velartem-selection-indicator {
	opacity: 1;
	transform: scale(1);
}

.velartem-finish-selector.has-error
	.velartem-finish-grid {
	outline: 2px solid rgba(247, 236, 214, 0.7);
	outline-offset: 8px;
}

/* Szerokość. */
.velartem-width-preview {
	margin-top: 24px;
	opacity: 0.52;
	transition: opacity 0.25s ease;
	width: 100%;
}

.velartem-width-preview.has-values {
	opacity: 1;
}

.velartem-width-preview-frame {
	background: #fffdf8;
	border-radius: 14px;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.velartem-width-preview-image {
	display: block;
	height: auto;
	width: 100%;
}

.velartem-width-preview-divider {
	background: #6b705c;
	bottom: 0;
	box-shadow:
		-2px 0 0 rgba(247, 236, 214, 0.7),
		2px 0 0 rgba(247, 236, 214, 0.7);
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	transition: left 0.35s ease;
	width: 5px;
	z-index: 2;
}

.velartem-width-preview-label {
	background: rgba(255, 253, 248, 0.94);
	border-radius: 999px;
	color: #6b705c;
	font-size: 12px;
	font-weight: 700;
	padding: 7px 10px;
	position: absolute;
	top: 12px;
	z-index: 3;
}

.velartem-width-preview-label-left {
	left: 12px;
}

.velartem-width-preview-label-right {
	right: 12px;
}

.velartem-width-total {
	color: #f7ecd6;
	font-size: 13px;
	font-weight: 700;
	margin-top: 9px;
	text-align: center;
}

/* Wysokość. */
.velartem-height-selector {
	display: block;
	margin-left: auto;
	max-width: 620px;
	width: 100%;
}

.velartem-height-control {
	margin: 0 0 24px auto;
	max-width: 440px;
	width: 100%;
}

.velartem-height-preview {
	width: 100%;
}

.velartem-height-preview-stage {
	align-items: center;
	background: #fffdf8;
	border-radius: 14px;
	display: flex;
	height: 360px;
	justify-content: center;
	overflow: hidden;
	padding: 18px;
	position: relative;
	width: 100%;
}

.velartem-height-preview-image {
	display: block;
	height: 250px;
	max-width: 88%;
	object-fit: contain;
	transform: scaleY(1);
	transform-origin: center center;
	transition:
		transform 0.38s cubic-bezier(0.22, 1, 0.36, 1),
		opacity 0.25s ease;
	width: auto;
}

.velartem-height-preview:not(.has-value)
	.velartem-height-preview-image {
	opacity: 0.52;
}

.velartem-height-preview-value {
	position: static;
}

/* Podsumowanie i koszyk. */
.velartem-summary p {
	margin: 0 0 7px;
}

.velartem-price-box .as-price {
	align-items: baseline;
	display: inline-flex;
	font-size: 18px;
	font-weight: 600;
	gap: 0.5rem;
}

.velartem-price-box .as-price-label {
	font-weight: 500;
	opacity: 0.8;
}

.velartem-config-message {
	font-size: 14px;
	line-height: 1.5;
	margin-top: 12px;
}

.velartem-contact-link {
	display: inline-block;
	margin-top: 8px;
	text-decoration: underline;
}

#zaslony.is-loading {
	cursor: wait;
	opacity: 0.7;
	pointer-events: none;
}

#velartem-woo-notices {
	position: relative;
	z-index: 20;
}

.velartem-component-error {
	background: #fff4f4;
	border: 1px solid #b94a48;
	color: #7f2f3e;
	padding: 12px;
}

/*
 * Opcjonalne klasy dla kontenerów Elementora.
 * Dodaj je w Advanced → CSS Classes.
 */
.velartem-config-row {
	display: grid !important;
	gap: 40px !important;
	grid-template-columns: minmax(340px, 42%) minmax(0, 58%) !important;
}

.velartem-config-row > .velartem-config-copy,
.velartem-config-row > .velartem-config-control {
	flex: none !important;
	max-width: 100% !important;
	min-width: 0 !important;
	width: 100% !important;
}

.velartem-config-copy {
	align-self: start;
}

.velartem-config-control {
	min-width: 0;
}



/* Kontrolki zachowują rozmiar i są dosunięte do prawej strony swojej kolumny. */
.velartem-config-control {
	justify-self: stretch;
}

.velartem-finish-selector,
.velartem-width-selector {
	margin-left: auto;
	max-width: 620px;
	width: 100%;
}

.velartem-finish-grid {
	grid-template-columns: repeat(2, minmax(210px, 1fr));
	margin-left: auto;
	max-width: 500px;
}

.velartem-config-copy .elementor-widget-text-editor {
	max-width: none !important;
	width: 100% !important;
}

/* Główny układ i stabilne podsumowanie. */
.section-config > .col-left {
	flex: 1 1 0 !important;
	min-width: 0 !important;
}

.section-config > .col-right {
	align-self: flex-start !important;
	flex: 0 0 clamp(420px, 30vw, 540px) !important;
	max-width: clamp(420px, 30vw, 540px) !important;
	min-width: clamp(420px, 30vw, 540px) !important;
	position: sticky !important;
	top: 84px !important;
	width: clamp(420px, 30vw, 540px) !important;
	z-index: 4;
}

body.admin-bar .section-config > .col-right {
	top: 116px !important;
}

/* Wyłączamy sticky Elementora wewnątrz karty; sticky obsługuje kolumna rodzic. */
.col-right .velartem-summary-card,
.col-right .velartem-summary-card.elementor-sticky,
.col-right .velartem-summary-card.elementor-sticky--active,
.col-right .elementor-sticky,
.col-right .elementor-sticky--active {
	box-sizing: border-box !important;
	left: auto !important;
	max-width: 100% !important;
	min-height: 430px !important;
	min-width: 100% !important;
	position: static !important;
	right: auto !important;
	top: auto !important;
	transform: none !important;
	width: 100% !important;
}

.col-right .elementor-sticky__spacer {
	display: none !important;
	height: 0 !important;
}

.velartem-summary-card {
	overflow: hidden;
	width: 100% !important;
}

/* Przycisk powrotu — odporny na globalne style Elementora i motywu. */
#configurator-top #powrot,
#configurator-section #powrot {
	appearance: none !important;
	background: #5c614d !important;
	border: 1px solid rgba(247, 236, 214, 0.55) !important;
	border-radius: 8px !important;
	box-shadow: none !important;
	color: #f7ecd6 !important;
	cursor: pointer !important;
	display: inline-flex !important;
	font-family: 'Mulish', sans-serif !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	justify-content: center !important;
	line-height: 1.2 !important;
	min-height: 42px !important;
	padding: 11px 20px !important;
	text-decoration: none !important;
	transition:
		background-color 0.22s ease,
		border-color 0.22s ease,
		color 0.22s ease,
		transform 0.22s ease !important;
}

#configurator-top #powrot:hover,
#configurator-top #powrot:focus-visible,
#configurator-section #powrot:hover,
#configurator-section #powrot:focus-visible {
	background: #ffffff !important;
	border-color: #ffffff !important;
	color: #6b705c !important;
	transform: translateY(-1px);
}

/* Tekst instrukcji ma więcej miejsca i nie zwija się w bardzo wąską kolumnę. */
.velartem-config-copy {
	min-width: 0;
}

.velartem-config-copy .elementor-widget-text-editor {
	max-width: 38ch;
}

/* Układ wysokości spójny z szerokością: pole u góry, wizualizacja poniżej. */
.velartem-height-preview-stage {
	height: 350px;
	margin: 0 auto;
	max-width: 720px;
	width: 100%;
}

/* Mobile dopracujemy oddzielnie; zabezpieczenie przed rozjechaniem strony. */
@media (max-width: 767px) {
	.velartem-config-row {
		display: flex !important;
		flex-direction: column !important;
		gap: 22px !important;
	}

	.velartem-config-row > .velartem-config-copy,
	.velartem-config-row > .velartem-config-control {
		flex: 0 0 100% !important;
		max-width: 100% !important;
		width: 100% !important;
	}

	.section-config > .col-right {
		flex: 0 0 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		position: static !important;
		top: auto !important;
		width: 100% !important;
	}

	.velartem-finish-grid,
	.velartem-dimension-fields {
		grid-template-columns: 1fr;
	}

	.velartem-height-selector {
		grid-template-columns: 1fr;
	}

	.velartem-height-preview-stage {
		height: 330px;
	}
}


/* =========================================================
 * 0.4.0 — jedna główna wizualizacja
 * ======================================================= */

.velartem-width-selector,
.velartem-height-selector {
	margin-left: auto;
	max-width: 520px;
	width: 100%;
}

.velartem-height-control {
	margin: 0;
	max-width: none;
}

.velartem-config-copy .elementor-widget-text-editor {
	max-width: none !important;
	width: 100% !important;
}

/* Więcej miejsca dla prawej wizualizacji, kompaktowe kroki po lewej. */
.section-config > .col-left {
	flex: 1 1 58% !important;
	max-width: none !important;
	min-width: 0 !important;
	width: auto !important;
}

.section-config > .col-right {
	flex: 0 0 min(42vw, 720px) !important;
	max-width: min(42vw, 720px) !important;
	min-width: 480px !important;
	width: min(42vw, 720px) !important;
}

.velartem-config-row {
	gap: 28px !important;
	grid-template-columns: minmax(250px, 38%) minmax(0, 62%) !important;
	padding-top: 26px !important;
	padding-bottom: 26px !important;
}

/* Karta wizualizacji */
.velartem-main-visualizer {
	--velartem-visual-width: 48%;
	--velartem-visual-height: 287px;
	color: #6b705c;
	font-family: 'Mulish', sans-serif;
	margin-bottom: 18px;
	width: 100%;
}

.velartem-visualizer-header {
	align-items: center;
	display: flex;
	gap: 12px;
	justify-content: space-between;
	margin-bottom: 12px;
}

.velartem-visualizer-title {
	font-family: 'Gloock', serif;
	font-size: 26px;
	line-height: 1.1;
}

.velartem-visualizer-finish {
	background: #6b705c;
	border-radius: 999px;
	color: #f7ecd6;
	font-size: 12px;
	font-weight: 700;
	padding: 7px 11px;
	white-space: nowrap;
}

.velartem-visualizer-stage {
	background:
		linear-gradient(180deg, #fffdf8 0%, #fffaf0 100%);
	border: 1px solid rgba(107, 112, 92, 0.28);
	border-radius: 14px;
	height: 430px;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.velartem-visualizer-rod {
	display: block;
	height: auto;
	left: 5%;
	max-width: none !important;
	object-fit: fill;
	position: absolute;
	top: 34px;
	width: 90%;
	z-index: 4;
}

.velartem-visualizer-panels {
	align-items: flex-start;
	display: flex;
	gap: 12px;
	height: var(--velartem-visual-height);
	justify-content: center;
	left: 50%;
	max-height: 330px;
	min-height: 210px;
	position: absolute;
	top: 48px;
	transform: translateX(-50%);
	transition:
		height 0.36s cubic-bezier(0.22, 1, 0.36, 1),
		width 0.36s cubic-bezier(0.22, 1, 0.36, 1);
	width: var(--velartem-visual-width);
	z-index: 2;
}

.velartem-visualizer-panel {
	height: 100%;
	min-width: 0;
	position: relative;
	transition:
		flex-grow 0.35s ease,
		opacity 0.25s ease;
}

.velartem-visualizer-panel[hidden] {
	display: none !important;
}

.velartem-visualizer-panel img {
	display: block;
	height: 100%;
	max-height: none !important;
	max-width: none !important;
	object-fit: fill;
	width: 100%;
}

.velartem-visualizer-panel-label {
	background: rgba(255, 253, 248, 0.94);
	border: 1px solid rgba(107, 112, 92, 0.2);
	border-radius: 999px;
	color: #6b705c;
	font-size: 11px;
	font-weight: 800;
	left: 50%;
	padding: 5px 8px;
	position: absolute;
	top: 10px;
	transform: translateX(-50%);
	white-space: nowrap;
}

.velartem-main-visualizer.has-two-panels
	.velartem-visualizer-panels {
	gap: 14px;
}

.velartem-visualizer-height-measure {
	bottom: auto;
	height: var(--velartem-visual-height);
	left: 18px;
	max-height: 330px;
	min-height: 210px;
	position: absolute;
	top: 48px;
	transition: height 0.36s cubic-bezier(0.22, 1, 0.36, 1);
	width: 62px;
	z-index: 5;
}

.velartem-visualizer-height-line {
	border-left: 2px solid #6b705c;
	height: 100%;
	left: 28px;
	position: absolute;
	top: 0;
}

.velartem-visualizer-height-line::before,
.velartem-visualizer-height-line::after {
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	content: '';
	left: -6px;
	position: absolute;
}

.velartem-visualizer-height-line::before {
	border-bottom: 8px solid #6b705c;
	top: -1px;
}

.velartem-visualizer-height-line::after {
	border-top: 8px solid #6b705c;
	bottom: -1px;
}

.velartem-visualizer-height-value {
	background: #6b705c;
	border-radius: 999px;
	color: #f7ecd6;
	font-size: 11px;
	font-weight: 800;
	left: 0;
	padding: 5px 8px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%) rotate(-90deg);
	transform-origin: center;
	white-space: nowrap;
}

.velartem-visualizer-empty {
	color: #6b705c;
	font-size: 14px;
	left: 50%;
	opacity: 0.65;
	position: absolute;
	text-align: center;
	top: 52%;
	transform: translate(-50%, -50%);
	width: 70%;
	z-index: 1;
}

.velartem-visualizer-empty[hidden] {
	display: none !important;
}

.velartem-visualizer-caption {
	font-size: 12px;
	font-weight: 700;
	margin-top: 9px;
	opacity: 0.78;
	text-align: center;
}

/* Podsumowanie pod wizualizacją ma być kompaktowe. */
.velartem-summary-card {
	min-height: 0 !important;
}

.velartem-summary-card > .elementor-element {
	flex-shrink: 0;
}

@media (max-width: 1100px) {
	.section-config > .col-right {
		flex-basis: 460px !important;
		max-width: 460px !important;
		min-width: 420px !important;
		width: 460px !important;
	}

	.velartem-visualizer-stage {
		height: 390px;
	}
}

@media (max-width: 767px) {
	.section-config > .col-right {
		flex: 0 0 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		width: 100% !important;
	}

	.velartem-visualizer-stage {
		height: 360px;
	}

	.velartem-visualizer-height-measure {
		left: 8px;
	}

	.velartem-visualizer-header {
		align-items: flex-start;
		flex-direction: column;
	}
}


/* =========================================================
 * 0.4.2 — większa, spójna wizualizacja
 * ======================================================= */

/* Główne kolumny konfiguratora: dokładnie pół na pół. */
.section-config > .col-left,
.section-config > .col-right {
	flex-basis: 0 !important;
	flex-grow: 1 !important;
	flex-shrink: 1 !important;
	max-width: calc(50% - 14px) !important;
	min-width: 0 !important;
	width: calc(50% - 14px) !important;
}

.section-config > .col-right {
	align-self: flex-start !important;
}

/* Większa scena podglądu. */
.velartem-visualizer-stage {
	height: 520px;
}

/* Karnisz jest za zasłonami, nie przed nimi. */
.velartem-visualizer-rod {
	height: auto;
	left: 3%;
	object-fit: contain;
	top: 70px;
	width: 94%;
	z-index: 1;
}

/* Grupa zasłon: prawie cała szerokość i 75–82% wysokości sceny. */
.velartem-visualizer-panels {
	align-items: stretch;
	max-height: 426px;
	min-height: 390px;
	top: 72px;
	z-index: 3;
}

.velartem-main-visualizer.has-two-panels
	.velartem-visualizer-panels {
	gap: 18px;
}

/*
 * Pliki są już przycięte do widocznej zasłony.
 * Rozmiar panelu odpowiada rzeczywistej proporcji lewej/prawej części.
 */
.velartem-visualizer-panel img {
	height: 100%;
	object-fit: fill;
	width: 100%;
}

/* Wszystkie wartości mają identyczny biały, poziomy znacznik. */
.velartem-visualizer-panel-label,
.velartem-visualizer-height-value {
	background: rgba(255, 255, 255, 0.97) !important;
	border: 1px solid rgba(107, 112, 92, 0.22) !important;
	border-radius: 999px;
	box-shadow: 0 2px 8px rgba(65, 71, 48, 0.08);
	color: #6b705c !important;
	font-family: 'Mulish', sans-serif;
	font-size: 11px;
	font-weight: 800;
	line-height: 1;
	padding: 6px 9px;
	white-space: nowrap;
}

/* Szerokości znajdują się nad grafiką, a nie na zasłonie lub karniszu. */
.velartem-visualizer-panel-label {
	left: 50%;
	top: -58px;
	transform: translateX(-50%);
	z-index: 6;
}

/* Miara wysokości pozostaje w bocznym marginesie. */
.velartem-visualizer-height-measure {
	height: var(--velartem-visual-height);
	left: 10px;
	max-height: 426px;
	min-height: 390px;
	top: 72px;
	width: 58px;
	z-index: 5;
}

.velartem-visualizer-height-line {
	left: 27px;
}

/* Wartość wysokości jest pozioma i znajduje się nad strzałką. */
.velartem-visualizer-height-value {
	left: 0;
	top: -58px;
	transform: none;
	transform-origin: center;
}

/* Techniczna informacja o progu cenowym nie jest pokazywana. */
.as-price-note {
	display: none !important;
}

@media (max-width: 1100px) and (min-width: 768px) {
	.section-config > .col-left,
	.section-config > .col-right {
		max-width: calc(50% - 14px) !important;
		min-width: 0 !important;
		width: calc(50% - 14px) !important;
	}

	.velartem-visualizer-stage {
		height: 480px;
	}
}

@media (max-width: 767px) {
	.section-config > .col-left,
	.section-config > .col-right {
		flex: 0 0 100% !important;
		max-width: 100% !important;
		width: 100% !important;
	}

	.velartem-visualizer-stage {
		height: 430px;
	}
}


/* =========================================================
 * 0.4.3 — wspólne zakotwiczenie i opisy wymiarów
 * ======================================================= */

.velartem-main-visualizer {
	--velartem-curtain-top: 92px;
}

/* Wykończenie jest zwykłym tekstem i nie pojawia się przed wyborem. */
.velartem-visualizer-finish {
	background: transparent !important;
	border-radius: 0 !important;
	color: #6b705c !important;
	font-size: 13px;
	font-weight: 700;
	padding: 0 !important;
}

.velartem-visualizer-finish[hidden] {
	display: none !important;
}

/* Większa scena dla większych zasłon. */
.velartem-visualizer-stage {
	height: 560px;
}

/* Wspólny wiersz informacji nad karniszem i zasłonami. */
.velartem-visualizer-measurements {
	align-items: center;
	display: flex;
	gap: 8px;
	justify-content: center;
	left: 16px;
	position: absolute;
	right: 16px;
	top: 16px;
	z-index: 8;
}

.velartem-visualizer-measurement {
	background: rgba(255, 255, 255, 0.97) !important;
	border: 1px solid rgba(107, 112, 92, 0.22) !important;
	border-radius: 999px;
	box-shadow: 0 2px 8px rgba(65, 71, 48, 0.08);
	color: #6b705c !important;
	display: inline-flex;
	font-family: 'Mulish', sans-serif;
	font-size: 11px;
	font-weight: 800;
	line-height: 1;
	padding: 7px 10px;
	position: static !important;
	transform: none !important;
	white-space: nowrap;
}

.velartem-visualizer-measurement[hidden] {
	display: none !important;
}

/* Stara pionowa miara wysokości zostaje całkowicie wyłączona. */
.velartem-visualizer-height-measure,
.velartem-visualizer-height-line {
	display: none !important;
}

/*
 * Karnisz i zasłony korzystają dokładnie z tego samego punktu top.
 * Karnisz jest przesunięty o połowę własnej wysokości, więc jego
 * środek pokrywa się z górną krawędzią zasłon na każdym ekranie.
 */
.velartem-visualizer-rod {
	left: 2%;
	top: var(--velartem-curtain-top) !important;
	transform: translateY(-50%);
	width: 96%;
	z-index: 1;
}

.velartem-visualizer-panels {
	max-height: 450px;
	min-height: 395px;
	top: var(--velartem-curtain-top) !important;
	z-index: 3;
}

/* Podpisy nie są już pozycjonowane wewnątrz paneli. */
.velartem-visualizer-panel-label {
	left: auto !important;
	top: auto !important;
}

/* Jeszcze większy zakres szerokości wizualnej. */
.velartem-visualizer-panels {
	width: var(--velartem-visual-width);
}

@media (max-width: 1100px) and (min-width: 768px) {
	.velartem-main-visualizer {
		--velartem-curtain-top: 88px;
	}

	.velartem-visualizer-stage {
		height: 530px;
	}

	.velartem-visualizer-panels {
		max-height: 425px;
		min-height: 375px;
	}
}

@media (max-width: 767px) {
	.velartem-main-visualizer {
		--velartem-curtain-top: 104px;
	}

	.velartem-visualizer-stage {
		height: 500px;
	}

	.velartem-visualizer-measurements {
		align-items: flex-start;
		flex-wrap: wrap;
		justify-content: flex-start;
	}

	.velartem-visualizer-panels {
		max-height: 375px;
		min-height: 330px;
	}
}


/* =========================================================
 * 0.4.4 — proporcjonalne PNG, przycinanie wysokości i karnisz
 * ======================================================= */

.velartem-main-visualizer {
	--velartem-curtain-top: 76px;
	--velartem-height-crop: 0%;
}

/* Wszystkie dane wymiarowe zostały usunięte z wizualizacji. */
.velartem-visualizer-measurements,
.velartem-visualizer-measurement,
.velartem-visualizer-height-measure,
.velartem-visualizer-height-line,
.velartem-visualizer-height-value,
.velartem-visualizer-panel-label {
	display: none !important;
}

.velartem-visualizer-stage {
	height: 690px;
}

/*
 * Karnisz jest zawsze widoczny i korzysta z tego samego punktu
 * odniesienia co górna krawędź zasłon.
 */
.velartem-visualizer-rod {
	display: block !important;
	filter: drop-shadow(0 1px 1px rgba(65, 71, 48, 0.22));
	height: 18px !important;
	left: 1.5% !important;
	max-height: none !important;
	opacity: 1 !important;
	object-fit: contain !important;
	position: absolute !important;
	top: calc(var(--velartem-curtain-top) - 6px) !important;
	transform: none !important;
	width: 97% !important;
	z-index: 2 !important;
}

/*
 * Grupa ma szerokość wynikającą z rzeczywistych proporcji PNG.
 * Skaluje się jednolicie tylko wtedy, gdy nie mieści się w kadrze.
 */
.velartem-visualizer-panels {
	align-items: flex-start !important;
	display: flex !important;
	gap: 8px !important;
	height: 600px !important;
	justify-content: center !important;
	left: 50% !important;
	max-height: none !important;
	min-height: 0 !important;
	overflow: visible !important;
	position: absolute !important;
	top: var(--velartem-curtain-top) !important;
	transform:
		translateX(-50%)
		scale(var(--velartem-group-scale, 1)) !important;
	transform-origin: top center !important;
	transition: transform 0.28s ease !important;
	width: var(--velartem-group-width, 1px) !important;
	z-index: 3 !important;
}

.velartem-main-visualizer.has-two-panels
	.velartem-visualizer-panels {
	gap: 8px !important;
}

.velartem-visualizer-panel {
	flex: 0 0 auto !important;
	height: 600px !important;
	max-width: none !important;
	min-width: 0 !important;
	overflow: visible !important;
	position: relative !important;
	width: var(--velartem-panel-width, 1px) !important;
}

.velartem-visualizer-panel[hidden] {
	display: none !important;
}

/*
 * Obraz nie jest rozciągany przez flex-grow.
 * Zachowuje proporcje wybranego PNG.
 * Wysokość jest skracana przez clip-path od dołu.
 */
.velartem-visualizer-panel img {
	clip-path: inset(
		0
		0
		var(--velartem-height-crop, 0%)
		0
	);
	display: block !important;
	height: 600px !important;
	max-height: none !important;
	max-width: none !important;
	object-fit: contain !important;
	object-position: top center !important;
	transform: none !important;
	transition: clip-path 0.32s ease !important;
	width: 100% !important;
}

@media (max-width: 1100px) and (min-width: 768px) {
	.velartem-visualizer-stage {
		height: 650px;
	}
}

@media (max-width: 767px) {
	.velartem-main-visualizer {
		--velartem-curtain-top: 70px;
	}

	.velartem-visualizer-stage {
		height: 600px;
	}

	.velartem-visualizer-rod {
		height: 15px !important;
	}
}


/* =========================================================
 * 0.4.5 — skadrowane grafiki bez deformacji + widoczny karnisz
 * ======================================================= */

.velartem-main-visualizer {
	/* Stała wysokość bazowa pełnego płótna PNG */
	--velartem-panel-canvas-height: 760px;
	/* 102px / 675px * 760px ≈ 115px */
	--velartem-rod-offset: 14px;
}

.velartem-visualizer-stage {
	height: 760px !important;
	overflow: hidden !important;
}

/* Kurtyny są pokazywane jako pełne płótno PNG, bez rozciągania. */
.velartem-visualizer-panels {
	align-items: flex-start !important;
	gap: 4px !important;
	height: var(--velartem-panel-canvas-height) !important;
	justify-content: center !important;
	left: 50% !important;
	overflow: visible !important;
	position: absolute !important;
	top: 0 !important;
	transform: translateX(-50%) scale(var(--velartem-group-scale, 1)) !important;
	transform-origin: top center !important;
	width: var(--velartem-group-width, 1px) !important;
	z-index: 3 !important;
}

.velartem-visualizer-panel {
	flex: 0 0 auto !important;
	height: var(--velartem-panel-canvas-height) !important;
	overflow: hidden !important;
	position: relative !important;
	width: var(--velartem-panel-width, 1px) !important;
}

.velartem-visualizer-panel img {
	clip-path: inset(0 0 var(--velartem-height-crop, 0%) 0) !important;
	display: block !important;
	height: var(--velartem-panel-canvas-height) !important;
	object-fit: contain !important;
	object-position: top center !important;
	width: 100% !important;
}

/* Wyraźnie widoczny karnisz w tej samej scenie. */
.velartem-visualizer-rod {
	display: block !important;
	filter: brightness(0.82) contrast(1.35) drop-shadow(0 1px 1px rgba(65,71,48,.18)) !important;
	height: auto !important;
	left: 1% !important;
	max-height: none !important;
	object-fit: contain !important;
	opacity: 1 !important;
	position: absolute !important;
	top: var(--velartem-rod-offset) !important;
	transform: none !important;
	width: 98% !important;
	z-index: 2 !important;
}

@media (max-width: 1200px) and (min-width: 768px) {
	.velartem-main-visualizer {
		--velartem-panel-canvas-height: 700px;
		--velartem-rod-offset: 14px;
	}
	.velartem-visualizer-stage { height: 700px !important; }
}

@media (max-width: 767px) {
	.velartem-main-visualizer {
		--velartem-panel-canvas-height: 560px;
		--velartem-rod-offset: 14px;
	}
	.velartem-visualizer-stage { height: 560px !important; }
	.velartem-visualizer-rod { height: 18px !important; width: 98% !important; left: 1% !important; }
}


/* =========================================================
 * 0.4.6 — surowe PNG 1:1, tytuł produktu i lupa materiału
 * ======================================================= */

.velartem-main-visualizer {
	--velartem-panel-canvas-height: 675px;
}

/* Nagłówek wizualizacji. */
.velartem-visualizer-heading {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.velartem-visualizer-product-title {
	color: #6b705c;
	font-family: 'Gloock', serif;
	font-size: 30px;
	line-height: 1.05;
}

.velartem-visualizer-title {
	font-family: 'Mulish', sans-serif !important;
	font-size: 12px !important;
	font-weight: 700;
	letter-spacing: 0.08em;
	opacity: 0.7;
	text-transform: uppercase;
}

.velartem-visualizer-header-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: flex-end;
}

/* Główna scena ma wysokość zgodną z oryginalnymi plikami 675 px. */
.velartem-visualizer-stage {
	height: var(--velartem-panel-canvas-height) !important;
}

/*
 * Karnisz jest używany w pełnej, niezmodyfikowanej postaci.
 * Ma tę samą wysokość płótna co grafiki zasłon, dzięki czemu
 * jego położenie pionowe pozostaje zgodne z zasłonami.
 */
.velartem-visualizer-rod {
	display: block !important;
	filter:
		brightness(0.82)
		contrast(1.35)
		drop-shadow(0 1px 1px rgba(65, 71, 48, 0.16)) !important;
	height: var(--velartem-panel-canvas-height) !important;
	left: 50% !important;
	max-height: none !important;
	max-width: none !important;
	object-fit: contain !important;
	opacity: 1 !important;
	position: absolute !important;
	top: 0 !important;
	transform: translateX(-50%) !important;
	width: auto !important;
	z-index: 2 !important;
}

/*
 * Każdy panel zachowuje naturalną proporcję własnego pliku PNG.
 * Kod nie rozciąga ani nie ściska pojedynczej grafiki.
 */
.velartem-visualizer-panels {
	height: var(--velartem-panel-canvas-height) !important;
	top: 0 !important;
}

.velartem-visualizer-panel {
	height: var(--velartem-panel-canvas-height) !important;
}

.velartem-visualizer-panel img {
	height: var(--velartem-panel-canvas-height) !important;
	object-fit: contain !important;
	object-position: top center !important;
	width: 100% !important;
}

/* Przycisk lupy. */
.velartem-material-preview-button {
	align-items: center;
	appearance: none;
	background: transparent;
	border: 1px solid rgba(107, 112, 92, 0.4);
	border-radius: 999px;
	color: #6b705c;
	cursor: pointer;
	display: inline-flex;
	font-family: 'Mulish', sans-serif;
	font-size: 12px;
	font-weight: 700;
	gap: 7px;
	padding: 8px 12px;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease;
}

.velartem-material-preview-button svg {
	fill: none;
	height: 17px;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-width: 1.8;
	width: 17px;
}

.velartem-material-preview-button:hover,
.velartem-material-preview-button:focus-visible {
	background: #6b705c;
	border-color: #6b705c;
	color: #ffffff;
}

/* Modal materiału. */
body.velartem-material-modal-open {
	overflow: hidden;
}

.velartem-material-modal[hidden] {
	display: none !important;
}

.velartem-material-modal {
	align-items: center;
	display: flex;
	inset: 0;
	justify-content: center;
	padding: 24px;
	position: fixed;
	z-index: 999999;
}

.velartem-material-modal-backdrop {
	background: rgba(36, 39, 30, 0.72);
	inset: 0;
	position: absolute;
}

.velartem-material-modal-dialog {
	background: #fffaf0;
	border: 1px solid rgba(107, 112, 92, 0.35);
	border-radius: 16px;
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28);
	max-height: calc(100vh - 48px);
	max-width: 920px;
	overflow: auto;
	padding: 24px;
	position: relative;
	width: min(920px, 94vw);
	z-index: 1;
}

.velartem-material-modal-dialog img {
	border-radius: 10px;
	display: block;
	height: auto;
	margin-top: 18px;
	max-height: 68vh;
	object-fit: contain;
	width: 100%;
}

.velartem-material-modal-close {
	align-items: center;
	appearance: none;
	background: #6b705c;
	border: 0;
	border-radius: 999px;
	color: #ffffff;
	cursor: pointer;
	display: inline-flex;
	font-size: 25px;
	height: 38px;
	justify-content: center;
	line-height: 1;
	position: absolute;
	right: 18px;
	top: 18px;
	width: 38px;
}

.velartem-material-modal-copy {
	padding-right: 54px;
}

.velartem-material-modal-label {
	color: #6b705c;
	font-family: 'Mulish', sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.velartem-material-modal-copy h2 {
	color: #6b705c;
	font-family: 'Gloock', serif;
	font-size: 34px;
	line-height: 1.1;
	margin: 4px 0 0;
}

@media (max-width: 1200px) and (min-width: 768px) {
	.velartem-main-visualizer {
		--velartem-panel-canvas-height: 600px;
	}
}

@media (max-width: 767px) {
	.velartem-main-visualizer {
		--velartem-panel-canvas-height: 500px;
	}

	.velartem-visualizer-header {
		align-items: flex-start;
	}

	.velartem-visualizer-header-actions {
		justify-content: flex-start;
	}

	.velartem-visualizer-product-title {
		font-size: 26px;
	}
}


/* =========================================================
 * 0.4.7 — całkowite odcięcie starego cache i widoczny karnisz
 * ======================================================= */

.velartem-main-visualizer {
	--velartem-panel-canvas-height: 675px;
	/* Widoczna zasłona zaczyna się około 92 px od góry płótna. */
	--velartem-curtain-visible-top: 92px;
}

/*
 * Każdy panel ma szerokość wyliczoną z oryginalnych wymiarów
 * aktualnego, zahashowanego pliku PNG. Pojedynczy obraz nie jest
 * poszerzany ani zwężany.
 */
.velartem-visualizer-panel img {
	height: var(--velartem-panel-canvas-height) !important;
	max-height: none !important;
	max-width: none !important;
	object-fit: contain !important;
	object-position: top center !important;
	width: 100% !important;
}

/*
 * Wariant prezentacyjny karnisza nie zawiera 664 px pustego płótna,
 * dlatego można go pokazać wyraźnie i dokładnie przy górnej
 * krawędzi widocznej tkaniny.
 */
.velartem-visualizer-rod {
	display: block !important;
	filter:
		brightness(0.68)
		contrast(1.7)
		drop-shadow(0 1px 1px rgba(65, 71, 48, 0.24)) !important;
	height: 20px !important;
	left: 1.5% !important;
	max-height: none !important;
	max-width: none !important;
	object-fit: contain !important;
	opacity: 1 !important;
	position: absolute !important;
	top: calc(
		var(--velartem-curtain-visible-top) - 8px
	) !important;
	transform: none !important;
	width: 97% !important;
	z-index: 2 !important;
}

/* Zasłony pozostają nad karniszem. */
.velartem-visualizer-panels {
	z-index: 3 !important;
}

/* Zakończenia karnisza pozostają widoczne po bokach. */
.velartem-visualizer-stage {
	isolation: isolate;
}

@media (max-width: 1200px) and (min-width: 768px) {
	.velartem-main-visualizer {
		--velartem-panel-canvas-height: 600px;
		--velartem-curtain-visible-top: 82px;
	}
}

@media (max-width: 767px) {
	.velartem-main-visualizer {
		--velartem-panel-canvas-height: 500px;
		--velartem-curtain-visible-top: 68px;
	}

	.velartem-visualizer-rod {
		height: 17px !important;
		width: 98% !important;
		left: 1% !important;
	}
}


/* =========================================================
 * 0.4.11 — nowy karnisz, próg 80 cm i tytuł po lewej
 * ======================================================= */

.velartem-main-visualizer {
	--velartem-rod-top: 14px;
	--velartem-panels-top: 0px;
}

/* Tytuł produktu nad krokami konfiguratora, w lewej kolumnie. */
.velartem-configurator-product-heading {
	color: #6b705c;
	margin: 0 0 18px;
	padding: 0 4px;
	width: 100%;
}

.velartem-configurator-product-heading
	.velartem-visualizer-product-title {
	color: #6b705c;
	display: block;
	font-family: 'Gloock', serif;
	font-size: clamp(42px, 3.35vw, 62px);
	line-height: 1.02;
}

/* W prawym nagłówku pozostaje tylko mały opis podglądu. */
.velartem-visualizer-heading {
	gap: 0;
}

/*
 * Delikatna korekta szerokości jest już zawarta w szerokości
 * panelu. Grafika wypełnia panel poziomo, ale korekta jest
 * ograniczona do zakresu 94–108%.
 */
.velartem-visualizer-panel img {
	object-fit: contain !important;
}

/* Nowy karnisz ma stałą pozycję i jest za zasłonami. */
.velartem-visualizer-rod {
	display: block !important;
	filter:
		brightness(0.86)
		contrast(1.28)
		drop-shadow(0 1px 1px rgba(65, 71, 48, 0.18)) !important;
	height: auto !important;
	left: 1% !important;
	max-height: none !important;
	max-width: none !important;
	object-fit: contain !important;
	opacity: 1 !important;
	position: absolute !important;
	top: var(--velartem-rod-top) !important;
	transform: none !important;
	width: 98% !important;
	z-index: 2 !important;
}

/* Grupa zasłon jest obliczana względem widocznej rurki karnisza. */
.velartem-visualizer-panels {
	top: var(--velartem-panels-top) !important;
	z-index: 3 !important;
}

/*
 * Przycisk materiału jest zgodny z pozostałymi przyciskami
 * Velartem i odporny na czerwone style motywu/WordPressa.
 */
.velartem-main-visualizer
	.velartem-material-preview-button {
	align-items: center !important;
	appearance: none !important;
	background: #6b705c !important;
	border: 1px solid #6b705c !important;
	border-radius: 8px !important;
	box-shadow: none !important;
	color: #f7ecd6 !important;
	cursor: pointer !important;
	display: inline-flex !important;
	font-family: 'Mulish', sans-serif !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	gap: 7px !important;
	line-height: 1.2 !important;
	padding: 9px 13px !important;
	text-decoration: none !important;
	text-transform: none !important;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease !important;
}

.velartem-main-visualizer
	.velartem-material-preview-button:hover,
.velartem-main-visualizer
	.velartem-material-preview-button:focus,
.velartem-main-visualizer
	.velartem-material-preview-button:focus-visible {
	background: #ffffff !important;
	border-color: #6b705c !important;
	box-shadow: none !important;
	color: #6b705c !important;
	outline: none !important;
}

.velartem-main-visualizer
	.velartem-material-preview-button svg {
	fill: none !important;
	stroke: currentColor !important;
}

@media (max-width: 767px) {
	.velartem-configurator-product-heading
		.velartem-visualizer-product-title {
		font-size: 42px;
	}
}


/* =========================================================
 * 0.4.12 — niższy karnisz, szersza scena 86% i większe zasłony
 * ======================================================= */

.velartem-main-visualizer {
	--velartem-rod-top: 18px;
}

.velartem-visualizer-rod {
	left: 0.8% !important;
	top: var(--velartem-rod-top) !important;
	width: 98.4% !important;
}

.velartem-visualizer-panels {
	gap: 0 !important;
}


/* =========================================================
 * 0.4.13 — stała wysokość kurtyn, marginesy 5%, karnisz 3% niżej
 * ======================================================= */

.velartem-main-visualizer {
	--velartem-rod-top: 38px;
}

/* Grafika może zwężać się / rozszerzać tylko poziomo.
   Wysokość obu części pozostaje zawsze taka sama. */
.velartem-visualizer-panel img {
	object-fit: fill !important;
}

/* Zasłony mogą zająć do 90% szerokości pola (po 5% marginesu). */
.velartem-visualizer-panels {
	gap: 0 !important;
}


/* =========================================================
 * 0.4.14 — dynamiczna wysokość podglądu, delikatna fala dołu,
 * ukrycie wykończenia w prawym górnym rogu i korekta karnisza
 * ======================================================= */

.velartem-main-visualizer {
	--velartem-rod-top: 35px !important;
}

/* Górny prawy tekst o wykończeniu jest usunięty. */
.velartem-visualizer-finish {
	display: none !important;
}

/* Wymuszamy styl przycisku zgodny z resztą interfejsu,
   również po otwarciu modala. */
.velartem-main-visualizer .velartem-material-preview-button,
.velartem-material-modal .velartem-material-modal-close {
	appearance: none !important;
	background: #6b705c !important;
	border: 1px solid #6b705c !important;
	box-shadow: none !important;
	color: #f7ecd6 !important;
	outline: none !important;
}

.velartem-material-modal .velartem-material-modal-close:hover,
.velartem-material-modal .velartem-material-modal-close:focus,
.velartem-material-modal .velartem-material-modal-close:focus-visible {
	background: #ffffff !important;
	border-color: #6b705c !important;
	color: #6b705c !important;
	box-shadow: none !important;
}

/* Delikatnie falowane zakończenie przy skracaniu wysokości. */
.velartem-visualizer-panel {
	overflow: visible !important;
}

.velartem-main-visualizer.is-cropped .velartem-visualizer-panel::after {
	content: '' ;
	position: absolute;
	left: 0;
	right: 0;
	bottom: calc(var(--velartem-height-crop, 0%) - 8px);
	height: 12px;
	background:
		radial-gradient(circle at 6px 0, transparent 6px, #fffdf8 6.4px) repeat-x;
	background-size: 12px 12px;
	background-position: center bottom;
	pointer-events: none;
	z-index: 4;
}


/* =========================================================
 * 0.4.16 — karnisz 0,5% wyżej i pełne grafiki Flex/Wave
 * ======================================================= */

.velartem-main-visualizer {
	--velartem-rod-top: 32px !important;
}

/*
 * Źródłowe grafiki Flex/Wave mają proporcje zbliżone do 1:1,
 * a karta ma proporcję 4:3. `cover` przycinał obraz.
 * `contain` pokazuje całą grafikę bez ingerowania w pliki PNG.
 */
.velartem-finish-card-media {
	padding: 8px !important;
}

.velartem-finish-card-media img {
	height: 100% !important;
	max-height: 100% !important;
	max-width: 100% !important;
	object-fit: contain !important;
	object-position: center center !important;
	width: 100% !important;
}


/* =========================================================
 * 0.4.16 — tytuł produktu ponownie nad podglądem
 * ======================================================= */

/* Nazwa produktu pozostaje w nagłówku prawego podglądu. */
.velartem-visualizer-product-title {
	color: #6b705c !important;
	display: block !important;
	font-family: 'Gloock', serif !important;
	font-size: 25px !important;
	line-height: 1.05 !important;
	margin: 0 !important;
}

.velartem-visualizer-heading {
	gap: 2px !important;
}

/* Stary kontener po lewej nie jest już tworzony. */
.velartem-configurator-product-heading {
	display: none !important;
}

@media (max-width: 767px) {
	.velartem-visualizer-product-title {
		font-size: 22px !important;
	}
}


/* =========================================================
 * 0.4.21 — modułowa wizualizacja Flex/Wave bez karnisza
 * ======================================================= */
.velartem-pattern-visualizer {
	--velartem-panel-canvas-height: auto;
	--velartem-height-crop: 0%;
	--velartem-curtain-top: 0px;
	--velartem-curtain-visible-top: 0px;
	--velartem-panels-top: 0px;
	--velartem-rod-top: 0px;
	--velartem-rod-offset: 0px;
}

/* Stare elementy renderera i maski nie są już używane. */
.velartem-pattern-visualizer .velartem-visualizer-rod,
.velartem-pattern-visualizer .velartem-visualizer-panels,
.velartem-pattern-visualizer .velartem-visualizer-panel,
.velartem-pattern-visualizer .velartem-bottom-mask-v43,
.velartem-pattern-visualizer [class*="velartem-crop-mask-"],
.velartem-pattern-visualizer [class*="crop-line"],
.velartem-pattern-visualizer [class*="cut-line"],
.velartem-pattern-visualizer [class*="crop-guide"] {
	display: none !important;
}

.velartem-pattern-visualizer .velartem-visualizer-stage,
.velartem-pattern-visualizer .velartem-visualizer-stage.velartem-preview-stage-fit-v43 {
	align-items: flex-start !important;
	background: #FCFBF7 !important;
	border: 1px solid #DCD5C9 !important;
	border-radius: 12px !important;
	display: flex !important;
	justify-content: center !important;
	overflow: hidden !important;
	padding: 14px 12px !important;
	position: relative !important;
	transition: height .24s ease !important;
	width: 100% !important;
}

.velartem-pattern-visualizer .velartem-curtain-canvas {
	display: block;
	flex: 0 0 auto;
	margin: 0 auto;
	max-height: none !important;
	max-width: 100% !important;
	object-fit: contain;
	position: relative;
	z-index: 2;
}

.velartem-pattern-visualizer .velartem-curtain-canvas[hidden] {
	display: none !important;
}

.velartem-pattern-visualizer .velartem-visualizer-empty {
	color: #8A907C !important;
	font-family: 'Mulish', sans-serif !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	left: 50% !important;
	line-height: 1.5 !important;
	opacity: 1 !important;
	position: absolute !important;
	text-align: center !important;
	top: 50% !important;
	transform: translate(-50%, -50%) !important;
	width: min(82%, 420px) !important;
	z-index: 1 !important;
}

.velartem-pattern-visualizer .velartem-visualizer-caption {
	color: #8A907C !important;
	font-family: 'Mulish', sans-serif !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	margin-top: 9px !important;
	opacity: 1 !important;
	text-align: center !important;
}

@media (max-width: 767px) {
	.velartem-pattern-visualizer .velartem-visualizer-stage,
	.velartem-pattern-visualizer .velartem-visualizer-stage.velartem-preview-stage-fit-v43 {
		padding: 12px 8px !important;
	}

	.velartem-pattern-visualizer .velartem-visualizer-empty {
		font-size: 13px !important;
		width: 88% !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.velartem-pattern-visualizer .velartem-visualizer-stage {
		transition: none !important;
	}
}
