/* Отзывы: «Show more / Show Less» белым 80%, при наведении 90% */
.fix-review-link-colors .toggle-links button {
	color: rgba(255, 255, 255, 0.8) !important;
}
.fix-review-link-colors .toggle-links button:hover,
.fix-review-link-colors .toggle-links button:focus-visible {
	color: rgba(255, 255, 255, 0.9) !important;
}

/* Выпадающие меню в шапке (десктоп): белый 80% с размытием */
.l-header .w-nav.type_desktop .w-nav-list.level_2 {
	background: rgba(255, 255, 255, 0.8) !important;
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
}

/* Размытие шапки — на отдельном слое .sag-hblur, который добавляет скрипт из functions.php; работает во всех
   состояниях, в т.ч. у прозрачной шапки главной (#1098) вверху страницы. Размытие из Custom CSS темы
   (header.sticky, header:not(.id_1098)) с самой шапки снимаем. Если backdrop-filter стоит на самой шапке, вложенное выпадающее
   меню размывает только шапку, а не страницу. На ::before размытие в Chrome не работает — нужен настоящий элемент. */
header.l-header.has-sag-hblur {
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
}
header.l-header > .sag-hblur {
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	-webkit-backdrop-filter: blur(20px);
	backdrop-filter: blur(20px);
}
/* Первый экран без видимого фото (фото закрыто плотной подложкой или его нет) — вверху страницы шапка без размытия */
header.l-header.sag-no-hero:not(.sticky) > .sag-hblur {
	display: none;
}
/* Мегаменю: ссылки при наведении — фирменный красный (цвет и жирность задаются в блоках «Menu // services»).
   Класс колонки new-menu-links-fix в меню не выводится, поэтому привязка к выпадашке шапки. */
.l-header .w-nav-list.level_2 .link-hover-fix > a {
	transition: color 0.2s;
}
.l-header .w-nav-list.level_2 .link-hover-fix > a:hover,
.l-header .w-nav-list.level_2 .link-hover-fix > a:focus-visible {
	color: var(--color-content-primary) !important;
}

/* Мегаменю: вложенные пункты (красные) при наведении — синие */
.l-header .w-nav-list.level_2 .link-hover-fix.menu-sub-link > a:hover,
.l-header .w-nav-list.level_2 .link-hover-fix.menu-sub-link > a:focus-visible {
	color: var(--color-content-secondary) !important;
}

/* Мегаменю в мобильном меню: колонки-блоки идут друг под другом — отступ между ними.
   .menu-continuation — продолжение списка из предыдущей колонки (Companies: фризоны), его пристыковываем без зазора. */
.l-header .w-nav.type_mobile .w-nav-list.level_2 > .menu-item-object-us_page_block + .menu-item-object-us_page_block {
	margin-top: 15px;
}
.l-header .w-nav.type_mobile .w-nav-list.level_2 > .menu-item-object-us_page_block + .menu-item-object-us_page_block:has(.menu-continuation) {
	margin-top: 0;
}
.l-header .w-nav.type_mobile .w-vwrapper.menu-continuation {
	margin-top: 0 !important;
	padding-top: 0.4rem !important;
}

/* Сертификаты (сетка #1109): картинка заполняет плитку по ширине и прижата к верху —
   у вертикальных документов скрывается только низ */
.w-grid.layout_1109 .post_image img {
	object-position: center top;
}

