/* ПРОМСМАРТ — premium footer */

.ps-footer-upgrade .site-footer {
	--ps-green: #44c25d;
	--ps-green-2: #9de377;
	--ps-navy: #212d45;
	--ps-navy-2: #182338;
	--ps-muted: rgba(255, 255, 255, 0.72);
	--ps-line: rgba(255, 255, 255, 0.12);
	background: var(--ps-navy) !important;
	color: #fff;
	font-family: "Open Sans", sans-serif;
	border-top: 0 !important;
	position: relative;
	overflow-x: clip;
}

.ps-footer-upgrade .site-footer::before {
	content: "";
	display: block;
	height: 3px;
	width: 100%;
	background: linear-gradient(90deg, #44c25d 0%, #9de377 50%, #44c25d 100%);
}

/* Brand strip */
.ps-footer-brand {
	background: var(--ps-navy-2, #182338);
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.ps-footer-brand__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 28px 24px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px 40px;
	box-sizing: border-box;
}

@media (max-width: 800px) {
	.ps-footer-brand__inner {
		flex-direction: column;
		align-items: flex-start;
	}

	.ps-footer-brand__right {
		width: 100%;
	}

	.ps-footer-brand__btn {
		min-height: 44px;
	}

	.ps-footer-brand__phone {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
	}
}

.ps-footer-brand__left {
	display: grid;
	gap: 10px;
	max-width: 620px;
	min-width: 0;
}

.ps-footer-brand__logo {
	display: block;
	height: 44px;
	width: auto;
	max-width: 180px;
	object-fit: contain;
	filter: brightness(0) invert(1);
}

.ps-footer-brand__name {
	font-size: 22px;
	font-weight: 800;
	letter-spacing: 0.04em;
	color: #fff;
}

.ps-footer-brand__tag {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.72);
	overflow-wrap: anywhere;
}

.ps-footer-brand__right {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 16px;
}

.ps-footer-brand__phone {
	font-size: 20px;
	font-weight: 800;
	color: #fff !important;
	text-decoration: none !important;
	white-space: nowrap;
	border-bottom: 1px solid rgba(68, 194, 93, 0.7);
}

.ps-footer-brand__phone:hover {
	color: #9de377 !important;
}

.ps-footer-brand__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 18px;
	border-radius: 10px;
	background: #44c25d;
	color: #fff !important;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none !important;
	box-shadow: 0 8px 18px rgba(68, 194, 93, 0.28);
	transition: background 0.2s ease, transform 0.15s ease;
	box-sizing: border-box;
	touch-action: manipulation;
}

.ps-footer-brand__btn:hover {
	background: #38b150;
	transform: translateY(-1px);
	color: #fff !important;
}

/* Primary columns */
.ps-footer-upgrade .site-primary-footer-wrap {
	background: transparent !important;
	padding: 42px 0 28px !important;
}

.ps-footer-upgrade .site-primary-footer-wrap .ast-builder-grid-row {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 24px;
	box-sizing: border-box;
	gap: 28px 36px !important;
	align-items: start !important;
}

.ps-footer-upgrade .site-footer-section {
	min-width: 0;
}

.ps-footer-upgrade .site-footer .widget-title,
.ps-footer-upgrade .site-footer h5.wp-block-heading,
.ps-footer-upgrade .site-footer .wp-block-heading {
	margin: 0 0 16px !important;
	padding: 0 0 10px !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #fff !important;
	border-bottom: 2px solid rgba(68, 194, 93, 0.55);
	display: inline-block;
	line-height: 1.3 !important;
	max-width: 100%;
	overflow-wrap: anywhere;
}

