/* SSG — визуальные правки. Цвета и шрифты темы: #043063, #FF542C, #DCEAF8, Inter Tight, Viaoda Libre. */
:root { --ssgv-navy: #043063; --ssgv-red: #FF542C; --ssgv-sky: #DCEAF8; --ssgv-muted: #56657a; --ssgv-line: #dfe6ef;
	--ssgv-bar: 0px; --ssgv-strip: 0px; }
@media (min-width: 1025px) { :root { --ssgv-bar: 36px; } }
html.ssgv-strip-off { --ssgv-strip: 0px; }
/* Плашка квиза ждёт 45 с от начала сессии: на этот период скрыта целиком, включая отступ под ней. */
html.ssgv-strip-wait { --ssgv-strip: 0px; }
/* Сброс стилей кнопок Hello Elementor (button, [type=button]) для кнопок плагина */
html body :where(button)[class*="ssgv-"] { border: 0; background: none; padding: 0; margin: 0; color: inherit; font: inherit; line-height: 1.2; border-radius: 0; text-transform: none; letter-spacing: normal; box-shadow: none; min-height: 0; width: auto; white-space: normal; }
html body :where(button)[class*="ssgv-"]:hover, html body :where(button)[class*="ssgv-"]:focus { background: none; color: inherit; }

/* ---------- Общее ---------- */


