/**
 * Header + footer (Figma 154:2499, 154:2511, 154:2767).
 * Content, colours and sizes live in the Elementor templates (Header-1, Header-1-sticky, footer);
 * this file only adds what the widgets can't express: font stack, exact spacing, icon boxes, chevron.
 */
.advh-topbar,
.advh-main,
.advf-main,
.advf-bottom,
.ct-header-mobile {
	--advh-font: "Poppins", "Noto Sans", sans-serif;
}

/* One font stack for every text node (Elementor's kit default is Roboto). Icons are inline SVG. */
.advh-topbar :is(a, span, p, li, h5),
.advh-main :is(a, span, p, li, h5),
.advf-main :is(a, span, p, li, h5),
.advf-bottom :is(a, span, p, li, h5) {
	font-family: var(--advh-font);
}

/* Widgets inside these rows: no Elementor default gap under each widget. */
.advh-topbar .elementor-widget:not(:last-child),
.advh-main .elementor-widget:not(:last-child),
.advf-bottom .elementor-widget:not(:last-child) {
	margin-bottom: 0;
}

/* ---------- Top bar ---------- */
.advh-topbar .elementor-widget-wrap {
	align-items: center;
}
.advh-topbar .ct-icon1,
.advf-social .ct-icon1 {
	display: flex;
	gap: 8px;
}
.advh-topbar .ct-icon1 a,
.advf-social .ct-icon1 a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 24px;
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	line-height: 1;
	transition: opacity 0.2s ease;
}
.advf-social .ct-icon1 a {
	height: 32px;
}
.advh-topbar .ct-icon1 a::before,
.advh-topbar .ct-icon1 a::after,
.advf-social .ct-icon1 a::before,
.advf-social .ct-icon1 a::after {
	content: none;
}
.advh-topbar .ct-icon1 a:hover,
.advf-social .ct-icon1 a:hover {
	background: none;
	opacity: 0.7;
}
.advh-topbar .ct-icon1 svg,
.advf-social .ct-icon1 svg {
	flex: none;
}
.advh-phone .elementor-icon-list-item > a {
	padding: 4px 16px;
	font-family: var(--advh-font);
}
.advh-phone .elementor-icon-list-icon svg {
	transform: scaleX(-1); /* Figma flips the phone glyph */
}

/* ---------- Main bar ---------- */
.advh-main .elementor-widget-wrap {
	align-items: center;
	flex-wrap: nowrap;
}
.advh-main .elementor-widget-ct_logo .elementor-widget-container,
.advh-main .elementor-widget-ct_logo a {
	display: block;
	line-height: 0;
}
.advh-main .elementor-widget-ct_logo img {
	display: block;
	width: auto;
	height: 46px;
	max-height: 46px;
}
.advh-menu .ct-main-menu {
	display: flex;
	gap: 12px; /* Figma: 12px between items */
}
.advh-menu .ct-main-menu > li {
	margin: 0;
}
.advh-menu .ct-main-menu > li > a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 8px 16px;
	font-family: var(--advh-font);
	line-height: 18px;
}
.advh-menu .ct-main-menu > li > a::before {
	content: none;
}
/* Chevron next to "Услуги" (Figma bi:chevron-down) */
.advh-menu .ct-main-menu > li.menu-item-has-children > a::after {
	content: "";
	position: static;
	display: block;
	width: 16px;
	height: 16px;
	margin: 0;
	border: 0;
	transform: none;
	background: currentColor;
	-webkit-mask: url("../img/layout/chevron-down.svg") center / 16px 16px no-repeat;
	mask: url("../img/layout/chevron-down.svg") center / 16px 16px no-repeat;
	font-size: 0;
	transition: transform 0.2s ease;
}
.advh-menu .ct-main-menu > li.menu-item-has-children:hover > a::after {
	transform: rotate(180deg);
}
.advh-cta .btn {
	min-height: 46px;
	font-family: var(--advh-font);
	line-height: 18px;
	box-shadow: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}
.advh-cta .btn::before,
.advh-cta .btn::after {
	content: none;
}
.advh-main--sticky {
	box-shadow: 0 1px 0 #e0e0e0;
}

/* ---------- Footer ---------- */
.advf-main,
.advf-bottom {
	font-family: var(--advh-font);
}
.advf-main .elementor-widget-wrap {
	align-content: flex-start;
}
.advf-main .elementor-widget:not(:last-child) {
	margin-bottom: 0;
}
.advf-main .elementor-widget-ct_logo .elementor-widget-container,
.advf-main .elementor-widget-ct_logo a {
	display: block;
	line-height: 0;
}
.advf-main .elementor-widget-ct_logo img {
	display: block;
	width: auto;
	height: 70px;
}
.advf-about p {
	margin: 0;
	max-width: 341px;
}
.advf-about p + p {
	margin-top: 16px;
}
.advf-about a {
	color: #f5f3f2;
	font-family: var(--advh-font);
}
.advf-about a:hover {
	color: #fff;
}
.advf-heading .elementor-heading-title {
	margin: 0 0 32px;
	font-family: var(--advh-font);
}
.advf-links .ct-link-items {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.advf-links .ct-link-items li {
	margin: 0 !important;
	padding: 0;
	border: 0;
	line-height: 16px;
}
.advf-links .ct-link-items a {
	display: inline;
	padding: 0;
	font-family: var(--advh-font);
	line-height: 16px;
	transition: color 0.2s ease;
}
.advf-links .ct-link-items a::before,
.advf-links .ct-link-items a::after {
	content: none;
}

.advf-bottom__row > .elementor-widget-wrap {
	align-items: center;
	padding-top: 40px !important;
	border-top: 0.3px solid #e0e0e0; /* Figma "Line 1": 0.3px #E0E0E0 */
}
.advf-copy p {
	margin: 0;
	font-family: var(--advh-font);
}

@media (max-width: 1024px) {
	.advf-brand {
		width: 100% !important;
	}
}
@media (max-width: 767px) {
	.advf-bottom__row > .elementor-widget-wrap {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
		padding-top: 24px !important;
	}
}

/* ---------- Mobile header (theme, below 1200px) ---------- */
.ct-header-mobile #ct-header {
	background: #fff;
	box-shadow: 0 1px 0 #e0e0e0;
}
.ct-header-mobile .logo-mobile img,
.ct-header-mobile .ct-logo-mobile img {
	width: auto;
	height: 40px;
	max-height: 40px;
}