.ps-footer-upgrade .site-footer .menu,
.ps-footer-upgrade .site-footer .menu-item {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.ps-footer-upgrade .site-footer .menu {
	display: grid;
	gap: 8px;
}

.ps-footer-upgrade .site-footer .menu-link,
.ps-footer-upgrade .site-footer a {
	color: rgba(255, 255, 255, 0.78) !important;
	text-decoration: none !important;
	font-size: 14px;
	line-height: 1.4;
	font-weight: 500;
	transition: color 0.2s ease, padding-left 0.2s ease;
}

.ps-footer-upgrade .site-footer .menu-link:hover,
.ps-footer-upgrade .site-footer a:hover {
	color: #9de377 !important;
}

.ps-footer-upgrade .site-footer .menu-link {
	display: inline-block;
	padding-left: 0;
	max-width: 100%;
	overflow-wrap: anywhere;
}

.ps-footer-upgrade .site-footer .menu-link:hover {
	padding-left: 4px;
}

.ps-footer-upgrade .site-footer .widget_text p,
.ps-footer-upgrade .site-footer .wp-block-paragraph {
	margin: 0;
	font-size: 14px;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.78) !important;
	overflow-wrap: anywhere;
}

/* Contacts column */
.ps-footer-upgrade .site-footer-section-3 .wp-block-heading {
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-size: 14px !important;
	border-bottom: 0 !important;
	padding-bottom: 0 !important;
	display: grid !important;
	gap: 10px;
	max-width: 100%;
}

.ps-footer-upgrade .ps-footer-contact-phone,
.ps-footer-upgrade a.ps-footer-contact-phone {
	display: inline-block !important;
	font-size: 22px !important;
	font-weight: 800 !important;
	color: #fff !important;
	line-height: 1.25 !important;
	border-bottom: 1px solid rgba(68, 194, 93, 0.65);
	padding: 6px 0;
	min-height: 44px;
	box-sizing: border-box;
}

.ps-footer-upgrade .ps-footer-contact-phone:hover {
	color: #9de377 !important;
}

.ps-footer-upgrade .ps-footer-contact-mail,
.ps-footer-upgrade a.ps-footer-contact-mail {
	display: inline-block !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	color: rgba(255, 255, 255, 0.85) !important;
	padding: 6px 0;
	min-height: 40px;
	box-sizing: border-box;
	overflow-wrap: anywhere;
}

.ps-footer-upgrade .ps-footer-contact-mail:hover {
	color: #9de377 !important;
}

/* Below footer bar */
.ps-footer-upgrade .site-below-footer-wrap {
	background: #182338 !important;
	border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
	padding: 18px 0 !important;
	min-height: auto !important;
}

.ps-footer-upgrade .site-below-footer-wrap .ast-builder-grid-row {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 24px;
	box-sizing: border-box;
	gap: 14px 20px;
}

.ps-footer-upgrade .ast-footer-copyright,
.ps-footer-upgrade .ast-footer-copyright p {
	margin: 0;
	font-size: 13px;
	line-height: 1.45;
	color: rgba(255, 255, 255, 0.55) !important;
	overflow-wrap: anywhere;
}

.ps-footer-upgrade .ast-footer-social-wrap {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
}

.ps-footer-upgrade .footer-social-item,
.ps-footer-upgrade .ast-builder-social-element {
	width: 44px !important;
	height: 44px !important;
	min-width: 44px !important;
	min-height: 44px !important;
	border-radius: 10px !important;
	background: rgba(255, 255, 255, 0.08) !important;
	border: 1px solid rgba(255, 255, 255, 0.12) !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	transition: background 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
	--color: #ffffff !important;
	color: #fff !important;
	touch-action: manipulation;
}

.ps-footer-upgrade .footer-social-item:hover,
.ps-footer-upgrade .ast-builder-social-element:hover {
	background: rgba(68, 194, 93, 0.2) !important;
	border-color: rgba(68, 194, 93, 0.55) !important;
	transform: translateY(-2px);
}

.ps-footer-upgrade .footer-social-item svg,
.ps-footer-upgrade .ast-builder-social-element svg {
	width: 18px;
	height: 18px;
	fill: #fff !important;
}

@media (max-width: 921px) {
	.ps-footer-upgrade .site-primary-footer-wrap {
		padding-top: 34px !important;
	}

	.ps-footer-upgrade .ast-footer-social-wrap {
		justify-content: flex-start;
	}
}

