/**
 * Thermovormen — block 1 full-bleed hero.
 * Header floats over the photo (negative margin by --tf-header-h).
 * Graphic + “Geef vorm door co-creatie!” live in the photo.
 */

:root {
	--tf-blue: #3273EB;
}

/*body.page-thermovormen .tf-thermovormen-hero.e-con,
body.page-thermovormen .tf-thermovormen-hero {
	margin-top: calc(-1 * var(--tf-header-h)) !important;
}*/

.tf-thermovormen-hero.e-con,
.tf-thermovormen-hero {
	--padding-top: 0 !important;
	--padding-bottom: 0 !important;
	--padding-left: 0 !important;
	--padding-right: 0 !important;
	position: relative !important;
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	min-height: 90vh;
	min-height: 625px;
	overflow: hidden;
	padding: 0 !important;
	margin: 0 !important;
	background-color: #1a1a1a !important;
	line-height: 0;
}

.tf-thermovormen-hero-media.e-con,
.tf-thermovormen-hero-media {
	position: absolute !important;
	inset: 0 !important;
	z-index: 0;
	width: 100% !important;
	max-width: none !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;
}

.tf-thermovormen-hero-media .elementor-widget-image,
.tf-thermovormen-hero-img {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
}

.tf-thermovormen-hero-img:after {
    background: #000;
    bottom: 0;
    content: "";
    left: 0;
    mix-blend-mode: multiply;
    opacity: .2;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 3;
}

.tf-thermovormen-hero-media .elementor-widget-container,
.tf-thermovormen-hero-img .elementor-widget-container {
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 0;
}

.tf-thermovormen-hero-media img,
.tf-thermovormen-hero-img img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center !important;
}

