/* Страницы «Контакты», «Ипотека», «О компании» и услуги — в стиле главной.
 * Подключается только на этих страницах (UGEF_Pages). Цвета и кнопки берутся из ug-skin.css.
 */
body.ug-lp-page { overflow-x: clip; }
body.ug-lp-full .mh-top-title, body.ug-lp-full .mh-breadcrumbs-wrapper { display: none !important; }
body.ug-lp-full .mh-top-title-offset { margin-top: 0 !important; padding-top: 0 !important; }
body.ug-lp-full .mh-layout > .mh-post, body.ug-lp-full .mh-post { margin-top: 0; padding-top: 0; }
.ug-lp { position: relative; padding-bottom: 8px; }
.ug-lp p { margin: 0; }

/* ---------- Первый экран ---------- */
.ug-ph, .ug-cta { width: 100vw; margin-left: calc(50% - 50vw); padding-left: 16px; padding-right: 16px; box-sizing: border-box; }
.ug-ph { position: relative; overflow: hidden; padding-top: 34px; padding-bottom: 46px; background: radial-gradient(circle at 85% 10%, rgba(255, 255, 255, .14), rgba(255, 255, 255, 0) 45%), linear-gradient(135deg, #0e2159 0%, #1b3a8c 70%, #1d4fb0 100%); color: #fff; }
.ug-ph__in { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 40px; align-items: center; max-width: 1110px; margin: 0 auto; }
.ug-ph__crumbs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 18px; font-size: 13px; color: rgba(255, 255, 255, .7); }
.ug-ph__crumbs a { color: rgba(255, 255, 255, .85); text-decoration: none; }
.ug-ph__crumbs a:hover { color: #fff; text-decoration: underline; }
.ug-ph__badges { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; padding: 0; list-style: none; }
.ug-ph__badges li { padding: 4px 12px; border-radius: 999px; background: rgba(255, 255, 255, .14); font-size: 13px; font-weight: 600; }
body.ug-skin .ug-ph h1 { margin: 0 0 14px; font: 700 40px/1.15 var(--ug-font); color: #fff; text-transform: none; }
.ug-ph__lead { max-width: 640px; margin: 0 0 24px !important; font-size: 18px; line-height: 1.55; color: rgba(255, 255, 255, .9); }
.ug-ph__ctas { display: flex; flex-wrap: wrap; gap: 12px; }
.ug-btn--light { background: #fff; border-color: #fff; color: var(--ug-navy); }
.ug-btn--light:hover { background: #e8f0fe; border-color: #e8f0fe; color: var(--ug-navy); box-shadow: 0 6px 16px rgba(0, 0, 0, .18); }
.ug-ph__facts { display: flex; flex-wrap: wrap; gap: 14px 34px; margin: 30px 0 0; padding: 22px 0 0; border-top: 1px solid rgba(255, 255, 255, .18); list-style: none; }
.ug-ph__facts li { display: flex; flex-direction: column; gap: 2px; }
.ug-ph__facts b { font-size: 26px; line-height: 1.1; color: #fff; }
.ug-ph__facts span { font-size: 14px; color: rgba(255, 255, 255, .75); }

.ug-ph__card { display: flex; flex-direction: column; gap: 14px; padding: 22px; border-radius: 18px; background: #fff; color: var(--ug-ink); box-shadow: 0 18px 44px rgba(5, 14, 50, .35); }
.ug-ph__who { display: flex; align-items: center; gap: 14px; }
.ug-ph__who img { flex: 0 0 auto; width: 64px; height: 64px; border-radius: 50%; object-fit: cover; }
.ug-ph__who div { display: flex; flex-direction: column; gap: 2px; }
.ug-ph__tag { align-self: flex-start; padding: 2px 9px; border-radius: 999px; background: var(--ug-blue-soft); color: var(--ug-blue-dark); font-size: 11px; font-weight: 700; }
.ug-ph__who b { font-size: 18px; line-height: 1.2; }
.ug-ph__who small { font-size: 13px; color: var(--ug-muted); }
.ug-ph__call { width: 100%; }
.ug-ph__call .ug-ico { width: 20px; height: 20px; }
.ug-ph__msg { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.ug-ph__msg a { display: flex; flex-direction: column; align-items: center; gap: 4px; min-height: 58px; padding: 8px 4px; border: 1px solid var(--ug-line); border-radius: 12px; color: var(--ug-ink); font-size: 13px; font-weight: 600; text-decoration: none; justify-content: center; transition: border-color .15s, background-color .15s; }
.ug-ph__msg a:hover { border-color: var(--ug-blue); background: var(--ug-blue-soft); color: var(--ug-blue-dark); }
.ug-ph__msg .ug-ico { width: 20px; height: 20px; color: var(--ug-blue); }
.ug-ph__hours { display: flex; gap: 8px; align-items: flex-start; font-size: 13px; line-height: 1.4; color: var(--ug-muted); }
.ug-ph__hours .ug-ico { flex: 0 0 auto; width: 18px; height: 18px; color: var(--ug-blue); }

/* ---------- Разделы ---------- */
.ug-sec { padding: 46px 0 6px; }
.ug-sec__head { max-width: 760px; margin-bottom: 22px; }
.ug-skin .ug-sec__head h2, .ug-skin .ug-split h2 { margin: 0 0 10px !important; font: 700 28px/1.2 var(--ug-font); color: var(--ug-ink); text-transform: none; }
.ug-sec__head p { font-size: 16px; line-height: 1.55; color: var(--ug-muted); }
.ug-sec__more { margin-top: 16px !important; }
.ug-sec__more a { font-weight: 700; text-decoration: none; }

.ug-cards { display: grid; gap: 16px; }
.ug-cards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ug-cards--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ug-cards--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ug-card { position: relative; display: flex; flex-direction: column; gap: 6px; padding: 22px; border: 1px solid var(--ug-line); border-radius: 16px; background: #fff; color: var(--ug-ink); text-decoration: none; transition: border-color .2s, box-shadow .2s, transform .2s; }
.ug-sec--soft .ug-card { background: var(--ug-bg); border-color: transparent; }
a.ug-card:hover { border-color: var(--ug-blue); box-shadow: 0 10px 26px rgba(29, 99, 224, .14); transform: translateY(-3px); color: var(--ug-ink); }
a.ug-card:focus-visible { outline: 3px solid #8fb4ff; outline-offset: 2px; }
.ug-card__ico { display: inline-flex; align-items: center; justify-content: center; width: 50px; height: 50px; margin-bottom: 8px; border-radius: 14px; background: var(--ug-blue-soft); color: var(--ug-blue); transition: background-color .2s, color .2s; }
.ug-sec--soft .ug-card__ico { background: #fff; }
a.ug-card:hover .ug-card__ico { background: var(--ug-blue); color: #fff; }
.ug-card__t { font-size: 18px; line-height: 1.3; }
.ug-card__x { font-size: 15px; line-height: 1.5; color: var(--ug-muted); }
.ug-card__go { position: absolute; right: 18px; top: 22px; color: var(--ug-blue); font-size: 20px; opacity: 0; transform: translateX(-6px); transition: opacity .2s, transform .2s; }
a.ug-card:hover .ug-card__go { opacity: 1; transform: none; }

/* Шаги */
.ug-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.ug-steps li { position: relative; display: flex; flex-direction: column; gap: 6px; padding: 20px; border-radius: 16px; background: var(--ug-bg); }
.ug-steps__n { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; margin-bottom: 6px; border-radius: 50%; background: var(--ug-navy); color: #fff; font-weight: 700; font-size: 16px; }
.ug-steps b { font-size: 17px; line-height: 1.3; color: var(--ug-ink); }
.ug-steps li > span:last-child { font-size: 14px; line-height: 1.5; color: var(--ug-muted); }

/* Текст + картинка */
.ug-split { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 40px; align-items: center; }
.ug-split--flip .ug-split__txt { order: 2; }
.ug-split--table { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; }
.ug-split__txt p { margin: 0 0 12px !important; font-size: 16px; line-height: 1.6; color: var(--ug-ink); }
.ug-split__side img { display: block; width: 100%; height: auto; max-height: 560px; object-fit: contain; border-radius: 18px; box-shadow: 0 14px 34px rgba(20, 33, 61, .14); }
.ug-checks { margin: 8px 0 0; padding: 0; list-style: none; }
.ug-checks li { position: relative; padding: 6px 0 6px 30px; font-size: 15px; line-height: 1.5; color: var(--ug-ink); }
.ug-checks li:before { content: ""; position: absolute; left: 0; top: 8px; width: 20px; height: 20px; border-radius: 50%; background: var(--ug-blue-soft); }
.ug-checks li:after { content: ""; position: absolute; left: 6px; top: 14px; width: 8px; height: 4px; border-left: 2px solid var(--ug-blue); border-bottom: 2px solid var(--ug-blue); transform: rotate(-45deg); }

/* Подсказка */
.ug-note { margin: 34px 0 0; padding: 18px 22px; border-left: 4px solid var(--ug-blue); border-radius: 12px; background: var(--ug-blue-soft); }
.ug-note b { display: block; margin-bottom: 4px; font-size: 17px; color: var(--ug-navy); }
.ug-note p { font-size: 15px; line-height: 1.55; color: var(--ug-ink); }
.ug-split__side .ug-note { margin: 0; }

/* Таблица ставок */
.ug-table-wrap { overflow-x: auto; border: 1px solid var(--ug-line); border-radius: 16px; background: #fff; }
.ug-table { width: 100%; margin: 0; border-collapse: collapse; font-size: 15px; }
.ug-table caption { padding: 14px 16px 6px; caption-side: top; text-align: left; font-size: 13px; color: var(--ug-muted); }
.ug-table th, .ug-table td { padding: 12px 16px; border: 0; border-top: 1px solid var(--ug-line); text-align: left; background: none; }
.ug-table thead th { border-top: 0; font-size: 13px; font-weight: 600; color: var(--ug-muted); }
.ug-table tbody th { font-weight: 600; color: var(--ug-ink); }
.ug-table td b { font-size: 18px; color: var(--ug-navy); }
.ug-table tr.is-hl { background: var(--ug-blue-soft); }
.ug-src { margin-top: 14px !important; font-size: 13px; line-height: 1.5; color: var(--ug-muted); }

/* Вопросы и ответы */
.ug-faq { max-width: 860px; border-top: 1px solid var(--ug-line); }
.ug-faq__i { border-bottom: 1px solid var(--ug-line); }
.ug-faq__i summary { position: relative; display: block; padding: 18px 44px 18px 0; font-size: 17px; font-weight: 600; line-height: 1.4; color: var(--ug-ink); cursor: pointer; list-style: none; }
.ug-faq__i summary::-webkit-details-marker { display: none; }
.ug-faq__i summary:after { content: "+"; position: absolute; right: 6px; top: 50%; width: 28px; height: 28px; margin-top: -14px; border-radius: 50%; background: var(--ug-blue-soft); color: var(--ug-blue); font: 400 22px/28px var(--ug-font); text-align: center; transition: transform .2s; }
.ug-faq__i[open] summary:after { content: "\2212"; }
.ug-faq__i summary:hover { color: var(--ug-blue); }
.ug-faq__i summary:focus-visible { outline: 3px solid #8fb4ff; outline-offset: 2px; border-radius: 6px; }
.ug-faq__a { padding: 0 44px 18px 0; }
.ug-faq__a p { font-size: 15px; line-height: 1.6; color: var(--ug-muted); }

/* Специалисты */
.ug-team { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ug-person { display: flex; gap: 16px; align-items: flex-start; padding: 20px; border: 1px solid var(--ug-line); border-radius: 16px; background: #fff; }
.ug-person--main { border-color: var(--ug-blue); box-shadow: 0 10px 26px rgba(29, 99, 224, .12); }
.ug-person img { flex: 0 0 auto; width: 112px; height: auto; aspect-ratio: auto; border-radius: 12px; object-fit: contain; background: #fff; box-shadow: 0 0 0 1px var(--ug-line); }
.ug-person__txt { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.ug-person__tag { align-self: flex-start; padding: 2px 9px; border-radius: 999px; background: var(--ug-blue-soft); color: var(--ug-blue-dark); font-size: 11px; font-weight: 700; }
body.ug-skin .ug-person h3 { margin: 0; font: 700 18px/1.25 var(--ug-font); color: var(--ug-ink); text-transform: none; }
.ug-person p { font-size: 14px; line-height: 1.45; color: var(--ug-muted); }
.ug-person__tel { display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; font-size: 16px; font-weight: 700; color: var(--ug-blue); text-decoration: none; }
.ug-person__tel .ug-ico { width: 18px; height: 18px; }
.ug-person__tel:hover { text-decoration: underline; }

/* Отзывы */
.ug-revs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ug-rev { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 22px; border-radius: 16px; background: var(--ug-bg); }
.ug-rev__stars { color: #f5a623; letter-spacing: 2px; font-size: 16px; }
.ug-rev blockquote { flex: 1 1 auto; margin: 0; padding: 0; border: 0; font-size: 15px; line-height: 1.55; font-style: normal; color: var(--ug-ink); }
.ug-rev blockquote:before, .ug-rev blockquote:after { display: none; }
.ug-rev figcaption { font-size: 14px; font-weight: 700; color: var(--ug-navy); }

/* Офис и карта */
.ug-office { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: 18px; align-items: stretch; }
.ug-office__map { min-height: 420px; overflow: hidden; border: 1px solid var(--ug-line); border-radius: 18px; background: var(--ug-bg); }
.ug-office__map iframe { display: block; width: 100%; height: 100%; min-height: 420px; border: 0; }
.ug-office__info { display: flex; flex-direction: column; gap: 14px; padding: 16px; border: 1px solid var(--ug-line); border-radius: 18px; background: #fff; }
.ug-office__info img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 12px; }
.ug-office__info img.ug-office__photo { height: auto; aspect-ratio: 1 / 1; object-fit: contain; }
.ug-office__list { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; list-style: none; }
.ug-office__list li { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; line-height: 1.45; }
.ug-office__list .ug-ico { flex: 0 0 auto; width: 22px; height: 22px; color: var(--ug-blue); }
.ug-office__btns { display: flex; flex-wrap: wrap; gap: 10px; margin-top: auto; }
.ug-office__btns .ug-btn { flex: 1 1 auto; min-height: 44px; padding: 0 16px; font-size: 15px; }

/* Полоса с призывом */
.ug-cta { margin-top: 46px; padding-top: 40px; padding-bottom: 40px; background: linear-gradient(135deg, #0e2159, #1b3a8c); color: #fff; }
.ug-cta__in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 22px; max-width: 1110px; margin: 0 auto; }
.ug-skin .ug-cta h2 { margin: 0 0 6px !important; font: 700 26px/1.2 var(--ug-font); color: #fff; }
.ug-cta p { font-size: 16px; color: rgba(255, 255, 255, .85); }
.ug-cta__btns { display: flex; flex-wrap: wrap; gap: 12px; }

/* Форма и калькулятор на этих страницах */
.ug-lp .ug-lead, .ug-lp .ug-mort, .ug-lp .ug-agent { margin-top: 46px; }
.ug-lp .ug-mort + .ug-sec, .ug-lp .ug-lead + .ug-sec { padding-top: 46px; }
.ug-lead__row--one { grid-template-columns: 1fr !important; }
.ug-lead__msg { display: block; margin-bottom: 12px; font-size: 13px; color: var(--ug-muted); }
.ug-lead__msg textarea { display: block; width: 100%; min-height: 84px; margin-top: 4px; padding: 10px 12px; box-sizing: border-box; border: 1px solid #cfd7e6; border-radius: 10px; background: #fff; color: var(--ug-ink); font: 15px/1.45 var(--ug-font); text-align: left; resize: vertical; box-shadow: none; }
.ug-lead__msg textarea::placeholder { font-style: normal; text-align: left; color: #8a95ad; }
.ug-lead__msg textarea:focus-visible { outline: 3px solid #8fb4ff; outline-offset: 0; border-color: var(--ug-blue); }

/* График платежей под калькулятором */
.ug-mort__sched { margin-top: 14px; }
.ug-mort__sched summary { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 18px; border: 1px solid var(--ug-blue); border-radius: 10px; background: #fff; color: var(--ug-blue); font-weight: 700; cursor: pointer; list-style: none; }
.ug-mort__sched summary::-webkit-details-marker { display: none; }
.ug-mort__sched summary:after { content: "\25BE"; transition: transform .2s; }
.ug-mort__sched[open] summary:after { transform: rotate(180deg); }
.ug-mort__sched summary:focus-visible { outline: 3px solid #8fb4ff; outline-offset: 2px; }
.ug-mort__sched .ug-table-wrap { margin-top: 12px; max-height: 460px; overflow: auto; }
.ug-mort__sched .ug-table td, .ug-mort__sched .ug-table th { white-space: nowrap; font-variant-numeric: tabular-nums; }
.ug-mort__sched thead th { position: sticky; top: 0; background: #fff; }
.ug-mort__sched small { display: block; margin-top: 8px; font-size: 12px; color: var(--ug-muted); }

/* Карточки с фото: жилые комплексы, посёлки */
.ug-cx { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 16px; }
.ug-cx__i { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--ug-line); border-radius: 16px; background: #fff; color: var(--ug-ink); text-decoration: none; transition: border-color .2s, box-shadow .2s, transform .2s; }
.ug-cx__i:hover { border-color: var(--ug-blue); box-shadow: 0 10px 26px rgba(29, 99, 224, .14); transform: translateY(-3px); color: var(--ug-ink); }
.ug-cx__i:focus-visible { outline: 3px solid #8fb4ff; outline-offset: 2px; }
.ug-cx__img { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--ug-bg); }
.ug-cx__img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.ug-cx__i:hover .ug-cx__img img { transform: scale(1.04); }
.ug-cx__img em { position: absolute; left: 10px; top: 10px; padding: 3px 10px; border-radius: 999px; background: var(--ug-red); color: #fff; font-style: normal; font-size: 12px; font-weight: 700; }
.ug-cx__body { display: flex; flex-direction: column; gap: 6px; flex: 1 1 auto; padding: 16px 18px 18px; }
.ug-cx__body b { font-size: 18px; line-height: 1.25; }
.ug-cx__body > span { font-size: 14.5px; line-height: 1.5; color: var(--ug-muted); }
.ug-cx__body .ug-cx__go { margin-top: auto; padding-top: 6px; color: var(--ug-blue); font-weight: 700; }
.ug-js .ug-reveal:not(.is-in) .ug-cx__i { opacity: 0; transform: translateY(18px); }
.ug-reveal.is-in .ug-cx__i { animation: ug-up .6s cubic-bezier(.2, .7, .2, 1) both; animation-delay: calc(var(--k, 0) * 70ms); }
@media (prefers-reduced-motion: reduce) {
	.ug-js .ug-reveal:not(.is-in) .ug-cx__i { opacity: 1; transform: none; }
	.ug-reveal.is-in .ug-cx__i { animation: none; }
	.ug-cx__i, .ug-cx__img img { transition: none; }
}

.ug-cx__price { font-size: 18px !important; font-weight: 700; color: var(--ug-ink) !important; }
.ug-cx__body .ug-cipo { margin-top: 0; }

/* Проекты домов посёлка */
.ug-ks { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 18px; }
.ug-ks__i { position: relative; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--ug-line); border-radius: 18px; background: #fff; }
.ug-ks__gal { display: flex; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; aspect-ratio: 6 / 5; background: var(--ug-bg); }
.ug-ks__gal::-webkit-scrollbar { display: none; }
.ug-ks__gal:focus-visible { outline: 3px solid #8fb4ff; outline-offset: -3px; }
.ug-ks__gal img { flex: 0 0 100%; width: 100%; height: 100%; object-fit: cover; scroll-snap-align: start; }
.ug-ks__gal img.is-plan { object-fit: contain; background: #fff; }
.ug-ks__count { position: absolute; right: 12px; top: 12px; padding: 3px 10px; border-radius: 999px; background: rgba(14, 33, 89, .75); color: #fff; font-size: 12px; font-weight: 600; pointer-events: none; }
.ug-ks__media { position: relative; }
.ug-ks__nav { position: absolute; top: 50%; z-index: 2; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-top: -22px; padding: 0 0 4px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .92); color: var(--ug-navy); font: 400 30px/1 var(--ug-font); box-shadow: 0 4px 14px rgba(20, 33, 61, .25); cursor: pointer; transition: opacity .2s, background-color .2s; }
.ug-ks__nav:hover { background: #fff; }
.ug-ks__nav:focus-visible { outline: 3px solid #8fb4ff; outline-offset: 2px; }
.ug-ks__nav:disabled { opacity: 0; pointer-events: none; }
.ug-ks__nav--prev { left: 10px; }
.ug-ks__nav--next { right: 10px; }
.ug-ks__body { display: flex; flex-direction: column; gap: 8px; padding: 16px 18px 18px; flex: 1 1 auto; }
.ug-ks__top { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.ug-ks__top b { font-size: 20px; }
.ug-ks__top span { font-size: 15px; color: var(--ug-muted); }
.ug-ks__price { font-size: 24px; font-weight: 700; color: var(--ug-navy); }
.ug-ks__spec { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 14px; margin: 6px 0 8px; }
.ug-ks__spec div { display: flex; justify-content: space-between; gap: 8px; padding-bottom: 5px; border-bottom: 1px dashed var(--ug-line); }
.ug-ks__spec dt { font-size: 13px; color: var(--ug-muted); }
.ug-ks__spec dd { margin: 0; font-size: 14px; font-weight: 600; color: var(--ug-ink); white-space: nowrap; }
.ug-ks__body .ug-btn { margin-top: auto; width: 100%; min-height: 44px; }
.ug-js .ug-reveal:not(.is-in) .ug-ks__i { opacity: 0; transform: translateY(18px); }
.ug-reveal.is-in .ug-ks__i { animation: ug-up .6s cubic-bezier(.2, .7, .2, 1) both; animation-delay: calc(var(--k, 0) * 70ms); }

/* Расстояния */
.ug-dist { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0 0 16px; padding: 0; list-style: none; }
.ug-dist li { display: flex; flex-direction: column; gap: 2px; padding: 14px 16px; border-radius: 14px; background: var(--ug-bg); }
.ug-dist b { font-size: 20px; color: var(--ug-navy); }
.ug-dist span { font-size: 14px; color: var(--ug-muted); }
.ug-office__cap { font-size: 13px; color: var(--ug-muted); }
@media (max-width: 640px) {
	.ug-dist { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ug-ks { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
	.ug-js .ug-reveal:not(.is-in) .ug-ks__i { opacity: 1; transform: none; }
	.ug-reveal.is-in .ug-ks__i { animation: none; }
}

/* Плитки «Что вы ищете?» на странице «Купить» */
.ug-lp .ug-tiles { padding-top: 46px; }

/* Появление карточек */
.ug-js .ug-reveal:not(.is-in) .ug-card, .ug-js .ug-reveal:not(.is-in) .ug-steps li, .ug-js .ug-reveal:not(.is-in) .ug-person, .ug-js .ug-reveal:not(.is-in) .ug-rev { opacity: 0; transform: translateY(18px); }
.ug-reveal.is-in .ug-card, .ug-reveal.is-in .ug-steps li, .ug-reveal.is-in .ug-person, .ug-reveal.is-in .ug-rev { animation: ug-up .6s cubic-bezier(.2, .7, .2, 1) both; animation-delay: calc(var(--k, 0) * 70ms); }

@media (max-width: 1000px) {
	.ug-ph__in { grid-template-columns: 1fr; gap: 26px; }
	.ug-ph__card { max-width: 460px; }
	.ug-cards--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ug-cards--3, .ug-team, .ug-revs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ug-split, .ug-split--table, .ug-office { grid-template-columns: 1fr; gap: 24px; }
	.ug-split--flip .ug-split__txt { order: 0; }
}
@media (max-width: 640px) {
	.ug-ph { padding-top: 22px; padding-bottom: 32px; }
	body.ug-skin .ug-ph h1 { font-size: 28px; }
	.ug-ph__lead { font-size: 16px; }
	.ug-ph__ctas .ug-btn { flex: 1 1 100%; }
	.ug-ph__card { display: none; } /* на телефоне связь есть в нижней панели */
	.ug-ph__facts { gap: 12px 22px; }
	.ug-ph__facts b { font-size: 21px; }
	.ug-sec { padding-top: 36px; }
	.ug-skin .ug-sec__head h2, .ug-skin .ug-split h2 { font-size: 24px; }
	.ug-cards--3, .ug-cards--4, .ug-cards--2, .ug-team, .ug-revs { grid-template-columns: 1fr; }
	.ug-card { padding: 18px; }
	.ug-office__map, .ug-office__map iframe { min-height: 320px; }
	.ug-faq__i summary { font-size: 16px; }
	.ug-cta__btns .ug-btn { flex: 1 1 100%; }
}
@media (prefers-reduced-motion: reduce) {
	.ug-js .ug-reveal:not(.is-in) .ug-card, .ug-js .ug-reveal:not(.is-in) .ug-steps li, .ug-js .ug-reveal:not(.is-in) .ug-person, .ug-js .ug-reveal:not(.is-in) .ug-rev { opacity: 1; transform: none; }
	.ug-reveal.is-in .ug-card, .ug-reveal.is-in .ug-steps li, .ug-reveal.is-in .ug-person, .ug-reveal.is-in .ug-rev { animation: none; }
	.ug-card, .ug-card__go, .ug-faq__i summary:after { transition: none; }
	a.ug-card:hover { transform: none; }
}

/* Подсказка-предупреждение */
.ug-note--red { border-left-color: var(--ug-red); background: #fdecec; }
.ug-note--red b { color: #8f1d24; }

/* Таблица сравнения (срочный выкуп / обычная продажа) */
.ug-table--cmp tbody th { width: 30%; }
.ug-table--cmp td:nth-child(2) { background: var(--ug-blue-soft); font-weight: 600; }
.ug-table--cmp td b { font-size: 16px; }

/* Строка с агентом: фото, текст, справа блок кнопок (телефон во всю ширину, под ним MAX и Telegram поровну) */
.ug-astrip { margin-top: 36px; }
.ug-astrip__in { display: grid; grid-template-columns: auto minmax(0, 1fr) 300px; align-items: center; gap: 18px 22px; padding: 18px 20px; border: 1px solid var(--ug-line); border-radius: 16px; background: linear-gradient(135deg, #f5f7fb, #fff); }
.ug-astrip__in img { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; }
.ug-astrip__in p { margin: 0; font-size: 15px; line-height: 1.5; color: var(--ug-ink); }
.ug-astrip__btns { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.ug-astrip__btns .ug-btn { width: 100%; min-height: 44px; padding: 0 12px; font-size: 15px; box-sizing: border-box; }
.ug-astrip__btns .ug-btn:first-child { grid-column: 1 / -1; }
@media (max-width: 782px) {
	.ug-astrip__in { grid-template-columns: auto minmax(0, 1fr); }
	.ug-astrip__btns { grid-column: 1 / -1; }
}


/* ---------- Подборка для клиента ---------- */
.ug-sel-wrap { padding-bottom: 20px; }
.ug-sel__list { display: flex; flex-direction: column; gap: 18px; }
.ug-selc { display: grid; grid-template-columns: minmax(0, 420px) minmax(0, 1fr); overflow: hidden; border: 1px solid var(--ug-line); border-radius: 18px; background: #fff; transition: border-color .2s, box-shadow .2s; }
.ug-selc[data-state="like"] { border-color: #1f8a4c; box-shadow: 0 0 0 1px #1f8a4c inset; }
.ug-selc[data-state="view"] { border-color: var(--ug-red); box-shadow: 0 0 0 1px var(--ug-red) inset; }
.ug-selc[data-state="no"] { opacity: .65; }
.ug-selc__img { position: relative; display: block; min-height: 260px; background: var(--ug-bg); }
.ug-selc__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ug-selc__n { position: absolute; left: 12px; top: 12px; z-index: 1; display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: var(--ug-navy); color: #fff; font-weight: 700; }
.ug-selc__ph { position: absolute; right: 12px; bottom: 12px; z-index: 1; padding: 3px 10px; border-radius: 999px; background: rgba(14, 33, 89, .75); color: #fff; font-size: 12px; font-weight: 600; }
.ug-selc__body { display: flex; flex-direction: column; gap: 8px; padding: 20px 22px; }
.ug-skin .ug-selc__t { margin: 0; font: 700 19px/1.3 var(--ug-font); text-transform: none; }
.ug-selc__t a { color: var(--ug-ink); text-decoration: none; }
.ug-selc__t a:hover { color: var(--ug-blue); }
.ug-selc__spec { margin: 0 !important; font-size: 15px; color: var(--ug-muted); }
.ug-selc__note { padding: 12px 14px; border-left: 4px solid var(--ug-blue); border-radius: 10px; background: var(--ug-blue-soft); }
.ug-selc__note b { display: block; margin-bottom: 2px; font-size: 13px; color: var(--ug-navy); }
.ug-selc__note p { font-size: 15px; line-height: 1.5; color: var(--ug-ink); }
.ug-selc__acts { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: auto; padding-top: 6px; }
.ug-selc__btn { min-height: 42px; padding: 0 16px; border: 1px solid #cfd7e6; border-radius: 10px; background: #fff; color: var(--ug-ink); font: 600 14px/1 var(--ug-font); cursor: pointer; transition: background-color .15s, border-color .15s, color .15s; }
.ug-selc__btn:hover { border-color: var(--ug-blue); }
.ug-selc__btn:focus-visible { outline: 3px solid #8fb4ff; outline-offset: 1px; }
.ug-selc__btn:disabled { opacity: .6; cursor: wait; }
.ug-selc__btn--like[aria-pressed="true"] { background: #1f8a4c; border-color: #1f8a4c; color: #fff; }
.ug-selc__btn--no[aria-pressed="true"] { background: #5b6785; border-color: #5b6785; color: #fff; }
.ug-selc__btn--view { border-color: var(--ug-red); color: var(--ug-red); }
.ug-selc__btn--view[aria-pressed="true"], .ug-selc__btn--view:hover { background: var(--ug-red); color: #fff; }
.ug-selc__more { margin-left: auto; font-weight: 700; text-decoration: none; }
.ug-selc__status { min-height: 1.2em; font-size: 14px; color: #1f8a4c; }
.ug-sel__map { margin-top: 36px; }
@media (max-width: 860px) {
	.ug-selc { grid-template-columns: 1fr; }
	.ug-selc__img { min-height: 0; aspect-ratio: 16 / 10; }
	.ug-selc__body { padding: 16px; }
	.ug-selc__btn { flex: 1 1 auto; }
	.ug-selc__more { margin-left: 0; }
}
@media (prefers-reduced-motion: reduce) { .ug-selc, .ug-selc__btn { transition: none; } }

/* ---------- Юридические документы ---------- */
.ug-doc { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 28px; max-width: 1140px; margin: 0 auto; padding: 36px 16px 40px; box-sizing: border-box; align-items: start; }
.ug-doc__toc { position: sticky; top: 90px; padding: 16px 18px; border: 1px solid var(--ug-line); border-radius: var(--ug-radius); background: var(--ug-bg); font-size: 14px; line-height: 1.4; }
.ug-doc__toc b { display: block; margin-bottom: 8px; color: var(--ug-ink); }
.ug-doc__toc ol { margin: 0; padding-left: 20px; }
.ug-doc__toc li { margin: 6px 0; }
.ug-doc__toc a { color: var(--ug-blue); }
.ug-doc__body { min-width: 0; color: var(--ug-ink); font-size: 16px; line-height: 1.65; }
.ug-skin section.ug-doc .ug-doc__sec h2 { margin: 0 0 12px; font: 700 22px/1.3 var(--ug-font); }
.ug-doc__sec { margin-bottom: 28px; scroll-margin-top: 90px; }
.ug-doc__sec p { margin: 0 0 12px; }
.ug-doc__sec ul { margin: 0 0 14px; padding-left: 22px; }
.ug-doc__sec li { margin: 4px 0; }
.ug-doc__sec a { color: var(--ug-blue); text-decoration: underline; }
.ug-doc__n { color: var(--ug-muted); font-weight: 600; }
.ug-doc__sec code { padding: 1px 5px; border-radius: 4px; background: var(--ug-bg); font-size: 14px; }
.ug-doc__req, .ug-doc__purpose { width: 100%; margin: 0 0 16px; border-collapse: collapse; border: 1px solid var(--ug-line); border-radius: var(--ug-radius); font-size: 15px; }
.ug-doc__req th, .ug-doc__req td, .ug-doc__purpose th, .ug-doc__purpose td { padding: 10px 14px; border-bottom: 1px solid var(--ug-line); text-align: left; vertical-align: top; }
.ug-doc__req th, .ug-doc__purpose th { width: 32%; background: var(--ug-bg); color: var(--ug-muted); font-weight: 600; }
.ug-doc__purpose caption { padding: 0 0 8px; text-align: left; color: var(--ug-ink); font-weight: 700; font-size: 17px; }
.ug-doc__more { grid-column: 2; padding: 16px 18px; border-radius: var(--ug-radius); background: var(--ug-blue-soft); font-size: 15px; }
.ug-doc__more ul { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 8px 0 0; padding: 0; list-style: none; }
.ug-doc__more a, .ug-doc__cc { color: var(--ug-blue); text-decoration: underline; }
.ug-doc__cc { padding: 0; border: 0; background: none; font: inherit; cursor: pointer; }
@media (max-width: 900px) {
	.ug-doc { grid-template-columns: 1fr; gap: 18px; padding-top: 24px; }
	.ug-doc__toc { position: static; }
	.ug-doc__more { grid-column: 1; }
	.ug-doc__req th, .ug-doc__purpose th { width: auto; }
	.ug-doc__purpose th, .ug-doc__purpose td { display: block; border-bottom: 0; }
	.ug-doc__purpose td { padding-top: 2px; border-bottom: 1px solid var(--ug-line); }
}
