/*
 * Совместимость со старым контентом Total + WPBakery.
 * Размеры и цвета сняты с сайта на Total 6.5 (вычисленные стили).
 */

:root {
	--smx-c-container: var(--smx-container-width, min(1200px, 90vw));
	--smx-c-border: #eee;
	--smx-c-surface: #f7f7f7;
	--smx-c-muted: #757575;
	--smx-c-heading: #222;
}

/* ---------- Строки и колонки WPBakery ---------- */

/* Отступы как в Total: у колонки нет отступа сверху, снизу 40px; текстовые блоки без нижнего отступа.
   Строки не получают отступ блочного макета (blockGap). */
.wp-block-post-content > :is(.vc_row, .vc_row-full-width) {
	margin-block-start: 0;
}
.wp-block-post-content .vc_row.wpb_row > .vc_column_container > .vc_column-inner {
	padding-top: 0;
	margin-bottom: 40px;
}
.wp-block-post-content .wpb_text_column,
.wp-block-post-content .wpb_text_column > .wpb_wrapper > :last-child {
	margin-bottom: 0;
}
.wp-block-post-content .wpb_text_column img,
.wp-block-post-content .wpb_single_image img {
	vertical-align: middle;
}

/* Полноэкранный макет: строки, как в Total, с полями −15px (лишнее обрезает overflow у страницы);
   center_row выравнивает содержимое по контейнеру сайта. Ширина строки = 100% + 30px. */
.smx-layout-full-screen .wp-block-post-content > .vc_row.smx-center-row {
	padding-left: max(0px, calc((100% - 30px - var(--smx-c-container)) / 2));
	padding-right: max(0px, calc((100% - 30px - var(--smx-c-container)) / 2));
}

/* column_spacing */
.vc_row.smx-has-gap {
	margin-left: calc(var(--smx-col-gap) / -2);
	margin-right: calc(var(--smx-col-gap) / -2);
}
.vc_row.smx-has-gap > .wpb_column > .vc_column-inner {
	padding-left: calc(var(--smx-col-gap) / 2);
	padding-right: calc(var(--smx-col-gap) / 2);
}
.wpb_column.smx-has-padding > .vc_column-inner {
	padding-left: var(--smx-padding-left, 15px);
	padding-right: var(--smx-padding-right, 15px);
}

.vc_row.smx-bg-cover {
	background-size: cover !important;
	background-position: center !important;
}

.vc_row.smx-match-height {
	display: flex;
	flex-wrap: wrap;
}
.vc_row.smx-match-height::before,
.vc_row.smx-match-height::after {
	display: none;
}
.vc_row.smx-match-height > .wpb_column {
	display: flex;
}
.vc_row.smx-match-height > .wpb_column > .vc_column-inner {
	width: 100%;
}

@media (max-width: 959px) {
	.vc_row.smx-tablet-fullwidth-cols > .wpb_column {
		width: 100%;
		float: none;
	}
	.smx-visible-desktop {
		display: none !important;
	}
}
@media (min-width: 960px) {
	.smx-hidden-desktop {
		display: none !important;
	}
}

/* Видеофон и затемнение */
.vc_row.smx-has-bg-layer {
	position: relative;
	overflow: hidden;
}
.vc_row.smx-has-bg-layer > :not(.smx-video-bg):not(.smx-bg-overlay) {
	position: relative;
	z-index: 1;
}
.smx-video-bg,
.smx-bg-overlay {
	position: absolute;
	inset: 0;
	pointer-events: none;
}
.smx-video-bg video {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.smx-bg-overlay {
	opacity: .6;
}
.smx-bg-overlay.is-dotted {
	opacity: 1;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='3' height='3'%3E%3Crect width='1' height='1' fill='%23000' fill-opacity='.6'/%3E%3C/svg%3E");
}

/* Светлая и белая типографика на тёмном фоне */
.typography-light {
	color: rgba(255, 255, 255, .8);
}
.typography-white {
	color: #fff;
}
:is(.typography-light, .typography-white) :is(h1, h2, h3, h4, h5, h6, a, .smx-c-icon-box__heading) {
	color: inherit;
}
:is(.typography-light, .typography-white) p > a {
	text-decoration: underline;
}

/* ---------- Иконки (Font Awesome из WPBakery) ---------- */
.smx-c-icon-box i.fa,
.smx-c-button i.fa {
	line-height: 1;
}

/* ---------- vcex_icon_box ---------- */
.smx-c-icon-box {
	margin-bottom: 0;
}
.smx-c-icon-box--one {
	display: flex;
	text-align: left;
}
.smx-c-icon-box--one .smx-c-icon-box__icon {
	flex-shrink: 0;
	align-self: flex-start;
	margin-right: 20px;
}
.smx-c-icon-box--seven {
	display: flex;
	flex-direction: row-reverse;
	text-align: right;
}
.smx-c-icon-box--seven .smx-c-icon-box__icon {
	flex-shrink: 0;
	align-self: flex-start;
	margin-left: 20px;
}
.smx-c-icon-box--two {
	text-align: center;
}
.smx-c-icon-box--two .smx-c-icon-box__icon {
	margin-bottom: 20px;
}
.smx-c-icon-box__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 32px;
	line-height: 1;
	color: var(--smx-c-heading);
}
.smx-c-icon-box__icon.has-background {
	padding: 15px;
}
.smx-c-icon-box__text {
	flex-grow: 1;
	min-width: 0;
}
.smx-c-icon-box__heading {
	margin: 0 0 10px;
	font-size: 1.077em;
	font-weight: 600;
	line-height: 1.375;
	color: var(--smx-c-heading);
}
.smx-c-icon-box__heading a {
	color: inherit;
	text-decoration: none;
}
.smx-c-icon-box__content > :last-child {
	margin-bottom: 0;
}
a.smx-c-icon-box.is-linked {
	color: inherit;
	text-decoration: none;
}
.smx-c-icon-box.has-text-align-center {
	text-align: center;
}