/* Screen-reader page title (visual title is baked into the photo) */
.tf-thermovormen-hero-sr {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

@media (max-width: 1024px) {
	.tf-thermovormen-hero.e-con,
	.tf-thermovormen-hero {
		min-height: min(100dvh, 720px);
	}

	.tf-thermovormen-hero-media img,
	.tf-thermovormen-hero-img img {
		object-position: 55% center !important;
	}
}

@media (max-width: 767px) {
	.tf-thermovormen-hero.e-con,
	.tf-thermovormen-hero {
		/* Tall enough for header overlap + graphic in lower area */
		min-height: min(100dvh, 560px);
		aspect-ratio: auto;
	}

	.tf-thermovormen-hero-media img,
	.tf-thermovormen-hero-img img {
		object-position: 60% center !important;
	}
}

/* ========== Block 2 — intro copy ========== */
.tf-thermovormen-intro.e-con,
.tf-thermovormen-intro {
	--padding-top: 0 !important;
	--padding-bottom: 0 !important;
	--padding-left: 0 !important;
	--padding-right: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	width: 100% !important;
	max-width: 100% !important;
	background-color: #F9F9FD !important;
	padding: clamp(72px, 8vw, 120px) var(--tf-page-x) !important;
	margin: 0 !important;
	gap: 0 !important;
}

.tf-thermovormen-intro-title {
	margin: 0 0 28px !important;
	width: 100%;
	max-width: 18em;
}

.tf-thermovormen-intro-title .elementor-heading-title {
	color: var(--tf-blue) !important;
	font-family: "Garet", sans-serif !important;
	font-weight: 800 !important;
	font-size: clamp(42px, 4.5vw, 66px) !important;
	line-height: 1.08 !important;
	letter-spacing: -0.03em;
	margin: 0 !important;
	text-align: left !important;
}

.tf-thermovormen-intro-text {
	margin: 0 !important;
	width: 100%;
	max-width: 42em;
}

.tf-thermovormen-intro-text .elementor-widget-container,
.tf-thermovormen-intro-text p {
	line-height: 1.45 !important;
}

@media (max-width: 1024px) {
	.tf-thermovormen-intro.e-con,
	.tf-thermovormen-intro {
		padding: 56px var(--tf-page-x) 64px !important;
	}

	.tf-thermovormen-intro-title {
		margin-bottom: 20px !important;
	}

	.tf-thermovormen-intro-title .elementor-heading-title {
		font-size: 30px !important;
	}

	.tf-thermovormen-intro-text .elementor-widget-container,
	.tf-thermovormen-intro-text p {
		max-width: 91%;
	}

	/* Desktop line breaks only — wrap naturally on tablet/mobile */
	.tf-thermovormen-intro-text br {
		display: none;
	}
}

@media (max-width: 767px) {
	.tf-thermovormen-intro.e-con,
	.tf-thermovormen-intro {
		padding: 48px var(--tf-page-x) 56px !important;
	}


}

/* ========== Block 3 — split slider (copy left | media right) ========== */
.tf-thermovormen-slider.e-con,
.tf-thermovormen-slider {
	--padding-top: 0 !important;
	--padding-bottom: 0 !important;
	--padding-left: 0 !important;
	--padding-right: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: #fff !important;
}

.tf-thermovormen-slider-widget.elementor-widget-html,
.tf-thermovormen-slider-widget {
	width: 100% !important;
	margin: 0 !important;
}

.tf-thermovormen-slider-widget .elementor-widget-container {
	margin: 0 !important;
	padding: 0 !important;
}

.tf-how--copy-left {
	background: #fff;
}

.tf-how--copy-left .tf-how__copy {
	order: 1;
	padding: clamp(56px, 7vw, 120px) clamp(40px, 5vw, 96px) clamp(72px, 8vw, 140px) var(--tf-page-x);
}

.tf-how--copy-left .tf-how__media {
	order: 2;
}

.tf-how--copy-left .tf-how__text {
	max-width: 22ch;
	font-size: clamp(24px, 2vw, 34px);
	line-height: 1.35;
}


/* Filled orange CTA (not text-link) */
.tf-how__cta-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 15px 22px;
	border: 0;
	border-radius: 5px;
	background: var(--tf-orange, #EB6049);
	color: #fff !important;
	font-family: "Garet", sans-serif;
	font-weight: 500;
	font-size: 13px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none !important;
	line-height: 1.2;
	transition: background-color 0.25s ease;
}


/* ---- кнопка (.c-btn: оранж + коло) ---- */
.tf-how__cta-btn{
	position:relative; overflow:hidden; z-index:1;
	display:inline-flex; align-items:center; justify-content:center;
	height:3.75rem; padding:0 2.1875rem;
	border:none; border-radius:.625rem;
	background-color:var(--tf-accent); color:#fff;
	font-size:.8125rem; font-weight:500; letter-spacing:.15em; line-height:1; text-transform:uppercase;
	background: var(--tf-orange, #EB6049);
}
.tf-how__cta-btn::before{
	content:""; position:absolute; z-index:-1;
	top:var(--y,50%); left:var(--x,50%);
	width:0; height:0; border-radius:50%;
	background:var(--tf-blue); transform:translate(-50%,-50%);
	transition:width .4s ease-in-out, height .4s ease-in-out;
}
.tf-how__cta-btn:hover::before,
.tf-how__cta-btn:focus::before{ width:250%; height:250%; }






.tf-how__cta-btn:hover,
.tf-how__cta-btn:focus-visible {
	background: #d45540;
	color: #fff !important;
	outline: none;
}

/* Nav sits on the photo, bottom-left */
.tf-how--copy-left .tf-how__media {
	position: relative;
}

.tf-how--copy-left .tf-how__nav {
	left: clamp(20px, 3vw, 40px);
	right: auto;
	bottom: clamp(24px, 3vw, 40px);
	transform: none;
}

/*.tf-how--copy-left .tf-how__btn--prev {
	background: var(--tf-orange, #EB6049);
	color: #fff;
	box-shadow: none;
}

.tf-how--copy-left .tf-how__btn--next {
	border: 1.5px solid #fff;
	background: transparent;
	color: #fff;
}*/

@media (max-width: 1024px) {
	.tf-how--copy-left {
		grid-template-columns: 1fr;
	}

	.tf-cases-nav .elementor-widget-html{
		width: 60%;
	}

	.tf-how--copy-left .tf-how__copy {
		order: 2;
		padding: 48px var(--tf-page-x) 36px;
	}

	.tf-how--copy-left .tf-how__media {
		order: 1;
		min-height: min(72vw, 420px);
		aspect-ratio: 4 / 2.25;
	}

	.tf-how--copy-left .tf-how__text {
		max-width: none;
		font-size: 22px;
		margin-bottom: 0;
	}

	.tf-how--copy-left .tf-how__nav {
		left: var(--tf-page-x);
		right: auto;
		top: auto;
		bottom: 24px;
		transform: none;
	}

	/*.tf-how--copy-left .tf-how__cta-btn {
		width: 100%;
		justify-content: center;
	}*/
}

@media (max-width: 767px) {
	.tf-how--copy-left .tf-how__copy {
		padding: 60px var(--tf-page-x);
	}

	.tf-cases-nav .elementor-widget-html{
		width: 100%;
	}

	.tf-how--copy-left .tf-how__eyebrow {
		margin-bottom: 0px;
	}

	.tf-how--copy-left .tf-how__text {
		font-size: 20px;
	}

	.tf-how--copy-left .tf-how__nav {
		left: 16px;
		bottom: 16px;
	}
}

/* ========== Block 4 — blue shape message ========== */
.tf-thermovormen-shape.e-con,
.tf-thermovormen-shape {
	--padding-top: 0 !important;
	--padding-bottom: 0 !important;
	--padding-left: 0 !important;
	--padding-right: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: clamp(72px, 14vw, 200px) var(--tf-page-x) !important;
	background: var(--tf-blue, #3273EB) !important;
}

.tf-thermovormen-shape-widget.elementor-widget-html,
.tf-thermovormen-shape-widget {
	width: 100% !important;
	margin: 0 !important;
}

.tf-thermovormen-shape-widget .elementor-widget-container {
	margin: 0 !important;
	padding: 0 !important;
}

.tf-tv-shape {
	display: grid;
	grid-template-columns: minmax(220px, 1fr) auto minmax(220px, 1fr);
	align-items: center;
	column-gap: clamp(28px, 4vw, 72px);
	width: 100%;
	min-height: clamp(220px, 24vw, 300px);
}

.tf-tv-shape__title {
	margin: 0;
	color: #fff;
	font-family: "Garet", sans-serif;
	font-weight: 800;
	font-size: clamp(42px, 4vw, 64px);
	line-height: 1.04;
	letter-spacing: -0.03em;
}

.tf-tv-shape__title--left {
	text-align: left;
}

.tf-tv-shape__title--right {
	text-align: right;
}

.tf-tv-shape__icon {
	position: relative;
	width: clamp(180px, 22vw, 300px);
	height: clamp(180px, 22vw, 300px);
}

.tf-tv-shape__sq {
	position: absolute;
	left: 10%;
	top: 6%;
	width: 46%;
	height: 46%;
	border: clamp(14px, 1.3vw, 20px) solid #fff;
	border-radius: 16%;
	box-sizing: border-box;
}

.tf-tv-shape__loop {
	position: absolute;
	right: 4%;
	bottom: 4%;
	width: 60%;
	height: 60%;
	border: clamp(14px, 1.3vw, 20px) solid #fff;
	border-radius: 999px;
	box-sizing: border-box;
}

@media (max-width: 1024px) {
	.tf-thermovormen-shape.e-con,
	.tf-thermovormen-shape {
		padding: 56px var(--tf-page-x) !important;
	}

	.tf-tv-shape {
		grid-template-columns: 1fr;
		row-gap: 22px;
		justify-items: center;
		text-align: center;
		min-height: 0;
	}

	.tf-tv-shape__title {
		font-size: 44px;
		text-align: center !important;
	}
}

@media (max-width: 767px) {
	.tf-thermovormen-shape.e-con,
	.tf-thermovormen-shape {
		padding: 48px var(--tf-page-x) !important;
	}

	.tf-tv-shape__title {
		font-size: 30px;
	}

	.tf-tv-shape__icon {
		width: min(62vw, 220px);
		height: min(62vw, 220px);
	}
}

/* ========== Block 5 — how it works copy ========== */
.tf-thermovormen-howto.e-con,
.tf-thermovormen-howto {
	--padding-top: 0 !important;
	--padding-bottom: 0 !important;
	--padding-left: 0 !important;
	--padding-right: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: clamp(72px, 8vw, 120px) var(--tf-page-x) clamp(80px, 9vw, 140px) !important;
	background: #fff !important;
	gap: 0 !important;
}

.tf-thermovormen-howto-eyebrow {
	margin: 0 0 20px !important;
	width: 100%;
}

.tf-thermovormen-howto-eyebrow .elementor-heading-title {
	margin: 0 !important;
	color: var(--tf-blue, #3273EB) !important;
	font-family: "Garet", sans-serif !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	letter-spacing: 0.08em;
	text-transform: uppercase !important;
	line-height: 1.3 !important;
}

.tf-thermovormen-howto-text {
	margin: 0 0 clamp(32px, 4vw, 48px) !important;
	width: 100%;
	max-width: 48em;
}

.tf-thermovormen-howto-text .elementor-widget-container,
.tf-thermovormen-howto-text p {
	margin: 0 !important;
	color: #1a1a1a !important;
	font-family: "Garet", sans-serif !important;
	font-size: clamp(24px, 2.2vw, 38px) !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
}

.tf-thermovormen-howto-cta {
	margin: 30px 0 0 !important;
}

/* CTA (.c-link) — dual-arrow hover */
.tf-thermovormen-howto-cta a{
	position:relative;
	display:inline-block;
	align-self:flex-start;
	color:#eb6049;
	text-decoration:none;
	white-space:nowrap;
	font-size:.8125rem;
	font-weight:500;
	letter-spacing:.15em;
	line-height:1;
	text-transform:uppercase;
	padding: 0;
	margin-right:.78125rem;
	padding-right:.78125rem;
	transition:all .5s cubic-bezier(.22,.61,.36,1);
}

/* дві стрілки */
.tf-thermovormen-howto-cta a::after,
.tf-thermovormen-howto-cta a::before{
	content:"";
	position:absolute;
	top:50%;
	width:.75rem;
	height:1.0625rem;
	transform:translateY(-50%);
	background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNS41MjQiIGhlaWdodD0iOS41NTMiPjxwYXRoIGRhdGEtbmFtZT0iUGF0aCAyMDUiIGQ9Im0xMC43NDcgMC0uODQyLjg0MiAzLjMzMiAzLjMzOEgwdjEuMTk0aDEzLjIzN0w5Ljg5OSA4LjcwNmwuODQ4Ljg0OCA0Ljc3Ny00Ljc3N3oiIGZpbGw9IiNlYjYwNDkiLz48L3N2Zz4=") no-repeat 50%/contain;
	pointer-events:none;
	transition:all .5s cubic-bezier(.22,.61,.36,1);
}
.tf-thermovormen-howto-cta a::after{ left:100%; opacity:1; }   /* видима у спокої, справа */
.tf-thermovormen-howto-cta a::before{ left:-10%; opacity:0; }   /* прихована зліва */

/* hover / focus */
.tf-thermovormen-howto-cta a:hover,
.tf-thermovormen-howto-cta a:focus{
	color:#eb6049;
	padding-left:1.5625rem;                        /* текст їде вправо */
}
.tf-thermovormen-howto-cta a:hover::after,
.tf-thermovormen-howto-cta a:focus::after{ left:110%; opacity:0; }  /* стара стрілка вилітає */
.tf-thermovormen-howto-cta a:hover::before,
.tf-thermovormen-howto-cta a:focus::before{ left:0; opacity:1; }    /* нова влітає зліва */

.tf-thermovormen-howto-cta a .elementor-button-icon{
	display: none;
}


@media (max-width: 1024px) {
	.tf-thermovormen-howto.e-con,
	.tf-thermovormen-howto {
		padding: 56px var(--tf-page-x) 64px !important;
	}

	.tf-thermovormen-howto-text .elementor-widget-container,
	.tf-thermovormen-howto-text p {
		font-size: 22px !important;
	}
	.tf-thermovormen-hero.e-con,
	.tf-thermovormen-hero {
		min-height: 460px;
	}
}

@media (max-width: 767px) {
	.tf-thermovormen-howto.e-con,
	.tf-thermovormen-howto {
		padding: 48px var(--tf-page-x) 56px !important;
	}

	.tf-thermovormen-howto-eyebrow {
		margin-bottom: 16px !important;
	}

	.tf-thermovormen-howto-text {
		margin-bottom: 28px !important;
	}

	.tf-thermovormen-howto-text .elementor-widget-container,
	.tf-thermovormen-howto-text p {
		font-size: 20px !important;
	}
}

/* ========== Block 7 — full-bleed photo ========== */
.tf-thermovormen-fullphoto.e-con,
.tf-thermovormen-fullphoto {
	--padding-top: 0 !important;
	--padding-bottom: 0 !important;
	--padding-left: 0 !important;
	--padding-right: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: #fff !important;
	overflow: hidden;
	line-height: 0;
}

.tf-thermovormen-fullphoto-img.elementor-widget-image,
.tf-thermovormen-fullphoto-img {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.tf-thermovormen-fullphoto-img .elementor-widget-container {
	margin: 0 !important;
	padding: 0 !important;
	line-height: 0;
}

.tf-thermovormen-fullphoto-img img {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	object-position: center center;
	margin: 0 !important;
}

@media (max-width: 767px) {
	.tf-thermovormen-fullphoto-img img {
		aspect-ratio: 4 / 3;
		object-position: 55% center;
	}
}

/* ~360 phones */
@media (max-width: 400px) {



	.tf-how--copy-left .tf-how__text,
	.tf-thermovormen-howto-text .elementor-widget-container,
	.tf-thermovormen-howto-text p {
		font-size: 17px !important;
		line-height: 1.45 !important;
	}

	.tf-tv-shape__title {
		font-size: 26px !important;
		overflow-wrap: anywhere;
	}

	.tf-thermovormen-howto-cta .elementor-button,
	.tf-thermovormen-howto-cta a.elementor-button {
		width: 100% !important;
		max-width: 100% !important;
		justify-content: flex-start !important;
	}

	.tf-how--copy-left .tf-how__nav {
		left: var(--tf-page-x) !important;
		right: auto !important;
	}
	.tf-thermovormen-hero.e-con,
	.tf-thermovormen-hero {
		min-height: 320px;
	}
}

.tf-thermovormen-intro .elementor-widget-html{
	position: initial;
}
