/* Внутренние страницы: единый вид с главной (заголовок страницы, объект, новости, формы, обычные тексты).
 * Действует под классом body.ug-skin, отключается вместе с оформлением.
 */

/* ---------- Полоса с заголовком страницы: у всех страниц одинаковая ---------- */
body.ug-skin .mh-top-title {
	position: relative;
	height: auto !important;
	min-height: 0 !important;
	padding: 30px 16px 28px !important;
	background: linear-gradient(135deg, #0e2159 0%, #1b3a8c 55%, #1d63e0 100%) !important;
	text-align: left;
	overflow: hidden;
}
body.ug-skin .mh-top-title:before { content: ""; position: absolute; right: -80px; top: -120px; width: 420px; height: 420px; border-radius: 50%; background: radial-gradient(circle, rgba(255, 255, 255, .16), rgba(255, 255, 255, 0) 70%); pointer-events: none; }
body.ug-skin .mh-top-title > picture { display: none !important; }
body.ug-skin .mh-top-title__heading {
	position: relative;
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 15px;
	box-sizing: border-box;
	font: 700 32px/1.2 var(--ug-font);
	text-transform: none;
	text-align: left;
	color: #fff;
}
body.ug-skin .mh-top-title__subheading { max-width: 1140px; margin: 8px auto 0; padding: 0 15px; box-sizing: border-box; color: rgba(255, 255, 255, .85); text-align: left; }
body.ug-skin .mh-top-title--single-estate .mh-layout { position: relative; max-width: 1140px; margin: 0 auto; text-align: left; }
body.ug-skin .mh-top-title--single-estate .mh-top-title__heading { padding: 0; font-size: 28px; }
body.ug-skin .mh-top-title--single-estate .small-text { margin-top: 8px; font-size: 14px; color: rgba(255, 255, 255, .82); text-align: left; }
body.ug-skin .mh-top-title--single-estate .small-text a, body.ug-skin .mh-top-title--single-estate .small-text i { color: #fff; }

/* ---------- Хлебные крошки ---------- */
body.ug-skin .mh-breadcrumbs-wrapper { background: #fff; border-bottom: 1px solid var(--ug-line); }
body.ug-skin .mh-breadcrumbs { padding: 10px 0; font-size: 13px; }
body.ug-skin .mh-breadcrumbs, body.ug-skin .mh-breadcrumbs a { color: var(--ug-muted); }
body.ug-skin .mh-breadcrumbs a:hover { color: var(--ug-blue); }
body.ug-skin .mh-breadcrumbs__back { font-weight: 600; color: var(--ug-blue) !important; }

/* ---------- Страница объекта ---------- */
body.ug-skin .mh-estate__section { margin-bottom: 20px; padding: 20px 22px; border: 1px solid var(--ug-line); border-radius: 16px; background: #fff; }
body.ug-skin .mh-estate__section__heading, body.ug-skin .mh-estate__related .mh-estate__section__heading { margin: 0 0 14px; font: 700 22px/1.25 var(--ug-font); text-align: left; text-transform: none; color: var(--ug-ink); }
body.ug-skin #mh_rev_gallery_single_wrapper { border-radius: 16px; overflow: hidden; }
body.ug-skin .mh-estate__section--attributes { background: var(--ug-bg); border-color: transparent; }
body.ug-skin .mh-estate__list__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; margin: 0; padding: 0; list-style: none; }
body.ug-skin .mh-estate__list__element { width: auto !important; float: none !important; box-sizing: border-box; display: flex; justify-content: space-between; gap: 12px; margin: 0; padding: 9px 0; border-bottom: 1px solid #e0e6f1; font-size: 15px; color: var(--ug-ink); }
body.ug-skin .mh-estate__list__element strong { flex: 0 0 auto; font-weight: 400; color: var(--ug-muted); }
body.ug-skin .mh-estate__list__element a { color: var(--ug-ink); font-weight: 600; text-decoration: none; text-align: right; }
body.ug-skin .mh-estate__list__element a:hover { color: var(--ug-blue); }
body.ug-skin .mh-estate__list__element .fa-external-link { display: none; }
body.ug-skin .mh-estate__section--description { color: #2b3550; }
body.ug-skin .mh-estate__section--description .public-DraftStyleDefault-block, body.ug-skin .mh-estate__section--description li { font-size: 16px; line-height: 1.65; color: #2b3550; }
body.ug-skin .mh-estate__estate-info { margin: 0 0 20px; color: var(--ug-muted); font-size: 13px; }
body.ug-skin .mh-estate__estate-info ul { display: flex; flex-wrap: wrap; gap: 4px 18px; margin: 0; padding: 0; list-style: none; }

/* Похожие объекты: ровная сетка */
body.ug-skin .mh-estate__related .mh-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 1fr; gap: 16px; margin: 0; }
body.ug-skin .mh-estate__related .mh-grid::before, body.ug-skin .mh-estate__related .mh-grid::after { display: none !important; content: none !important; }
body.ug-skin .mh-estate__related .mh-grid > [class*="mh-grid__"] { width: auto !important; flex: none !important; margin: 0 !important; padding: 0 !important; }
body.ug-skin .mh-estate__related .mh-grid > [class*="mh-grid__"]:nth-child(n+5) { display: none; }

/* Правая колонка: колонка тянется на всю высоту страницы, чтобы блок «цена и связь» оставался на экране при прокрутке */
@media (min-width: 1001px) {
	body.ug-skin .mh-layout.position-relative:has(> .mh-layout__content-left) { display: flex; align-items: stretch; justify-content: space-between; }
}
body.ug-skin .mh-display-desktop .mh-estate__details__price, body.ug-skin .mh-display-desktop .mh-estate__details__phone { display: none; }
body.ug-skin .mh-estate__details { border: 0; background: transparent; box-shadow: none; }
body.ug-skin .mh-estate__details__map a, body.ug-skin .mh-estate__add-to__compare { color: var(--ug-ink); }
body.ug-skin .mh-estate__add-to__compare { border-radius: 10px; }
body.ug-skin .mh-estate__details__price { background: var(--ug-bg); color: var(--ug-ink); border-radius: 12px; }
body.ug-skin .mh-estate__details__price__single, body.ug-skin .mh-estate__details__price div { color: var(--ug-ink); font: 700 24px/1.2 var(--ug-font); }
body.ug-skin .mh-estate__agent { margin-top: 16px; padding: 16px; border: 1px solid var(--ug-line); border-radius: 16px; background: #fff; }
body.ug-skin .mh-estate__agent .mh-widget-title { margin: 0 0 10px; padding: 0; border: 0; }
body.ug-skin .mh-estate__agent .mh-widget-title__text { margin: 0; font: 700 17px/1.3 var(--ug-font); text-align: left; text-transform: none; }
body.ug-skin .mh-estate__agent .mh-widget-title__text a { color: var(--ug-ink); }
body.ug-skin .mh-estate__agent__content { display: block; }
body.ug-skin .mh-estate__agent__thumbnail-wrapper { float: left; margin: 0 12px 6px 0; }
body.ug-skin .mh-estate__agent__thumbnail-wrapper img { display: block; width: 64px; height: 64px; border-radius: 50%; object-fit: cover; }
body.ug-skin .mh-estate__agent__phone a { font-weight: 600; color: var(--ug-ink); }
body.ug-skin .mh-estate__agent__email { display: none; }
body.ug-skin .mh-estate__agent .mdl-button { clear: both; margin-top: 8px; }

/* Блок «цена и связь» */
.ug-ecard { position: sticky; top: 14px; z-index: 5; display: grid; gap: 10px; margin: 0 0 16px; padding: 18px; border: 1px solid var(--ug-line); border-radius: 16px; background: #fff; box-shadow: 0 10px 28px rgba(20, 33, 61, .1); }
.ug-ecard__price b { display: block; font: 700 30px/1.15 var(--ug-font); color: var(--ug-ink); }
.ug-ecard__old { display: inline-flex; align-items: center; gap: 8px; margin-top: 2px; color: var(--ug-muted); font-size: 14px; }
.ug-ecard__old del { text-decoration-color: var(--ug-red); }
.ug-ecard__old em { padding: 1px 7px; border-radius: 5px; background: var(--ug-red); color: #fff; font-style: normal; font-size: 12px; font-weight: 700; }
.ug-ecard__unit { margin-top: -4px; color: var(--ug-muted); font-size: 14px; }
.ug-ecard__ipo { padding: 10px 12px; border-radius: 10px; background: var(--ug-blue-soft); font-size: 14px; color: var(--ug-ink); }
.ug-ecard__ipo b { color: var(--ug-navy); }
.ug-ecard__ipo small { display: block; margin-top: 2px; font-size: 12px; color: var(--ug-muted); }
.ug-ecard__ipo a { display: inline-block; margin-top: 4px; font-size: 13px; font-weight: 600; }
.ug-ecard__ipo > span { display: block; }
.ug-ecard__ipo--family { background: #e6f6ec; }
.ug-ecard__ipo--family b { color: #14532d; }
.ug-ecard__ipo .ug-ecard__tag { display: inline-block; margin-bottom: 6px; padding: 2px 9px; border-radius: 999px; background: #1f8a4c; color: #fff; font-size: 12px; font-weight: 700; }
.ug-ecard .ug-btn { width: 100%; min-height: 46px; padding: 0 14px; font-size: 15px; box-sizing: border-box; }
.ug-ecard__msg { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.ug-ecard__msg [data-ug-share] { grid-column: 1 / -1; min-height: 40px; }
.ug-ecard__msg .ug-btn { padding: 0 6px; min-height: 42px; font-size: 14px; }
.ug-ecard__agent { display: flex; align-items: center; gap: 12px; margin-top: 4px; padding-top: 12px; border-top: 1px solid var(--ug-line); }
.ug-ecard__agent img { flex: 0 0 auto; width: 52px; height: 52px; border-radius: 50%; object-fit: cover; }
.ug-ecard__agent div { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.ug-ecard__agent span { font-size: 12px; color: var(--ug-muted); }
.ug-ecard__agent b { font-size: 16px; line-height: 1.25; color: var(--ug-ink); }
.ug-ecard__agent a { font-size: 13px; font-weight: 600; text-decoration: none; }
.ug-ecard__agent a:hover { text-decoration: underline; }
/* Старые блоки темы рядом с нашей карточкой: цена, телефон, «Добавить к сравнению», карточка агента с личной почтой */
body.ug-skin aside:has(.ug-ecard) > .mh-display-desktop,
body.ug-skin .mh-layout:has(.ug-ecard) .mh-estate__agent,
body.ug-skin .mh-layout:has(.ug-ecard) .mh-display-mobile .mh-estate__add-to,
body.ug-skin .mh-layout:has(.ug-ecard) .mh-display-mobile .mh-estate__details__phone { display: none !important; }

/* Окно «Заказать просмотр» и сообщение об отправке */
.ug-modal { position: fixed; inset: 0; z-index: 99990; display: flex; align-items: center; justify-content: center; padding: 16px; }
.ug-modal[hidden] { display: none; }
.ug-modal__bg { position: absolute; inset: 0; background: rgba(14, 33, 89, .55); }
.ug-modal__box { position: relative; display: grid; gap: 12px; width: 100%; max-width: 420px; max-height: 92vh; overflow: auto; padding: 24px; box-sizing: border-box; border-radius: 18px; background: #fff; box-shadow: 0 24px 60px rgba(5, 14, 50, .4); animation: ug-up .25s ease both; }
.ug-modal__box h2 { margin: 0; font: 700 22px/1.2 var(--ug-font); color: var(--ug-ink); text-transform: none; }
.ug-modal__obj { margin: -6px 0 0; font-size: 14px; color: var(--ug-muted); }
.ug-modal__box label { display: block; font-size: 13px; color: var(--ug-muted); }
.ug-modal__box input[type="text"], .ug-modal__box input[type="tel"], .ug-modal__box select { display: block; width: 100%; height: 46px; margin-top: 4px; padding: 0 12px; box-sizing: border-box; border: 1px solid #cfd7e6; border-radius: 10px; background: #fff; color: var(--ug-ink); font-size: 15px; text-align: left; font-style: normal; box-shadow: none; }
.ug-modal__box input:focus-visible, .ug-modal__box select:focus-visible { outline: 3px solid #8fb4ff; outline-offset: 0; border-color: var(--ug-blue); }
.ug-modal__box .ug-lead__consent { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; line-height: 1.4; }
.ug-modal__box .ug-lead__consent input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 1px; }
.ug-modal__box .ug-btn { width: 100%; }
.ug-modal__x { position: absolute; right: 10px; top: 8px; width: 40px; height: 40px; border: 0; background: none; color: var(--ug-muted); font-size: 28px; line-height: 1; cursor: pointer; }
.ug-modal__x:hover { color: var(--ug-ink); }
.ug-toast { position: fixed; z-index: 99995; left: 50%; bottom: 84px; max-width: calc(100% - 32px); padding: 12px 18px; border-radius: 12px; background: var(--ug-ink); color: #fff; font-size: 14px; line-height: 1.4; box-shadow: 0 10px 28px rgba(5, 14, 50, .35); transform: translateX(-50%); animation: ug-up .3s ease both; }
.ug-toast--err { background: #8f1d24; }

/* ---------- Новости и статьи ---------- */
body.ug-skin .mh-post-grid { margin: 0 0 16px; padding: 0; background: transparent; }
body.ug-skin .mh-post-grid__inner { padding: 20px 22px; border: 1px solid var(--ug-line); border-radius: 16px; background: #fff; transition: box-shadow .2s, border-color .2s; }
body.ug-skin .mh-post-grid__inner:hover { border-color: #c9d6f3; box-shadow: 0 10px 26px rgba(20, 33, 61, .08); }
body.ug-skin .mh-post-grid__heading { margin: 0 0 8px; font: 700 20px/1.3 var(--ug-font); text-transform: none; }
body.ug-skin .mh-post-grid__heading a { color: var(--ug-ink); }
body.ug-skin .mh-post-grid__heading a:hover { color: var(--ug-blue); }
body.ug-skin .mh-post-grid__excerpt { margin: 0 0 12px; font-size: 15px; line-height: 1.6; color: var(--ug-muted); }
body.ug-skin .mh-post-single__title { font: 700 30px/1.25 var(--ug-font); text-transform: none; color: var(--ug-ink); }
body.ug-skin .mh-post-single, body.ug-skin .mh-post-single p, body.ug-skin .mh-post-single li { font-size: 17px; line-height: 1.7; color: #2b3550; }
body.ug-skin .mh-post-single h3 { margin: 22px 0 8px; font: 700 21px/1.3 var(--ug-font); }
body.ug-skin .widget .mh-widget-title__text, body.ug-skin .mh-widget-title__text { font: 700 17px/1.3 var(--ug-font); text-transform: none; color: var(--ug-ink); }
body.ug-skin .widget_categories ul, body.ug-skin .widget ul { margin: 0; padding: 0; list-style: none; }
body.ug-skin .widget_categories li, body.ug-skin .widget li { padding: 8px 0; border-bottom: 1px solid var(--ug-line); }
body.ug-skin .page-numbers { display: inline-block; min-width: 40px; margin: 0 4px 6px 0; padding: 9px 12px; border: 1px solid var(--ug-line); border-radius: 10px; background: #fff; color: var(--ug-ink); text-align: center; text-decoration: none; }
body.ug-skin .page-numbers.current, body.ug-skin .page-numbers:hover { border-color: var(--ug-blue); background: var(--ug-blue); color: #fff; }

/* ---------- Обычные страницы: читаемый текст ---------- */
body.ug-skin .mh-post .wpb_text_column p, body.ug-skin .mh-post .wpb_text_column li, body.ug-skin .mh-post .wpb_wrapper > p { font-size: 16px; line-height: 1.65; color: #2b3550; }
body.ug-skin .mh-post .wpb_text_column ul { padding-left: 20px; }
body.ug-skin .mh-post .wpb_text_column h2, body.ug-skin .mh-post .wpb_text_column h3 { margin: 18px 0 10px; font-family: var(--ug-font); font-weight: 700; text-transform: none; color: var(--ug-ink); }

/* ---------- Формы Contact Form 7 ---------- */
body.ug-skin .wpcf7 input[type="text"], body.ug-skin .wpcf7 input[type="tel"], body.ug-skin .wpcf7 input[type="email"], body.ug-skin .wpcf7 input[type="number"], body.ug-skin .wpcf7 select, body.ug-skin .wpcf7 textarea {
	width: 100%; box-sizing: border-box; padding: 11px 14px; border: 1px solid #cfd7e6; border-radius: 10px; background: #fff; color: var(--ug-ink); font: 15px/1.4 var(--ug-font); text-align: left; font-style: normal; box-shadow: none; transition: border-color .15s;
}
body.ug-skin .wpcf7 input[type="text"], body.ug-skin .wpcf7 input[type="tel"], body.ug-skin .wpcf7 input[type="email"], body.ug-skin .wpcf7 select { height: 48px; }
body.ug-skin .wpcf7 textarea { min-height: 120px; }
body.ug-skin .wpcf7 input:focus-visible, body.ug-skin .wpcf7 select:focus-visible, body.ug-skin .wpcf7 textarea:focus-visible { outline: 3px solid #8fb4ff; outline-offset: 0; border-color: var(--ug-blue); }
body.ug-skin .wpcf7 ::placeholder { font-style: normal; color: #8a95ad; opacity: 1; }
body.ug-skin .wpcf7-submit { min-height: 48px; padding: 0 28px; border: 0; border-radius: 10px; background: var(--ug-blue) !important; color: #fff !important; font: 700 16px/1 var(--ug-font); cursor: pointer; transition: background-color .15s; }
body.ug-skin .wpcf7-submit:hover { background: var(--ug-blue-dark) !important; }
body.ug-skin .wpcf7-not-valid-tip { margin-top: 4px; font-size: 13px; color: #b3262e; }
body.ug-skin .wpcf7-response-output { margin: 14px 0 0; padding: 12px 14px; border-radius: 10px; border-width: 1px; font-size: 14px; }

/* ---------- Страница «не найдено» ---------- */
body.ug-skin .mh-404__title { font: 700 80px/1 var(--ug-font); color: var(--ug-blue); }

@media (max-width: 1000px) {
	body.ug-skin .mh-estate__related .mh-grid { grid-template-columns: 1fr; }
}
@media (max-width: 782px) {
	body.ug-skin .mh-top-title { padding: 22px 12px 20px !important; }
	body.ug-skin .mh-top-title__heading { font-size: 24px; }
	body.ug-skin .mh-top-title--single-estate .mh-top-title__heading { font-size: 21px; }
	body.ug-skin .mh-estate__list__inner { grid-template-columns: 1fr; }
	body.ug-skin .mh-estate__section { padding: 16px; }
	.ug-ecard { position: static; }
	.ug-toast { bottom: 90px; }
}
@media (prefers-reduced-motion: reduce) {
	.ug-modal__box, .ug-toast { animation: none; }
}

/* ---------- Страницы разделов с баннером внутри страницы (WPBakery): тот же вид, что и у полосы заголовка ---------- */
body.ug-skin .vc_row:is(:has(h1.mh-heading), :has(.wpb_text_column h1)) {
	width: 100vw;
	margin-left: calc(50% - 50vw) !important;
	margin-right: 0 !important;
	padding: 0 !important;
	background: linear-gradient(135deg, #0e2159 0%, #1b3a8c 55%, #1d63e0 100%) !important;
	background-image: linear-gradient(135deg, #0e2159 0%, #1b3a8c 55%, #1d63e0 100%) !important;
}
body.ug-skin .vc_row:is(:has(h1.mh-heading), :has(.wpb_text_column h1)) > .wpb_column, body.ug-skin .vc_row:is(:has(h1.mh-heading), :has(.wpb_text_column h1)) .vc_column-inner { background: none !important; }
body.ug-skin .vc_row:is(:has(h1.mh-heading), :has(.wpb_text_column h1)) .vc_column-inner { max-width: 1140px; margin: 0 auto; padding: 28px 15px 26px !important; box-sizing: border-box; }
body.ug-skin h1.mh-heading, body.ug-skin .wpb_text_column h1 { margin: 0; text-align: left !important; font: 700 32px/1.2 var(--ug-font) !important; text-transform: none !important; color: #fff !important; }
body.ug-skin h1.mh-heading::first-letter, body.ug-skin .wpb_text_column h1::first-letter { text-transform: none !important; }
body.ug-skin .vc_row:is(:has(h1.mh-heading), :has(.wpb_text_column h1)) .mh-heading-wrapper { margin: 0; text-align: left; }
body.ug-skin .vc_row:is(:has(h1.mh-heading), :has(.wpb_text_column h1)) .mh-heading:after, body.ug-skin .vc_row:is(:has(h1.mh-heading), :has(.wpb_text_column h1)) .mh-heading:before { display: none !important; }

/* ---------- Горизонтальный поиск на страницах разделов и выпадающие списки ---------- */
body.ug-skin .bootstrap-select > .dropdown-toggle { height: 46px; border: 1px solid #cfd7e6 !important; border-radius: 10px !important; background: #fff !important; color: var(--ug-ink) !important; box-shadow: none !important; font-family: var(--ug-font); font-style: normal; }
body.ug-skin .bootstrap-select > .dropdown-toggle:focus, body.ug-skin .bootstrap-select.open > .dropdown-toggle { border-color: var(--ug-blue) !important; outline: 0; box-shadow: 0 0 0 3px #cfe0ff !important; }
body.ug-skin .bootstrap-select .dropdown-menu { border: 1px solid var(--ug-line); border-radius: 12px; box-shadow: 0 12px 30px rgba(20, 33, 61, .16); }
body.ug-skin .bootstrap-select .dropdown-menu li.selected a, body.ug-skin .bootstrap-select .dropdown-menu li a:hover { background: var(--ug-blue-soft); color: var(--ug-blue-dark); }
body.ug-skin .mh-search__panel input[type="text"] { height: 46px; border: 1px solid #cfd7e6; border-radius: 10px; font-family: var(--ug-font); font-style: normal; text-align: left; }
body.ug-skin .mh-search__panel input::placeholder { font-style: normal; color: #8a95ad; opacity: 1; }
body.ug-skin .mh-search-horizontal .mdl-button--clear, body.ug-skin .mh-filters__button { border-radius: 8px; }
body.ug-skin .mh-filters__button--active { color: var(--ug-blue) !important; }

/* ---------- Отзывы на странице «Отзывы»: такие же карточки, как на главной ---------- */
body:not(.ug-skin-home).ug-skin .mh-testimonial__inner { display: flex; flex-direction: column; height: 100%; box-sizing: border-box; padding: 18px 20px; background: #fff; border: 1px solid var(--ug-line); border-radius: 14px; text-align: left; }
body:not(.ug-skin-home).ug-skin .mh-testimonial__text { flex: 1 1 auto; height: auto !important; margin: 0; padding: 0; border: 0; background: none; font-size: 15px; line-height: 1.6; color: var(--ug-ink); font-style: normal; text-align: left !important; }
body:not(.ug-skin-home).ug-skin .mh-testimonial__text * { text-align: left !important; }
body:not(.ug-skin-home).ug-skin .mh-testimonial__text:before { content: "\201C"; display: block; margin-bottom: 4px; font: 700 44px/0.8 Georgia, serif; color: var(--ug-blue); }
body:not(.ug-skin-home).ug-skin .mh-testimonial__text p { margin: 0; }
body:not(.ug-skin-home).ug-skin .mh-testimonial__author-info { margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--ug-line); text-align: left; }
body:not(.ug-skin-home).ug-skin .mh-testimonial__author { margin: 0; font-size: 15px; font-weight: 700; text-transform: none; color: var(--ug-ink); text-align: left; }
body:not(.ug-skin-home).ug-skin .mh-testimonial__photo { display: none; }
/* Фоновые фото у заголовков внутри страниц отключены: у всех страниц одна и та же синяя полоса */
body.ug-skin .mh-heading-background-wrapper { background: none !important; background-image: none !important; padding: 0 !important; min-height: 0 !important; }

/* ---------- Страница объекта: «Расположение» ---------- */
.ug-emap { scroll-margin-top: 90px; }
body.ug-skin #myhome-estate-map, body.ug-skin .mh-map-single-estate { display: none !important; }
.ug-emap__addr { margin: 0 0 10px; font-size: 15px; color: var(--ug-ink); }
.ug-emap__map { height: 360px; overflow: hidden; border: 1px solid var(--ug-line); border-radius: 14px; background: var(--ug-bg); }
.ug-emap__map iframe { display: block; width: 100%; height: 100%; border: 0; }
.ug-emap__note { margin: 8px 0 0; font-size: 13px; color: var(--ug-muted); }
.ug-emap__btns { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.ug-emap__btns .ug-btn { min-height: 44px; padding: 0 18px; font-size: 15px; }
@media (max-width: 640px) {
	.ug-emap__map { height: 280px; }
	.ug-emap__btns .ug-btn { flex: 1 1 100%; }
}

/* ---------- Страница объекта: своя галерея фото ---------- */
.ug-skin .rev_slider_wrapper { display: none !important; } /* остатки Slider Revolution в разметке темы */
.ug-eg { margin: 0 0 24px; }
.ug-eg__main { position: relative; overflow: hidden; border-radius: var(--ug-radius); background: #0f1a33; }
.ug-eg__track { display: flex; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; aspect-ratio: 3 / 2; cursor: zoom-in; }
.ug-eg__track::-webkit-scrollbar { display: none; }
.ug-eg__track:focus-visible { outline: 3px solid #8fb4ff; outline-offset: -3px; }
.ug-eg__s { position: relative; flex: 0 0 100%; margin: 0; scroll-snap-align: start; scroll-snap-stop: always; }
.ug-eg__s img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ug-eg__s.is-portrait img { object-fit: contain; }
.ug-eg__nav { position: absolute; top: 50%; z-index: 2; display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; margin-top: -23px; padding: 0 0 4px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .88); color: var(--ug-ink); font: 400 32px/1 var(--ug-font); cursor: pointer; box-shadow: 0 4px 14px rgba(0, 0, 0, .18); transition: opacity .2s, background .2s; }
.ug-eg__nav:hover { background: #fff; }
.ug-eg__nav:focus-visible, .ug-eg__zoom:focus-visible, .ug-eg__t:focus-visible { outline: 3px solid #8fb4ff; outline-offset: 2px; }
.ug-eg__nav:disabled { opacity: 0; pointer-events: none; }
.ug-eg__nav--prev { left: 12px; }
.ug-eg__nav--next { right: 12px; }
.ug-eg__count { position: absolute; left: 12px; bottom: 12px; z-index: 2; padding: 4px 10px; border-radius: 999px; background: rgba(15, 26, 51, .72); color: #fff; font: 600 13px/1.4 var(--ug-font); pointer-events: none; }
.ug-eg__zoom { position: absolute; right: 12px; bottom: 12px; z-index: 2; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 10px; background: rgba(15, 26, 51, .72); color: #fff; cursor: pointer; }
.ug-eg__zoom:hover { background: rgba(15, 26, 51, .9); }
.ug-eg__thumbs { display: flex; gap: 8px; margin-top: 10px; overflow-x: auto; scrollbar-width: thin; scroll-behavior: smooth; padding-bottom: 4px; }
.ug-eg__t { flex: 0 0 auto; width: 96px; height: 72px; padding: 0; border: 2px solid transparent; border-radius: 8px; overflow: hidden; background: var(--ug-bg); cursor: pointer; opacity: .7; transition: opacity .2s, border-color .2s; }
.ug-eg__t img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ug-eg__t:hover { opacity: 1; }
.ug-eg__t[aria-current="true"] { border-color: var(--ug-blue); opacity: 1; }
@media (max-width: 782px) {
	.ug-eg__main { border-radius: 0; margin: 0 -15px; }
	.ug-eg__track { aspect-ratio: 4 / 3; }
	.ug-eg__nav { display: none; } /* на телефоне листают пальцем */
	.ug-eg__t { width: 72px; height: 54px; }
}

/* просмотр на весь экран */
html.ug-lb-open, html.ug-lb-open body { overflow: hidden; }
.ug-lb { position: fixed; inset: 0; z-index: 100000; background: #050a17; }
.ug-lb__track { display: flex; width: 100%; height: 100%; overflow-x: auto; overscroll-behavior: contain; scroll-snap-type: x mandatory; scrollbar-width: none; }
.ug-lb__track::-webkit-scrollbar { display: none; }
.ug-lb__s { flex: 0 0 100%; display: flex; align-items: center; justify-content: center; margin: 0; scroll-snap-align: start; scroll-snap-stop: always; }
.ug-lb__s img { max-width: 100%; max-height: 100%; object-fit: contain; }
.ug-lb__count { position: absolute; left: 16px; top: calc(14px + env(safe-area-inset-top)); padding: 4px 12px; border-radius: 999px; background: rgba(255, 255, 255, .14); color: #fff; font: 600 14px/1.5 var(--ug-font); }
.ug-lb__close { position: absolute; right: 12px; top: calc(8px + env(safe-area-inset-top)); width: 48px; height: 48px; padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .14); color: #fff; font: 400 34px/48px var(--ug-font); cursor: pointer; }
.ug-lb__nav { position: absolute; top: 50%; width: 52px; height: 52px; margin-top: -26px; padding: 0 0 4px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .14); color: #fff; font: 400 36px/1 var(--ug-font); cursor: pointer; }
.ug-lb__close:hover, .ug-lb__nav:hover { background: rgba(255, 255, 255, .26); }
.ug-lb__close:focus-visible, .ug-lb__nav:focus-visible { outline: 3px solid #8fb4ff; outline-offset: 2px; }
.ug-lb__nav--prev { left: 16px; }
.ug-lb__nav--next { right: 16px; }
@media (max-width: 782px) { .ug-lb__nav { display: none; } }
