/* ============================================================
   Site footer (HTML-віджет) — як старий .c-footer
   ============================================================ */
   .tf-footer{
   	--tf-blue:#3273eb;
   	--tf-accent:#eb6049;
   	background:var(--tf-blue);
   	color:#fff;
   	overflow:hidden;
   	padding:1.5625rem;
   }

/* ---- верхній ряд: лого + контакти ---- */
.tf-footer__top{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:1.5625rem;
	padding:1.5625rem 0;
	border-bottom:.0625rem solid rgba(249,249,253,.2);
}
.tf-footer__logo{ display:inline-flex; align-items:center; line-height:0; }
.tf-footer__logo img{ display:block; height:2.5rem; width:auto; }

.tf-footer__contact{
	display:flex; flex-wrap:wrap; align-items:center;
	gap:.25rem 3rem;
	margin-left:auto;
	font-size: 18px;
	font-weight: 400;
	justify-content: space-between;
}
.tf-footer__contact a{
	color:#fff; text-decoration:none;
	transition:color .4s ease;
}
.tf-footer__contact a:hover{ color:var(--tf-accent); }

/* ---- нижній ряд: CTA ліворуч, меню праворуч ---- */
.tf-footer__main{
	display:flex;
	flex-direction:column;
	gap:3.125rem;
	padding: 50px 0;
}

/* CTA: заголовок ЗВЕРХУ, велике коло ПІД ним */


.elementor-location-footer  .tf-footer__cta{
	display: inline-flex;
	flex-direction:row;
	align-items:center;
	gap:1.5rem;
	position:relative;
	align-self:flex-start;
	color:#fff;
	text-decoration:none;
	transition:color .5s cubic-bezier(.22,.61,.36,1);
	width: 100%;
}
.elementor-location-footer .tf-footer__cta:hover,
.elementor-location-footer .tf-footer__cta:focus{ color:var(--tf-accent); }

.tf-footer__cta-title{
	color:inherit;
	font-weight:350;
	font-size:2.25rem;
	line-height:1.05;
	max-width:14ch;
}

.tf-footer__cta-icon{
	flex:0 0 auto;
	display:block;
	width:5rem; height:5rem;
	transform:translate3d(var(--mx,0), var(--my,0), 0);
	transition:transform .3s cubic-bezier(.22,.61,.36,1);
	will-change:transform;
}
.tf-footer__cta-icon svg{
	display:block;
	width:100%; height:100%;
	color:currentColor;
}

/* меню у 2 колонки */
.tf-footer__nav{
	display:grid;
	grid-template-columns:repeat(2,auto);
	gap:1rem 3rem;
}
.tf-footer__nav a{
	color:#fff;
	text-decoration:none;
	font-weight:700;
	font-size:.8125rem;
	letter-spacing:.08em;
	text-transform:uppercase;
	transition:color .4s ease;
}
.tf-footer__nav a:hover,
.tf-footer__nav a.is-active{ color:var(--tf-accent); }

/* ---- ≥768px ---- */
@media (min-width:768px){
	.tf-footer{ padding:2rem 3rem; }
	.tf-footer__main{
		flex-direction:row;
		align-items:flex-end;
		justify-content:space-between;
		gap:3rem;
	}
	.tf-footer__cta-title{ font-size:3rem; }
	.tf-footer__cta-icon{ width:6rem; height:6rem; }
}

/* ---- ≥992px ---- */
@media (min-width:992px){
	.tf-footer{ padding:2rem 4rem; }
	.tf-footer__top{
		padding: 0 0 40px;
	}
	.elementor-location-footer  .tf-footer__cta{
		display: block;
		flex-direction:column;
		align-items:flex-start;
		width: 60rem;
	}
}

/* ---- ≥1200px ---- */
@media (min-width:1200px){
	.tf-footer{ padding:2rem 6rem 0; }
	.tf-footer__cta-title{ font-size:4rem; }
	.tf-footer__cta-icon{ width:7.5rem; height:7.5rem; }
	.tf-footer__nav a{ font-size:.875rem; }
	.tf-footer__contact {
		margin-right: 78px;
	}
	.tf-footer__main{
		padding: 118px 0 64px;
	}
	.tf-footer__nav {
		margin-top: 70px;
	}
}

/* ---- ≥1550px ---- */
@media (min-width:1550px){
	.tf-footer{ padding:2.5rem 10rem 0; }
	.tf-footer__cta-title{ font-size:5rem; }
	.tf-footer__cta-icon{ width:8.5rem; height:8.5rem; }
}

@media (max-width: 600px) {
	.tf-footer__contact span:nth-child(1){
		order: 1
	}
	.tf-footer__contact a{
		order: 2;
	}
	.tf-footer__contact span:nth-child(2){
		order: 3;
	}
}