/* ============================================================
   Contact split section — Elementor (tf-*), точні значення
   ============================================================ */

/* ---- base (xs) ---- */
.tf-contact{
	--tf-blue:#3273eb;
	--tf-accent:#eb6049;
}

.tf-contact{
	overflow: hidden;
}

.tf-contact__body{
	display:flex;
	flex-direction:column;
	justify-content:center;
	gap:1.5625rem;
	background:var(--tf-blue);
	color:#fff;
	padding: 7.8125rem 1.5625rem;
}

.tf-contact__title{
	margin:0; color:#fff;
	font-weight:800;
	font-size:1.875rem;
	line-height:2.1875rem;
}

.tf-contact__title h1{
	margin: 0;
}

.tf-contact__group{ margin:0; padding:0; list-style:none; line-height:1.6666666667; }
.tf-contact__group p{ margin:0; }
.tf-contact__body a{
	color:#fff !important;
	text-decoration:none;
	transition:color .5s cubic-bezier(.22,.61,.36,1);
}
.tf-contact__body a:hover{ 
	color: #e6e6e6 !important;
}

/* image column (banner) */
.tf-contact__media{
	position:relative;
	overflow: hidden;
	padding-bottom:80%;
}

/* shape — позиціювання (banner-shape) */
.tf-contact__media .tf-shape{
	position:absolute;
	z-index:5;
	bottom:1.5625rem;
	left:1.5625rem;
}
/* shape — бокс (o-shape + _flip-text) */
.tf-shape{
	width:calc(100% + .1875rem);
}
.tf-shape__inner{
	position:relative;
	display:flex;
	align-items:flex-end;
	justify-content:flex-start;
	width:calc(100% + .1875rem);
	height:24.6875rem;
	padding:0 1.75rem 1.5625rem 1.5625rem;
}
.tf-shape__bg{ position:absolute; inset:0; width:100%; height:100%; z-index:4; }
.tf-shape__bg path{ fill:none; stroke:#fff; stroke-width:3; stroke-miterlimit:10; }
.tf-shape__text{
	position:relative; z-index:5;
	max-width:18ch; color:#fff;
	font-size:.625rem; font-weight:500;
	letter-spacing:.15em; line-height:2;
	text-transform:uppercase;
}

/* ---- ≥768px ---- */
@media (min-width:768px){
	.tf-contact__body{ padding-left:3rem; padding-right:3rem; }
	.tf-contact__title{ font-size:2.375rem; line-height:2.75rem; }
	.tf-contact__media{ padding-bottom:60%; }
	.tf-shape__inner{ width:26.1875rem; height:26.1875rem; padding:1rem 2rem; }
}

/* ---- 768–991px: фігура перекидається вгору-праворуч ---- */
@media (min-width:768px) and (max-width:991px){
	.tf-contact__media .tf-shape{ bottom:auto; left:auto; left: 1rem; bottom: 1rem; }
	.tf-contact__body{
		padding: 10rem 1.5625rem;
	}
}

/* ---- ≥992px: дві колонки ---- */
@media (min-width:992px){
	.e-con.tf-contact{                     /* .e-con — щоб перебити flex контейнера Elementor */
		display:grid;
		grid-auto-flow:dense;
		grid-template-columns:repeat(2,50%);
		min-height:calc(100vh - 6rem);       /* fluid: мінус висота хедера */
	}
	.tf-contact__body{
		grid-column-start:1;                 /* синя панель ліворуч */
		gap:2rem;
		padding-left:4rem;
		padding-right:4rem;
	}
	.tf-contact__media{
		grid-column-start:2;                 /* фото праворуч */
		height:100%;
		padding-bottom:0;
		overflow: visible;
	}
	.tf-contact__title{ font-size:3.125rem; line-height:3.625rem; }
	.tf-contact__media .tf-shape{ bottom:4rem; left:-6rem; }
	.tf-shape__inner{ padding:2.5rem; }    /* розмір лишається 26.1875rem */
	
	.tf-shape__text {
		font-size: .6875rem;
	}
}



/* ---- ≥1200px ---- */
@media (min-width:1200px){
	.tf-contact__body{ padding-left:6rem; }   /* right лишається 4rem — як в оригіналі */
	.tf-contact__media .tf-shape{ left:-16rem; }
}

/* ---- ≥1550px ---- */
@media (min-width:1550px){
	.e-con.tf-contact{ min-height:calc(100vh - 7.5rem); }
	.tf-contact__body{ padding-left:5rem; padding-right:5rem; padding-bottom: 17.5rem;
		padding-top: 17.5rem; }
		.tf-contact__title{ font-size:4.125rem; line-height:4.1875rem; }
		.tf-shape__inner{ width:31.9375rem; height:31.9375rem; padding:3.125rem; }
		.tf-contact__media .tf-shape{ bottom:7.5rem; left:-20rem; }
	}

/* ---- ≥1800px ---- */
@media (min-width:1800px){
	.tf-contact__body{ padding-left:10rem; padding-right:10rem; }
}