/* ---------- vcex_milestone ---------- */
.smx-c-milestone {
	text-align: center;
	color: #9e9e9e;
}
.smx-c-milestone__number {
	font-size: 3em;
	font-weight: 600;
	line-height: 1;
}
.smx-c-milestone__caption {
	margin-top: 5px;
	font-weight: 300;
}
.smx-c-milestone a {
	color: inherit;
	text-decoration: none;
}

/* ---------- vcex_button ---------- */
.smx-c-button-wrap {
	margin-bottom: 0;
}
.smx-c-button {
	--smx-btn: var(--wp--preset--color--smx-button, #ff9900);
	--smx-btn-alt: var(--wp--preset--color--smx-button-hover, #e68a00);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5em;
	max-width: 100%;
	padding: 7px 37px 6px;
	font-size: 1em;
	line-height: 1.65;
	text-align: center;
	text-decoration: none;
	color: #fff;
	background: var(--smx-btn);
	border-radius: 0;
	transition: background-color .15s, color .15s;
}
.smx-c-button:hover,
.smx-c-button:focus-visible {
	color: #fff;
	background: var(--smx-btn-alt);
}
.smx-c-button.is-size-small { font-size: .923em; }
.smx-c-button.is-size-medium { font-size: 1.077em; }
.smx-c-button.is-size-large { font-size: 1.385em; }
.smx-c-button.is-style-outline {
	color: var(--smx-btn);
	background: transparent;
	border: 3px solid currentColor;
	font-weight: 600;
}
.smx-c-button.is-style-outline:hover,
.smx-c-button.is-style-outline:focus-visible {
	color: #fff;
	background: var(--smx-btn);
	border-color: var(--smx-btn);
}
.smx-c-button.is-style-minimal-border {
	color: var(--smx-c-muted);
	background: transparent;
	border: 1px solid var(--smx-c-border);
}
.smx-c-button.is-color-red { --smx-btn: #f73936; --smx-btn-alt: #bf0a08; }
.smx-c-button.is-color-grey { --smx-btn: #bdbdbd; --smx-btn-alt: #9e9e9e; }
.smx-c-button.is-color-green { --smx-btn: #87bf17; --smx-btn-alt: #679212; }
.smx-c-button.is-color-blue { --smx-btn: #4a97c2; --smx-btn-alt: #327397; }
.smx-c-button.is-color-black { --smx-btn: #000; --smx-btn-alt: #333; }
.smx-c-button.is-color-orange { --smx-btn: #ee7836; --smx-btn-alt: #cf5511; }
.smx-c-button.is-color-purple { --smx-btn: #9a5e9a; --smx-btn-alt: #653e65; }
.smx-c-button.is-color-gold { --smx-btn: #ffaa33; --smx-btn-alt: #ff9500; }
.smx-c-button.is-color-teal { --smx-btn: #00b3b3; --smx-btn-alt: #006f6f; }
.smx-c-button.is-color-pink { --smx-btn: #f261c2; --smx-btn-alt: #bc0f83; }
.smx-c-button.is-color-rosy { --smx-btn: #ea2487; --smx-btn-alt: #b81265; }
.smx-c-button.is-color-white { --smx-btn: #fff; --smx-btn-alt: #eee; color: #000; }
.smx-c-button-wrap.is-expanded .smx-c-button {
	display: flex;
	width: 100%;
}

/* ---------- vcex_navbar ---------- */
.smx-c-navbar {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}
.smx-c-navbar.has-text-align-center { justify-content: center; }
.smx-c-navbar.has-text-align-right { justify-content: flex-end; }
.smx-c-navbar__link {
	display: inline-block;
	padding: 7px 37px 6px;
	line-height: 1.65;
	color: var(--smx-c-muted);
	text-decoration: none;
	border: 1px solid var(--smx-c-border);
	transition: background-color .15s, color .15s;
}
.smx-c-navbar__link:hover,
.smx-c-navbar__link.is-active {
	color: #191919;
	background: var(--smx-c-surface);
}

/* ---------- vcex_heading ---------- */
.smx-c-heading {
	margin-top: 0;
}

/* ---------- vcex_feature_box ---------- */
.smx-c-feature-box {
	display: flex;
	align-items: center;
	gap: 40px;
}
.smx-c-feature-box.is-reversed {
	flex-direction: row-reverse;
}
.smx-c-feature-box__media {
	flex: 0 0 var(--smx-media-width, 40%);
	max-width: var(--smx-media-width, 40%);
}
.smx-c-feature-box__media img {
	display: block;
	width: 100%;
	height: auto;
}
.smx-c-feature-box__link {
	position: relative;
	display: block;
}
.smx-c-feature-box__link.is-video::after {
	content: "";
	position: absolute;
	inset: 50% auto auto 50%;
	width: 64px;
	height: 64px;
	margin: -32px 0 0 -32px;
	border-radius: 50%;
	background: rgba(0, 0, 0, .6) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M8 5v14l11-7z'/%3E%3C/svg%3E") center / 32px no-repeat;
	transition: background-color .15s;
}
.smx-c-feature-box__link.is-video:hover::after {
	background-color: rgba(0, 0, 0, .85);
}
.smx-c-feature-box__content {
	flex: 1;
	min-width: 0;
}
.smx-c-feature-box__heading {
	margin: 0 0 15px;
	font-size: 1.231em;
}
@media (max-width: 767px) {
	.smx-c-feature-box,
	.smx-c-feature-box.is-reversed {
		flex-direction: column;
		gap: 20px;
	}
	.smx-c-feature-box__media {
		max-width: 100%;
		flex-basis: auto;
		width: 100%;
	}
}

/* ---------- Слайдеры ---------- */
.smx-c-slider {
	position: relative;
}
.smx-c-slider__slide:not(.is-active) {
	display: none;
}
.smx-c-slider.is-fade .smx-c-slider__track {
	display: grid;
}
.smx-c-slider.is-fade .smx-c-slider__slide {
	display: block;
	grid-area: 1 / 1;
	opacity: 0;
	visibility: hidden;
	transition: opacity 1s, visibility 1s;
}
.smx-c-slider.is-fade .smx-c-slider__slide.is-active {
	opacity: 1;
	visibility: visible;
}
.smx-c-slider img {
	display: block;
	width: 100%;
	height: auto;
}
.smx-c-slider__arrow {
	position: absolute;
	top: 50%;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	margin-top: -25px;
	padding: 0;
	font-size: 24px;
	color: #bdbdbd;
	background: none;
	border: 0;
	cursor: pointer;
}
.smx-c-slider__arrow:hover {
	color: #757575;
}
.smx-c-slider__arrow.is-prev { left: 0; }
.smx-c-slider__arrow.is-next { right: 0; }
.smx-c-slider__dots {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 15px;
}
.smx-c-slider__dot {
	width: 10px;
	height: 10px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #ddd;
	cursor: pointer;
}
.smx-c-slider__dot.is-active {
	background: var(--wp--preset--color--smx-accent, #3b86b0);
}
.smx-c-slider__caption {
	position: absolute;
	left: 10%;
	bottom: 10%;
	max-width: 80%;
	padding: 9px 25px 20px;
	color: #fff;
	background: rgba(0, 0, 0, .7);
}
.smx-c-slider__caption > :last-child {
	margin-bottom: 0;
}

/* Фотослайдер: точки поверх картинки, слева сверху */
.smx-c-image-slider .smx-c-slider__slide {
	position: relative;
}
.smx-c-image-slider .smx-c-slider__dots {
	position: absolute;
	top: 15px;
	left: 15px;
	z-index: 2;
	gap: 4px;
	margin: 0;
}
.smx-c-image-slider .smx-c-slider__dot {
	width: 10px;
	height: 10px;
	background: transparent;
	border: 1px solid #fff;
}
.smx-c-image-slider .smx-c-slider__dot.is-active {
	background: #fff;
}
.smx-c-image-slider .smx-c-slider__arrow {
	color: #fff;
	opacity: .8;
}

/* Слайдер отзывов */
.smx-c-testimonials {
	padding: 0 100px;
	text-align: center;
}
.smx-c-testimonial__text > :last-child {
	margin-bottom: 0;
}
.smx-c-testimonial__author {
	margin-top: 5px;
}
.smx-c-testimonial__company {
	display: block;
	font-size: .923em;
	color: var(--smx-c-muted);
}
@media (max-width: 767px) {
	.smx-c-testimonials {
		padding: 0 40px;
	}
}

/* ---------- Сетки картинок, участников, записей ---------- */
.smx-c-image-grid,
.smx-c-staff-grid,
.smx-c-post-grid {
	display: grid;
	grid-template-columns: repeat(var(--smx-cols, 4), minmax(0, 1fr));
	gap: var(--smx-gap, 20px);
}
.smx-c-image-grid__item {
	margin: 0;
	overflow: hidden;
}
.smx-c-image-grid__item img,
.smx-c-staff-card__media img,
.smx-c-post-tile img {
	display: block;
	width: 100%;
	height: auto;
	transition: transform .3s ease;
}
.smx-c-image-grid__item:hover img {
	transform: scale(1.15);
}
.smx-c-staff-card__media {
	display: block;
}
.smx-c-staff-card__title {
	margin: 15px 0 0;
	font-size: 1.077em;
	font-weight: 600;
	line-height: 1.375;
	color: var(--smx-c-heading);
}
.smx-c-staff-card__title a {
	color: inherit;
	text-decoration: none;
}
.smx-c-post-tile a {
	position: relative;
	display: block;
	overflow: hidden;
	color: #fff;
	text-decoration: none;
}
.smx-c-post-tile__title {
	position: absolute;
	inset: auto 0 0;
	padding: 15px 20px;
	font-weight: 600;
	background: linear-gradient(transparent, rgba(0, 0, 0, .8));
}
@media (max-width: 1024px) {
	.smx-c-staff-grid,
	.smx-c-image-grid { --smx-cols-max: 4; grid-template-columns: repeat(min(var(--smx-cols, 4), 4), minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.smx-c-staff-grid,
	.smx-c-image-grid,
	.smx-c-post-grid { grid-template-columns: repeat(min(var(--smx-cols, 4), 3), minmax(0, 1fr)); --smx-gap: 15px; }
}
@media (max-width: 479px) {
	.smx-c-staff-grid,
	.smx-c-image-grid,
	.smx-c-post-grid { grid-template-columns: repeat(min(var(--smx-cols, 4), 2), minmax(0, 1fr)); }
}

/* ---------- Соцсети (staff_social, vcex_social_links) ---------- */
.smx-c-social {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	margin-top: 15px;
	font-size: 25px;
}
.smx-c-social.has-text-align-center {
	justify-content: center;
}
.smx-c-social__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.846em;
	height: 1.846em;
	text-decoration: none;
	transition: color .15s, background-color .15s, opacity .15s;
}
.smx-c-social__link .smx-icon {
	width: .8em;
	height: .8em;
}
.smx-c-social--minimal .smx-c-social__link {
	color: var(--smx-c-muted);
	border: 1px solid var(--smx-c-border);
}
.smx-c-social--minimal .smx-c-social__link--vk:hover { color: #55779b; }
.smx-c-social--minimal .smx-c-social__link--facebook:hover { color: #3b5998; }
.smx-c-social--minimal .smx-c-social__link--twitter:hover { color: #1da1f2; }
.smx-c-social--minimal .smx-c-social__link--instagram:hover { color: #305777; }
.smx-c-social--minimal .smx-c-social__link--website:hover { color: #191919; }
.smx-c-social--flat-color .smx-c-social__link { color: #fff; background: #aaa; }
.smx-c-social--flat-color .smx-c-social__link:hover { opacity: .6; }
.smx-c-social--flat-color .smx-c-social__link--vk { background: #55779b; }
.smx-c-social--flat-color .smx-c-social__link--youtube { background: #c4302b; }
.smx-c-social--flat-color .smx-c-social__link--instagram { background: #305777; }
.smx-c-social--flat-color .smx-c-social__link--twitter { background: #1da1f2; }
.smx-c-social--flat-color .smx-c-social__link--facebook { background: #3b5998; }
.smx-c-social--flat-color .smx-c-social__link--rss { background: #ff7900; }

/* ---------- Видео во всплывающем окне ---------- */
.smx-c-lightbox {
	width: min(1280px, 92vw);
	max-width: none;
	padding: 0;
	border: 0;
	background: #000;
	overflow: visible;
}
.smx-c-lightbox::backdrop {
	background: rgba(0, 0, 0, .9);
}
.smx-c-lightbox iframe {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	border: 0;
}
.smx-c-lightbox__close {
	position: absolute;
	top: -44px;
	right: 0;
	width: 40px;
	height: 40px;
	padding: 0;
	font-size: 28px;
	line-height: 1;
	color: #fff;
	background: none;
	border: 0;
	cursor: pointer;
}