html body .ssgv-todo { background: #FFF1A8 !important; color: #3d3200 !important; padding: 0 4px; border-radius: 3px; font: inherit; font-size: .92em; }
html body .ssgv-todo-block { background: #FFF1A8; color: #3d3200; border-radius: 10px; padding: 10px 14px; margin: 12px auto; max-width: 1200px; font: 14px/1.4 'Inter Tight', sans-serif; }
html body .ssgv-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; padding: 0 26px; border-radius: 9px; font: 600 16px/1.2 'Inter Tight', sans-serif; text-decoration: none !important; white-space: nowrap; cursor: pointer; border: 1.5px solid transparent; transition: background .2s, color .2s; }
html body .ssgv-btn--sm { min-height: 44px; padding: 0 18px; font-size: 15px; }
html body .ssgv-btn--red { background: var(--ssgv-red); color: #fff !important; }
html body .ssgv-btn--red:hover { background: #e2441e; }
html body .ssgv-btn--out { background: #fff; border-color: var(--ssgv-navy); color: var(--ssgv-navy) !important; }
html body .ssgv-btn--out:hover { background: var(--ssgv-sky); }
html body .ssgv-btn--outw { background: transparent; border-color: #fff; color: #fff !important; }
html body .ssgv-btn--outw:hover { background: rgba(255,255,255,.12); }
html body .ssgv-linkbtn { background: none; border: 0; padding: 0; color: inherit; font: inherit; text-decoration: underline; cursor: pointer; }
html body .ssgv-wrap { max-width: 1240px; margin: 0 auto; padding: 0 20px; }
html body .ssgv-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
html body .ssgv-ico { flex: none; vertical-align: middle; }
html body .ssgv-mob { display: none; }
@media (max-width: 767px) { html body .ssgv-desk { display: none; } html body .ssgv-mob { display: inline; } }/* ---------- Полоса контактов, полоса оценки шансов, сдвиг шапки ---------- */


body { padding-top: calc(var(--ssgv-bar) + var(--ssgv-strip)); }
body header.site-section { top: calc(var(--ssgv-bar) + var(--ssgv-strip)); transition: top .25s ease; }
html.ssgv-scrolled body header.site-section { top: var(--ssgv-bar); }
html body .ssgv-topbar { display: none; }
@media (min-width: 1025px) {
	html body .ssgv-topbar { display: block; position: fixed; top: 0; left: 0; right: 0; height: 36px; z-index: 999; background: var(--ssgv-navy); color: #fff; font: 13px/1 'Inter Tight', sans-serif; }
	html body .ssgv-topbar__in { max-width: 1440px; margin: 0 auto; height: 36px; padding: 0 40px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
	html body .ssgv-topbar__office, html body .ssgv-topbar a { display: inline-flex; align-items: center; gap: 6px; color: #fff !important; text-decoration: none; white-space: nowrap; }
	html body .ssgv-topbar__links { display: flex; gap: 22px; }
	html body .ssgv-topbar a:hover { text-decoration: underline; }
}
html body .ssgv-strip { position: fixed; left: 0; right: 0; top: var(--ssgv-bar); height: 44px; z-index: 997; background: var(--ssgv-sky); color: var(--ssgv-navy);
	display: flex; align-items: center; justify-content: center; gap: 16px; padding: 0 48px; font: 15px/1.2 'Inter Tight', sans-serif; transition: transform .25s ease; }
html.ssgv-scrolled .ssgv-strip { transform: translateY(-110%); }
html.ssgv-strip-off .ssgv-strip { display: none; }
html.ssgv-strip-wait .ssgv-strip { display: none; }
html body .ssgv-strip__btn { background: var(--ssgv-navy); color: #fff; border: 0; border-radius: 6px; padding: 7px 14px; font: 600 14px 'Inter Tight', sans-serif; cursor: pointer; white-space: nowrap; }
html body .ssgv-strip__x { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); background: none; border: 0; color: var(--ssgv-navy); cursor: pointer; padding: 6px; line-height: 0; }
@media (max-width: 767px) { html body .ssgv-strip { justify-content: space-between; padding: 0 40px 0 14px; gap: 8px; font-size: 13px; line-height: 1.15; } html body .ssgv-strip__btn { font-size: 13px; padding: 6px 10px; } }/* Кнопка звонка рядом с меню (телефон и планшет) */


html body .ssgv-callbtn { display: none; }
@media (max-width: 1024px) {
	html body .ssgv-callbtn { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 9px; background: var(--ssgv-navy); color: #fff !important; }
	body .header-main .header-controls { align-items: center; }
}/* ---------- Хлебные крошки ---------- */


html body .ssgv-bc { margin: 0 0 14px; font: 14px/1.4 'Inter Tight', sans-serif; color: var(--ssgv-muted); }
html body .ssgv-bc ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 0; }
html body .ssgv-bc li { display: inline-flex; align-items: center; margin: 0; padding: 0; }
html body .ssgv-bc li + li::before { content: '›'; margin: 0 8px; color: #9aa7b8; }
html body .ssgv-bc a { color: var(--ssgv-navy); text-decoration: none; }
html body .ssgv-bc a:hover { text-decoration: underline; }
html body .ssgv-bc__more { display: none !important; }
html body .ssgv-bc--dark, html body .ssgv-bc--dark a, html body .ssgv-bc--dark li + li::before { color: rgba(255,255,255,.92); }
@media (max-width: 767px) {
	html body .ssgv-bc { font-size: 13px; }
	html body .ssgv-bc__mid { display: none !important; }
	html body .ssgv-bc__more { display: inline-flex !important; }
}/* ---------- «Написать нам» ---------- */


html body { --ssgv-fab-right: 24px; --ssgv-fab-bottom: 24px; --ssgv-fab-height: 48px; }
html body .ssgv-fab { position: fixed; right: var(--ssgv-fab-right); bottom: var(--ssgv-fab-bottom); z-index: 990; display: flex; flex-direction: column; align-items: flex-end; gap: 10px; font-family: 'Inter Tight', sans-serif; }
html body .ssgv-fab__main { display: inline-flex; align-items: center; gap: 8px; background: var(--ssgv-red); color: #fff; border: 0; border-radius: 30px; padding: 14px 20px; font: 600 15px 'Inter Tight', sans-serif; box-shadow: 0 8px 24px rgba(255,84,44,.35); cursor: pointer; }
html body .ssgv-fab__items { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
html body .ssgv-fab__items[hidden] { display: none; }
html body .ssgv-fab__item { display: inline-flex; align-items: center; gap: 9px; background: #fff; color: var(--ssgv-navy) !important; border: 0; border-radius: 24px; padding: 9px 16px 9px 9px; font: 500 14px 'Inter Tight', sans-serif; box-shadow: 0 6px 18px rgba(4,48,99,.16); text-decoration: none !important; cursor: pointer; }
html body .ssgv-fab__ico { width: 30px; height: 30px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: #fff; font-style: normal; }
html body .ssgv-fab__ico--chat { background: var(--ssgv-red); } html body .ssgv-fab__ico--tg { background: #2AABEE; } html body .ssgv-fab__ico--wa { background: #25D366; } html body .ssgv-fab__ico--call { background: var(--ssgv-navy); }
@media (max-width: 767px) { html body { --ssgv-fab-right: 14px; --ssgv-fab-bottom: 84px; --ssgv-fab-height: 44px; } html body .ssgv-fab__main { padding: 12px 16px; } }
/* «Наверх» над кнопкой связи; открытое меню связи получает приоритет. */
html body:has(#ssgv-fab) .adm-totop { right: var(--ssgv-fab-right); bottom: calc(var(--ssgv-fab-bottom) + var(--ssgv-fab-height) + 12px); z-index: 989; }
html body:has(.ssgv-fab__main[aria-expanded="true"]) .adm-totop { opacity: 0; visibility: hidden; pointer-events: none; }
/* ---------- Подвал ---------- */


html body .ssgv-addr { display: grid; gap: 6px; font: 15px/1.5 'Inter Tight', sans-serif; }
html body .ssgv-addr__l { display: flex; gap: 8px; align-items: flex-start; }
html body .ssgv-addr__l .ssgv-ico { margin-top: 3px; }
html body .ssgv-addr__l--pad { padding-left: 24px; }
html body .ssgv-addr__map { color: var(--ssgv-red) !important; text-decoration: none; font-weight: 500; }
html body .ssgv-legal { font: 12.5px/1.55 'Inter Tight', sans-serif; color: var(--ssgv-muted); margin-top: 8px; }
html body .ssgv-legal .ssgv-linkbtn { color: var(--ssgv-muted); }
/* Тема показывает одну из двух строк ©: в section2 на компьютере, в section_clean на телефоне (≤768px) */
@media (min-width: 769px) { html body .v2-footer .section_clean .ssgv-legal { display: none; } }
@media (max-width: 768px) {
	html body .v2-footer .section2 .ssgv-legal { display: none; }
	html body .v2-footer .section_clean:has(.ssgv-legal) { flex-direction: column; align-items: center; text-align: center; }
}/* ---------- Cookies ---------- */


html body .ssgv-cookie { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1003; background: #fff; color: #1d2b3f; box-shadow: 0 -6px 24px rgba(4,48,99,.16);
	padding: 16px 40px; font: 14px/1.45 'Inter Tight', sans-serif; max-height: 90vh; overflow-y: auto; }
html body .ssgv-cookie[hidden] { display: none; }
html body .ssgv-cookie a { color: var(--ssgv-navy); text-decoration: underline; }
html body .ssgv-cookie__main { display: flex; gap: 24px; align-items: center; justify-content: space-between; }
html body .ssgv-cookie__btns { display: flex; gap: 10px; flex: none; }
html body .ssgv-cookie__prefs { display: grid; gap: 12px; margin-top: 14px; padding-top: 14px; border-top: 1px solid #e3ebf5; }
html body .ssgv-cookie__prefs[hidden] { display: none; }
html body .ssgv-cookie__prefs .ssgv-cookie__btns { justify-content: flex-end; }
html body .ssgv-cookie__cat { display: flex; gap: 12px; align-items: flex-start; cursor: pointer; max-width: 900px; }
html body .ssgv-cookie__cat input { flex: none; width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--ssgv-navy); }
html body .ssgv-cookie__cat b { display: block; color: var(--ssgv-navy); }
@media (max-width: 767px) {
	html body .ssgv-cookie { padding: 16px 16px 18px; border-radius: 18px 18px 0 0; }
	html body .ssgv-cookie__main { flex-direction: column; align-items: stretch; gap: 12px; }
	html body .ssgv-cookie__btns .ssgv-btn { flex: 1; min-height: 46px; padding: 0 10px; white-space: normal; }
}/* ---------- Согласие в формах ---------- */


html body .ssgv-consent { margin: 4px 2px 14px; text-align: left; font: 13px/1.45 'Inter Tight', sans-serif; color: #3b4a60; }
html body .ssgv-consent .wpcf7-list-item { margin: 0; }
html body .ssgv-consent label, html body .ssgv-consent--plain { display: flex; gap: 10px; align-items: flex-start; cursor: pointer; }
html body .ssgv-consent input[type=checkbox] { flex: none; width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--ssgv-navy); }
html body .ssgv-consent a { color: var(--ssgv-navy); text-decoration: underline; }
html body .v2 form.wpcf7-form .ssgv-consent .wpcf7-form-control-wrap, html body .ssgv-consent .wpcf7-form-control-wrap { display: block; height: auto; }
/* Тема ставит подсказку об ошибке поверх поля (position: absolute) — у галочки она наезжала на текст согласия */
html body .v2 form.wpcf7-form .ssgv-consent .wpcf7-not-valid-tip, html body .ssgv-consent .wpcf7-not-valid-tip { position: static; display: block; margin: 4px 0 0 28px; transform: none; right: auto; padding: 0; background: none; font-size: 12.5px; text-align: left; }
/* Плашка «Одно или несколько полей…» у темы висит поверх соседних блоков — в новых формах она в потоке */
html body .v2 form.wpcf7-form:has(.ssgv-f) .wpcf7-response-output { position: static; margin: 12px 0 0; width: auto; }
/* Встроенная форма на тёмном фоне (услуги, программы, специальности) */
html body form.form-consult .ssgv-consent { color: rgba(255,255,255,.88); }
html body form.form-consult .ssgv-consent a { color: #fff; }/* ---------- Форма заявки (R7) ---------- */


html body .popup.ssgv-popup .ssgv-popup__in { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 0; padding: 0; overflow: hidden; text-align: left; }
html body .ssgv-popup__l { padding: 30px 32px; min-width: 0; }
/* Поля CF7 с атрибутом size="40" не дают колонке сжаться уже ~330 px — на узких телефонах форма обрезалась справа */
html body .ssgv-f input, html body .ssgv-f .wpcf7-form-control-wrap, html body .ssgv-f .input-group { max-width: 100%; min-width: 0; box-sizing: border-box; }
html body .ssgv-popup__l .description { margin-bottom: 16px; }
html body .ssgv-popup__r { padding: 30px 28px; background: var(--ssgv-sky); min-width: 0; }
html body .ssgv-f__label { font: 13.5px 'Inter Tight', sans-serif; color: var(--ssgv-muted); margin: 4px 0 6px; text-align: left; }
html body .ssgv-seg { margin-bottom: 14px; }
html body .ssgv-seg .wpcf7-radio, html body .ssgv-seg--js { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
html body .ssgv-seg .wpcf7-list-item { margin: 0; }
html body .ssgv-seg label { display: block; cursor: pointer; }
html body .ssgv-seg input { position: absolute; opacity: 0; pointer-events: none; }
html body .ssgv-seg .wpcf7-list-item-label, html body .ssgv-seg--js span { display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; border: 1.5px solid #d6dfea; border-radius: 10px; background: #fff; font: 15px 'Inter Tight', sans-serif; color: var(--ssgv-navy); text-align: center; padding: 0 6px; }
html body .ssgv-seg input:checked + .wpcf7-list-item-label, html body .ssgv-seg--js input:checked + span { border-color: var(--ssgv-navy); background: var(--ssgv-sky); font-weight: 600; }
html body .ssgv-seg input:focus-visible + span { outline: 2px solid var(--ssgv-red); outline-offset: 2px; }
html body .ssgv-next__title { font: 600 17px 'Inter Tight', sans-serif; color: var(--ssgv-navy); margin-bottom: 14px; }
html body .ssgv-next__title--sub { font-size: 15px; margin: 22px 0 10px; }
html body .ssgv-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
html body .ssgv-steps li { display: flex; gap: 12px; font: 15px/1.4 'Inter Tight', sans-serif; color: #1d2b3f; margin: 0; }
html body .ssgv-steps i { flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--ssgv-navy); color: #fff; font: normal 600 14px/28px 'Inter Tight', sans-serif; text-align: center; }
html body .ssgv-next__links { display: flex; gap: 10px; flex-wrap: wrap; }
@media (min-width: 941px) { html body .popup.ssgv-popup { width: min(880px, 94vw) !important; max-width: none !important; } }
/* Окно выше экрана телефона: тема центрирует его без ограничения высоты, верх и низ уходили за край */
html body .popup.ssgv-popup { max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
@media (max-width: 400px) {
	html body .popup.ssgv-popup { padding-left: 6px; padding-right: 6px; }
	html body .ssgv-popup__l { padding: 22px 12px !important; }
	html body .ssgv-popup__r { padding: 18px 12px !important; }
	html body .ssgv-seg .wpcf7-list-item-label, html body .ssgv-seg--js span { font-size: 14px; padding: 0 4px; }
}
@media (max-width: 940px) { html body .popup.ssgv-popup .ssgv-popup__in { grid-template-columns: minmax(0, 1fr); } html body .ssgv-popup__l { padding: 24px 18px; } html body .ssgv-popup__r { padding: 20px 18px; } }/* ---------- Главная: первый экран и подтверждения ---------- */


html body .ssgv-sub { font: 19px/1.5 'Inter Tight', sans-serif; color: #24364f; max-width: 760px; margin: 14px auto 0; text-align: center;
	/* Резерв под строки запасного шрифта: пока грузится Inter Tight, подзаголовок длиннее, и блок ниже съезжал (CLS 0,10) */
	min-height: 4.5em; }
html body .ssgv-hero-btns { display: flex; flex-wrap: wrap; gap: 12px 14px; justify-content: center; align-items: center; margin-top: 24px; }
html body .ssgv-hero-btns > button.main { margin: 0 !important; }
html body .ssgv-btn--hero { min-height: 49px; }
html body .ssgv-unis { display: flex; flex-wrap: wrap; gap: 8px 22px; align-items: baseline; justify-content: center; margin-top: 22px; }
html body .ssgv-unis b { flex-basis: 100%; text-align: center; font: 600 12px 'Inter Tight', sans-serif; letter-spacing: .06em; text-transform: uppercase; color: var(--ssgv-muted); }
html body .ssgv-unis span { font: 24px 'Viaoda Libre', serif; color: var(--ssgv-navy); }
@media (max-width: 767px) { html body .ssgv-sub { font-size: 16px; min-height: 7.5em; } html body .ssgv-hero-btns { flex-direction: column; align-items: stretch; } html body .ssgv-unis span { font-size: 19px; } }
html body .ssgv-case { margin: 8px 0 4px; display: grid; gap: 6px; font: 14px/1.35 'Inter Tight', sans-serif; color: var(--ssgv-muted); text-align: left; }
html body .ssgv-case__uni { color: var(--ssgv-navy); font-weight: 600; }
html body .ssgv-case__letter { display: flex; gap: 8px; align-items: center; border: 1px dashed #b9c7d8; border-radius: 10px; background: #fff; padding: 8px 10px; color: var(--ssgv-navy); font: 13.5px 'Inter Tight', sans-serif; cursor: pointer; text-align: left; }
html body .ssgv-proof { padding: 30px 0 40px; }
html body .ssgv-proof__title { font: 600 20px 'Inter Tight', sans-serif !important; color: var(--ssgv-navy); margin: 0 0 16px !important; }
html body .ssgv-badges { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
html body .ssgv-badge { border: 1px solid var(--ssgv-line); border-radius: 14px; padding: 14px 16px; display: grid; gap: 4px; align-content: start; background: #fff; font: 14px/1.4 'Inter Tight', sans-serif; color: var(--ssgv-muted); }
html body .ssgv-badge b { font: 700 18px 'Inter Tight', sans-serif; color: var(--ssgv-navy); }
html body .ssgv-badge a { color: var(--ssgv-red); text-decoration: none; font-weight: 600; }
html body .ssgv-cur-regalia { font: 13px/1.35 'Inter Tight', sans-serif; color: var(--ssgv-muted); margin-top: 2px; }
html body .ssgv-lightbox { position: fixed; inset: 0; z-index: 1200; background: rgba(6,16,32,.8); display: flex; align-items: center; justify-content: center; padding: 20px; cursor: zoom-out; }
html body .ssgv-lightbox img { max-width: 100%; max-height: 100%; border-radius: 8px; background: #fff; }/* ---------- Пакеты и цены (R4) ---------- */


html body .ssgv-packs-sec { padding: 40px 0 44px; background: #fff; }
html body .ssgv-h2 { font: 40px/1.15 'Viaoda Libre', serif !important; color: var(--ssgv-navy); margin: 0 0 12px !important; font-weight: 400 !important; }
html body .ssgv-note { font: 15px/1.5 'Inter Tight', sans-serif; color: var(--ssgv-muted); margin: 0 0 22px; max-width: 900px; }
html body .ssgv-packs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
html body .ssgv-pack { background: var(--ssgv-sky); border-radius: 16px; padding: 20px; display: grid; gap: 10px; align-content: start; }
html body .ssgv-pack h3 { font: 26px/1.1 'Viaoda Libre', serif !important; color: var(--ssgv-navy); margin: 0 !important; font-weight: 400 !important; }
html body .ssgv-pack p { font: 14px/1.45 'Inter Tight', sans-serif; color: #24364f; margin: 0; }
html body .ssgv-price { font: 700 28px/1.15 'Inter Tight', sans-serif; color: var(--ssgv-navy); }
html body .ssgv-price small { display: block; font: 500 14px 'Inter Tight', sans-serif; color: var(--ssgv-muted); }
html body .ssgv-pack__alt { font: 13.5px/1.4 'Inter Tight', sans-serif; color: #24364f; min-height: 19px; }
html body .ssgv-pack__btns { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 4px; }
html body .ssgv-cmp-wrap { overflow-x: auto; margin-top: 22px; }
html body .ssgv-cmp { width: 100%; min-width: 720px; border-collapse: collapse; font: 14.5px/1.4 'Inter Tight', sans-serif; color: #1d2b3f; }
html body .ssgv-cmp th, html body .ssgv-cmp td { text-align: left; vertical-align: top; padding: 11px 12px; border-bottom: 1px solid #e3ebf5; }
html body .ssgv-cmp th { font-weight: 600; color: var(--ssgv-navy); background: #f4f8fd; }
html body .ssgv-cmp td:first-child { font-weight: 500; width: 28%; }
html body .ssgv-cmp-more { display: inline-block; margin-top: 12px; font: 600 14px 'Inter Tight', sans-serif; color: var(--ssgv-navy) !important; }
@media (max-width: 1100px) { html body .ssgv-packs { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { html body .ssgv-packs { grid-template-columns: 1fr; } html body .ssgv-h2 { font-size: 30px !important; } }/* ---------- Первый экран услуги (R5) ---------- */


html body .ssgv-svc { margin-top: 6px; }
html body .ssgv-hero-list { list-style: none; padding: 0; margin: 16px 0 0; display: grid; gap: 8px; }
html body .ssgv-hero-list li { display: flex; gap: 10px; align-items: flex-start; color: #fff; font: 17px/1.35 'Inter Tight', sans-serif; margin: 0; }
html body .ssgv-hero-list .ssgv-ico { color: #9FD3FF; margin-top: 1px; }
html body .ssgv-stats { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 16px; }
html body .ssgv-stats span { background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.35); color: #fff; border-radius: 10px; padding: 8px 12px; font: 15px 'Inter Tight', sans-serif; }
html body .ssgv-stats b { font: 700 19px 'Inter Tight', sans-serif; margin-right: 5px; }
html body .ssgv-hprice { color: #fff; margin-top: 16px; font: 15px 'Inter Tight', sans-serif; }
html body .ssgv-hprice b { font: 700 26px 'Inter Tight', sans-serif; margin-right: 8px; }
html body .ssgv-svc .ssgv-hero-btns { justify-content: flex-start; margin-top: 18px; }
html body .ssgv-svc .ssgv-hero-btns .button_to_univer { margin: 0 !important; }
/* Обложка услуги — по высоте содержимого: тема центрирует блок в окне фиксированной высоты, и длинный первый экран уходит под шапку */
html body .single-main-slide.ssgv-has-svc { position: relative; height: auto; max-height: none; min-height: 640px; align-items: flex-start; padding: 40px 0 50px; }
html body .ssgv-curator { position: absolute; right: 40px; bottom: 40px; z-index: 5; width: 320px; background: #fff; border-radius: 16px; padding: 14px 16px; display: flex; gap: 14px; align-items: center; box-shadow: 0 12px 30px rgba(0,0,0,.25); font: 14px/1.4 'Inter Tight', sans-serif; color: var(--ssgv-muted); }
html body .ssgv-curator b { display: block; font: 600 16px 'Inter Tight', sans-serif; color: var(--ssgv-navy); }
html body .ssgv-curator__img, html body .ssgv-curator__ph { flex: none; width: 64px; height: 64px; border-radius: 50%; object-fit: cover; }
html body .ssgv-curator__ph { background: var(--ssgv-sky); color: var(--ssgv-navy); display: flex; align-items: center; justify-content: center; }
@media (max-width: 1024px) {
	html body .ssgv-curator { position: static; width: auto; max-width: 420px; margin: 18px 0 0; }
	html body .single-main-slide.ssgv-has-svc { min-height: 0; overflow: visible; padding: 100px 0 28px; }
}
@media (max-width: 767px) { html body .ssgv-hero-list li { font-size: 15.5px; } html body .ssgv-svc .ssgv-hero-btns { flex-direction: column; align-items: stretch; } }/* ---------- Карточка страны (R6) ---------- */


html body .ssgv-cc { min-width: 0; max-width: 100%; box-sizing: border-box; margin-top: 22px; border: 1px solid var(--ssgv-line); border-radius: 16px; padding: 22px; display: grid; gap: 16px; background: #fff; box-shadow: 0 8px 24px rgba(4,48,99,.08); text-align: left; }
html body .ssgv-cc__title { font: 600 18px 'Inter Tight', sans-serif; color: var(--ssgv-navy); }
html body .ssgv-cc__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; padding: 14px 16px; background: #eef5fc; border-radius: 10px; }
html body .ssgv-cc__cell { min-width: 0; background: none; padding: 0; font: 14px/1.4 'Inter Tight', sans-serif; color: var(--ssgv-muted); }
html body .ssgv-cc__cell + .ssgv-cc__cell { border-left: 1px solid #cadcec; padding-left: 20px; }
html body .ssgv-cc__cell > span { display: block; }
html body .ssgv-cc__cell b { display: block; font: 700 29px/1.2 'Inter Tight', sans-serif; color: var(--ssgv-navy); margin: 4px 0 0; }
html body .ssgv-cc__cell + .ssgv-cc__cell b { font-size: 25px; }
html body .ssgv-cc__btns { display: flex; gap: 10px; flex-wrap: wrap; align-items: stretch; }
html body .ssgv-cc__btns > .ssgv-btn { min-width: 0; max-width: 100%; min-height: 50px; padding: 10px 14px; font-size: 14px; white-space: normal; text-align: center; }
html body .ssgv-cc__btns .adm-btn { margin: 0 !important; flex: 1 1 260px; width: auto; min-width: 0; max-width: 100%; min-height: 50px; padding: 10px 14px; display: flex; justify-content: center; align-items: center; border-radius: 9px; font: 700 19px/1.35 'Inter Tight', sans-serif; white-space: normal; text-align: center; }
html body .ssgv-cc__btns > :focus-visible { outline: 3px solid var(--ssgv-navy); outline-offset: 3px; }
html body .ssgv-cc__note { display: flex; gap: 7px; align-items: center; font: 13px/1.4 'Inter Tight', sans-serif; color: var(--ssgv-muted); }
html body .ssgv-cc__note svg { flex: none; }
@media (max-width: 640px) {
	html body .ssgv-cc { padding: 18px; }
	html body .ssgv-cc__grid { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 14px; }
	html body .ssgv-cc__cell + .ssgv-cc__cell { border-left: 0; border-top: 1px solid #cadcec; padding: 12px 0 0; }
	html body .ssgv-cc__btns > * { flex: 1 1 100%; width: 100%; }
	html body .ssgv-cc__note { font-size: 12px; }
}
/* ---------- Окна: квиз ---------- */


html body .ssgv-modal { position: fixed; inset: 0; z-index: 1100; display: flex; align-items: center; justify-content: center; padding: 16px; }
html body .ssgv-modal[hidden] { display: none; }
html body .ssgv-modal__bg { position: absolute; inset: 0; background: rgba(6,16,32,.55); }
html body .ssgv-modal__box { position: relative; background: #fff; border-radius: 18px; box-shadow: 0 24px 60px rgba(4,48,99,.3); max-height: calc(100vh - 32px); overflow: auto; font-family: 'Inter Tight', sans-serif; }
html body .ssgv-modal__x { position: absolute; right: 14px; top: 14px; background: none; border: 0; color: var(--ssgv-navy); cursor: pointer; padding: 6px; line-height: 0; }
html body .ssgv-quiz { width: 580px; max-width: 100%; padding: 28px 32px 26px; }
html body .ssgv-quiz__title { font: 600 15px 'Inter Tight', sans-serif; color: var(--ssgv-muted); margin-bottom: 12px; }
html body .ssgv-quiz__bar { height: 4px; border-radius: 4px; background: var(--ssgv-sky); }
html body .ssgv-quiz__bar i { display: block; height: 4px; width: 20%; border-radius: 4px; background: var(--ssgv-navy); transition: width .25s; }
html body .ssgv-quiz__step { font: 14px 'Inter Tight', sans-serif; color: var(--ssgv-muted); margin: 10px 0 4px; min-height: 18px; }
html body .ssgv-q { border: 0; margin: 0; padding: 0; min-width: 0; }
html body .ssgv-q[hidden] { display: none; }
html body .ssgv-q__title { font: 30px/1.15 'Viaoda Libre', serif; color: var(--ssgv-navy); margin: 0 0 16px; padding: 0; }
html body .ssgv-q__lead { font: 15px/1.45 'Inter Tight', sans-serif; color: #24364f; margin: -6px 0 14px; }
html body .ssgv-opts { display: grid; gap: 10px; }
html body .ssgv-opts--2 { grid-template-columns: 1fr 1fr; }
html body .ssgv-opt { display: flex; justify-content: space-between; align-items: center; gap: 10px; min-height: 50px; padding: 12px 16px; border: 1.5px solid #d6dfea; border-radius: 10px; font: 16px/1.3 'Inter Tight', sans-serif; color: var(--ssgv-navy); cursor: pointer; }
html body .ssgv-opt input { position: absolute; opacity: 0; pointer-events: none; }
html body .ssgv-opt .ssgv-ico { visibility: hidden; }
html body .ssgv-opt:has(input:checked) { border-color: var(--ssgv-navy); background: var(--ssgv-sky); }
html body .ssgv-opt:has(input:checked) .ssgv-ico { visibility: visible; }
html body .ssgv-opt:has(input:focus-visible) { outline: 2px solid var(--ssgv-red); outline-offset: 2px; }
html body .ssgv-field { display: grid; gap: 6px; margin-bottom: 12px; font: 13.5px 'Inter Tight', sans-serif; color: var(--ssgv-muted); }
html body .ssgv-field input[type=text], html body .ssgv-field input[type=email] { height: 48px; border: 1.5px solid #d6dfea; border-radius: 10px; padding: 0 14px; font: 16px 'Inter Tight', sans-serif; color: #1d2b3f; width: 100%; box-sizing: border-box; }
html body .ssgv-field input[type=text]:focus, html body .ssgv-field input[type=email]:focus { border-color: var(--ssgv-navy); outline: none; }
html body .ssgv-quiz__err, html body .ssgv-chat__err { color: #c62828; font: 14px 'Inter Tight', sans-serif; min-height: 18px; margin-top: 8px; }
html body .ssgv-quiz__nav[hidden] { display: none; }
html body .ssgv-quiz__nav { display: flex; justify-content: space-between; align-items: center; margin-top: 10px; }
html body .ssgv-quiz__back { color: var(--ssgv-navy); text-decoration: none; font-size: 15px; }
@media (max-width: 767px) {
	html body .ssgv-modal { padding: 0; align-items: stretch; }
	html body .ssgv-modal__box { border-radius: 0; max-height: none; width: 100%; }
	html body .ssgv-quiz { padding: 22px 18px; }
	html body .ssgv-q__title { font-size: 26px; }
	html body .ssgv-opts--2 { grid-template-columns: 1fr; }
}/* ---------- Окно чата ---------- */


html body .ssgv-chat { position: fixed; right: 24px; bottom: 96px; width: 360px; max-width: calc(100vw - 28px); max-height: min(560px, calc(100vh - 140px)); z-index: 1050; background: #fff; border-radius: 18px; overflow: hidden; box-shadow: 0 16px 40px rgba(4,48,99,.25); display: flex; flex-direction: column; font-family: 'Inter Tight', sans-serif; }
html body .ssgv-chat[hidden] { display: none; }
html body .ssgv-chat__h { background: var(--ssgv-navy); color: #fff; padding: 14px 16px; display: flex; gap: 12px; align-items: center; }
html body .ssgv-chat__h b { display: block; font: 600 15px 'Inter Tight', sans-serif; }
html body .ssgv-chat__h span { font-size: 12px; opacity: .85; }
html body .ssgv-chat__av { flex: none; width: 40px; height: 40px; border-radius: 50%; background: var(--ssgv-sky); color: var(--ssgv-navy); display: flex; align-items: center; justify-content: center; font-weight: 700; }
html body .ssgv-chat__x { margin-left: auto; background: none; border: 0; color: #fff; cursor: pointer; padding: 4px; line-height: 0; }
html body .ssgv-chat__b { flex: 1; overflow-y: auto; padding: 14px 16px; background: #F7FAFE; display: flex; flex-direction: column; gap: 8px; }
html body .ssgv-chat__log { display: flex; flex-direction: column; gap: 8px; }
html body .ssgv-chat__msg { max-width: 85%; padding: 10px 12px; border-radius: 14px; font: 14px/1.4 'Inter Tight', sans-serif; white-space: pre-wrap; word-wrap: break-word; }
html body .ssgv-chat__msg--out, html body .ssgv-chat__msg--sys { align-self: flex-start; background: #fff; color: #1d2b3f; border-bottom-left-radius: 4px; box-shadow: 0 2px 8px rgba(4,48,99,.08); }
html body .ssgv-chat__msg--in { align-self: flex-end; background: var(--ssgv-navy); color: #fff; border-bottom-right-radius: 4px; }
html body .ssgv-chat__chips { display: flex; flex-wrap: wrap; gap: 6px; }
html body .ssgv-chat__chip { border: 1px solid var(--ssgv-red); color: var(--ssgv-red); background: #fff; border-radius: 16px; padding: 6px 10px; font: 13px 'Inter Tight', sans-serif; cursor: pointer; }
html body .ssgv-chat__test { background: #FFF1A8; color: #3d3200; border-radius: 10px; padding: 8px 10px; font-size: 12.5px; }
html body .ssgv-chat__contact { display: grid; gap: 8px; }
html body .ssgv-chat__contact[hidden] { display: none; }
html body .ssgv-chat__row { display: flex; gap: 8px; }
html body .ssgv-chat__row input { flex: 1; min-width: 0; height: 44px; border: 1.5px solid #d6dfea; border-radius: 10px; padding: 0 12px; font: 15px 'Inter Tight', sans-serif; }
html body .ssgv-chat__in { display: flex; align-items: flex-end; gap: 8px; border-top: 1px solid #e8eef5; padding: 10px 12px; }
html body .ssgv-chat__in textarea { flex: 1; resize: none; border: 0; outline: none; font: 15px/1.4 'Inter Tight', sans-serif; max-height: 110px; padding: 8px 4px; color: #1d2b3f; }
html body .ssgv-chat__send { background: none; border: 0; color: var(--ssgv-red); cursor: pointer; padding: 8px; line-height: 0; }
html body .ssgv-chat__privacy { font: 11.5px/1.35 'Inter Tight', sans-serif; color: var(--ssgv-muted); padding: 0 14px 10px; }
html body .ssgv-chat__privacy a { color: var(--ssgv-muted); }
@media (max-width: 767px) { html body .ssgv-chat { inset: 0; width: auto; max-width: none; max-height: none; border-radius: 0; } }

/* Наведение: тема красит все кнопки при :hover, здесь — свои цвета */
html body .ssgv-btn--red:hover { background: #e2441e; color: #fff !important; }
html body .ssgv-btn--out:hover { background: var(--ssgv-sky); }
html body .ssgv-btn--outw:hover { background: rgba(255,255,255,.12); }
html body .ssgv-strip__btn:hover, html body .ssgv-strip__btn:focus { background: var(--ssgv-navy); color: #fff; }
html body .ssgv-fab__main:hover, html body .ssgv-fab__main:focus { background: #e2441e; color: #fff; }
html body .ssgv-fab__item:hover { background: #f4f8fd; color: var(--ssgv-navy); }
html body .ssgv-chat__chip:hover { background: #fff3ef; color: var(--ssgv-red); }
html body .ssgv-case__letter:hover { background: #f4f8fd; color: var(--ssgv-navy); }
html body .ssgv-chat__send:hover { color: #e2441e; }

/* Открыто окно темы (консультация, «Спасибо», кейс, куратор) или оплата Stripe: плавающие элементы прячутся */
html body:has(.popup.popup-visible) .ssgv-fab, html body:has(.stripe-popup.active) .ssgv-fab, html body.menu-open .ssgv-fab,
html body:has(.popup.popup-visible) .ssgv-cookie, html body:has(.stripe-popup.active) .ssgv-cookie { display: none; }
html body .ssgv-addr__cc { color: var(--ssgv-muted); font-size: 13px; }

/* Popup layout v2, approved 02.11.2026. Scoped to consultation dialog. */
html body #formContactUS.ssgv-popup--v2 { width: min(800px, calc(100vw - 24px)) !important; max-width: none !important; padding: 0 !important; border-radius: 16px; background: #daeafa; box-sizing: border-box; max-height: calc(100dvh - 24px); overflow-y: auto; }
html body #formContactUS.ssgv-popup--v2 .ssgv-popup__in { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); width: 100%; max-width: none; margin: 0; padding: 0; gap: 0; }
html body #formContactUS .ssgv-popup__intro { grid-column: 1 / -1; padding: 28px 32px 24px; background: #daeafa; }
html body #formContactUS .ssgv-popup__intro .header2 { font-size: 36px; line-height: 1.1; text-align: left; margin: 0 40px 12px 0; padding: 0; color: #08396b; }
html body #formContactUS .ssgv-popup__intro .description { font: 14px/1.5 'Inter Tight', sans-serif; text-align: left; color: #40556a; margin: 0; padding: 0; max-width: none; }
html body #formContactUS .ssgv-popup__l { padding: 24px 28px !important; background: #f6faff; min-width: 0; }
html body #formContactUS .ssgv-popup__r { padding: 24px 28px !important; background: #daeafa; min-width: 0; }
html body #formContactUS .ssgv-f__identity { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
html body #formContactUS .ssgv-f .input-group { margin: 0 0 14px; padding: 0; height: auto; width: 100%; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
html body #formContactUS .ssgv-f .input-group > label { position: static !important; transform: none !important; display: block; padding: 0 !important; margin: 0 !important; font: 600 13px/1.35 'Inter Tight', sans-serif; color: #08396b !important; opacity: 1; pointer-events: auto; }
html body #formContactUS .ssgv-f .input-group .wpcf7-form-control-wrap { display: block; width: 100%; height: auto; }
html body #formContactUS .ssgv-f .input-group input { width: 100%; height: 48px; min-height: 48px; margin: 0; padding: 10px 13px !important; border: 1px solid #c8d8e5; border-radius: 9px; background: #fff; color: #23374b; font: 15px/1.4 'Inter Tight', sans-serif; box-sizing: border-box; }
html body #formContactUS .ssgv-f__label { font: 600 13px/1.35 'Inter Tight', sans-serif; color: #08396b; margin: 0 0 6px; }
html body #formContactUS .ssgv-seg { margin: 0 0 14px; }
html body #formContactUS .ssgv-seg .wpcf7-radio { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
html body #formContactUS .ssgv-seg .wpcf7-list-item-label { min-height: 44px; padding: 8px 4px; font-size: 14px; line-height: 1.3; border-radius: 9px; white-space: normal; }
html body #formContactUS .ssgv-seg input:checked + .wpcf7-list-item-label { color: #fff; border-color: #08396b; background: #08396b; }
html body #formContactUS .ssgv-consent { margin: 2px 0 16px; font: 12px/1.4 'Inter Tight', sans-serif; color: #526577; }
html body #formContactUS .ssgv-consent input[type=checkbox] { width: 18px; height: 18px; min-height: 18px; }
html body #formContactUS .ssgv-f .button-group { display: block; position: relative; margin: 0; padding: 0; width: 100%; text-align: center; }
html body #formContactUS .ssgv-f .wpcf7-submit { display: block; width: 100%; min-height: 50px; height: auto; margin: 0; padding: 12px 16px; border-radius: 9px; border: 0; background: #ff5128; color: #fff; font: 700 19px/1.35 'Inter Tight', sans-serif; white-space: normal; }
html body #formContactUS .ssgv-f .wpcf7-submit:hover { background: #d83c16; }
html body #formContactUS .wpcf7-spinner { position: absolute; right: 4px; top: 13px; margin: 0; }
html body #formContactUS .ssgv-popup__reply { margin: 9px 0 0; padding: 0; text-align: center; font: 12px/1.4 'Inter Tight', sans-serif; color: #526577; }
html body #formContactUS .ssgv-next__title { font-size: 16px; line-height: 1.35; margin: 0 0 18px; }
html body #formContactUS .ssgv-steps { gap: 24px; }
html body #formContactUS .ssgv-steps li { font: 13px/1.5 'Inter Tight', sans-serif; gap: 12px; }
html body #formContactUS .ssgv-steps i { width: 26px; height: 26px; font-size: 12px; line-height: 26px; }
html body #formContactUS .ssgv-step-title { display: block; color: #08396b; font-size: 14px; margin-bottom: 3px; }
html body #formContactUS .ssgv-next__title--sub { font-size: 13px; font-weight: 400; color: #526577; margin: 24px 0 9px; }
html body #formContactUS .ssgv-next__links { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8px; }
html body #formContactUS .ssgv-next__links .ssgv-btn { min-width: 0; min-height: 44px; font-size: 13px; padding: 8px; border-radius: 8px; }
html body #formContactUS .popup-close { top: 12px; right: 12px; width: 44px; height: 44px; z-index: 2; }
html body #formContactUS :is(button,a,input):focus-visible { outline: 3px solid #08396b; outline-offset: 3px; }
html body #formContactUS .ssgv-f .input-group .wpcf7-not-valid-tip { position: static; transform: none; margin: 5px 0 0; padding: 0; text-align: left; font-size: 12px; line-height: 1.35; white-space: normal; }
html body #formContactUS .wpcf7-response-output { position: static; width: auto; margin: 12px 0 0; padding: 10px; font-size: 13px; line-height: 1.4; }
@media(max-width:640px) {
 html body #formContactUS.ssgv-popup--v2 { border-radius: 12px; }
 html body #formContactUS.ssgv-popup--v2 .ssgv-popup__in { grid-template-columns: minmax(0,1fr); }
 html body #formContactUS .ssgv-popup__intro { padding: 24px 20px 20px; }
 html body #formContactUS .ssgv-popup__intro .header2 { font-size: 30px; margin-right: 26px; }
 html body #formContactUS .ssgv-popup__intro .description { font-size: 13px; }
 html body #formContactUS .ssgv-popup__l, html body #formContactUS .ssgv-popup__r { padding: 20px !important; }
 html body #formContactUS .ssgv-f__identity { grid-template-columns: minmax(0,1fr); gap: 0; }
 html body #formContactUS .ssgv-steps { gap: 16px; }
 html body #formContactUS .ssgv-steps li { font-size: 14px; }
 html body #formContactUS .popup-close { top: 6px; right: 6px; }
}

/* Theme replaces the submit input with a keyboard-accessible span button. */
html body #formContactUS .ssgv-f .button-group > .button.main { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 50px; height: auto; box-sizing: border-box; margin: 0; padding: 12px 16px; border: 0; border-radius: 9px; background: #ff5128; color: white; font: 700 19px/1.35 'Inter Tight', sans-serif; }
html body #formContactUS .ssgv-f .button-group > .button.main:hover { background: #d83c16; }
html body #formContactUS .ssgv-f .button-group > .button.main .button-content { font: inherit; }
html body #formContactUS .ssgv-seg .wpcf7-form-control-wrap { display: block; width: 100%; }
html body #formContactUS .ssgv-seg .wpcf7-radio { display: grid !important; width: 100%; }
html body #formContactUS .ssgv-seg .wpcf7-list-item, html body #formContactUS .ssgv-seg label { width: 100%; min-width: 0; }
html body #formContactUS .popup-close { border: 0; background: none !important; }
html body #formContactUS .popup-close::before, html body #formContactUS .popup-close::after { content: ''; position: absolute; top: 50%; left: 50%; width: 22px; height: 2px; background: #08396b; transform: translate(-50%, -50%) rotate(45deg); }
html body #formContactUS .popup-close::after { transform: translate(-50%, -50%) rotate(-45deg); }
html body #formContactUS [role=button]:focus-visible { outline: 3px solid #08396b; outline-offset: 3px; }

html body #formContactUS .ssgv-f .input-group > label { background: transparent !important; }

/* Keep the inactive PhotoSwipe shell out of the page when WooCommerce gallery assets are absent. */
.pswp:not(.pswp--open) { display: none !important; }