/* Сайдбар «Other services» / «Other articles» (макет сетки #488): заголовок всегда в одну строку, лишнее — за многоточием */
.w-grid.layout_488 .w-grid-item-h,
.w-grid.layout_488 .w-vwrapper {
	min-width: 0;
}
.w-grid.layout_488 .post_title {
	max-width: 100%;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.sag-strategy-photo img {
	filter: grayscale(1);
}

/* Колонка-ссылка (has-link) накрывает всю карточку прозрачной ссылкой .vc_column-link —
   ссылки внутри карточки поднимаем над ней, чтобы они вели на свои страницы */
.wpb_column.has-link .vc_column-inner a:not(.vc_column-link) {
	position: relative;
	z-index: 2;
}

/* Контакты (page-id-337): слайдер фото в правой колонке всегда по высоте левого блока.
   Колонка тянется equal_height, слайдер абсолютно занимает её целиком, фото — cover. Только десктоп. */
@media (min-width: 1025px) {
	.page-id-337 .g-cols.equal_height > .wpb_column:has(> .vc_column-inner > .w-grid.type_carousel:only-child) { position: relative; }
	.page-id-337 .g-cols.equal_height > .wpb_column:has(> .vc_column-inner > .w-grid.type_carousel:only-child) > .vc_column-inner { position: absolute; inset: 0; }
	.page-id-337 .g-cols.equal_height > .wpb_column > .vc_column-inner > .w-grid.type_carousel:only-child { height: 100%; }
	.page-id-337 .g-cols.equal_height > .wpb_column > .vc_column-inner > .w-grid.type_carousel:only-child .owl-carousel { margin: 0 !important; }
	.page-id-337 .g-cols.equal_height > .wpb_column > .vc_column-inner > .w-grid.type_carousel:only-child :is(.owl-carousel, .owl-stage-outer, .owl-stage, .owl-item, .w-grid-item, .w-grid-item-h, .post_image) { height: 100% !important; }
	.page-id-337 .g-cols.equal_height > .wpb_column > .vc_column-inner > .w-grid.type_carousel:only-child .w-grid-item { padding: 0 !important; }
	.page-id-337 .g-cols.equal_height > .wpb_column > .vc_column-inner > .w-grid.type_carousel:only-child .w-grid-item-h { padding-bottom: 0 !important; }
	.page-id-337 .g-cols.equal_height > .wpb_column > .vc_column-inner > .w-grid.type_carousel:only-child :is(.w-grid-item-h, .post_image, .post_image img) { aspect-ratio: auto !important; width: 100% !important; }
	.page-id-337 .g-cols.equal_height > .wpb_column > .vc_column-inner > .w-grid.type_carousel:only-child .post_image img { width: 100% !important; height: 100% !important; max-width: none; object-fit: cover; }
}

/* FR: подписи пунктов главного меню длиннее — уменьшаем только боковые отступы, шрифт и интервал как у остальных языков */
html[lang^="fr"] .l-header .ush_menu_1 .w-nav-anchor.level_1 {
	padding-left: 10px !important;
	padding-right: 10px !important;
}

/* Отзывы (макет #1088): кнопка «Show on Google Maps» — ширина по содержимому, текст в одну строку на всех языках */
.w-grid-item .usg_hwrapper_2.has-link {
	width: auto !important;
	max-width: 100%;
}
.w-grid-item .usg_hwrapper_2.has-link .usg_text_2 {
	white-space: nowrap;
}

/* Отзывы (макет #1088): имя автора всегда в одну строку, лишнее — многоточием; рейтинг справа не сжимается */
.layout_1088 .usg_hwrapper_1 {
	flex-wrap: nowrap !important;
}
.layout_1088 .usg_hwrapper_1 > .usg_post_title_1 {
	flex: 1 1 auto;
	min-width: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.layout_1088 .usg_hwrapper_1 > .usg_post_title_1 a {
	white-space: nowrap;
}
.layout_1088 .usg_hwrapper_1 > .usg_text_1 {
	flex: 0 0 auto;
}

/* Сертификаты (сетка #1109) на мобильном: одна горизонтальная лента со свайпом вправо вместо сетки 2×3.
   Видно полтора сертификата — понятно, что дальше листается. Лента доходит до правого края экрана. */
@media (max-width: 767px) {
	.w-grid.layout_1109 > .w-grid-list {
		display: flex !important;
		flex-wrap: nowrap !important;
		grid-template-columns: none !important;
		gap: 12px !important;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		margin-right: -5vmin;
		padding-bottom: 4px;
	}
	.w-grid.layout_1109 > .w-grid-list::-webkit-scrollbar {
		display: none;
	}
	.w-grid.layout_1109 > .w-grid-list > .w-grid-item {
		flex: 0 0 62% !important;
		max-width: 62% !important;
		width: 62% !important;
		scroll-snap-align: start;
	}
	.w-grid.layout_1109 > .w-grid-list > .w-grid-item:last-child {
		margin-right: 5vmin;
	}
}

/* Мобильное меню: переключатель языков флажками (пункт .sag-mlang добавляет mu-plugin sag-i18n.php).
   На десктопе скрыт — там есть свой переключатель в шапке. */
.l-header .w-nav.type_desktop .sag-mlang {
	display: none !important;
}
.l-header .w-nav.type_mobile .sag-mlang {
	display: block !important;
	margin-top: 22px;
	padding-top: 18px;
	border-top: 1px solid rgba(0, 0, 0, 0.12);
}
.sag-mlang-row {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.sag-mlang-item {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 7px 8px;
	border-radius: 8px;
	background: rgba(0, 0, 0, 0.04);
	color: var(--color-content-text) !important;
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none !important;
}
.sag-mlang-item.is-active {
	background: var(--color-content-secondary);
	color: #fff !important;
}
.sag-mlang-flag {
	font-size: 16px;
	line-height: 1;
}

/* Языковой переключатель (десктоп): выпадающий список по ширине содержимого, не уже самой кнопки */
@media (min-width: 1025px) {
	.l-header .w-nav-item.level_1[class*="sag-lang-"] > .w-nav-list.level_2 {
		min-width: 100% !important;
		width: max-content !important;
		right: auto !important;
		padding: 4px !important;
	}
	.l-header .w-nav-item.level_1[class*="sag-lang-"] > .w-nav-list.level_2 > .w-nav-item > .w-nav-anchor {
		padding: 6px 14px 6px 10px !important;
		letter-spacing: 0 !important;
		white-space: nowrap;
	}
}

/* Подвал: подпись типа телефона справа от номера */
.w-text.sag-tel .w-text-value br { display: none; }
.w-text.sag-tel .w-text-value small { margin-left: .5em; font-size: .75em; opacity: .65; white-space: nowrap; }

/* Шапка вверху страницы на разделах услуг/компаний/банков/юрисдикций — синяя подложка (класс из functions.php).
   Заменяет отдельный хедер #22, который отличался только этим цветом. */
body.sag-header-tint .l-header.bg_transparent:not(.sticky) .l-subheader.at_top,
body.sag-header-tint .l-header.bg_transparent:not(.sticky) .l-subheader.at_middle {
	background: rgba(10, 55, 95, 0.85);
	color: #fff;
}

/* CF7: сноска «* обязательные поля» под полями формы */
.wpcf7 .sag-req-note { margin: 0 0 10px; font-size: 13px; line-height: 1.4; opacity: .65; }