@media (max-width: 544px) {
	.ps-footer-brand__inner {
		padding: 22px 16px;
		gap: 16px;
	}

	.ps-footer-upgrade .site-primary-footer-wrap .ast-builder-grid-row,
	.ps-footer-upgrade .site-below-footer-wrap .ast-builder-grid-row {
		padding-left: 16px;
		padding-right: 16px;
	}

	.ps-footer-brand__right {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
	}

	.ps-footer-brand__phone {
		font-size: 18px;
		white-space: normal;
	}

	.ps-footer-brand__btn {
		width: 100%;
	}

	.ps-footer-brand__tag {
		font-size: 13px;
		line-height: 1.45;
	}

	.ps-footer-upgrade .site-primary-footer-wrap {
		padding: 28px 0 20px !important;
	}

	.ps-footer-upgrade .site-primary-footer-wrap .ast-builder-grid-row {
		gap: 22px !important;
	}

	.ps-footer-upgrade .site-footer .menu {
		gap: 0;
	}

	.ps-footer-upgrade .site-footer .menu-link {
		display: block !important;
		padding: 11px 0 !important;
		min-height: 44px;
		box-sizing: border-box;
		line-height: 1.35;
	}

	.ps-footer-upgrade .site-footer .menu-link:hover {
		padding-left: 0 !important;
	}

	.ps-footer-upgrade .ps-footer-contact-phone {
		font-size: 20px !important;
	}

	.ps-footer-upgrade .site-below-footer-wrap {
		padding: 16px 0 calc(16px + env(safe-area-inset-bottom, 0px)) !important;
	}

	.ps-footer-upgrade .ast-footer-copyright,
	.ps-footer-upgrade .ast-footer-copyright p {
		font-size: 12px;
	}
}

@media (max-width: 380px) {
	.ps-footer-brand__inner,
	.ps-footer-upgrade .site-primary-footer-wrap .ast-builder-grid-row,
	.ps-footer-upgrade .site-below-footer-wrap .ast-builder-grid-row {
		padding-left: 14px;
		padding-right: 14px;
	}

	.ps-footer-brand__logo {
		height: 36px;
		max-width: 150px;
	}

	.ps-footer-brand__phone {
		font-size: 17px;
	}

	.ps-footer-upgrade .ps-footer-contact-phone {
		font-size: 18px !important;
	}

	.ps-footer-upgrade .site-footer .menu-link,
	.ps-footer-upgrade .site-footer a {
		font-size: 13px;
	}
}

/* Back to top */
.ps-back-top {
	position: fixed !important;
	right: max(16px, calc(env(safe-area-inset-right, 0px) + 12px)) !important;
	bottom: max(16px, calc(env(safe-area-inset-bottom, 0px) + 12px)) !important;
	z-index: 99999 !important;
	width: auto !important;
	min-width: 48px !important;
	height: 48px !important;
	padding: 0 14px !important;
	border: 0 !important;
	border-radius: 14px !important;
	background: #44c25d !important;
	color: #fff !important;
	cursor: pointer !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	box-shadow: 0 10px 24px rgba(68, 194, 93, 0.4) !important;
	font: 700 13px/1 "Open Sans", sans-serif !important;
	touch-action: manipulation;
	-webkit-tap-highlight-color: transparent;
}

.ps-back-top.is-visible {
	display: inline-flex !important;
}

.ps-back-top:hover {
	background: #38b150 !important;
}

.ps-back-top__text {
	font-family: "Open Sans", sans-serif;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
}

@media (max-width: 544px) {
	.ps-back-top {
		right: max(12px, calc(env(safe-area-inset-right, 0px) + 8px)) !important;
		bottom: max(12px, calc(env(safe-area-inset-bottom, 0px) + 8px)) !important;
		width: 44px !important;
		min-width: 44px !important;
		height: 44px !important;
		padding: 0 !important;
		border-radius: 12px !important;
	}

	.ps-back-top__text {
		display: none !important;
	}
}
