@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800;900&family=Lora:wght@500;600;700&display=swap');

/* OCEAN + SLATE INDIGO PALETTE — RussianEmigrant.com
   Teal mixed with #505b88 for a calmer, more premium tone. */

/* =========================================================
 ОГЛАВЛЕНИЕ CSS
 01. База сайта: шрифты, переменные, фон и общие правила
 02. Общая внешняя оболочка сайта
 03. Главная декоративная карточка сайта
 04. Шапка сайта и верхняя навигация
 05. Верхняя информационная лента доверия
 06. Главный экран главной страницы
 07. Слайдер главной страницы
 08. Декоративные паспортные штампы
 09. Подвал сайта и блок онлайн-счётчика
 10. Общие стили каталога, разделов, категорий и рейтингов
 11. Панели, регионы и сортировка
 12. Таблица стран
 13. Вид материала: строка страны в таблице
 14. Пагинация каталога
 15. Страница добавления и редактирования материала
 16. Страница поиска и вид результата поиска
 17. Анимации сайта
 18. Адаптивная версия сайта
 19. SVG-иконки регионов вместо старых маркеров
 20. Выпадающие фильтры в одну строку
 21. Поиск и быстрые фильтры на главной каталога
 22. Паспортная карточка страны
 23. Цветовые статусы и бейджи
 24. Блок актуальности информации
 25. Поддержка автоматических статусов через JS
 26. Активный пункт верхнего меню
 27. Компактные регионы в одну строку
 28. Спокойный шрифт и размеры заголовков
 29. Выпадающее меню стран в шапке
 30. Выпадающее меню поверх всех блоков
 31. Главный блок контента на главной странице ($CONTENT$)
 32. Иконка блока «Полезные материалы»
 33. Почтовая форма и обратная связь
 34. Фикс выпадающего меню стран — не пропадает при наведении
 35. Полупрозрачный основной контент
 36. Фирменный минимальный скролл
 37. Кнопка «Наверх»
 38. Умная липкая шапка
========================================================= */


/* =========================================================
 01. База сайта: шрифты, переменные, фон и общие правила
========================================================= */

:root{
 --rh-bg:#eaf8fa;
 --rh-paper:#ffffff;
 --rh-paper-strong:#f8fdfe;
 --rh-line:rgba(75,142,167,.26);
 --rh-line-soft:rgba(75,142,167,.16);
 --rh-text:#284162;
 --rh-soft:#556c89;

 --rh-teal:#21859f;
 --rh-teal-deep:#217290;
 --rh-navy:#215a7a;
 --rh-aqua:#2c97ae;
 --rh-aqua-deep:#217194;

 --rh-shadow:0 24px 64px rgba(7,77,105,.16);
 --rh-radius-xl:34px;
 --rh-radius-lg:24px;
 --rh-radius-md:18px;
}

*,
*:before,
*:after{
 box-sizing:border-box;
}

html{
 -webkit-text-size-adjust:100%;
}

body{
 margin:0;
 color:var(--rh-text);
 font:16px/1.7 "Manrope","Segoe UI",sans-serif;
 background:url("https://russianemigrant.com/fon.png") center top / cover no-repeat fixed;
 overflow-x:hidden;
}

body::before{
 content:"";
 position:fixed;
 inset:0;
 pointer-events:none;
 z-index:-2;
 opacity:.22;
 background-image:
 linear-gradient(rgba(8,126,148,.07) 1px,transparent 1px),
 linear-gradient(90deg,rgba(8,126,148,.05) 1px,transparent 1px),
 radial-gradient(circle at 20px 20px,rgba(7,137,156,.07) 1px,transparent 2px);
 background-size:92px 92px,92px 92px,46px 46px;
}

body::after{
 content:"";
 position:fixed;
 inset:0;
 pointer-events:none;
 z-index:-1;
 background:
 radial-gradient(circle at 50% 0%,rgba(255,255,255,.30),transparent 32%),
 linear-gradient(90deg,rgba(8,49,73,.03),transparent 18%,transparent 82%,rgba(8,49,73,.03));
 opacity:.62;
}

a{
 color:inherit;
 text-decoration:none;
}

img{
 display:block;
 max-width:100%;
 height:auto;
}

svg{
 display:block;
}


/* =========================================================
 02. Общая внешняя оболочка сайта
========================================================= */

.rh-shell{
 width:min(1450px,calc(100% - 36px));
 margin:0 auto;
 padding:34px 0 52px;
}

.re-powered{
 margin-top:12px;
 text-align:center;
 color:rgba(88,117,138,.72);
 font-size:12px;
}

.re-powered a{
 color:inherit;
 text-decoration:none;
 border-bottom:1px solid rgba(88,117,138,.22);
}

.re-powered a:hover{
 color:#21859f;
 border-color:rgba(33,133,159,.35);
}


/* =========================================================
 03. Главная декоративная карточка сайта
========================================================= */

.rh-board{
 position:relative;
 overflow:hidden;
 border:1px solid rgba(75,142,167,.34);
 border-radius:var(--rh-radius-xl);
 box-shadow:
 0 28px 70px rgba(33,72,102,.18),
 0 10px 28px rgba(33,72,102,.08),
 inset 0 1px 0 rgba(255,255,255,.76);
 background:
 radial-gradient(circle at 70% 42%,rgba(34,188,199,.13),transparent 32%),
 radial-gradient(circle at 25% 45%,rgba(255,255,255,.70),transparent 34%),
 radial-gradient(circle at 12% 10%,rgba(255,255,255,.72),transparent 24%),
 linear-gradient(180deg,rgba(248,253,254,.98),rgba(246,252,253,.97));
 backdrop-filter:blur(8px);
 animation:rhPremiumBoardIn .7s cubic-bezier(.2,.8,.2,1) both;
}

.rh-board::before{
 content:"";
 position:absolute;
 inset:0;
 pointer-events:none;
 background:
 radial-gradient(circle at 14% 18%,rgba(255,255,255,.58),transparent 20%),
 radial-gradient(circle at 84% 12%,rgba(255,255,255,.32),transparent 18%),
 repeating-linear-gradient(115deg,transparent 0 24px,rgba(7,137,156,.028) 24px 26px);
}

.rh-board::after{
 content:"";
 position:absolute;
 inset:0;
 pointer-events:none;
 border-radius:inherit;
 box-shadow:
 inset 0 1px 0 rgba(255,255,255,.84),
 inset 0 0 0 1px rgba(255,255,255,.35),
 inset 0 -1px 0 rgba(75,142,167,.12);
}


/* =========================================================
 04. Шапка сайта и верхняя навигация
========================================================= */

.rh-topbar{
 position:relative;
 z-index:4;
 display:grid;
 grid-template-columns:auto 1fr auto;
 gap:20px;
 align-items:center;
 margin:22px 24px 0;
 padding:18px 22px;
 border:1px solid rgba(35,173,188,.30);
 border-radius:26px;
 background:
 linear-gradient(180deg,rgba(255,255,255,.72),rgba(246,252,253,.54));
 box-shadow:
 0 18px 44px rgba(33,72,102,.12),
 inset 0 1px 0 rgba(255,255,255,.88),
 inset 0 0 0 1px rgba(255,255,255,.36);
 backdrop-filter:blur(18px) saturate(1.08);
 animation:rhPremiumDrop .72s cubic-bezier(.2,.8,.2,1) .06s both;
}

.rh-topbar::before{
 content:"";
 position:absolute;
 left:22px;
 right:22px;
 top:0;
 height:1px;
 background:linear-gradient(90deg,transparent,rgba(255,255,255,.92),transparent);
 pointer-events:none;
}

.rh-topbar::after{
 content:"";
 position:absolute;
 left:-4px;
 top:-4px;
 width:54px;
 height:54px;
 z-index:7;
 border-left:2px solid rgba(8,139,160,.30);
 border-top:2px solid rgba(8,139,160,.30);
 border-radius:18px 0 0 0;
 pointer-events:none;
}

.rh-brand{
 display:flex;
 align-items:center;
 gap:14px;
 min-width:0;
}

.rh-brand img{
 width:170px;
 height:auto;
 filter:drop-shadow(0 8px 16px rgba(33,72,102,.16));
 transition:transform .25s ease, filter .25s ease;
}

.rh-brand:hover img{
 transform:translateY(-1px) scale(1.015);
 filter:drop-shadow(0 12px 22px rgba(33,72,102,.20));
}

.rh-nav{
 display:flex;
 align-items:center;
 justify-content:center;
 gap:34px;
 flex-wrap:wrap;
}

.rh-nav a{
 position:relative;
 z-index:1;
 padding:8px 2px;
 color:#173b53;
 font-size:16px;
 font-weight:700;
 letter-spacing:-.01em;
 transition:.2s ease;
}

.rh-nav a::before{
 content:"";
 position:absolute;
 left:-12px;
 right:-12px;
 top:2px;
 bottom:2px;
 z-index:-1;
 opacity:0;
 transform:translateY(4px);
 border-radius:999px;
 background:
 linear-gradient(135deg,rgba(44,151,174,.16),rgba(255,255,255,.58));
 box-shadow:inset 0 1px 0 rgba(255,255,255,.68);
 transition:.22s ease;
}

.rh-nav a:hover{
 color:var(--rh-aqua-deep);
}

.rh-nav a:hover::before,
.rh-nav a.is-active::before{
 opacity:1;
 transform:translateY(0);
}

.rh-nav a.is-active{
 color:#0a748b;
}

.rh-nav a.is-active::before{
 background:
 radial-gradient(circle at 50% 0%,rgba(255,255,255,.74),transparent 58%),
 linear-gradient(180deg,rgba(214,246,248,.88),rgba(164,226,231,.34));
 border:1px solid rgba(33,116,146,.18);
 box-shadow:
 0 10px 24px rgba(32,100,132,.10),
 inset 0 1px 0 rgba(255,255,255,.82);
}

.rh-nav a.is-active::after{
 content:"";
 position:absolute;
 left:0;
 right:0;
 bottom:-7px;
 height:3px;
 border-radius:999px;
 background:linear-gradient(90deg,transparent,var(--rh-aqua),transparent);
}

.rh-tools{
 display:flex;
 align-items:center;
 gap:12px;
}

.rh-icon-btn{
 width:44px;
 height:44px;
 display:grid;
 place-items:center;
 border-radius:50%;
 border:1px solid var(--rh-line);
 background:
 linear-gradient(180deg,rgba(255,255,255,.90),rgba(244,252,253,.84));
 color:#315e72;
 box-shadow:
 0 10px 24px rgba(7,77,105,.08),
 inset 0 1px 0 rgba(255,255,255,.86);
 transition:.2s ease;
}

.rh-icon-btn:hover{
 transform:translateY(-1px);
 background:#fff;
 border-color:rgba(7,137,156,.32);
 color:var(--rh-aqua-deep);
}

.rh-icon-btn svg{
 width:18px;
 height:18px;
 stroke:currentColor;
 fill:none;
 stroke-width:1.9;
 stroke-linecap:round;
 stroke-linejoin:round;
}

.rh-pick-btn{
 position:relative;
 overflow:hidden;
 display:inline-flex;
 align-items:center;
 gap:10px;
 min-height:44px;
 padding:10px 20px;
 border-radius:999px;
 border:1px solid rgba(118,220,225,.48);
 background:
 radial-gradient(circle at 30% 0%,rgba(255,255,255,.18),transparent 42%),
 linear-gradient(135deg,#16bdc4 0%,#21859f 46%,#0877a8 100%);
 color:#fff;
 font-weight:800;
 box-shadow:
 0 18px 34px rgba(31,107,142,.26),
 0 0 0 1px rgba(255,255,255,.08),
 inset 0 1px 0 rgba(255,255,255,.28);
 transition:.2s ease;
}

.rh-pick-btn::before{
 content:"";
 position:absolute;
 top:-40%;
 left:-80%;
 width:52%;
 height:180%;
 transform:rotate(25deg);
 background:linear-gradient(90deg,transparent,rgba(255,255,255,.26),transparent);
 transition:.55s ease;
 pointer-events:none;
}

.rh-pick-btn:hover{
 transform:translateY(-2px);
 background:
 radial-gradient(circle at 30% 0%,rgba(255,255,255,.24),transparent 42%),
 linear-gradient(135deg,#25c8ce 0%,#0aa9b5 46%,#087f9e 100%);
}

.rh-pick-btn:hover::before{
 left:125%;
}

.rh-pick-btn svg{
 width:18px;
 height:18px;
 stroke:currentColor;
 fill:none;
 stroke-width:1.8;
 stroke-linecap:round;
 stroke-linejoin:round;
}


/* =========================================================
 05. Верхняя информационная лента доверия
========================================================= */

.rh-trustbar{
 position:relative;
 z-index:4;
 display:flex;
 align-items:center;
 justify-content:center;
 flex-wrap:wrap;
 gap:8px 12px;
 min-height:30px;
 margin:12px 34px 2px;
 padding:6px 16px;
 border:1px solid rgba(7,137,156,.18);
 border-radius:999px;
 background:
 linear-gradient(90deg,rgba(255,255,255,.16),rgba(255,255,255,.64),rgba(255,255,255,.16)),
 linear-gradient(180deg,rgba(248,253,254,.88),rgba(231,248,250,.66));
 box-shadow:
 0 9px 20px rgba(7,77,105,.055),
 inset 0 1px 0 rgba(255,255,255,.80);
 backdrop-filter:blur(10px);
 animation:rhPremiumFade .72s ease .16s both;
}

.rh-trustbar::before,
.rh-trustbar::after{
 content:"";
 flex:1 1 36px;
 max-width:110px;
 height:1px;
 background:linear-gradient(90deg,transparent,rgba(7,137,156,.30),transparent);
}

.rh-trustbar span{
 position:relative;
 display:inline-flex;
 align-items:center;
 gap:7px;
 color:#087d93;
 font:800 10.5px/1.35 "Manrope","Segoe UI",Arial,sans-serif;
 letter-spacing:.105em;
 text-transform:uppercase;
 white-space:nowrap;
}

.rh-trustbar span::before{
 content:"";
 width:5px;
 height:5px;
 border-radius:1px;
 transform:rotate(45deg);
 background:#11a6b6;
 box-shadow:none;
}

.rh-trustbar span:first-child::before{
 display:none;
}


/* =========================================================
 06. Главный экран главной страницы
========================================================= */

.rh-hero{
 position:relative;
 z-index:2;
 isolation:isolate;
 display:grid;
 grid-template-columns:minmax(0, 1fr) minmax(360px, 660px);
 grid-template-areas:"copy visual";
 align-items:center;
 gap:42px;
 min-height:500px;
 padding:28px 58px 42px;
}

.rh-hero::before{
 content:"";
 position:absolute;
 inset:-40px -20px -20px -20px;
 z-index:0;
 background:
 radial-gradient(circle at 74% 44%,rgba(44,151,174,.18),transparent 34%),
 radial-gradient(circle at 24% 46%,rgba(255,255,255,.48),transparent 34%),
 radial-gradient(circle at 52% 88%,rgba(33,133,159,.08),transparent 32%);
 pointer-events:none;
}

.rh-hero::after{
 content:"";
 position:absolute;
 inset:0;
 z-index:1;
 background:
 radial-gradient(circle at 76% 18%,rgba(8,126,153,.045),transparent 18%),
 radial-gradient(circle at 18% 82%,rgba(7,137,156,.045),transparent 20%),
 repeating-linear-gradient(90deg,transparent 0 17px,rgba(7,137,156,.014) 17px 18px);
 pointer-events:none;
}

.rh-copy{
 grid-area:copy;
 position:relative;
 z-index:3;
 width:100%;
 max-width:680px;
 padding:20px 0 20px 96px;
 min-height:auto;
 display:flex;
 flex-direction:column;
 justify-content:center;
 align-self:center;
 animation:rhPremiumTextIn .78s cubic-bezier(.2,.8,.2,1) .18s both;
}

.rh-copy::before{
 content:"✈";
 position:absolute;
 left:18px;
 top:120px;
 z-index:2;
 color:#0a8fa5;
 font-size:42px;
 transform:rotate(-7deg);
 opacity:.72;
 text-shadow:
 0 8px 20px rgba(7,137,156,.16),
 0 1px 0 rgba(255,255,255,.8);
}

.rh-copy::after{
 content:"";
 position:absolute;
 left:24px;
 top:170px;
 width:102px;
 height:300px;
 border-left:3px dashed rgba(12,151,170,.34);
 border-bottom:3px dashed rgba(12,151,170,.34);
 border-radius:0 0 0 60px;
 transform:skewY(8deg);
 opacity:.78;
 filter:drop-shadow(0 8px 12px rgba(7,137,156,.06));
}

.rh-title{
 max-width:650px;
 margin:0 0 22px;
 color:#102f49;
 font:700 clamp(46px,5vw,68px)/.99 "Playfair Display",Georgia,serif;
 letter-spacing:-.038em;
 text-shadow:
 0 1px 0 rgba(255,255,255,.92),
 0 16px 30px rgba(33,72,102,.08);
}

.rh-title::first-letter{
 color:#0b8097;
}

.rh-lead{
 position:relative;
 max-width:560px;
 margin:0 0 26px;
 color:#556c89;
 font-size:18px;
 font-weight:500;
 line-height:1.72;
}

.rh-lead::before{
 content:"NEW LIFE";
 position:absolute;
 left:-86px;
 bottom:-116px;
 width:92px;
 height:92px;
 display:flex;
 align-items:center;
 justify-content:center;
 color:rgba(7,137,156,.22);
 font:900 12px/1.1 "Manrope","Segoe UI",Arial,sans-serif;
 letter-spacing:.12em;
 text-align:center;
 text-transform:uppercase;
 border:3px solid rgba(7,137,156,.16);
 border-radius:50%;
 background:
 radial-gradient(circle,transparent 42%,rgba(7,137,156,.08) 43%,transparent 45%),
 radial-gradient(circle at 35% 30%,rgba(255,255,255,.30),transparent 30%);
 transform:rotate(-14deg);
 pointer-events:none;
}

.rh-actions{
 display:flex;
 flex-wrap:wrap;
 gap:14px;
 margin-top:8px;
}

.rh-primary,
.rh-secondary{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 min-height:48px;
 padding:12px 24px;
 border-radius:999px;
 font-size:16px;
 font-weight:800;
 transition:.2s ease;
}

.rh-primary{
 position:relative;
 overflow:hidden;
 gap:10px;
 border:1px solid rgba(118,220,225,.48);
 background:
 radial-gradient(circle at 30% 0%,rgba(255,255,255,.18),transparent 42%),
 linear-gradient(135deg,#16bdc4 0%,#21859f 46%,#0877a8 100%);
 color:#fff;
 box-shadow:
 0 18px 34px rgba(31,107,142,.26),
 0 0 0 1px rgba(255,255,255,.08),
 inset 0 1px 0 rgba(255,255,255,.28);
}

.rh-primary::before{
 content:"";
 position:absolute;
 top:-40%;
 left:-80%;
 width:52%;
 height:180%;
 transform:rotate(25deg);
 background:linear-gradient(90deg,transparent,rgba(255,255,255,.26),transparent);
 transition:.55s ease;
 pointer-events:none;
}

.rh-primary:hover{
 transform:translateY(-2px);
 background:
 radial-gradient(circle at 30% 0%,rgba(255,255,255,.24),transparent 42%),
 linear-gradient(135deg,#25c8ce 0%,#0aa9b5 46%,#087f9e 100%);
}

.rh-primary:hover::before{
 left:125%;
}

.rh-primary svg{
 width:18px;
 height:18px;
 stroke:currentColor;
 fill:none;
 stroke-width:1.8;
 stroke-linecap:round;
 stroke-linejoin:round;
}

.rh-secondary{
 min-height:48px;
 padding:12px 26px;
 border:1.5px solid rgba(7,137,156,.30);
 background:
 linear-gradient(180deg,rgba(255,255,255,.96),rgba(235,249,251,.92));
 color:#24475b;
 line-height:1.2;
 white-space:nowrap;
 box-shadow:
 0 12px 24px rgba(33,72,102,.09),
 inset 0 1px 0 rgba(255,255,255,.90);
}

.rh-secondary:hover{
 transform:translateY(-1px);
 border-color:rgba(33,133,159,.46);
 color:#217290;
 background:#fff;
}


/* =========================================================
 07. Слайдер главной страницы
========================================================= */

.rh-visual{
 grid-area:visual;
 position:relative;
 z-index:3;
 width:100%;
 max-width:660px;
 align-self:center;
 justify-self:end;
 margin:0;
 transform:translateY(-8px);
 perspective:900px;
 animation:rhPremiumPhotoIn .82s cubic-bezier(.2,.8,.2,1) .24s both;
}

.rh-visual::after{
 content:"";
 position:absolute;
 left:8%;
 right:6%;
 bottom:-8px;
 height:30px;
 z-index:-1;
 border-radius:50%;
 background:rgba(33,72,102,.18);
 filter:blur(18px);
}

.rh-visual::before{
 content:"";
 position:absolute;
 right:24px;
 top:18px;
 z-index:5;
 width:86px;
 height:26px;
 border-radius:6px;
 background:
 linear-gradient(180deg,rgba(246,252,253,.88),rgba(212,241,243,.72));
 box-shadow:
 0 10px 18px rgba(33,72,102,.13),
 inset 0 1px 0 rgba(255,255,255,.74);
 transform:rotate(4deg);
 opacity:.86;
 pointer-events:none;
}

.rh-star,
.rh-stamp,
.rh-ticket{
 display:none !important;
}

.rh-hero-slider{
 position:relative;
 display:block;
 width:100%;
 max-width:660px;
 aspect-ratio:685 / 390;
 margin-left:auto;
 border-radius:26px;
 overflow:hidden;
 padding:8px;
 cursor:default;
 background:
 linear-gradient(180deg,rgba(255,255,255,.96),rgba(244,252,253,.90));
 border:1px solid rgba(75,142,167,.34);
 box-shadow:
 0 30px 64px rgba(33,72,102,.20),
 0 12px 24px rgba(33,72,102,.10),
 inset 0 1px 0 rgba(255,255,255,.88);
 transform:rotate(-1deg) translateZ(0);
 transition:transform .35s ease, box-shadow .35s ease;
}

.rh-hero-slider:hover{
 transform:rotate(-.35deg) translateY(-5px) translateZ(0);
 box-shadow:
 0 38px 78px rgba(33,72,102,.24),
 0 14px 30px rgba(33,72,102,.12),
 inset 0 1px 0 rgba(255,255,255,.90);
}

.rh-art,
.rh-hero-slide{
 display:block;
}

.rh-hero-slide{
 position:absolute !important;
 left:8px;
 top:8px;
 width:calc(100% - 16px) !important;
 height:calc(100% - 16px) !important;
 max-width:none !important;
 margin:0 !important;
 object-fit:cover !important;
 object-position:center center !important;
 border-radius:19px !important;
 border:0 !important;
 padding:0 !important;
 background:none !important;
 box-shadow:none !important;
 transform:none !important;
 opacity:0;
 visibility:hidden;
 transition:
 opacity .75s ease,
 visibility .75s ease,
 transform 5s ease;
}

.rh-hero-slide.is-active{
 opacity:1;
 visibility:visible;
 transform:scale(1.018) !important;
}

.rh-slider-arrow{
 position:absolute;
 top:50%;
 z-index:12;
 width:42px;
 height:42px;
 display:grid;
 place-items:center;
 border:1px solid rgba(7,137,156,.28);
 border-radius:50%;
 background:
 linear-gradient(180deg,rgba(255,255,255,.88),rgba(236,249,250,.76));
 color:#28596e;
 box-shadow:
 0 12px 24px rgba(33,72,102,.16),
 inset 0 1px 0 rgba(255,255,255,.86);
 transform:translateY(-50%);
 cursor:pointer;
 transition:.22s ease;
}

.rh-slider-arrow:hover{
 color:#fff;
 border-color:rgba(118,220,225,.52);
 background:
 radial-gradient(circle at 30% 0%,rgba(255,255,255,.18),transparent 42%),
 linear-gradient(135deg,#16bdc4 0%,#21859f 46%,#0877a8 100%);
 box-shadow:
 0 16px 30px rgba(31,107,142,.24),
 inset 0 1px 0 rgba(255,255,255,.24);
}

.rh-slider-arrow--prev{
 left:18px;
}

.rh-slider-arrow--next{
 right:18px;
}

.rh-slider-arrow svg{
 width:22px;
 height:22px;
 stroke:currentColor;
 fill:none;
 stroke-width:2.6;
 stroke-linecap:round;
 stroke-linejoin:round;
}

.rh-hero-slider-dots{
 position:absolute;
 left:50%;
 bottom:16px;
 z-index:8;
 display:flex;
 align-items:center;
 justify-content:center;
 gap:7px;
 transform:translateX(-50%);
 padding:6px 9px;
 border-radius:999px;
 background:rgba(245,252,253,.70);
 border:1px solid rgba(75,142,167,.25);
 backdrop-filter:blur(8px);
 box-shadow:0 8px 18px rgba(33,72,102,.12);
 pointer-events:auto;
}

.rh-hero-slider-dots span{
 display:block;
 width:7px;
 height:7px;
 border-radius:50%;
 background:rgba(64,116,133,.32);
 cursor:pointer;
 transition:.25s ease;
}

.rh-hero-slider-dots span.is-active{
 width:20px;
 border-radius:999px;
 background:#21859f;
}


/* =========================================================
 08. Декоративные паспортные штампы
========================================================= */

.rh-passport-stamp{
 position:absolute;
 z-index:2;
 pointer-events:none;
 user-select:none;
 display:flex;
 align-items:center;
 justify-content:center;
 text-transform:uppercase;
 text-align:center;
 opacity:.56;
 background:
 repeating-linear-gradient(-12deg,transparent 0 7px,rgba(8,126,153,.025) 7px 9px),
 rgba(247,253,254,.08);
 mix-blend-mode:multiply;
}

.rh-passport-stamp--relocation{
 right:56px;
 top:34px;
 width:182px;
 height:76px;
 color:rgba(8,126,153,.20);
 font:900 20px/1 "Manrope","Segoe UI",Arial,sans-serif;
 letter-spacing:.13em;
 border:4px double rgba(8,126,153,.20);
 border-radius:16px;
 transform:rotate(8deg);
}

.rh-passport-stamp--visa{
 left:49%;
 top:114px;
 width:142px;
 height:50px;
 color:rgba(33,133,159,.28);
 font:900 13px/1 "Manrope","Segoe UI",Arial,sans-serif;
 letter-spacing:.14em;
 border:3px solid rgba(33,133,159,.22);
 border-radius:10px;
 transform:rotate(-7deg);
}

.rh-passport-stamp--year{
 right:38%;
 bottom:76px;
 width:86px;
 height:42px;
 color:rgba(10,91,113,.22);
 font:900 18px/1 "Manrope","Segoe UI",Arial,sans-serif;
 letter-spacing:.10em;
 border-top:2px solid rgba(10,91,113,.18);
 border-bottom:2px solid rgba(10,91,113,.18);
 transform:rotate(-9deg);
}


/* =========================================================
 10. Общие стили каталога, разделов, категорий и рейтингов
========================================================= */

.re-catalog-page,
.re-catalog-page *{
 box-sizing:border-box;
}

.re-catalog-page{
 position:relative;
 z-index:3;
 padding:26px 34px 38px;
}

.re-catalog-hero{
 position:relative;
 overflow:hidden;
 display:grid;
 grid-template-columns:1fr auto;
 gap:24px;
 align-items:center;
 margin:4px 0 22px;
 padding:28px 30px;
 border:1px solid rgba(75,142,167,.26);
 border-radius:28px;
 background:
 radial-gradient(circle at 0% 0%,rgba(255,255,255,.82),transparent 30%),
 radial-gradient(circle at 90% 18%,rgba(44,151,174,.16),transparent 34%),
 linear-gradient(180deg,rgba(248,253,254,.90),rgba(241,250,252,.78));
 box-shadow:
 0 18px 42px rgba(33,72,102,.10),
 inset 0 1px 0 rgba(255,255,255,.82);
}

.re-catalog-hero:before{
 content:"";
 position:absolute;
 inset:0;
 pointer-events:none;
 background:
 repeating-linear-gradient(115deg,transparent 0 24px,rgba(7,137,156,.028) 24px 26px),
 radial-gradient(circle at 16% 90%,rgba(33,133,159,.08),transparent 28%);
}

.re-catalog-hero__content,
.re-catalog-hero__badge{
 position:relative;
 z-index:2;
}

.re-catalog-kicker{
 display:inline-flex;
 align-items:center;
 gap:8px;
 margin:0 0 12px;
 padding:7px 12px;
 border:1px solid rgba(7,137,156,.20);
 border-radius:999px;
 background:rgba(247,253,254,.66);
 color:#087d93;
 font:900 11px/1.2 "Manrope","Segoe UI",Arial,sans-serif;
 letter-spacing:.11em;
 text-transform:uppercase;
}

.re-catalog-kicker:before{
 content:"";
 width:7px;
 height:7px;
 border-radius:50%;
 background:#21859f;
 box-shadow:0 0 0 5px rgba(33,133,159,.12);
}

.re-catalog-hero h1{
 max-width:820px;
 margin:0 0 12px;
 color:#102f49;
 font:700 clamp(38px,4.5vw,60px)/1 "Playfair Display",Georgia,serif;
 letter-spacing:-.035em;
 text-shadow:
 0 1px 0 rgba(255,255,255,.92),
 0 14px 26px rgba(33,72,102,.08);
}

.re-catalog-hero p{
 max-width:860px;
 margin:0;
 color:#556c89;
 font-size:17px;
 font-weight:500;
 line-height:1.7;
}

.re-catalog-actions{
 display:flex;
 flex-wrap:wrap;
 gap:10px;
 margin-top:20px;
}

.re-catalog-pill,
.re-catalog-btn{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 min-height:38px;
 padding:9px 15px;
 border-radius:999px;
 font:800 13px/1.2 "Manrope","Segoe UI",Arial,sans-serif;
 transition:.22s ease;
}

.re-catalog-pill{
 border:1px solid rgba(7,137,156,.22);
 background:
 linear-gradient(180deg,rgba(255,255,255,.82),rgba(243,251,252,.68));
 color:#27495f;
 box-shadow:inset 0 1px 0 rgba(255,255,255,.82);
}

.re-catalog-pill:hover,
.re-catalog-pill.is-active{
 color:#fff;
 border-color:rgba(118,220,225,.48);
 background:
 radial-gradient(circle at 30% 0%,rgba(255,255,255,.18),transparent 42%),
 linear-gradient(135deg,#16bdc4 0%,#21859f 46%,#0877a8 100%);
 transform:translateY(-1px);
 box-shadow:
 0 12px 24px rgba(31,107,142,.20),
 inset 0 1px 0 rgba(255,255,255,.24);
}

.re-catalog-btn{
 border:1px solid rgba(118,220,225,.48);
 color:#fff;
 background:
 radial-gradient(circle at 30% 0%,rgba(255,255,255,.18),transparent 42%),
 linear-gradient(135deg,#16bdc4 0%,#21859f 46%,#0877a8 100%);
 box-shadow:
 0 14px 28px rgba(31,107,142,.22),
 inset 0 1px 0 rgba(255,255,255,.24);
}

.re-catalog-btn:hover{
 transform:translateY(-2px);
}

.re-catalog-hero__badge{
 min-width:170px;
 padding:18px 20px;
 border:1px solid rgba(75,142,167,.25);
 border-radius:24px;
 background:
 radial-gradient(circle at 30% 0%,rgba(255,255,255,.82),transparent 38%),
 linear-gradient(180deg,rgba(248,253,254,.74),rgba(232,247,249,.66));
 box-shadow:
 0 14px 28px rgba(33,72,102,.08),
 inset 0 1px 0 rgba(255,255,255,.78);
 text-align:center;
}

.re-catalog-hero__badge span{
 display:block;
 margin-bottom:6px;
 color:#087d93;
 font:900 10px/1.2 "Manrope","Segoe UI",Arial,sans-serif;
 letter-spacing:.12em;
 text-transform:uppercase;
}

.re-catalog-hero__badge strong{
 display:block;
 color:#16485c;
 font:900 42px/1 "Playfair Display",Georgia,serif;
}

.re-catalog-hero__badge small{
 display:block;
 margin-top:5px;
 color:#556c89;
 font:700 12px/1.35 "Manrope","Segoe UI",Arial,sans-serif;
}


/* =========================================================
 11. Панели, регионы и сортировка
========================================================= */

.re-catalog-panel{
 position:relative;
 overflow:hidden;
 margin:0 0 22px;
 padding:24px;
 border:1px solid rgba(75,142,167,.26);
 border-radius:28px;
 background:
 radial-gradient(circle at 0% 0%,rgba(255,255,255,.76),transparent 30%),
 linear-gradient(180deg,rgba(248,253,254,.88),rgba(243,251,252,.78));
 box-shadow:
 0 16px 36px rgba(33,72,102,.08),
 inset 0 1px 0 rgba(255,255,255,.78);
}

.re-catalog-panel:before{
 content:"";
 position:absolute;
 inset:0;
 pointer-events:none;
 background:
 linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent),
 repeating-linear-gradient(115deg,transparent 0 24px,rgba(7,137,156,.022) 24px 26px);
 opacity:.75;
}

.re-section-head,
.re-regions-grid,
.re-catalog-stats,
.re-country-table-scroll,
.re-catalog-pagination,
.re-section-sortbox,
.re-site-search-form,
.re-site-search-results,
.re-editor-body{
 position:relative;
 z-index:2;
}

.re-section-head{
 display:flex;
 align-items:flex-start;
 gap:14px;
 margin:0 0 18px;
}

.re-section-head__icon{
 width:44px;
 height:44px;
 flex:0 0 44px;
 border-radius:16px;
 background:
 radial-gradient(circle at 35% 28%,#d9fbfc 0 16%,#2c97ae 38%,#21859f 100%);
 box-shadow:
 0 0 0 6px rgba(44,151,174,.10),
 0 12px 22px rgba(33,72,102,.10);
}

.re-section-head__icon--table,
.re-section-head__icon--sort{
 background:
 radial-gradient(circle at 35% 28%,#d9fbfc 0 16%,#2c97ae 38%,#217290 100%);
}

.re-section-head h2{
 margin:0 0 4px;
 color:#102f49;
 font:800 28px/1.15 "Playfair Display",Georgia,serif;
 letter-spacing:-.025em;
}

.re-section-head p{
 margin:0;
 color:#556c89;
 font:500 14px/1.55 "Manrope","Segoe UI",Arial,sans-serif;
}

.re-regions-grid{
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:12px;
}

.re-region-card{
 position:relative;
 overflow:hidden;
 display:grid;
 gap:5px;
 min-height:102px;
 padding:16px 16px 15px;
 border:1px solid rgba(75,142,167,.22);
 border-radius:22px;
 background:
 radial-gradient(circle at 0% 0%,rgba(255,255,255,.76),transparent 36%),
 linear-gradient(180deg,rgba(248,253,254,.76),rgba(243,251,252,.66));
 box-shadow:
 0 12px 26px rgba(33,72,102,.07),
 inset 0 1px 0 rgba(255,255,255,.78);
 transition:.22s ease;
}

.re-region-card:before{
 content:"";
 position:absolute;
 right:-30px;
 top:-30px;
 width:92px;
 height:92px;
 border-radius:50%;
 background:rgba(44,151,174,.10);
 transition:.22s ease;
}

.re-region-card:hover{
 transform:translateY(-3px);
 border-color:rgba(33,133,159,.35);
 box-shadow:
 0 18px 36px rgba(33,72,102,.11),
 inset 0 1px 0 rgba(255,255,255,.82);
}

.re-region-card:hover:before{
 background:rgba(33,133,159,.12);
 transform:scale(1.18);
}

.re-region-card__mark{
 position:relative;
 z-index:2;
 width:22px;
 height:22px;
 border-radius:8px;
 background:
 radial-gradient(circle at 35% 25%,#d9fbfc 0 18%,#2c97ae 44%,#21859f 100%);
 box-shadow:0 0 0 5px rgba(44,151,174,.10);
}

.re-region-card strong{
 position:relative;
 z-index:2;
 color:#173b53;
 font:900 15px/1.25 "Manrope","Segoe UI",Arial,sans-serif;
}

.re-region-card small{
 position:relative;
 z-index:2;
 color:#556c89;
 font:600 12px/1.35 "Manrope","Segoe UI",Arial,sans-serif;
}

.re-catalog-stats{
 display:flex;
 flex-wrap:wrap;
 gap:10px;
 margin-top:18px;
}

.re-catalog-stats div,
.re-catalog-pagination div{
 display:inline-flex;
 align-items:center;
 min-height:34px;
 padding:8px 12px;
 border:1px solid rgba(75,142,167,.22);
 border-radius:999px;
 background:rgba(247,253,254,.60);
 color:#556c89;
 font:700 12px/1.3 "Manrope","Segoe UI",Arial,sans-serif;
}

.re-catalog-stats strong{
 color:#16485c;
 font-weight:900;
}

.re-section-sortbox{
 display:flex;
 flex-wrap:wrap;
 gap:10px;
 align-items:center;
 padding:14px;
 border:1px solid rgba(75,142,167,.22);
 border-radius:22px;
 background:
 radial-gradient(circle at 0% 0%,rgba(255,255,255,.76),transparent 34%),
 linear-gradient(180deg,rgba(248,253,254,.70),rgba(243,251,252,.62));
 box-shadow:
 0 12px 26px rgba(33,72,102,.06),
 inset 0 1px 0 rgba(255,255,255,.78);
}

.re-section-sortbox a,
.re-section-sortbox span,
.re-section-sortbox select,
.re-section-sortbox option{
 font-family:"Manrope","Segoe UI",Arial,sans-serif;
}

.re-section-sortbox a,
.re-catalog-stats a{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 min-height:34px;
 padding:8px 13px;
 border-radius:999px;
 border:1px solid rgba(7,137,156,.22);
 background:
 linear-gradient(180deg,rgba(255,255,255,.82),rgba(243,251,252,.68));
 color:#27495f;
 font:800 12px/1.2 "Manrope","Segoe UI",Arial,sans-serif;
 transition:.22s ease;
}

.re-section-sortbox a:hover,
.re-catalog-stats a:hover{
 color:#fff;
 border-color:rgba(118,220,225,.48);
 background:
 radial-gradient(circle at 30% 0%,rgba(255,255,255,.18),transparent 42%),
 linear-gradient(135deg,#16bdc4 0%,#21859f 46%,#0877a8 100%);
 transform:translateY(-1px);
 box-shadow:
 0 12px 24px rgba(31,107,142,.20),
 inset 0 1px 0 rgba(255,255,255,.24);
}

.re-section-sortbox select{
 min-height:36px;
 padding:8px 36px 8px 12px;
 border:1px solid rgba(7,137,156,.24);
 border-radius:999px;
 background:rgba(247,253,254,.86);
 color:#27495f;
 font:800 12px/1.2 "Manrope","Segoe UI",Arial,sans-serif;
 outline:none;
}

.re-section-sortbox select:focus{
 border-color:rgba(33,133,159,.45);
 box-shadow:0 0 0 4px rgba(33,133,159,.10);
}


/* =========================================================
 12. Таблица стран
========================================================= */

.re-country-table-scroll{
 width:100%;
 overflow-x:auto;
 padding-bottom:6px;
}

.re-country-table-scroll::-webkit-scrollbar{
 height:8px;
}

.re-country-table-scroll::-webkit-scrollbar-track{
 background:rgba(7,137,156,.08);
 border-radius:999px;
}

.re-country-table-scroll::-webkit-scrollbar-thumb{
 background:rgba(33,133,159,.42);
 border-radius:999px;
}

.re-country-table{
 min-width:960px;
 overflow:hidden;
 border:1px solid rgba(75,142,167,.24);
 border-radius:22px;
 background:
 linear-gradient(180deg,rgba(255,255,255,.62),rgba(244,252,253,.56));
 box-shadow:
 0 14px 30px rgba(33,72,102,.07),
 inset 0 1px 0 rgba(255,255,255,.78);
}

.re-country-table__head{
 display:grid;
 grid-template-columns:1.35fr .95fr .75fr .75fr .75fr .95fr .95fr .85fr;
 border-bottom:1px solid rgba(75,142,167,.22);
 background:
 radial-gradient(circle at 0% 0%,rgba(255,255,255,.70),transparent 34%),
 linear-gradient(180deg,rgba(232,248,250,.82),rgba(213,242,245,.62));
}

.re-country-table__col{
 padding:12px 12px;
 color:#146b7e;
 font:900 11px/1.25 "Manrope","Segoe UI",Arial,sans-serif;
 letter-spacing:.08em;
 text-transform:uppercase;
 border-right:1px solid rgba(75,142,167,.18);
}

.re-country-table__col:last-child{
 border-right:0;
}

.re-country-table__body{
 background:rgba(248,253,254,.46);
}


/* =========================================================
 13. Вид материала: строка страны в таблице
========================================================= */

.re-country-row{
 position:relative;
 display:grid;
 grid-template-columns:1.35fr .95fr .75fr .75fr .75fr .95fr .95fr .85fr;
 align-items:center;
 min-height:82px;
 border-bottom:1px solid rgba(75,142,167,.14);
 background:
 linear-gradient(180deg,rgba(255,255,255,.38),rgba(246,252,253,.32));
 transition:.22s ease;
}

.re-country-row:last-child{
 border-bottom:0;
}

.re-country-row:before{
 content:"";
 position:absolute;
 left:0;
 top:0;
 bottom:0;
 width:3px;
 background:linear-gradient(180deg,#2c97ae,#21859f);
 opacity:0;
 transition:.22s ease;
}

.re-country-row:hover{
 background:
 radial-gradient(circle at 0% 50%,rgba(44,151,174,.10),transparent 34%),
 linear-gradient(180deg,rgba(255,255,255,.62),rgba(246,252,253,.48));
 box-shadow:
 inset 0 1px 0 rgba(255,255,255,.68),
 inset 0 -1px 0 rgba(75,142,167,.12);
}

.re-country-row:hover:before{
 opacity:1;
}

.re-country-row.is-inactive{
 opacity:.56;
 filter:grayscale(.25);
}

.re-country-row__cell{
 min-width:0;
 padding:12px;
 display:flex;
 align-items:center;
 gap:8px;
 color:#31556a;
 font:700 13px/1.35 "Manrope","Segoe UI",Arial,sans-serif;
 border-right:1px solid rgba(75,142,167,.12);
}

.re-country-row__cell:last-child{
 border-right:0;
}

.re-country-row__cell--country{
 gap:12px;
}

.re-country-row__flag-wrap{
 position:relative;
 width:52px;
 height:52px;
 flex:0 0 52px;
 display:block;
 border-radius:18px;
 overflow:hidden;
 border:1px solid rgba(75,142,167,.28);
 background:
 radial-gradient(circle at 35% 20%,rgba(255,255,255,.78),transparent 38%),
 linear-gradient(135deg,rgba(44,151,174,.22),rgba(33,133,159,.16));
 box-shadow:
 0 10px 22px rgba(33,72,102,.10),
 inset 0 1px 0 rgba(255,255,255,.74);
}

.re-country-row__flag-wrap:after{
 content:"";
 position:absolute;
 inset:0;
 border-radius:inherit;
 box-shadow:
 inset 0 1px 0 rgba(255,255,255,.54),
 inset 0 -10px 20px rgba(33,72,102,.08);
 pointer-events:none;
}

.re-country-row__flag{
 width:100%;
 height:100%;
 object-fit:cover;
 object-position:center;
 border-radius:inherit;
 transition:.25s ease;
}

.re-country-row:hover .re-country-row__flag{
 transform:scale(1.06);
}

.re-country-row__flag--placeholder{
 display:flex;
 align-items:center;
 justify-content:center;
 width:100%;
 height:100%;
 padding:6px;
 color:#fff;
 text-align:center;
 font:900 10px/1.15 "Manrope","Segoe UI",Arial,sans-serif;
 letter-spacing:.02em;
 background:
 radial-gradient(circle at 35% 20%,rgba(255,255,255,.24),transparent 34%),
 linear-gradient(135deg,#16bdc4,#217290);
}

.re-country-row__main{
 min-width:0;
 display:grid;
 gap:3px;
}

.re-country-row__title{
 display:block;
 max-width:100%;
 color:#102f49;
 font:900 15px/1.25 "Manrope","Segoe UI",Arial,sans-serif;
 letter-spacing:-.015em;
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
 transition:.2s ease;
}

.re-country-row__title:hover{
 color:#21859f;
}

.re-country-row__desc{
 display:block;
 max-width:260px;
 color:#6a8596;
 font:600 11px/1.35 "Manrope","Segoe UI",Arial,sans-serif;
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
}

.re-country-row__region-pill,
.re-country-row__badge{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 max-width:100%;
 min-height:30px;
 padding:7px 10px;
 border-radius:999px;
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
}

.re-country-row__region-pill{
 border:1px solid rgba(7,137,156,.20);
 background:
 linear-gradient(180deg,rgba(255,255,255,.78),rgba(243,251,252,.66));
 color:#146b7e;
 font:900 11px/1.2 "Manrope","Segoe UI",Arial,sans-serif;
 box-shadow:inset 0 1px 0 rgba(255,255,255,.76);
 transition:.22s ease;
}

.re-country-row__region-pill:hover{
 color:#fff;
 border-color:rgba(118,220,225,.42);
 background:
 radial-gradient(circle at 30% 0%,rgba(255,255,255,.18),transparent 42%),
 linear-gradient(135deg,#16bdc4,#217290);
 transform:translateY(-1px);
}

.re-country-row__badge{
 border:1px solid rgba(33,133,159,.20);
 background:
 radial-gradient(circle at 30% 0%,rgba(255,255,255,.70),transparent 40%),
 linear-gradient(180deg,rgba(240,250,251,.90),rgba(219,241,245,.72));
 color:#16485c;
 font:900 11px/1.2 "Manrope","Segoe UI",Arial,sans-serif;
 box-shadow:
 0 8px 16px rgba(33,72,102,.06),
 inset 0 1px 0 rgba(255,255,255,.78);
}

.re-country-row__empty{
 color:rgba(88,117,138,.58);
 font:900 14px/1 "Manrope","Segoe UI",Arial,sans-serif;
}

.re-country-row__cell--actions{
 justify-content:center;
}

.re-country-row__btn{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 min-height:34px;
 padding:8px 13px;
 border-radius:999px;
 font:900 12px/1.2 "Manrope","Segoe UI",Arial,sans-serif;
 transition:.22s ease;
}

.re-country-row__btn--primary{
 border:1px solid rgba(118,220,225,.48);
 color:#fff;
 background:
 radial-gradient(circle at 30% 0%,rgba(255,255,255,.18),transparent 42%),
 linear-gradient(135deg,#16bdc4 0%,#21859f 46%,#0877a8 100%);
 box-shadow:
 0 12px 22px rgba(31,107,142,.20),
 inset 0 1px 0 rgba(255,255,255,.24);
}

.re-country-row__btn--primary:hover{
 transform:translateY(-2px);
 background:
 radial-gradient(circle at 30% 0%,rgba(255,255,255,.24),transparent 42%),
 linear-gradient(135deg,#25c8ce 0%,#0aa9b5 46%,#087f9e 100%);
}

.re-country-row .manTdError,
.re-country-row .u-mpanel,
.re-country-row .moderPanel{
 position:absolute;
 right:8px;
 top:8px;
 z-index:5;
}


/* =========================================================
 14. Пагинация каталога
========================================================= */

.re-catalog-pagination{
 position:relative !important;
 z-index:10 !important;

 display:block !important;

 width:100% !important;
 margin:18px 0 0 !important;
 padding:0 !important;

 text-align:center !important;

 background:transparent !important;
 border:0 !important;
 box-shadow:none !important;
}

/* убираем переносы */
.re-catalog-pagination br{
 display:none !important;
}

/* все прямые и вложенные обертки uCoz */
.re-catalog-pagination div,
.re-catalog-pagination center,
.re-catalog-pagination font,
.re-catalog-pagination p,
.re-catalog-pagination table,
.re-catalog-pagination tbody,
.re-catalog-pagination tr,
.re-catalog-pagination td,
.re-catalog-pagination ul,
.re-catalog-pagination ol,
.re-catalog-pagination li,
.re-catalog-pagination .pagesBlockuz,
.re-catalog-pagination .pagesBlockuz1,
.re-catalog-pagination .pagesBlockuz2,
.re-catalog-pagination .pgSwch,
.re-catalog-pagination .switches{
 display:inline !important;

 width:auto !important;
 max-width:none !important;
 height:auto !important;
 min-height:0 !important;

 margin:0 !important;
 padding:0 !important;

 list-style:none !important;

 border:0 !important;
 background:transparent !important;
 box-shadow:none !important;

 vertical-align:middle !important;
}

/* кнопки страниц */
.re-catalog-pagination a,
.re-catalog-pagination span,
.re-catalog-pagination b,
.re-catalog-pagination strong,
.re-catalog-pagination .swchItem,
.re-catalog-pagination .swchItemA,
.re-catalog-pagination .swchItem1,
.re-catalog-pagination .swchItemA1{
 display:inline-flex !important;
 align-items:center !important;
 justify-content:center !important;

 width:30px !important;
 height:30px !important;
 min-width:30px !important;
 min-height:30px !important;

 margin:0 3px 6px !important;
 padding:0 !important;

 float:none !important;
 clear:none !important;

 border-radius:50% !important;
 border:1px solid rgba(75,142,167,.30) !important;

 background:
 linear-gradient(180deg,rgba(255,255,255,.94),rgba(236,248,250,.88)) !important;

 color:#315468 !important;
 font:900 12px/1 "Manrope","Segoe UI",Arial,sans-serif !important;
 text-decoration:none !important;

 box-shadow:
 0 6px 14px rgba(33,72,102,.08),
 inset 0 1px 0 rgba(255,255,255,.90) !important;

 vertical-align:middle !important;

 transition:.18s ease !important;
}

/* активная страница */
.re-catalog-pagination span,
.re-catalog-pagination b,
.re-catalog-pagination strong,
.re-catalog-pagination .swchItemA,
.re-catalog-pagination .swchItemA1{
 color:#fff !important;
 border-color:rgba(118,220,225,.52) !important;

 background:
 radial-gradient(circle at 30% 0%,rgba(255,255,255,.22),transparent 42%),
 linear-gradient(135deg,#16bdc4 0%,#21859f 46%,#0877a8 100%) !important;

 box-shadow:
 0 10px 20px rgba(31,107,142,.18),
 inset 0 1px 0 rgba(255,255,255,.26) !important;
}

/* наведение */
.re-catalog-pagination a:hover,
.re-catalog-pagination .swchItem:hover,
.re-catalog-pagination .swchItem1:hover{
 transform:translateY(-1px) !important;

 color:#fff !important;
 border-color:rgba(118,220,225,.48) !important;

 background:
 radial-gradient(circle at 30% 0%,rgba(255,255,255,.20),transparent 42%),
 linear-gradient(135deg,#16bdc4 0%,#21859f 46%,#0877a8 100%) !important;

 box-shadow:
 0 10px 20px rgba(31,107,142,.18),
 inset 0 1px 0 rgba(255,255,255,.24) !important;
}

/* точки */
.re-catalog-pagination .swchItemDots{
 display:inline-flex !important;
 align-items:center !important;
 justify-content:center !important;

 width:auto !important;
 min-width:18px !important;
 height:30px !important;

 margin:0 3px 6px !important;

 border:0 !important;
 background:transparent !important;
 box-shadow:none !important;

 color:#6a8596 !important;
}

/* мобильная версия */
@media (max-width:760px){
 .re-catalog-pagination a,
 .re-catalog-pagination span,
 .re-catalog-pagination b,
 .re-catalog-pagination strong,
 .re-catalog-pagination .swchItem,
 .re-catalog-pagination .swchItemA,
 .re-catalog-pagination .swchItem1,
 .re-catalog-pagination .swchItemA1{
 width:28px !important;
 height:28px !important;
 min-width:28px !important;
 min-height:28px !important;
 font-size:11px !important;
 }
}

/* =========================================================
 15. Страница добавления и редактирования материала
========================================================= */

.re-editor-page .re-catalog-hero__badge strong{
 font-size:48px;
 line-height:.9;
}

.re-editor-panel{
 overflow:visible;
}

.re-editor-body,
.re-site-search-form,
.re-site-search-results{
 padding:18px;
 border:1px solid rgba(75,142,167,.22);
 border-radius:24px;
 background:
 radial-gradient(circle at 0% 0%,rgba(255,255,255,.76),transparent 34%),
 linear-gradient(180deg,rgba(248,253,254,.74),rgba(243,251,252,.64));
 box-shadow:
 0 14px 30px rgba(33,72,102,.07),
 inset 0 1px 0 rgba(255,255,255,.78);
 color:#173b53;
 font:500 14px/1.55 "Manrope","Segoe UI",Arial,sans-serif;
}

.re-editor-body table,
.re-site-search-form table,
.re-site-search-results table{
 width:100%;
 border-collapse:separate;
 border-spacing:0 10px;
}

.re-editor-body td,
.re-site-search-form td{
 padding:7px 8px;
 color:#31556a;
 font:600 13px/1.45 "Manrope","Segoe UI",Arial,sans-serif;
 vertical-align:middle;
}

.re-editor-body input[type="text"],
.re-editor-body input[type="password"],
.re-editor-body input[type="email"],
.re-editor-body input[type="url"],
.re-editor-body input[type="number"],
.re-editor-body select,
.re-editor-body textarea,
.re-site-search-form input[type="text"],
.re-site-search-form input[type="search"],
.re-site-search-form select{
 width:100%;
 max-width:100%;
 min-height:40px;
 padding:10px 12px;
 border:1px solid rgba(7,137,156,.24);
 border-radius:14px;
 background:
 linear-gradient(180deg,rgba(255,255,255,.92),rgba(246,252,253,.82));
 color:#173b53;
 font:600 13px/1.45 "Manrope","Segoe UI",Arial,sans-serif;
 outline:none;
 box-shadow:
 inset 0 1px 0 rgba(255,255,255,.86),
 0 8px 18px rgba(33,72,102,.04);
 transition:.2s ease;
}

.re-site-search-form input[type="text"],
.re-site-search-form input[type="search"],
.re-site-search-form select{
 border-radius:999px;
}

.re-editor-body textarea{
 min-height:140px;
 resize:vertical;
}

.re-editor-body input:focus,
.re-editor-body select:focus,
.re-editor-body textarea:focus,
.re-site-search-form input:focus,
.re-site-search-form select:focus{
 border-color:rgba(33,133,159,.50);
 box-shadow:
 0 0 0 4px rgba(33,133,159,.11),
 inset 0 1px 0 rgba(255,255,255,.90);
}

.re-editor-body input[type="file"]{
 width:100%;
 padding:10px;
 border:1px dashed rgba(7,137,156,.32);
 border-radius:14px;
 background:rgba(247,253,254,.66);
 color:#27495f;
 font:700 13px/1.35 "Manrope","Segoe UI",Arial,sans-serif;
}

.re-editor-body input[type="checkbox"],
.re-editor-body input[type="radio"]{
 accent-color:#21859f;
}

.re-editor-body input[type="submit"],
.re-editor-body input[type="button"],
.re-editor-body button,
.re-site-search-form input[type="submit"],
.re-site-search-form input[type="button"],
.re-site-search-form button{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 min-height:42px;
 padding:10px 18px;
 border-radius:999px;
 border:1px solid rgba(118,220,225,.48);
 background:
 radial-gradient(circle at 30% 0%,rgba(255,255,255,.18),transparent 42%),
 linear-gradient(135deg,#16bdc4 0%,#21859f 46%,#0877a8 100%);
 color:#fff;
 font:900 13px/1.2 "Manrope","Segoe UI",Arial,sans-serif;
 cursor:pointer;
 box-shadow:
 0 14px 28px rgba(31,107,142,.22),
 inset 0 1px 0 rgba(255,255,255,.24);
 transition:.22s ease;
}

.re-editor-body input[type="submit"]:hover,
.re-editor-body input[type="button"]:hover,
.re-editor-body button:hover,
.re-site-search-form input[type="submit"]:hover,
.re-site-search-form input[type="button"]:hover,
.re-site-search-form button:hover{
 transform:translateY(-1px);
 background:
 radial-gradient(circle at 30% 0%,rgba(255,255,255,.24),transparent 42%),
 linear-gradient(135deg,#25c8ce 0%,#0aa9b5 46%,#087f9e 100%);
}

.re-editor-body .manTd1,
.re-editor-body .manTd2,
.re-editor-body .manTdSep{
 border:0 !important;
 background:transparent !important;
}


/* =========================================================
 16. Страница поиска и вид результата поиска
========================================================= */

.re-site-search-page .re-catalog-hero__badge strong{
 font-size:40px;
}

.re-site-search-results a{
 color:#217290;
 font-weight:800;
 text-decoration:none;
}

.re-site-search-results a:hover{
 color:#217194;
}

.re-site-search-results hr{
 border:0;
 height:1px;
 margin:14px 0;
 background:linear-gradient(90deg,transparent,rgba(7,137,156,.28),transparent);
}

.re-search-item{
 position:relative;
 overflow:hidden;
 display:grid;
 grid-template-columns:68px 1fr;
 gap:14px;
 align-items:flex-start;
 margin:0 0 12px;
 padding:15px;
 border:1px solid rgba(75,142,167,.22);
 border-radius:22px;
 background:
 radial-gradient(circle at 0% 0%,rgba(255,255,255,.78),transparent 34%),
 linear-gradient(180deg,rgba(248,253,254,.76),rgba(243,251,252,.64));
 box-shadow:
 0 12px 26px rgba(33,72,102,.07),
 inset 0 1px 0 rgba(255,255,255,.78);
 transition:.22s ease;
}

.re-search-item:before{
 content:"";
 position:absolute;
 left:0;
 top:0;
 bottom:0;
 width:3px;
 background:linear-gradient(180deg,#2c97ae,#21859f);
 opacity:0;
 transition:.22s ease;
}

.re-search-item:hover{
 transform:translateY(-2px);
 border-color:rgba(33,133,159,.30);
 box-shadow:
 0 18px 36px rgba(33,72,102,.10),
 inset 0 1px 0 rgba(255,255,255,.82);
}

.re-search-item:hover:before{
 opacity:1;
}

.re-search-item.is-inactive{
 opacity:.56;
 filter:grayscale(.25);
}

.re-search-item__icon{
 position:relative;
 width:68px;
 height:68px;
 border-radius:20px;
 overflow:hidden;
 border:1px solid rgba(75,142,167,.28);
 background:
 radial-gradient(circle at 35% 20%,rgba(255,255,255,.78),transparent 38%),
 linear-gradient(135deg,rgba(44,151,174,.22),rgba(33,133,159,.16));
 box-shadow:
 0 10px 22px rgba(33,72,102,.10),
 inset 0 1px 0 rgba(255,255,255,.74);
}

.re-search-item__icon:after{
 content:"";
 position:absolute;
 inset:0;
 border-radius:inherit;
 box-shadow:
 inset 0 1px 0 rgba(255,255,255,.54),
 inset 0 -12px 22px rgba(33,72,102,.08);
 pointer-events:none;
}

.re-search-item__icon img{
 width:100%;
 height:100%;
 object-fit:cover;
 object-position:center;
 transition:.25s ease;
}

.re-search-item:hover .re-search-item__icon img{
 transform:scale(1.06);
}

.re-search-item__icon span{
 display:block;
 width:100%;
 height:100%;
 background:
 radial-gradient(circle at 35% 20%,rgba(255,255,255,.24),transparent 34%),
 linear-gradient(135deg,#16bdc4,#217290);
}

.re-search-item__content{
 min-width:0;
 display:grid;
 gap:7px;
}

.re-search-item__top{
 display:flex;
 align-items:center;
 flex-wrap:wrap;
 gap:7px;
}

.re-search-item__module,
.re-search-item__date{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 min-height:24px;
 padding:5px 9px;
 border-radius:999px;
 font:900 10px/1.2 "Manrope","Segoe UI",Arial,sans-serif;
 letter-spacing:.07em;
 text-transform:uppercase;
}

.re-search-item__module{
 border:1px solid rgba(33,133,159,.20);
 background:
 linear-gradient(180deg,rgba(255,255,255,.78),rgba(243,251,252,.66));
 color:#217290;
}

.re-search-item__date{
 border:1px solid rgba(7,137,156,.18);
 background:rgba(247,253,254,.58);
 color:#6a8596;
}

.re-search-item__title{
 margin:0;
 color:#102f49;
 font:900 18px/1.25 "Manrope","Segoe UI",Arial,sans-serif;
 letter-spacing:-.018em;
}

.re-search-item__title a{
 color:inherit;
 transition:.2s ease;
}

.re-search-item__title a:hover{
 color:#21859f;
}

.re-search-item__text{
 max-height:70px;
 overflow:hidden;
 color:#556c89;
 font:500 13px/1.55 "Manrope","Segoe UI",Arial,sans-serif;
}

.re-search-item__text br{
 display:none;
}

.re-search-item__bottom{
 display:flex;
 align-items:center;
 flex-wrap:wrap;
 gap:8px;
 margin-top:3px;
}

.re-search-item__tag,
.re-search-item__btn{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 border-radius:999px;
 font:900 11px/1.2 "Manrope","Segoe UI",Arial,sans-serif;
 transition:.22s ease;
}

.re-search-item__tag{
 min-height:28px;
 padding:6px 10px;
 border:1px solid rgba(7,137,156,.20);
 background:
 linear-gradient(180deg,rgba(255,255,255,.78),rgba(243,251,252,.66));
 color:#146b7e;
}

.re-search-item__tag:hover{
 color:#fff;
 border-color:rgba(118,220,225,.42);
 background:
 radial-gradient(circle at 30% 0%,rgba(255,255,255,.18),transparent 42%),
 linear-gradient(135deg,#16bdc4,#217290);
 transform:translateY(-1px);
}

.re-search-item__btn{
 min-height:32px;
 padding:7px 13px;
 border:1px solid rgba(118,220,225,.48);
 color:#fff;
 background:
 radial-gradient(circle at 30% 0%,rgba(255,255,255,.18),transparent 42%),
 linear-gradient(135deg,#16bdc4 0%,#21859f 46%,#0877a8 100%);
 box-shadow:
 0 12px 22px rgba(31,107,142,.18),
 inset 0 1px 0 rgba(255,255,255,.24);
}

.re-search-item__btn:hover{
 transform:translateY(-2px);
 background:
 radial-gradient(circle at 30% 0%,rgba(255,255,255,.24),transparent 42%),
 linear-gradient(135deg,#25c8ce 0%,#0aa9b5 46%,#087f9e 100%);
}


/* =========================================================
 17. Анимации сайта
========================================================= */

@keyframes rhPremiumBoardIn{
 from{opacity:0;transform:translateY(16px) scale(.992);}
 to{opacity:1;transform:translateY(0) scale(1);}
}

@keyframes rhPremiumDrop{
 from{opacity:0;transform:translateY(-10px);}
 to{opacity:1;transform:translateY(0);}
}

@keyframes rhPremiumFade{
 from{opacity:0;transform:translateY(-4px);}
 to{opacity:1;transform:translateY(0);}
}

@keyframes rhPremiumTextIn{
 from{opacity:0;transform:translateX(-14px);}
 to{opacity:1;transform:translateX(0);}
}

@keyframes rhPremiumPhotoIn{
 from{opacity:0;transform:translateX(16px) scale(.985);}
 to{opacity:1;transform:translateX(0) scale(1);}
}


/* =========================================================
 18. Адаптивная версия сайта
========================================================= */

@media (max-width:1260px){
 .rh-topbar{
 grid-template-columns:1fr;
 justify-items:start;
 }

 .rh-nav{
 justify-content:flex-start;
 gap:22px;
 }

 .rh-tools{
 flex-wrap:wrap;
 }

 .rh-trustbar{
 justify-content:flex-start;
 margin:14px 24px 10px;
 border-radius:22px;
 }

 .rh-trustbar::before,
 .rh-trustbar::after{
 display:none;
 }

 .rh-hero{
 grid-template-columns:1fr;
 grid-template-areas:
 "copy"
 "visual";
 gap:26px;
 padding:30px 34px 38px;
 min-height:auto;
 }

 .rh-copy{
 max-width:760px;
 padding:18px 0 10px 86px;
 }

 .rh-visual{
 max-width:720px;
 justify-self:start;
 transform:none;
 }

 .rh-hero-slider{
 max-width:720px;
 margin-left:0;
 }

 .rh-passport-stamp--relocation{
 right:28px;
 top:24px;
 width:150px;
 height:64px;
 font-size:16px;
 }

 .rh-passport-stamp--visa{
 left:auto;
 right:28px;
 top:100px;
 }

 .rh-passport-stamp--year{
 right:34px;
 bottom:42px;
 }

 .rh-lead::before{
 display:none;
 }

 .rh-site-footer{
 grid-template-columns:1fr !important;
 justify-items:start !important;
 }

 .rh-site-footer__links{
 justify-content:flex-start !important;
 }

 .rh-site-footer__meta{
 justify-items:start !important;
 min-width:0 !important;
 width:100% !important;
 }

 .rh-online-box{
 min-width:0 !important;
 width:100% !important;
 max-width:360px !important;
 }

 .re-catalog-page{
 padding:24px;
 }

 .re-catalog-hero{
 grid-template-columns:1fr;
 }

 .re-catalog-hero__badge{
 max-width:260px;
 }

 .re-regions-grid{
 grid-template-columns:repeat(3,minmax(0,1fr));
 }

 .re-country-table{
 min-width:860px;
 }

 .re-country-row{
 grid-template-columns:1.25fr .85fr .7fr .7fr .7fr .85fr .85fr .8fr;
 }

 .re-country-row__cell{
 padding:10px;
 }

 .re-country-row__flag-wrap{
 width:46px;
 height:46px;
 flex-basis:46px;
 border-radius:16px;
 }

 .re-country-row__title{
 font-size:14px;
 }
}

@media (max-width:900px){
 .re-regions-grid{
 grid-template-columns:repeat(2,minmax(0,1fr));
 }
}

@media (max-width:760px){
 .rh-shell{
 width:min(100% - 18px,1450px);
 padding-top:16px;
 padding-bottom:24px;
 }

 .rh-topbar{
 margin:12px 12px 0;
 padding:16px;
 border-radius:22px;
 animation:none;
 }

 .rh-topbar::after,
 .rh-site-footer::before,
 .rh-visual::before{
 display:none;
 }

 .rh-brand img{
 width:148px;
 }

 .rh-nav{
 gap:16px;
 }

 .rh-trustbar{
 justify-content:flex-start;
 gap:7px;
 margin:8px 18px 4px;
 padding:7px 11px;
 border-radius:18px;
 animation:none;
 }

 .rh-trustbar span{
 font-size:9.5px;
 letter-spacing:.06em;
 }

 .rh-hero{
 display:block;
 min-height:auto;
 padding:18px 18px 26px;
 }

 .rh-copy{
 padding:10px 0 0 0;
 max-width:100%;
 animation:none;
 }

 .rh-copy::before,
 .rh-copy::after{
 display:none;
 }

 .rh-title{
 font-size:clamp(38px,10.5vw,54px);
 letter-spacing:-.035em;
 }

 .rh-lead{
 font-size:16px;
 }

 .rh-visual{
 max-width:100%;
 margin-top:22px;
 transform:none;
 animation:none;
 }

 .rh-hero-slider{
 max-width:100%;
 padding:5px;
 border-radius:20px;
 transform:none;
 }

 .rh-hero-slider:hover{
 transform:none;
 }

 .rh-hero-slide{
 left:5px;
 top:5px;
 width:calc(100% - 10px) !important;
 height:calc(100% - 10px) !important;
 border-radius:15px !important;
 }

 .rh-slider-arrow{
 width:34px;
 height:34px;
 }

 .rh-slider-arrow--prev{
 left:10px;
 }

 .rh-slider-arrow--next{
 right:10px;
 }

 .rh-slider-arrow svg{
 width:18px;
 height:18px;
 }

 .rh-hero-slider-dots{
 bottom:10px;
 }

 .rh-secondary{
 white-space:normal;
 }

 .rh-passport-stamp--relocation,
 .rh-passport-stamp--year{
 display:none;
 }

 .rh-passport-stamp--visa{
 position:relative;
 left:auto;
 right:auto;
 top:auto;
 width:112px;
 height:38px;
 margin:0 0 12px 2px;
 font-size:10px;
 transform:rotate(-5deg);
 }

 .rh-site-footer{
 margin-top:14px !important;
 padding:17px 15px !important;
 border-radius:22px !important;
 gap:16px !important;
 }

 .rh-site-footer__brand strong{
 font-size:15px !important;
 }

 .rh-site-footer__brand span{
 font-size:12px !important;
 }

 .rh-site-footer__links{
 width:100% !important;
 border-radius:18px !important;
 justify-content:flex-start !important;
 }

 .rh-site-footer__links a{
 min-height:28px !important;
 padding:7px 10px !important;
 font-size:12px !important;
 }

 .rh-online-box{
 max-width:none !important;
 border-radius:16px !important;
 }

 .rh-site-footer:after{
 left:14px !important;
 right:14px !important;
 }

 .re-catalog-page{
 padding:18px;
 }

 .re-catalog-hero,
 .re-catalog-panel{
 border-radius:22px;
 padding:18px;
 }

 .re-catalog-hero h1{
 font-size:clamp(34px,9vw,46px);
 }

 .re-catalog-hero p{
 font-size:15px;
 }

 .re-catalog-actions{
 gap:8px;
 }

 .re-catalog-pill,
 .re-catalog-btn{
 min-height:34px;
 padding:8px 11px;
 font-size:12px;
 }

 .re-section-head{
 gap:11px;
 }

 .re-section-head__icon{
 width:38px;
 height:38px;
 flex-basis:38px;
 border-radius:14px;
 }

 .re-section-head h2{
 font-size:24px;
 }

 .re-regions-grid{
 grid-template-columns:1fr;
 }

 .re-region-card{
 min-height:88px;
 }

 .re-section-sortbox{
 padding:12px;
 border-radius:18px;
 }

 .re-section-sortbox a,
 .re-catalog-stats a{
 min-height:32px;
 padding:7px 11px;
 font-size:12px;
 }

 .re-country-table{
 min-width:820px;
 }

 .re-country-row{
 min-height:76px;
 }

 .re-country-row__cell{
 padding:9px;
 font-size:12px;
 }

 .re-country-row__flag-wrap{
 width:42px;
 height:42px;
 flex-basis:42px;
 border-radius:14px;
 }

 .re-country-row__title{
 font-size:13px;
 }

 .re-country-row__desc{
 max-width:190px;
 font-size:10px;
 }

 .re-country-row__badge,
 .re-country-row__region-pill,
 .re-country-row__btn{
 min-height:28px;
 padding:6px 9px;
 font-size:10px;
 }

 .re-catalog-pagination{
 justify-content:flex-start;
 }

 .re-editor-body,
 .re-site-search-form,
 .re-site-search-results{
 padding:13px;
 border-radius:20px;
 }

 .re-editor-body table,
 .re-editor-body tbody,
 .re-editor-body tr,
 .re-editor-body td,
 .re-site-search-form form,
 .re-site-search-form table,
 .re-site-search-form tbody,
 .re-site-search-form tr,
 .re-site-search-form td{
 display:block;
 width:100% !important;
 }

 .re-editor-body td{
 padding:6px 0;
 }

 .re-editor-body input[type="submit"],
 .re-editor-body input[type="button"],
 .re-editor-body button,
 .re-site-search-form input[type="text"],
 .re-site-search-form input[type="search"],
 .re-site-search-form select,
 .re-site-search-form input[type="submit"],
 .re-site-search-form input[type="button"],
 .re-site-search-form button{
 width:100%;
 }

 .re-search-item{
 grid-template-columns:52px 1fr;
 gap:11px;
 padding:12px;
 border-radius:18px;
 }

 .re-search-item__icon{
 width:52px;
 height:52px;
 border-radius:16px;
 }

 .re-search-item__title{
 font-size:15px;
 }

 .re-search-item__text{
 max-height:58px;
 font-size:12px;
 }

 .re-search-item__module,
 .re-search-item__date{
 min-height:22px;
 padding:4px 8px;
 font-size:9px;
 }

 .re-search-item__tag,
 .re-search-item__btn{
 min-height:28px;
 padding:6px 9px;
 font-size:10px;
 }
}


/* =========================================================
 19. SVG-иконки регионов вместо старых маркеров
========================================================= */

/* Большая иконка рядом с заголовком "Регионы" */
.re-section-head__icon{
 position:relative !important;

 width:52px !important;
 height:52px !important;
 flex:0 0 52px !important;

 border-radius:18px !important;
 border:1px solid rgba(7,137,156,.24) !important;

 background:
 radial-gradient(circle at 30% 0%,rgba(255,255,255,.86),transparent 45%),
 linear-gradient(180deg,rgba(247,253,254,.96),rgba(225,244,247,.82)) !important;

 box-shadow:
 0 12px 24px rgba(33,72,102,.10),
 inset 0 1px 0 rgba(255,255,255,.86) !important;
}

.re-section-head__icon:before{
 content:"" !important;
 position:absolute !important;
 inset:11px !important;

 background:#087d93 !important;

 -webkit-mask:
 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 2.5v3M12 18.5v3M2.5 12h3M18.5 12h3'/%3E%3Cpath d='M15.8 8.2l-2.1 5.5-5.5 2.1 2.1-5.5 5.5-2.1z'/%3E%3C/svg%3E")
 center / contain no-repeat !important;

 mask:
 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 2.5v3M12 18.5v3M2.5 12h3M18.5 12h3'/%3E%3Cpath d='M15.8 8.2l-2.1 5.5-5.5 2.1 2.1-5.5 5.5-2.1z'/%3E%3C/svg%3E")
 center / contain no-repeat !important;
}

/* Маленькие иконки в карточках регионов */
.re-region-card__mark{
 position:relative !important;
 z-index:2 !important;

 width:34px !important;
 height:34px !important;

 border-radius:13px !important;
 border:1px solid rgba(7,137,156,.22) !important;

 background:
 radial-gradient(circle at 30% 0%,rgba(255,255,255,.86),transparent 45%),
 linear-gradient(180deg,rgba(247,253,254,.96),rgba(225,244,247,.78)) !important;

 box-shadow:
 0 8px 16px rgba(33,72,102,.09),
 inset 0 1px 0 rgba(255,255,255,.84) !important;
}

.re-region-card__mark:before{
 content:"" !important;
 position:absolute !important;
 inset:8px !important;

 background:#21859f !important;

 -webkit-mask:
 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s6-5.3 6-11a6 6 0 1 0-12 0c0 5.7 6 11 6 11z'/%3E%3Ccircle cx='12' cy='10' r='2.2'/%3E%3C/svg%3E")
 center / contain no-repeat !important;

 mask:
 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s6-5.3 6-11a6 6 0 1 0-12 0c0 5.7 6 11 6 11z'/%3E%3Ccircle cx='12' cy='10' r='2.2'/%3E%3C/svg%3E")
 center / contain no-repeat !important;
}

/* При наведении чуть живее */
.re-region-card:hover .re-region-card__mark{
 border-color:rgba(33,133,159,.34) !important;
 background:
 radial-gradient(circle at 30% 0%,rgba(255,255,255,.90),transparent 45%),
 linear-gradient(180deg,rgba(248,253,254,.98),rgba(219,241,245,.86)) !important;

 transform:translateY(-1px) !important;
}

.re-region-card:hover .re-region-card__mark:before{
 background:#217194 !important;
}

/* Убираем огромные бледные круги справа в карточках, они тоже утяжеляют */
.re-region-card:before{
 width:76px !important;
 height:76px !important;
 right:-28px !important;
 top:-28px !important;
 background:rgba(44,151,174,.055) !important;
}

/* Мобильная подстройка */
@media (max-width:760px){
 .re-section-head__icon{
 width:44px !important;
 height:44px !important;
 flex-basis:44px !important;
 border-radius:16px !important;
 }

 .re-section-head__icon:before{
 inset:10px !important;
 }

 .re-region-card__mark{
 width:30px !important;
 height:30px !important;
 border-radius:11px !important;
 }

 .re-region-card__mark:before{
 inset:7px !important;
 }
}


/* =========================================================
 20. Выпадающие фильтры в одну строку
========================================================= */

.re-filter-menu-line{
 position:relative;
 z-index:2;

 display:flex;
 align-items:stretch;
 flex-wrap:wrap;
 gap:10px;

 padding:14px;

 border:1px solid rgba(75,142,167,.22);
 border-radius:22px;

 background:
 radial-gradient(circle at 0% 0%,rgba(255,255,255,.76),transparent 34%),
 linear-gradient(180deg,rgba(248,253,254,.70),rgba(243,251,252,.62));

 box-shadow:
 0 12px 26px rgba(33,72,102,.06),
 inset 0 1px 0 rgba(255,255,255,.78);
}

.re-filter-menu-line__item{
 display:flex;
 align-items:center;
 gap:8px;

 min-height:38px;
 padding:8px 10px 8px 13px;

 border-radius:999px;
 border:1px solid rgba(33,133,159,.22);

 background:
 radial-gradient(circle at 30% 0%,rgba(255,255,255,.70),transparent 40%),
 linear-gradient(180deg,rgba(240,250,251,.92),rgba(219,241,245,.74));

 color:#16485c;
 font:800 12px/1.25 "Manrope","Segoe UI",Arial,sans-serif;

 box-shadow:
 0 8px 16px rgba(33,72,102,.06),
 inset 0 1px 0 rgba(255,255,255,.78);
}

.re-filter-menu-line__item strong{
 flex:0 0 auto;
 color:#087d93;
 font-weight:900;
}

.re-filter-menu-line__item select{
 min-height:30px;
 max-width:190px;
 padding:6px 28px 6px 10px;

 border:1px solid rgba(7,137,156,.22);
 border-radius:999px;

 background:rgba(247,253,254,.92);
 color:#27495f;

 font:800 12px/1.2 "Manrope","Segoe UI",Arial,sans-serif;
 outline:none;
}

.re-filter-menu-line__item select:focus{
 border-color:rgba(33,133,159,.48);
 box-shadow:0 0 0 4px rgba(33,133,159,.10);
}

@media (max-width:760px){
 .re-filter-menu-line{
 padding:12px;
 border-radius:18px;
 }

 .re-filter-menu-line__item{
 width:100%;
 justify-content:space-between;
 border-radius:18px;
 }

 .re-filter-menu-line__item select{
 max-width:55%;
 }
}


/* =========================================================
 21. Поиск и быстрые фильтры на главной каталога
========================================================= */

.re-main-filter-box{
 position:relative;
 z-index:2;

 display:grid;
 gap:12px;
}

.re-main-filter-box__search{
 padding:14px;

 border:1px solid rgba(75,142,167,.22);
 border-radius:22px;

 background:
 radial-gradient(circle at 0% 0%,rgba(255,255,255,.76),transparent 34%),
 linear-gradient(180deg,rgba(248,253,254,.70),rgba(243,251,252,.62));

 box-shadow:
 0 12px 26px rgba(33,72,102,.06),
 inset 0 1px 0 rgba(255,255,255,.78);
}

.re-main-filter-box__search form{
 display:flex;
 flex-wrap:wrap;
 gap:10px;
 align-items:center;
}

.re-main-filter-box__search table{
 width:100%;
 border-collapse:separate;
 border-spacing:0 8px;
}

.re-main-filter-box__search td{
 padding:6px 8px;
 vertical-align:middle;
}

.re-main-filter-box__search input[type="text"],
.re-main-filter-box__search input[type="search"],
.re-main-filter-box__search select{
 min-height:40px;
 padding:9px 13px;

 border:1px solid rgba(7,137,156,.24);
 border-radius:999px;

 background:
 linear-gradient(180deg,rgba(255,255,255,.94),rgba(246,252,253,.84));

 color:#173b53;
 font:700 13px/1.35 "Manrope","Segoe UI",Arial,sans-serif;

 outline:none;

 box-shadow:
 inset 0 1px 0 rgba(255,255,255,.86),
 0 8px 18px rgba(33,72,102,.04);

 transition:.2s ease;
}

.re-main-filter-box__search input[type="text"]:focus,
.re-main-filter-box__search input[type="search"]:focus,
.re-main-filter-box__search select:focus{
 border-color:rgba(33,133,159,.50);
 box-shadow:
 0 0 0 4px rgba(33,133,159,.11),
 inset 0 1px 0 rgba(255,255,255,.90);
}

.re-main-filter-box__search input[type="submit"],
.re-main-filter-box__search input[type="button"],
.re-main-filter-box__search button{
 display:inline-flex;
 align-items:center;
 justify-content:center;

 min-height:40px;
 padding:9px 17px;

 border-radius:999px;
 border:1px solid rgba(118,220,225,.48);

 background:
 radial-gradient(circle at 30% 0%,rgba(255,255,255,.18),transparent 42%),
 linear-gradient(135deg,#16bdc4 0%,#21859f 46%,#0877a8 100%);

 color:#fff;
 font:900 13px/1.2 "Manrope","Segoe UI",Arial,sans-serif;

 cursor:pointer;

 box-shadow:
 0 14px 28px rgba(31,107,142,.22),
 inset 0 1px 0 rgba(255,255,255,.24);

 transition:.22s ease;
}

.re-main-filter-box__search input[type="submit"]:hover,
.re-main-filter-box__search input[type="button"]:hover,
.re-main-filter-box__search button:hover{
 transform:translateY(-1px);

 background:
 radial-gradient(circle at 30% 0%,rgba(255,255,255,.24),transparent 42%),
 linear-gradient(135deg,#25c8ce 0%,#0aa9b5 46%,#087f9e 100%);
}

@media (max-width:760px){
 .re-main-filter-box__search{
 padding:12px;
 border-radius:18px;
 }

 .re-main-filter-box__search form,
 .re-main-filter-box__search table,
 .re-main-filter-box__search tbody,
 .re-main-filter-box__search tr,
 .re-main-filter-box__search td{
 display:block;
 width:100% !important;
 }

 .re-main-filter-box__search input[type="text"],
 .re-main-filter-box__search input[type="search"],
 .re-main-filter-box__search select,
 .re-main-filter-box__search input[type="submit"],
 .re-main-filter-box__search input[type="button"],
 .re-main-filter-box__search button{
 width:100%;
 }
}


.re-filter-shortcuts{
 position:relative;
 z-index:2;
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:12px;
}

.re-filter-shortcuts__item{
 position:relative;
 overflow:hidden;

 display:grid;
 gap:5px;

 min-height:92px;
 padding:16px;

 border:1px solid rgba(75,142,167,.22);
 border-radius:22px;

 background:
 radial-gradient(circle at 0% 0%,rgba(255,255,255,.76),transparent 36%),
 linear-gradient(180deg,rgba(248,253,254,.76),rgba(243,251,252,.66));

 box-shadow:
 0 12px 26px rgba(33,72,102,.07),
 inset 0 1px 0 rgba(255,255,255,.78);

 transition:.22s ease;
}

.re-filter-shortcuts__item:before{
 content:"";
 position:absolute;
 right:-28px;
 top:-28px;
 width:82px;
 height:82px;
 border-radius:50%;
 background:rgba(44,151,174,.08);
 transition:.22s ease;
}

.re-filter-shortcuts__item:hover{
 transform:translateY(-3px);
 border-color:rgba(33,133,159,.35);
 box-shadow:
 0 18px 36px rgba(33,72,102,.11),
 inset 0 1px 0 rgba(255,255,255,.82);
}

.re-filter-shortcuts__item:hover:before{
 background:rgba(33,133,159,.12);
 transform:scale(1.16);
}

.re-filter-shortcuts__item strong{
 position:relative;
 z-index:2;
 color:#173b53;
 font:900 15px/1.25 "Manrope","Segoe UI",Arial,sans-serif;
}

.re-filter-shortcuts__item span{
 position:relative;
 z-index:2;
 color:#556c89;
 font:600 12px/1.4 "Manrope","Segoe UI",Arial,sans-serif;
}

@media (max-width:900px){
 .re-filter-shortcuts{
 grid-template-columns:repeat(2,minmax(0,1fr));
 }
}

@media (max-width:760px){
 .re-filter-shortcuts{
 grid-template-columns:1fr;
 }

 .re-filter-shortcuts__item{
 min-height:82px;
 }
}


/* =========================================================
 22. Паспортная карточка страны
========================================================= */

.re-country-passport{
 position:relative;
 z-index:3;

 display:grid;
 grid-template-columns:320px 1fr;
 gap:22px;
 align-items:stretch;

 margin:0 0 22px;
 padding:22px;

 border:1px solid rgba(75,142,167,.28);
 border-radius:30px;

 background:
 radial-gradient(circle at 0% 0%,rgba(255,255,255,.84),transparent 34%),
 radial-gradient(circle at 100% 100%,rgba(44,151,174,.13),transparent 36%),
 linear-gradient(180deg,rgba(248,253,254,.92),rgba(243,251,252,.80));

 box-shadow:
 0 20px 46px rgba(33,72,102,.11),
 inset 0 1px 0 rgba(255,255,255,.82);

 overflow:hidden;
}

.re-country-passport:before{
 content:"";
 position:absolute;
 inset:0;
 pointer-events:none;

 background:
 repeating-linear-gradient(115deg,transparent 0 24px,rgba(7,137,156,.026) 24px 26px),
 radial-gradient(circle at 18% 90%,rgba(33,133,159,.08),transparent 28%);
}

.re-country-passport__media,
.re-country-passport__content{
 position:relative;
 z-index:2;
}

.re-country-passport__media{
 min-height:230px;

 border-radius:24px;
 overflow:hidden;

 border:1px solid rgba(75,142,167,.28);

 background:
 radial-gradient(circle at 30% 0%,rgba(255,255,255,.76),transparent 38%),
 linear-gradient(135deg,rgba(44,151,174,.22),rgba(33,133,159,.16));

 box-shadow:
 0 16px 34px rgba(33,72,102,.12),
 inset 0 1px 0 rgba(255,255,255,.78);
}

.re-country-passport__media img{
 width:100%;
 height:100%;
 min-height:230px;
 object-fit:cover;
 object-position:center;
}

.re-country-passport__placeholder{
 width:100%;
 height:100%;
 min-height:230px;

 display:flex;
 align-items:center;
 justify-content:center;

 padding:24px;

 color:#fff;
 text-align:center;
 font:900 26px/1.1 "Playfair Display",Georgia,serif;

 background:
 radial-gradient(circle at 35% 20%,rgba(255,255,255,.24),transparent 34%),
 linear-gradient(135deg,#16bdc4,#217290);
}

.re-country-passport__content{
 display:flex;
 flex-direction:column;
 justify-content:center;
 gap:18px;
}

.re-country-passport__top span{
 display:inline-flex;
 align-items:center;

 margin-bottom:9px;
 padding:7px 12px;

 border:1px solid rgba(7,137,156,.20);
 border-radius:999px;

 background:rgba(247,253,254,.66);

 color:#087d93;
 font:900 11px/1.2 "Manrope","Segoe UI",Arial,sans-serif;
 letter-spacing:.11em;
 text-transform:uppercase;
}

.re-country-passport__top strong{
 display:block;

 color:#102f49;
 font:800 clamp(34px,4vw,54px)/1 "Playfair Display",Georgia,serif;
 letter-spacing:-.035em;
}

.re-country-passport__meta{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:10px;
}

.re-country-passport__meta div{
 padding:12px 14px;

 border:1px solid rgba(75,142,167,.20);
 border-radius:18px;

 background:
 linear-gradient(180deg,rgba(255,255,255,.72),rgba(243,251,252,.58));

 box-shadow:
 inset 0 1px 0 rgba(255,255,255,.78);
}

.re-country-passport__meta small{
 display:block;
 margin-bottom:4px;

 color:#6a8596;
 font:800 10px/1.2 "Manrope","Segoe UI",Arial,sans-serif;
 letter-spacing:.08em;
 text-transform:uppercase;
}

.re-country-passport__meta b{
 display:block;

 color:#16485c;
 font:900 13px/1.25 "Manrope","Segoe UI",Arial,sans-serif;
}

.re-country-passport__badges{
 display:flex;
 flex-wrap:wrap;
 gap:9px;
}


/* =========================================================
 23. Цветовые статусы и бейджи — актуальная travel-палитра
========================================================= */

.re-status-badge,
.re-country-row__badge,
.re-detail-badge{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 gap:5px;
 min-height:32px;
 padding:7px 11px;
 border-radius:999px;
 border:1px solid rgba(36,128,156,.18);
 background:
  radial-gradient(circle at 30% 0%,rgba(255,255,255,.82),transparent 42%),
  linear-gradient(180deg,rgba(248,252,253,.98),rgba(232,245,247,.92));
 color:#245163;
 font:900 11px/1.2 "Manrope","Segoe UI",Arial,sans-serif;
 box-shadow:
  0 6px 14px rgba(33,72,102,.05),
  inset 0 1px 0 rgba(255,255,255,.92);
 text-shadow:none;
}

.re-status-badge strong,
.re-detail-badge strong{
 color:#0a7f95;
 font-weight:900;
}

.re-status-badge.is-good,
.re-country-row__badge.is-good,
.re-detail-badge.is-good,
.re-country-row__badge.is-passport-good{
 color:#2f6b49;
 border-color:rgba(102,164,124,.34);
 background:
  radial-gradient(circle at 30% 0%,rgba(255,255,255,.86),transparent 42%),
  linear-gradient(180deg,rgba(241,250,244,.98),rgba(220,240,227,.90));
 box-shadow:
  0 6px 14px rgba(46,115,76,.09),
  inset 0 1px 0 rgba(255,255,255,.94);
}

.re-status-badge.is-mid,
.re-country-row__badge.is-mid,
.re-detail-badge.is-mid,
.re-country-row__badge.is-passport-warning,
.re-country-row__badge.is-passport-yellow{
 color:#8a6226;
 border-color:rgba(201,160,99,.34);
 background:
  radial-gradient(circle at 30% 0%,rgba(255,255,255,.86),transparent 42%),
  linear-gradient(180deg,rgba(253,248,239,.98),rgba(244,229,200,.90));
 box-shadow:
  0 6px 14px rgba(159,111,39,.09),
  inset 0 1px 0 rgba(255,255,255,.94);
}

.re-status-badge.is-hard,
.re-country-row__badge.is-hard,
.re-detail-badge.is-hard,
.re-country-row__badge.is-passport-danger{
 color:#8a4242;
 border-color:rgba(191,122,122,.34);
 background:
  radial-gradient(circle at 30% 0%,rgba(255,255,255,.86),transparent 42%),
  linear-gradient(180deg,rgba(252,241,241,.98),rgba(243,220,220,.90));
 box-shadow:
  0 6px 14px rgba(151,72,54,.10),
  inset 0 1px 0 rgba(255,255,255,.94);
}

.re-status-badge.is-neutral,
.re-country-row__badge.is-neutral,
.re-detail-badge.is-neutral,
.re-country-row__badge.is-passport-olive{
 color:#56665f;
 border-color:rgba(129,156,144,.28);
 background:
  radial-gradient(circle at 30% 0%,rgba(255,255,255,.86),transparent 42%),
  linear-gradient(180deg,rgba(245,250,247,.98),rgba(226,236,230,.90));
 box-shadow:
  0 6px 14px rgba(72,96,82,.06),
  inset 0 1px 0 rgba(255,255,255,.94);
}

.re-country-row.has-passport-danger{
 background:
  linear-gradient(90deg,rgba(177,98,98,.08),transparent 42%),
  var(--re-row-bg,transparent) !important;
}

.re-country-row.has-passport-good{
 background:
  linear-gradient(90deg,rgba(86,158,108,.08),transparent 42%),
  var(--re-row-bg,transparent) !important;
}

.re-country-row.has-passport-danger .re-country-row__title::after,
.re-country-row.has-passport-good .re-country-row__title::after{
 content:"";
 display:inline-block;
 width:7px;
 height:7px;
 margin-left:7px;
 border-radius:50%;
 vertical-align:middle;
}

.re-country-row.has-passport-danger .re-country-row__title::after{
 background:#d98b8b;
 box-shadow:0 0 0 4px rgba(217,139,139,.15);
}

.re-country-row.has-passport-good .re-country-row__title::after{
 background:#86c69a;
 box-shadow:0 0 0 4px rgba(134,198,154,.15);
}

/* =========================================================
 24. Блок актуальности информации
========================================================= */

.re-updated-box{
 position:relative;
 z-index:2;

 display:grid;
 gap:7px;

 padding:15px 16px 15px 18px;

 border:1px solid rgba(33,133,159,.22);
 border-radius:20px;

 background:
 radial-gradient(circle at 0% 0%,rgba(255,255,255,.78),transparent 34%),
 linear-gradient(180deg,rgba(248,253,254,.72),rgba(232,247,249,.66));

 box-shadow:
 0 12px 26px rgba(33,72,102,.08),
 inset 0 1px 0 rgba(255,255,255,.76);
}

.re-updated-box:before{
 content:"";
 position:absolute;
 left:0;
 top:14px;
 bottom:14px;
 width:4px;

 border-radius:999px;
 background:linear-gradient(180deg,#2c97ae,#21859f);
}

.re-updated-box strong{
 color:#16485c;
 font:900 14px/1.25 "Manrope","Segoe UI",Arial,sans-serif;
}

.re-updated-box span{
 color:#556c89;
 font:600 12px/1.55 "Manrope","Segoe UI",Arial,sans-serif;
}


/* =========================================================
 25. Поддержка автоматических статусов через JS
========================================================= */

@media (max-width:900px){
 .re-country-passport{
 grid-template-columns:1fr;
 }

 .re-country-passport__meta{
 grid-template-columns:1fr;
 }
}

@media (max-width:760px){
 .re-country-passport{
 padding:16px;
 border-radius:24px;
 }

 .re-country-passport__media,
 .re-country-passport__media img,
 .re-country-passport__placeholder{
 min-height:190px;
 }

 .re-country-passport__top strong{
 font-size:34px;
 }

 .re-status-badge,
 .re-country-row__badge,
 .re-detail-badge{
 min-height:29px;
 padding:6px 9px;
 font-size:10px;
 }
}


/* =========================================================
 26. Активный пункт верхнего меню — морская палитра
========================================================= */

.rh-nav a.is-active,
.rh-nav-drop.is-active .rh-nav-drop__main,
.rh-nav-drop__main.is-active{
 color:#0a7f95 !important;
}

.rh-nav a.is-active::before,
.rh-nav-drop.is-active .rh-nav-drop__main::before,
.rh-nav-drop__main.is-active::before{
 opacity:1 !important;
 transform:translateY(0) !important;
 background:
  radial-gradient(circle at 50% 0%,rgba(255,255,255,.82),transparent 58%),
  linear-gradient(180deg,rgba(247,252,253,.99),rgba(219,244,247,.92)) !important;
 border:1px solid rgba(44,151,174,.28) !important;
 box-shadow:
  0 10px 24px rgba(31,107,142,.11),
  inset 0 1px 0 rgba(255,255,255,.92) !important;
}

.rh-nav a.is-active::after,
.rh-nav-drop.is-active .rh-nav-drop__main::after,
.rh-nav-drop__main.is-active::after{
 background:linear-gradient(90deg,transparent,#19b4c1,transparent) !important;
 box-shadow:0 0 10px rgba(25,180,193,.24) !important;
}

/* =========================================================
 27. Компактные регионы в одну строку
========================================================= */

.re-regions-inline{
 display:flex;
 flex-wrap:wrap;
 gap:7px;
 margin-top:12px;
}

.re-region-chip{
 display:inline-flex;
 align-items:center;
 gap:6px;

 min-height:30px;
 padding:5px 10px 5px 7px;

 border-radius:999px;
 text-decoration:none !important;
 color:#294e62 !important;

 background:
 linear-gradient(180deg,rgba(255,255,255,.72),rgba(236,248,250,.86));

 border:1px solid rgba(75,142,167,.26);

 box-shadow:
 0 5px 12px rgba(12,75,96,.055),
 inset 0 1px 0 rgba(255,255,255,.86);

 transition:.18s ease;
}

.re-region-chip:hover{
 transform:translateY(-1px);

 color:#185063 !important;
 border-color:rgba(33,133,159,.38);

 background:
 linear-gradient(180deg,rgba(255,255,255,.90),rgba(227,246,248,.94));

 box-shadow:
 0 8px 16px rgba(12,75,96,.09),
 inset 0 1px 0 rgba(255,255,255,.92);
}

.re-region-chip__icon{
 flex:0 0 16px;
 width:16px;
 height:16px;

 border-radius:50%;
 position:relative;

 background:
 linear-gradient(180deg,#effcfd,#cceff2);

 border:1px solid rgba(80,177,190,.38);

 box-shadow:
 inset 0 1px 0 rgba(255,255,255,.72);
}

.re-region-chip__icon:before{
 content:"";
 position:absolute;
 left:50%;
 top:50%;

 width:9px;
 height:9px;

 transform:translate(-50%,-50%);

 background-repeat:no-repeat;
 background-position:center;
 background-size:9px 9px;

 opacity:.9;

 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23079cab' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s6-5.33 6-11a6 6 0 1 0-12 0c0 5.67 6 11 6 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
}

.re-region-chip__text{
 display:block;

 color:#284b60;
 font:800 12px/1.15 "Manrope","Segoe UI",Arial,sans-serif;

 white-space:nowrap;
}

.re-region-chip:hover .re-region-chip__text{
 color:#0b7187;
}

/* мобильная версия */
@media (max-width:640px){
 .re-regions-inline{
 gap:6px;
 }

 .re-region-chip{
 min-height:29px;
 padding:5px 9px 5px 7px;
 }

 .re-region-chip__text{
 font-size:11px;
 }
}


/* =========================================================
 28. Спокойный шрифт и размеры заголовков
========================================================= */

.rh-title,
.re-catalog-hero h1,
.re-country-passport__top strong,
h1,
h2,
.re-section-head h2{
 font-family:"Lora",Georgia,"Times New Roman",serif !important;
}

/* размеры сразу делаем меньше */
.rh-title{
 font-size:clamp(32px,3.4vw,46px) !important;
 line-height:1.08 !important;
 letter-spacing:-.025em !important;
}

.re-catalog-hero h1,
h1{
 font-size:clamp(26px,2.8vw,38px) !important;
 line-height:1.12 !important;
 letter-spacing:-.02em !important;
}

.re-section-head h2,
h2{
 font-size:clamp(21px,2vw,28px) !important;
 line-height:1.18 !important;
 letter-spacing:-.015em !important;
}

h3{
 font-family:"Manrope","Segoe UI",Arial,sans-serif !important;
 font-size:clamp(17px,1.6vw,21px) !important;
 line-height:1.25 !important;
}


/* =========================================================
 29. Выпадающее меню стран в шапке
========================================================= */

.rh-nav-drop{
 position:relative;
 display:inline-flex;
 align-items:center;
}

.rh-nav-drop__main{
 display:inline-flex !important;
 align-items:center;
 gap:7px;
}

.rh-nav-drop__arrow{
 width:7px;
 height:7px;
 border-right:2px solid currentColor;
 border-bottom:2px solid currentColor;
 transform:rotate(45deg) translateY(-2px);
 opacity:.75;
 transition:.2s ease;
}

.rh-nav-drop:hover .rh-nav-drop__arrow{
 transform:rotate(225deg) translateY(-1px);
}

.rh-nav-drop__menu{
 position:absolute;
 left:50%;
 top:calc(100% + 14px);
 z-index:50;

 width:285px;
 padding:10px;

 display:grid;
 grid-template-columns:1fr;
 gap:5px;

 border:1px solid rgba(75,142,167,.28);
 border-radius:20px;

 background:
 radial-gradient(circle at 0% 0%,rgba(255,255,255,.88),transparent 36%),
 linear-gradient(180deg,rgba(248,253,254,.97),rgba(243,251,252,.95));

 box-shadow:
 0 24px 54px rgba(33,72,102,.18),
 0 8px 18px rgba(33,72,102,.08),
 inset 0 1px 0 rgba(255,255,255,.86);

 transform:translateX(-50%) translateY(8px);
 opacity:0;
 visibility:hidden;
 pointer-events:none;

 transition:.22s ease;
}

.rh-nav-drop__menu:before{
 content:"";
 position:absolute;
 left:50%;
 top:-7px;
 width:14px;
 height:14px;
 transform:translateX(-50%) rotate(45deg);

 border-left:1px solid rgba(75,142,167,.26);
 border-top:1px solid rgba(75,142,167,.26);

 background:rgba(248,253,254,.98);
}

.rh-nav-drop:hover .rh-nav-drop__menu,
.rh-nav-drop:focus-within .rh-nav-drop__menu{
 opacity:1;
 visibility:visible;
 pointer-events:auto;
 transform:translateX(-50%) translateY(0);
}

.rh-nav-drop__menu a{
 position:relative !important;
 z-index:2 !important;

 display:flex !important;
 align-items:center !important;
 gap:9px !important;

 min-height:34px !important;
 padding:7px 10px !important;

 border-radius:13px !important;

 color:#284b60 !important;
 font:800 12px/1.25 "Manrope","Segoe UI",Arial,sans-serif !important;
 letter-spacing:0 !important;

 transition:.18s ease !important;
}

.rh-nav-drop__menu a:before,
.rh-nav-drop__menu a:after{
 display:none !important;
}

.rh-nav-drop__menu a:hover{
 color:#0b7187 !important;
 background:
 linear-gradient(180deg,rgba(255,255,255,.82),rgba(227,246,248,.86)) !important;
 box-shadow:
 inset 0 1px 0 rgba(255,255,255,.86),
 0 6px 14px rgba(33,72,102,.07) !important;
 transform:translateX(2px) !important;
}

.rh-nav-drop__icon{
 flex:0 0 17px;
 width:17px;
 height:17px;
 position:relative;

 border-radius:50%;
 border:1px solid rgba(80,177,190,.38);

 background:
 linear-gradient(180deg,#effcfd,#cceff2);

 box-shadow:
 inset 0 1px 0 rgba(255,255,255,.72);
}

.rh-nav-drop__icon:before{
 content:"";
 position:absolute;
 left:50%;
 top:50%;

 width:9px;
 height:9px;

 transform:translate(-50%,-50%);

 background:#21859f;

 -webkit-mask:
 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7Zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5Z'/%3E%3C/svg%3E")
 center / contain no-repeat;

 mask:
 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7Zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5Z'/%3E%3C/svg%3E")
 center / contain no-repeat;
}

/* активное состояние для пункта Страны */
.rh-nav-drop.is-active .rh-nav-drop__main,
.rh-nav-drop__main.is-active{
 color:#217290 !important;
}

/* мобильная версия */
@media (max-width:1260px){
 .rh-nav-drop{
 display:block;
 width:100%;
 }

 .rh-nav-drop__main{
 width:auto;
 }

 .rh-nav-drop__menu{
 position:relative;
 left:auto;
 top:auto;
 width:100%;
 max-width:420px;

 margin-top:8px;

 transform:none;
 opacity:1;
 visibility:visible;
 pointer-events:auto;

 box-shadow:
 0 12px 26px rgba(33,72,102,.10),
 inset 0 1px 0 rgba(255,255,255,.86);
 }

 .rh-nav-drop__menu:before{
 display:none;
 }

 .rh-nav-drop__arrow{
 transform:rotate(45deg) translateY(-2px);
 }
}

@media (max-width:760px){
 .rh-nav-drop__menu{
 max-width:none;
 border-radius:17px;
 }

 .rh-nav-drop__menu a{
 min-height:32px !important;
 font-size:11px !important;
 }

 .rh-nav-drop__icon{
 width:15px;
 height:15px;
 flex-basis:15px;
 }
}


/* =========================================================
 30. Выпадающее меню поверх всех блоков
========================================================= */

/* разрешаем выпадашке выходить за пределы шапки */
.rh-board,
.rh-topbar,
.rh-nav,
.rh-nav-drop{
 overflow:visible !important;
}

/* поднимаем шапку над всем контентом */
.rh-board{
 z-index:1000 !important;
}

.rh-topbar{
 position:relative !important;
 z-index:5000 !important;
}

.rh-nav{
 position:relative !important;
 z-index:6000 !important;
}

.rh-nav-drop{
 position:relative !important;
 z-index:7000 !important;
}

/* само выпадающее меню */
.rh-nav-drop__menu{
 z-index:99999 !important;
}

/* чтобы декоративные слои rh-board не перекрывали меню */
.rh-board::before,
.rh-board::after{
 z-index:0 !important;
}

.rh-topbar,
.rh-trustbar,
.rh-hero,
.rh-nav-drop,
.rh-nav-drop__menu{
 position:relative;
}

/* контент внутри доски выше декоративного фона */
.rh-topbar,
.rh-trustbar,
.rh-hero{
 z-index:2;
}

/* выпадающее меню выше вообще всего */
.rh-nav-drop__menu{
 position:absolute !important;
 top:calc(100% + 14px) !important;
 left:50% !important;

 transform:translateX(-50%) translateY(8px) !important;

 opacity:0;
 visibility:hidden;
 pointer-events:none;
}

/* открытие */
.rh-nav-drop:hover .rh-nav-drop__menu,
.rh-nav-drop:focus-within .rh-nav-drop__menu{
 opacity:1 !important;
 visibility:visible !important;
 pointer-events:auto !important;
 transform:translateX(-50%) translateY(0) !important;
}

/* на всякий случай поднимаем панель над hero */
.rh-nav-drop__menu,
.rh-nav-drop__menu *{
 z-index:99999 !important;
}


/* =========================================================
 31. Главный блок контента на главной странице
========================================================= */

.rh-content-section{
 position:relative;
 z-index:3;

 margin:0 58px 34px;
 padding:26px;

 border:1px solid rgba(75,142,167,.26);
 border-radius:28px;

 background:
 radial-gradient(circle at 0% 0%,rgba(255,255,255,.82),transparent 32%),
 radial-gradient(circle at 100% 100%,rgba(44,151,174,.12),transparent 34%),
 linear-gradient(180deg,rgba(248,253,254,.90),rgba(243,251,252,.78));

 box-shadow:
 0 18px 42px rgba(33,72,102,.10),
 inset 0 1px 0 rgba(255,255,255,.82);

 overflow:hidden;
}

.rh-content-section:before{
 content:"";
 position:absolute;
 inset:0;
 pointer-events:none;

 background:
 linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent),
 repeating-linear-gradient(115deg,transparent 0 24px,rgba(7,137,156,.022) 24px 26px);

 opacity:.78;
}

.rh-content-section__head,
.rh-content-section__body{
 position:relative;
 z-index:2;
}

.rh-content-section__head{
 display:flex;
 align-items:flex-start;
 gap:14px;
 margin:0 0 20px;
}

.rh-content-section__icon{
 width:42px;
 height:42px;
 flex:0 0 42px;

 border-radius:16px;

 background:
 radial-gradient(circle at 35% 28%,#d9fbfc 0 16%,#2c97ae 38%,#21859f 100%);

 box-shadow:
 0 0 0 6px rgba(44,151,174,.10),
 0 12px 22px rgba(33,72,102,.10);
}

.rh-content-section__head h2{
 margin:0 0 5px;

 color:#102f49;
 font:800 26px/1.15 "Lora",Georgia,serif;
 letter-spacing:-.025em;
}

.rh-content-section__head p{
 margin:0;

 color:#556c89;
 font:500 14px/1.55 "Manrope","Segoe UI",Arial,sans-serif;
}

.rh-content-section__body{
 color:#173b53;
 font:500 15px/1.7 "Manrope","Segoe UI",Arial,sans-serif;
}

.rh-content-section__body p{
 margin:0 0 14px;
}

.rh-content-section__body h1,
.rh-content-section__body h2,
.rh-content-section__body h3{
 color:#102f49;
}

.rh-content-section__body h2{
 margin:26px 0 12px;
 font:800 24px/1.2 "Lora",Georgia,serif;
}

.rh-content-section__body h3{
 margin:22px 0 10px;
 font:900 19px/1.25 "Manrope","Segoe UI",Arial,sans-serif;
}

.rh-content-section__body a{
 color:#217290;
 font-weight:800;
 text-decoration:none;
 border-bottom:1px solid rgba(33,133,159,.24);
}

.rh-content-section__body a:hover{
 color:#217194;
 border-color:rgba(7,137,156,.38);
}

.rh-content-section__body img{
 max-width:100%;
 height:auto;
 border-radius:20px;
 box-shadow:0 14px 30px rgba(33,72,102,.10);
}

.rh-content-section__body ul,
.rh-content-section__body ol{
 margin:12px 0 16px;
 padding-left:22px;
}

.rh-content-section__body li{
 margin:6px 0;
}

@media (max-width:900px){
 .rh-content-section{
 margin:0 28px 28px;
 padding:22px;
 }
}

@media (max-width:760px){
 .rh-content-section{
 margin:0 16px 24px;
 padding:18px;
 border-radius:22px;
 }

 .rh-content-section__head{
 gap:11px;
 }

 .rh-content-section__icon{
 width:36px;
 height:36px;
 flex-basis:36px;
 border-radius:14px;
 }

 .rh-content-section__head h2{
 font-size:22px;
 }

 .rh-content-section__head p{
 font-size:13px;
 }

 .rh-content-section__body{
 font-size:14px;
 }
}


/* =========================================================
 32. Иконка блока «Полезные материалы»
========================================================= */

.rh-content-section__icon{
 position:relative;
 width:42px;
 height:42px;
 flex:0 0 42px;
 border-radius:14px;

 background:
 linear-gradient(180deg,#f4fdfe 0%,#dff5f7 100%);

 border:1px solid rgba(75,142,167,.26);

 box-shadow:
 inset 0 1px 0 rgba(255,255,255,.9),
 0 10px 20px rgba(33,72,102,.08);
}

.rh-content-section__icon:before{
 content:"";
 position:absolute;
 left:50%;
 top:50%;
 width:22px;
 height:22px;
 transform:translate(-50%,-50%);
 background-repeat:no-repeat;
 background-position:center;
 background-size:contain;

 background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23808a4f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M8 3.5h6l4 4V19a1.5 1.5 0 0 1-1.5 1.5h-8A1.5 1.5 0 0 1 7 19V5A1.5 1.5 0 0 1 8.5 3.5Z'/><path d='M14 3.5V8h4'/><path d='M9.5 12h5'/><path d='M9.5 15h5'/></svg>");
}

.rh-content-section__icon:after{
 content:"";
 position:absolute;
 inset:0;
 border-radius:14px;
 pointer-events:none;
 background:linear-gradient(180deg,rgba(255,255,255,.28),transparent 52%);
}


/* =========================================================
 33. Почтовая форма и обратная связь
========================================================= */

.feedback-form-table{
 width:100% !important;
 max-width:760px !important;
 margin:18px auto !important;
 padding:22px !important;

 border-collapse:separate !important;
 border-spacing:0 12px !important;

 border:1px solid rgba(75,142,167,.28) !important;
 border-radius:28px !important;

 background:
 radial-gradient(circle at 0% 0%,rgba(255,255,255,.86),transparent 34%),
 radial-gradient(circle at 100% 100%,rgba(44,151,174,.12),transparent 36%),
 linear-gradient(180deg,rgba(248,253,254,.92),rgba(243,251,252,.82)) !important;

 box-shadow:
 0 18px 42px rgba(33,72,102,.10),
 inset 0 1px 0 rgba(255,255,255,.84) !important;

 color:#173b53 !important;
 font:600 14px/1.45 "Manrope","Segoe UI",Arial,sans-serif !important;
 overflow:hidden !important;
}

.feedback-form-table,
.feedback-form-table *{
 box-sizing:border-box !important;
}

.feedback-form-table td{
 padding:9px 10px !important;
 vertical-align:middle !important;

 color:#31556a !important;
 font:700 14px/1.45 "Manrope","Segoe UI",Arial,sans-serif !important;

 border:0 !important;
 background:transparent !important;
}

.feedback-form-table td:first-child{
 width:34% !important;
 color:#146b7e !important;
 font-weight:900 !important;
}

.feedback-form-table font[color="red"]{
 color:#217194 !important;
 font-weight:900 !important;
}

.feedback-form-table input[type="text"],
.feedback-form-table input[type="email"],
.feedback-form-table textarea{
 width:100% !important;
 max-width:100% !important;

 min-height:42px !important;
 padding:11px 14px !important;

 border:1px solid rgba(7,137,156,.24) !important;
 border-radius:16px !important;

 background:
 linear-gradient(180deg,rgba(255,255,255,.94),rgba(246,252,253,.84)) !important;

 color:#173b53 !important;
 font:700 14px/1.45 "Manrope","Segoe UI",Arial,sans-serif !important;

 outline:none !important;

 box-shadow:
 inset 0 1px 0 rgba(255,255,255,.88),
 0 8px 18px rgba(33,72,102,.04) !important;

 transition:
 border-color .2s ease,
 box-shadow .2s ease,
 background .2s ease !important;
}

.feedback-form-table textarea{
 min-height:150px !important;
 resize:vertical !important;
 border-radius:18px !important;
}

.feedback-form-table input[type="text"]:focus,
.feedback-form-table input[type="email"]:focus,
.feedback-form-table textarea:focus{
 border-color:rgba(33,133,159,.52) !important;

 background:
 linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,253,254,.92)) !important;

 box-shadow:
 0 0 0 4px rgba(33,133,159,.11),
 inset 0 1px 0 rgba(255,255,255,.90) !important;
}

.feedback-form-table textarea::placeholder{
 color:rgba(88,117,138,.70) !important;
 font-weight:600 !important;
}

.feedback-form-table input[name="f7"]{
 width:110px !important;
 max-width:110px !important;
 text-align:center !important;
 letter-spacing:.12em !important;
 font-weight:900 !important;
}

.feedback-form-table input[type="submit"]{
 display:inline-flex !important;
 align-items:center !important;
 justify-content:center !important;

 min-height:46px !important;
 padding:12px 26px !important;

 border-radius:999px !important;
 border:1px solid rgba(118,220,225,.50) !important;

 background:
 radial-gradient(circle at 30% 0%,rgba(255,255,255,.20),transparent 42%),
 linear-gradient(135deg,#16bdc4 0%,#21859f 46%,#0877a8 100%) !important;

 color:#fff !important;
 font:900 14px/1.2 "Manrope","Segoe UI",Arial,sans-serif !important;

 cursor:pointer !important;

 box-shadow:
 0 16px 32px rgba(31,107,142,.24),
 inset 0 1px 0 rgba(255,255,255,.26) !important;

 transition:.22s ease !important;
}

.feedback-form-table input[type="submit"]:hover{
 transform:translateY(-2px) !important;

 background:
 radial-gradient(circle at 30% 0%,rgba(255,255,255,.26),transparent 42%),
 linear-gradient(135deg,#25c8ce 0%,#0aa9b5 46%,#087f9e 100%) !important;

 box-shadow:
 0 20px 38px rgba(31,107,142,.28),
 inset 0 1px 0 rgba(255,255,255,.30) !important;
}

/* Картинка / код безопасности uCoz рядом с полем */
.feedback-form-table td img{
 display:inline-block !important;
 vertical-align:middle !important;

 max-height:42px !important;
 margin-left:10px !important;

 border-radius:10px !important;
 border:1px solid rgba(75,142,167,.24) !important;

 box-shadow:
 0 8px 16px rgba(33,72,102,.08),
 inset 0 1px 0 rgba(255,255,255,.70) !important;
}

/* Если SECURITY_CODE выводит ссылку/обновление */
.feedback-form-table td a{
 color:#217290 !important;
 font-weight:900 !important;
 border-bottom:1px solid rgba(33,133,159,.24) !important;
}

.feedback-form-table td a:hover{
 color:#217194 !important;
 border-color:rgba(7,137,156,.38) !important;
}

/* Мобильная версия */
@media (max-width:760px){
 .feedback-form-table{
 display:block !important;
 width:100% !important;
 padding:16px !important;
 border-radius:22px !important;
 }

 .feedback-form-table tbody,
 .feedback-form-table tr,
 .feedback-form-table td{
 display:block !important;
 width:100% !important;
 }

 .feedback-form-table tr{
 margin:0 0 12px !important;
 }

 .feedback-form-table td{
 padding:4px 0 !important;
 }

 .feedback-form-table td:first-child{
 width:100% !important;
 margin-bottom:4px !important;
 font-size:13px !important;
 }

 .feedback-form-table input[type="text"],
 .feedback-form-table input[type="email"],
 .feedback-form-table textarea{
 width:100% !important;
 }

 .feedback-form-table input[name="f7"]{
 width:120px !important;
 max-width:120px !important;
 }

 .feedback-form-table input[type="submit"]{
 width:100% !important;
 }
}


/* =========================================================
 34. Фикс выпадающего меню стран — не пропадает при наведении
========================================================= */

.rh-nav-drop{
 position:relative !important;
 z-index:99990 !important;
}

/* невидимый мостик между пунктом "Страны" и выпадающим меню */
.rh-nav-drop:after{
 content:"";
 position:absolute;
 left:-18px;
 right:-18px;
 top:100%;
 height:22px;
 z-index:99991;
 background:transparent;
 pointer-events:auto;
}

/* само меню ближе к кнопке, чтобы мышь не проваливалась в пустоту */
.rh-nav-drop__menu{
 top:calc(100% + 6px) !important;
 z-index:99999 !important;
}

/* держим меню открытым, когда курсор на кнопке, мостике или самом меню */
.rh-nav-drop:hover .rh-nav-drop__menu,
.rh-nav-drop:focus-within .rh-nav-drop__menu,
.rh-nav-drop__menu:hover{
 opacity:1 !important;
 visibility:visible !important;
 pointer-events:auto !important;
 transform:translateX(-50%) translateY(0) !important;
}

/* чтобы меню точно было поверх */
.rh-board,
.rh-topbar,
.rh-nav,
.rh-nav-drop{
 overflow:visible !important;
}

.rh-topbar{
 z-index:9000 !important;
}

.rh-nav{
 z-index:9500 !important;
}

.rh-nav-drop__menu{
 position:absolute !important;
}


/* =========================================================
 35. Полупрозрачный основной контент — фон сайта виден сквозь блоки
     ВАЖНО: не используем opacity у контейнеров, чтобы текст не бледнел.
========================================================= */

/* Главная общая оболочка */
.rh-board{
 background:
  radial-gradient(circle at 70% 42%,rgba(34,188,199,.075),transparent 34%),
  radial-gradient(circle at 25% 45%,rgba(255,255,255,.38),transparent 36%),
  linear-gradient(180deg,rgba(248,253,254,.84),rgba(240,250,252,.78)) !important;
 backdrop-filter:blur(3px) saturate(1.03) !important;
 -webkit-backdrop-filter:blur(3px) saturate(1.03) !important;
}

.rh-board::before{
 opacity:.55 !important;
}

/* Верхняя шапка */
.rh-topbar{
 background:
  linear-gradient(180deg,rgba(255,255,255,.76),rgba(242,251,252,.66)) !important;
 backdrop-filter:blur(7px) saturate(1.05) !important;
 -webkit-backdrop-filter:blur(7px) saturate(1.05) !important;
}

/* Тонкая информационная лента */
.rh-trustbar{
 background:
  linear-gradient(90deg,rgba(255,255,255,.08),rgba(248,253,254,.66),rgba(255,255,255,.08)),
  linear-gradient(180deg,rgba(248,253,254,.72),rgba(225,247,249,.54)) !important;
 backdrop-filter:blur(5px) !important;
 -webkit-backdrop-filter:blur(5px) !important;
}

/* Большой верхний блок каталога */
.re-catalog-hero{
 background:
  radial-gradient(circle at 0% 0%,rgba(255,255,255,.54),transparent 32%),
  radial-gradient(circle at 90% 18%,rgba(44,151,174,.10),transparent 36%),
  linear-gradient(180deg,rgba(248,253,254,.76),rgba(232,248,250,.66)) !important;
 backdrop-filter:blur(3px) saturate(1.03) !important;
 -webkit-backdrop-filter:blur(3px) saturate(1.03) !important;
}

/* Все большие панели каталога */
.re-catalog-panel{
 background:
  radial-gradient(circle at 0% 0%,rgba(255,255,255,.50),transparent 32%),
  linear-gradient(180deg,rgba(248,253,254,.72),rgba(238,249,251,.62)) !important;
 backdrop-filter:blur(3px) saturate(1.02) !important;
 -webkit-backdrop-filter:blur(3px) saturate(1.02) !important;
}

/* Контентные блоки на главной */
.rh-content-section{
 background:
  radial-gradient(circle at 0% 0%,rgba(255,255,255,.52),transparent 34%),
  radial-gradient(circle at 100% 100%,rgba(44,151,174,.075),transparent 36%),
  linear-gradient(180deg,rgba(248,253,254,.73),rgba(235,248,250,.63)) !important;
 backdrop-filter:blur(3px) saturate(1.02) !important;
 -webkit-backdrop-filter:blur(3px) saturate(1.02) !important;
}

/* Сама таблица стран */
.re-country-table{
 background:
  linear-gradient(180deg,rgba(255,255,255,.48),rgba(236,249,251,.40)) !important;
 backdrop-filter:blur(2px) !important;
 -webkit-backdrop-filter:blur(2px) !important;
}

.re-country-table__head{
 background:
  radial-gradient(circle at 0% 0%,rgba(255,255,255,.52),transparent 36%),
  linear-gradient(180deg,rgba(225,247,249,.68),rgba(201,239,243,.52)) !important;
}

.re-country-table__body{
 background:rgba(248,253,254,.24) !important;
}

.re-country-row{
 background:
  linear-gradient(180deg,rgba(255,255,255,.28),rgba(239,250,251,.22)) !important;
}

.re-country-row:hover{
 background:
  radial-gradient(circle at 0% 50%,rgba(44,151,174,.09),transparent 34%),
  linear-gradient(180deg,rgba(255,255,255,.48),rgba(236,249,251,.38)) !important;
}

/* Карточка количества стран */
.re-catalog-hero__badge{
 background:
  radial-gradient(circle at 30% 0%,rgba(255,255,255,.64),transparent 40%),
  linear-gradient(180deg,rgba(248,253,254,.66),rgba(224,245,248,.56)) !important;
 backdrop-filter:blur(5px) !important;
 -webkit-backdrop-filter:blur(5px) !important;
}

/* На мобильных немного повышаем непрозрачность ради читаемости */
@media (max-width:760px){
 .rh-board{
  background:linear-gradient(180deg,rgba(248,253,254,.91),rgba(240,250,252,.87)) !important;
 }

 .re-catalog-hero,
 .re-catalog-panel,
 .rh-content-section{
  background:linear-gradient(180deg,rgba(248,253,254,.88),rgba(238,249,251,.83)) !important;
 }

 .re-country-table{
  background:linear-gradient(180deg,rgba(255,255,255,.74),rgba(238,249,251,.68)) !important;
 }
}

/* =========================================================
 38. SMART STICKY HEADER — RUSSIAN EMIGRANT / PERFORMANCE FIX
   Размер шапки НЕ меняется при прокрутке.
   Только GPU-transform: вниз скрывается, вверх возвращается.
========================================================= */

.rh-topbar{
  position:sticky !important;
  top:12px !important;
  z-index:120000 !important;

  /* Важно: никаких изменений padding / margin / font-size / width при scroll. */
  transform:translate3d(0,0,0);
  will-change:transform;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;

  /* Анимируем только transform и opacity — это не вызывает reflow. */
  transition:
    transform .22s cubic-bezier(.22,.72,.2,1),
    opacity .18s ease !important;
}

/* После прокрутки меняем только декоративный фон — размеры остаются теми же. */
.rh-topbar.is-smart-sticky{
  background:rgba(248,253,254,.97) !important;
  border-color:rgba(33,114,144,.20) !important;
  box-shadow:
    0 10px 28px rgba(4,62,84,.12),
    inset 0 1px 0 rgba(255,255,255,.92) !important;

  /* backdrop-filter на sticky-элементе сильно нагружает браузер при scroll. */
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

/* КРИТИЧНО: фиксируем геометрию шапки во всех состояниях. */
.rh-topbar.is-smart-sticky .rh-brand img{
  width:170px !important;
}

.rh-topbar.is-smart-sticky .rh-nav{
  gap:34px !important;
}

.rh-topbar.is-smart-sticky .rh-nav a{
  font-size:16px !important;
  padding:8px 2px !important;
}

.rh-topbar.is-smart-sticky .rh-icon-btn{
  width:44px !important;
  height:44px !important;
}

.rh-topbar.is-smart-sticky .rh-pick-btn{
  min-height:44px !important;
  padding:10px 20px !important;
}

/* Вниз — шапка уезжает вверх. Геометрия страницы не меняется. */
.rh-topbar.is-smart-hidden{
  transform:translate3d(0,calc(-100% - 24px),0) !important;
  opacity:0 !important;
  pointer-events:none !important;
}

/* При работе с меню шапка всегда видима. */
.rh-topbar:focus-within,
.rh-topbar.is-smart-menu-open{
  transform:translate3d(0,0,0) !important;
  opacity:1 !important;
  pointer-events:auto !important;
}

.rh-topbar .rh-nav-drop__menu{
  z-index:120100 !important;
}

/* На планшетах тоже не меняем размеры. */
@media (max-width:1260px) and (min-width:901px){
  .rh-topbar{
    top:8px !important;
  }
}

/* На телефонах smart-hide отключён. */
@media (max-width:900px){
  .rh-topbar{
    position:relative !important;
    top:auto !important;
    transform:none !important;
    opacity:1 !important;
    pointer-events:auto !important;
    will-change:auto !important;
  }

  .rh-topbar.is-smart-sticky,
  .rh-topbar.is-smart-hidden{
    transform:none !important;
    opacity:1 !important;
  }
}

@media (prefers-reduced-motion:reduce){
  .rh-topbar{
    transition:none !important;
  }
}

/* =========================================================
 39. RESPONSIVE HEADER FIX — COMPACT / CLEAN
    Не разваливаем шапку в длинную вертикальную колонку.
========================================================= */

/* 961–1260 px: сохраняем нормальную трёхколоночную шапку. */
@media (max-width:1260px) and (min-width:961px){
  .rh-topbar{
    grid-template-columns:auto minmax(0,1fr) auto !important;
    justify-items:stretch !important;
    align-items:center !important;
    gap:14px !important;
  }

  .rh-nav{
    width:auto !important;
    justify-content:center !important;
    gap:18px !important;
    flex-wrap:nowrap !important;
  }

  .rh-nav-drop{
    width:auto !important;
    display:inline-flex !important;
  }

  .rh-tools{
    width:auto !important;
    justify-content:flex-end !important;
    flex-wrap:nowrap !important;
    gap:10px !important;
  }
}

/* 761–960 px: две аккуратные строки — бренд/инструменты и меню. */
@media (max-width:960px) and (min-width:761px){
  .rh-topbar{
    grid-template-columns:auto minmax(0,1fr) !important;
    grid-template-areas:
      "brand tools"
      "nav nav" !important;
    justify-items:stretch !important;
    align-items:center !important;
    gap:12px 16px !important;
    padding:15px 18px !important;
  }

  .rh-brand{
    grid-area:brand !important;
  }

  .rh-brand img{
    width:160px !important;
  }

  .rh-nav{
    grid-area:nav !important;
    width:100% !important;
    justify-content:center !important;
    gap:22px !important;
    flex-wrap:nowrap !important;
    padding-top:4px !important;
  }

  .rh-nav-drop{
    width:auto !important;
    display:inline-flex !important;
  }

  .rh-tools{
    grid-area:tools !important;
    width:100% !important;
    min-width:0 !important;
    justify-content:flex-end !important;
    flex-wrap:nowrap !important;
    gap:9px !important;
  }

  .rh-tools form{
    min-width:0 !important;
    max-width:360px !important;
  }
}

/* До 760 px: компактная мобильная шапка без огромных пустот. */
@media (max-width:760px){
  .rh-topbar{
    display:grid !important;
    grid-template-columns:1fr !important;
    justify-items:stretch !important;
    align-items:center !important;
    gap:11px !important;
    margin:10px 10px 0 !important;
    padding:13px !important;
    border-radius:20px !important;
  }

  .rh-brand{
    width:100% !important;
    justify-content:center !important;
    margin:0 !important;
  }

  .rh-brand img{
    width:168px !important;
    max-width:72vw !important;
  }

  /* Главное и Страны стоят в одну строку. */
  .rh-nav{
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex-wrap:nowrap !important;
    gap:10px !important;
    margin:0 !important;
    padding:2px 0 !important;
  }

  .rh-nav > a,
  .rh-nav-drop__main{
    flex:0 0 auto !important;
    white-space:nowrap !important;
    padding:8px 12px !important;
    font-size:15px !important;
  }

  .rh-nav-drop{
    width:auto !important;
    display:inline-flex !important;
    align-items:center !important;
  }

  /* Инструменты и поиск не превращаются в высокую башню. */
  .rh-tools{
    width:100% !important;
    min-width:0 !important;
    display:grid !important;
    grid-template-columns:42px minmax(0,1fr) !important;
    align-items:center !important;
    justify-content:stretch !important;
    gap:9px !important;
    margin:0 !important;
  }

  .rh-tools > .rh-icon-btn{
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    justify-self:start !important;
  }

  /* Поддержка формы поиска uCoz и обычного form. */
  .rh-tools form{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    margin:0 !important;
    padding:7px !important;
    display:flex !important;
    align-items:center !important;
    gap:7px !important;
    border-radius:16px !important;
  }

  .rh-tools form table,
  .rh-tools form tbody,
  .rh-tools form tr{
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    gap:7px !important;
    border:0 !important;
    background:transparent !important;
  }

  .rh-tools form td{
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    display:block !important;
    border:0 !important;
    background:transparent !important;
  }

  .rh-tools form td:first-child{
    flex:1 1 auto !important;
  }

  .rh-tools form input[type="text"],
  .rh-tools form input[type="search"]{
    width:100% !important;
    min-width:0 !important;
    height:40px !important;
    margin:0 !important;
  }

  .rh-tools form input[type="submit"],
  .rh-tools form input[type="button"],
  .rh-tools form button{
    width:auto !important;
    min-width:84px !important;
    height:40px !important;
    margin:0 !important;
    padding:0 16px !important;
    white-space:nowrap !important;
  }

  /* Если в инструментах есть отдельная крупная кнопка — на новую строку. */
  .rh-tools > .rh-pick-btn{
    grid-column:1 / -1 !important;
    width:100% !important;
    justify-content:center !important;
    min-height:42px !important;
    margin:0 !important;
  }

  .rh-topbar::before{
    left:14px !important;
    right:14px !important;
  }
}

/* Совсем узкие экраны. */
@media (max-width:460px){
  .rh-topbar{
    margin:7px 7px 0 !important;
    padding:11px !important;
    gap:9px !important;
  }

  .rh-brand img{
    width:150px !important;
  }

  .rh-nav{
    gap:4px !important;
  }

  .rh-nav > a,
  .rh-nav-drop__main{
    padding:7px 9px !important;
    font-size:14px !important;
  }

  .rh-tools{
    grid-template-columns:40px minmax(0,1fr) !important;
    gap:7px !important;
  }

  .rh-tools > .rh-icon-btn{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
  }

  .rh-tools form{
    padding:5px !important;
    gap:5px !important;
  }

  .rh-tools form input[type="text"],
  .rh-tools form input[type="search"]{
    height:38px !important;
  }

  .rh-tools form input[type="submit"],
  .rh-tools form input[type="button"],
  .rh-tools form button{
    min-width:72px !important;
    height:38px !important;
    padding:0 12px !important;
  }
}

/* ==========================================================================
   RUSSIAN EMIGRANT — LOGIN PAGE
   ========================================================================== */

.re-login-page {
  width: 100%;
  padding: 54px 22px 72px;
  box-sizing: border-box;
}

.re-login-shell {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(390px, 0.95fr);
  width: min(1120px, 100%);
  min-height: 620px;
  margin: 0 auto;
  border: 1px solid rgba(42, 104, 133, 0.18);
  border-radius: 28px;
  overflow: hidden;
  background: rgba(247, 251, 252, 0.86);
  box-shadow:
    0 28px 75px rgba(29, 54, 77, 0.16),
    0 4px 18px rgba(29, 54, 77, 0.08);
}

.re-login-intro {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 64px 66px;
  overflow: hidden;
  color: #ffffff;
  background:
    radial-gradient(circle at 12% 12%, rgba(69, 174, 191, 0.28), transparent 30%),
    radial-gradient(circle at 88% 82%, rgba(80, 91, 136, 0.34), transparent 34%),
    linear-gradient(145deg, #174e69 0%, #215f79 48%, #334d73 100%);
}

.re-login-intro::before {
  content: "";
  position: absolute;
  width: 360px;
  height: 360px;
  right: -150px;
  top: -140px;
  border: 1px solid rgba(255,255,255,0.13);
  border-radius: 50%;
}

.re-login-intro::after {
  content: "";
  position: absolute;
  width: 250px;
  height: 250px;
  right: -75px;
  top: -85px;
  border: 1px dashed rgba(255,255,255,0.14);
  border-radius: 50%;
}

.re-login-intro > * {
  position: relative;
  z-index: 2;
}

.re-login-kicker {
  display: inline-flex;
  align-items: center;
  width: max-content;
  margin: 0 0 19px;
  padding: 8px 13px;
  border: 1px solid rgba(255,255,255,0.17);
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #d8f3f6;
}

.re-login-intro h1 {
  max-width: 560px;
  margin: 0;
  font-size: clamp(38px, 4vw, 57px);
  line-height: 1.04;
  font-weight: 800;
  letter-spacing: -0.045em;
  color: #ffffff;
}

.re-login-intro__lead {
  max-width: 520px;
  margin: 24px 0 0;
  font-size: 17px;
  line-height: 1.7;
  color: rgba(240, 249, 252, 0.79);
}

.re-login-intro__stamp {
  position: absolute;
  top: 38px;
  right: 42px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 118px;
  height: 118px;
  border: 2px solid rgba(190, 236, 241, 0.25);
  border-radius: 50%;
  transform: rotate(7deg);
  text-align: center;
  opacity: 0.7;
}

.re-login-intro__stamp::before {
  content: "";
  position: absolute;
  inset: 7px;
  border: 1px dashed rgba(190, 236, 241, 0.27);
  border-radius: 50%;
}

.re-login-intro__stamp span,
.re-login-intro__stamp strong,
.re-login-intro__stamp small {
  position: relative;
  z-index: 1;
}

.re-login-intro__stamp span {
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.18em;
}

.re-login-intro__stamp strong {
  margin: 4px 0;
  font-size: 13px;
  line-height: 1;
  letter-spacing: 0.04em;
}

.re-login-intro__stamp small {
  font-size: 7px;
  letter-spacing: 0.12em;
}

.re-login-benefits {
  display: grid;
  gap: 13px;
  max-width: 500px;
  margin-top: 38px;
}

.re-login-benefit {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.11);
  border-radius: 15px;
  background: rgba(255,255,255,0.055);
}

.re-login-benefit__icon {
  display: flex;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  border-radius: 11px;
  background: rgba(126, 213, 221, 0.13);
  color: #bdebf0;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.05em;
}

.re-login-benefit div {
  min-width: 0;
}

.re-login-benefit strong {
  display: block;
  margin-bottom: 3px;
  font-size: 14px;
  color: #ffffff;
}

.re-login-benefit small {
  display: block;
  font-size: 12px;
  line-height: 1.45;
  color: rgba(237, 247, 250, 0.68);
}

.re-login-back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: max-content;
  margin-top: 34px;
  color: rgba(240, 250, 252, 0.77);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: color 0.18s ease, transform 0.18s ease;
}

.re-login-back:hover {
  color: #ffffff;
  transform: translateX(-3px);
}

.re-login-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 58px 60px;
  background: rgba(255,255,255,0.82);
}

.re-login-card__head {
  margin-bottom: 27px;
}

.re-login-card__kicker {
  display: block;
  margin-bottom: 9px;
  color: #26899f;
  font-size: 11px;
  line-height: 1;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.15em;
}

.re-login-card h2,
.re-login-user h2 {
  margin: 0;
  color: #284162;
  font-size: 33px;
  line-height: 1.12;
  font-weight: 800;
  letter-spacing: -0.035em;
}

.re-login-card__head p {
  margin: 10px 0 0;
  color: #697d91;
  font-size: 14px;
  line-height: 1.6;
}

.re-login-form,
.re-login-form form {
  width: 100%;
}

.re-login-form input[type="text"],
.re-login-form input[type="email"],
.re-login-form input[type="password"],
.re-login-form input[type="tel"],
.re-login-form select {
  width: 100%;
  min-height: 49px;
  box-sizing: border-box;
  padding: 0 15px;
  border: 1px solid rgba(59, 101, 130, 0.20);
  border-radius: 12px;
  outline: none;
  background: rgba(245, 249, 251, 0.92);
  color: #284162;
  font: inherit;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.re-login-form input[type="text"]:focus,
.re-login-form input[type="email"]:focus,
.re-login-form input[type="password"]:focus,
.re-login-form input[type="tel"]:focus,
.re-login-form select:focus {
  border-color: rgba(42, 151, 174, 0.65);
  background: #ffffff;
  box-shadow: 0 0 0 4px rgba(42, 151, 174, 0.09);
}

.re-login-form input[type="submit"],
.re-login-form button[type="submit"],
.re-login-form .loginButton {
  width: 100%;
  min-height: 50px;
  margin-top: 8px;
  border: 0;
  border-radius: 13px;
  background: linear-gradient(135deg, #217f98, #505b88);
  color: #ffffff;
  font: inherit;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(33, 96, 124, 0.18);
  transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
}

.re-login-form input[type="submit"]:hover,
.re-login-form button[type="submit"]:hover,
.re-login-form .loginButton:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(33, 96, 124, 0.22);
  filter: brightness(1.04);
}

.re-login-form label {
  color: #405b73;
  font-size: 13px;
  font-weight: 700;
}

.re-login-form a {
  color: #247e99;
  text-decoration: none;
}

.re-login-form a:hover {
  text-decoration: underline;
}

.re-login-form table {
  width: 100%;
}

.re-login-form td {
  padding: 5px 0;
}

.re-login-form .manFlLogin,
.re-login-form .loginForm,
.re-login-form .login-form {
  width: 100%;
}

.re-login-social {
  margin-top: 27px;
}

.re-login-divider {
  position: relative;
  margin-bottom: 19px;
  text-align: center;
}

.re-login-divider::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 1px;
  background: rgba(58, 91, 118, 0.13);
}

.re-login-divider span {
  position: relative;
  z-index: 1;
  padding: 0 12px;
  background: #ffffff;
  color: #8a9aaa;
  font-size: 11px;
  font-weight: 700;
}

.re-login-social__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.re-login-social__buttons > * {
  max-width: 100%;
}

.re-login-register {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 25px;
  padding-top: 23px;
  border-top: 1px solid rgba(59, 89, 113, 0.10);
  color: #758899;
  font-size: 13px;
}

.re-login-register a {
  color: #217f98;
  font-weight: 800;
  text-decoration: none;
}

.re-login-register a:hover {
  text-decoration: underline;
}

.re-login-security {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  margin-top: 24px;
  padding: 13px 14px;
  border: 1px solid rgba(39, 135, 154, 0.11);
  border-radius: 13px;
  background: rgba(226, 245, 247, 0.42);
}

.re-login-security__icon {
  display: flex;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(39, 142, 161, 0.10);
  color: #237c91;
  font-size: 12px;
  font-weight: 900;
}

.re-login-security strong {
  display: block;
  margin-bottom: 2px;
  color: #36546b;
  font-size: 12px;
}

.re-login-security small {
  display: block;
  color: #7b8d9b;
  font-size: 11px;
  line-height: 1.45;
}

.re-login-user {
  text-align: center;
}

.re-login-user__avatar {
  display: flex;
  width: 92px;
  height: 92px;
  margin: 0 auto 22px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 5px solid rgba(42, 151, 174, 0.09);
  border-radius: 50%;
  background: #e9f3f5;
  color: #247d93;
  font-size: 30px;
  font-weight: 800;
}

.re-login-user__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.re-login-user__name {
  margin: 7px 0 0;
  color: #748797;
}

.re-login-user__meta {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 9px;
  margin: 27px 0;
}

.re-login-user__meta div {
  padding: 13px 8px;
  border: 1px solid rgba(53, 91, 117, 0.11);
  border-radius: 12px;
  background: rgba(242, 247, 249, 0.82);
}

.re-login-user__meta small {
  display: block;
  margin-bottom: 4px;
  color: #8798a6;
  font-size: 10px;
}

.re-login-user__meta strong {
  color: #38556b;
  font-size: 12px;
}

.re-login-user__actions {
  display: grid;
  gap: 9px;
}

.re-login-main-btn,
.re-login-secondary-btn {
  display: flex;
  min-height: 47px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

.re-login-main-btn {
  background: linear-gradient(135deg, #217f98, #505b88);
  color: #ffffff;
}

.re-login-secondary-btn {
  border: 1px solid rgba(53, 91, 117, 0.14);
  background: rgba(242, 247, 249, 0.75);
  color: #38556b;
}

.re-login-pm-count {
  display: inline-flex;
  min-width: 19px;
  height: 19px;
  margin-left: 7px;
  padding: 0 5px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #277f97;
  color: #fff;
  font-size: 10px;
}

@media (max-width: 900px) {
  .re-login-page {
    padding: 30px 16px 52px;
  }

  .re-login-shell {
    grid-template-columns: 1fr;
    max-width: 660px;
  }

  .re-login-intro {
    padding: 46px 42px;
  }

  .re-login-intro h1 {
    font-size: 42px;
  }

  .re-login-card {
    padding: 44px 42px;
  }
}

@media (max-width: 560px) {
  .re-login-page {
    padding: 18px 10px 38px;
  }

  .re-login-shell {
    border-radius: 20px;
  }

  .re-login-intro {
    padding: 36px 24px;
  }

  .re-login-intro h1 {
    font-size: 34px;
  }

  .re-login-intro__lead {
    font-size: 15px;
  }

  .re-login-intro__stamp {
    display: none;
  }

  .re-login-benefits {
    margin-top: 28px;
  }

  .re-login-card {
    padding: 38px 24px;
  }

  .re-login-card h2,
  .re-login-user h2 {
    font-size: 29px;
  }

  .re-login-user__meta {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 380px) {
  .re-login-intro {
    padding: 31px 19px;
  }

  .re-login-card {
    padding: 32px 19px;
  }

  .re-login-benefit {
    padding: 12px;
  }
}

/* ==========================================================================
   RUSSIAN EMIGRANT — REGISTRATION PAGE
   ========================================================================== */

.re-register-page {
  width: 100%;
  padding: 54px 22px 72px;
  box-sizing: border-box;
}

.re-register-shell {
  position: relative;
  display: grid;
  grid-template-columns: minmax(360px, 0.88fr) minmax(0, 1.12fr);
  width: min(1180px, 100%);
  min-height: 680px;
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid rgba(45, 99, 132, 0.18);
  border-radius: 28px;
  background: rgba(248, 252, 253, 0.88);
  box-shadow:
    0 28px 76px rgba(31, 57, 79, 0.16),
    0 4px 18px rgba(31, 57, 79, 0.07);
}


/* ==========================================================================
   LEFT / INTRO
   ========================================================================== */

.re-register-intro {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 62px 58px;
  overflow: hidden;
  color: #ffffff;
  background:
    radial-gradient(circle at 14% 10%, rgba(63, 174, 192, 0.25), transparent 30%),
    radial-gradient(circle at 90% 85%, rgba(80, 91, 136, 0.34), transparent 36%),
    linear-gradient(150deg, #174d68 0%, #215f79 52%, #3e5379 100%);
}

.re-register-intro::before {
  content: "";
  position: absolute;
  width: 400px;
  height: 400px;
  right: -208px;
  bottom: -185px;
  border: 1px solid rgba(210, 245, 248, 0.14);
  border-radius: 50%;
}

.re-register-intro::after {
  content: "";
  position: absolute;
  width: 290px;
  height: 290px;
  right: -145px;
  bottom: -128px;
  border: 1px dashed rgba(210, 245, 248, 0.15);
  border-radius: 50%;
}

.re-register-intro > * {
  position: relative;
  z-index: 2;
}

.re-register-kicker {
  display: inline-flex;
  align-items: center;
  width: max-content;
  margin-bottom: 19px;
  padding: 8px 13px;
  border: 1px solid rgba(255,255,255,0.17);
  border-radius: 999px;
  background: rgba(255,255,255,0.075);
  color: #d7f2f5;
  font-size: 11px;
  line-height: 1;
  font-weight: 850;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.re-register-intro h1 {
  max-width: 530px;
  margin: 0;
  color: #ffffff;
  font-size: clamp(38px, 4vw, 56px);
  line-height: 1.04;
  font-weight: 800;
  letter-spacing: -0.045em;
}

.re-register-intro__lead {
  max-width: 500px;
  margin: 23px 0 0;
  color: rgba(240, 249, 252, 0.80);
  font-size: 16px;
  line-height: 1.72;
}

.re-register-route {
  display: grid;
  gap: 12px;
  max-width: 500px;
  margin-top: 34px;
}

.re-register-route__item {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 14px 15px;
  border: 1px solid rgba(255,255,255,0.105);
  border-radius: 15px;
  background: rgba(255,255,255,0.052);
}

.re-register-route__num {
  display: flex;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(128, 218, 226, 0.12);
  color: #c5eff2;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.06em;
}

.re-register-route__item strong {
  display: block;
  margin-bottom: 3px;
  color: #ffffff;
  font-size: 14px;
}

.re-register-route__item small {
  display: block;
  color: rgba(237, 247, 250, 0.68);
  font-size: 12px;
  line-height: 1.45;
}

.re-register-intro__foot {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 22px;
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,0.10);
}

.re-register-intro__foot a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: rgba(240, 250, 252, 0.80);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: color 0.18s ease, transform 0.18s ease;
}

.re-register-intro__foot a:hover {
  color: #ffffff;
  transform: translateY(-1px);
}


/* PASSPORT-LIKE MARK */

.re-register-stamp {
  position: absolute;
  top: 38px;
  right: 36px;
  display: flex;
  width: 112px;
  height: 112px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 2px solid rgba(194, 236, 241, 0.22);
  border-radius: 50%;
  transform: rotate(8deg);
  color: rgba(226, 248, 250, 0.72);
  text-align: center;
}

.re-register-stamp::before {
  content: "";
  position: absolute;
  inset: 7px;
  border: 1px dashed rgba(194, 236, 241, 0.22);
  border-radius: 50%;
}

.re-register-stamp span,
.re-register-stamp strong,
.re-register-stamp small {
  position: relative;
  z-index: 1;
}

.re-register-stamp span {
  font-size: 8px;
  font-weight: 900;
  letter-spacing: 0.16em;
}

.re-register-stamp strong {
  margin: 4px 0;
  font-size: 15px;
  line-height: 1;
  letter-spacing: 0.05em;
}

.re-register-stamp small {
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.12em;
}


/* ==========================================================================
   RIGHT / FORM CARD
   ========================================================================== */

.re-register-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: 52px 58px;
  background: rgba(255,255,255,0.84);
}

.re-register-card__head {
  margin-bottom: 26px;
}

.re-register-card__kicker {
  display: block;
  margin-bottom: 9px;
  color: #27889e;
  font-size: 11px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.re-register-card h2 {
  margin: 0;
  color: #284162;
  font-size: 34px;
  line-height: 1.12;
  font-weight: 800;
  letter-spacing: -0.035em;
}

.re-register-card__head p {
  max-width: 620px;
  margin: 10px 0 0;
  color: #6e8192;
  font-size: 14px;
  line-height: 1.65;
}

.re-register-form {
  width: 100%;
  min-width: 0;
}


/* ==========================================================================
   UCOZ REGISTRATION FORM NORMALIZATION
   ========================================================================== */

.re-register-form form,
.re-register-form table {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

.re-register-form table {
  border-collapse: separate;
  border-spacing: 0 7px;
}

.re-register-form td {
  box-sizing: border-box;
  padding: 4px 6px;
  vertical-align: middle;
}

.re-register-form tr > td:first-child {
  color: #405b73;
  font-size: 13px;
  font-weight: 750;
}

.re-register-form input[type="text"],
.re-register-form input[type="email"],
.re-register-form input[type="password"],
.re-register-form input[type="tel"],
.re-register-form input[type="url"],
.re-register-form input[type="number"],
.re-register-form input[type="date"],
.re-register-form select,
.re-register-form textarea,
.re-register-form .manFl,
.re-register-form .manFlA {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 48px;
  box-sizing: border-box;
  padding: 10px 14px;
  border: 1px solid rgba(55, 96, 124, 0.20);
  border-radius: 12px;
  outline: none;
  background: rgba(245, 249, 251, 0.92);
  color: #284162;
  font-family: inherit;
  font-size: 14px;
  transition:
    border-color 0.18s ease,
    background 0.18s ease,
    box-shadow 0.18s ease;
}

.re-register-form textarea,
.re-register-form .manFlA {
  min-height: 100px;
  resize: vertical;
}

.re-register-form input[type="text"]:focus,
.re-register-form input[type="email"]:focus,
.re-register-form input[type="password"]:focus,
.re-register-form input[type="tel"]:focus,
.re-register-form input[type="url"]:focus,
.re-register-form input[type="number"]:focus,
.re-register-form input[type="date"]:focus,
.re-register-form select:focus,
.re-register-form textarea:focus,
.re-register-form .manFl:focus,
.re-register-form .manFlA:focus {
  border-color: rgba(42, 151, 174, 0.68);
  background: #ffffff;
  box-shadow: 0 0 0 4px rgba(42, 151, 174, 0.09);
}

.re-register-form input[type="checkbox"],
.re-register-form input[type="radio"] {
  width: 17px;
  height: 17px;
  accent-color: #27869d;
  vertical-align: middle;
}

.re-register-form label,
.re-register-form .manFlS,
.re-register-form .manFlF {
  color: #435e74;
  font-size: 13px;
  line-height: 1.5;
}

.re-register-form a {
  color: #247d99;
  font-weight: 700;
  text-decoration: none;
}

.re-register-form a:hover {
  text-decoration: underline;
}

.re-register-form input[type="submit"],
.re-register-form input[type="button"],
.re-register-form button,
.re-register-form .manFlBtn {
  min-height: 49px;
  box-sizing: border-box;
  padding: 0 22px;
  border: 0;
  border-radius: 13px;
  background: linear-gradient(135deg, #217f98, #505b88);
  color: #ffffff;
  font-family: inherit;
  font-size: 14px;
  font-weight: 850;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(33, 96, 124, 0.17);
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    filter 0.18s ease;
}

.re-register-form input[type="submit"]:hover,
.re-register-form input[type="button"]:hover,
.re-register-form button:hover,
.re-register-form .manFlBtn:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(33, 96, 124, 0.21);
  filter: brightness(1.04);
}

.re-register-form input[type="file"] {
  max-width: 100%;
  color: #526c81;
  font-family: inherit;
}

.re-register-form input[type="file"]::file-selector-button {
  margin-right: 10px;
  padding: 9px 12px;
  border: 1px solid rgba(55, 96, 124, 0.15);
  border-radius: 10px;
  background: #edf5f7;
  color: #36566d;
  font-family: inherit;
  font-weight: 750;
  cursor: pointer;
}

.re-register-form img {
  max-width: 100%;
  height: auto;
}

.re-register-form hr {
  height: 1px;
  margin: 17px 0;
  border: 0;
  background: rgba(56, 89, 113, 0.11);
}

.re-register-form .error,
.re-register-form .err,
.re-register-form .myError,
.re-register-form [class*="error"] {
  color: #a64c52;
}

.re-register-form .success,
.re-register-form [class*="success"] {
  color: #347c6c;
}


/* ==========================================================================
   LOGIN PROMPT
   ========================================================================== */

.re-register-login {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin-top: 27px;
  padding-top: 23px;
  border-top: 1px solid rgba(59, 89, 113, 0.10);
  color: #778a9a;
  font-size: 13px;
}

.re-register-login a {
  color: #217f98;
  font-weight: 850;
  text-decoration: none;
}

.re-register-login a:hover {
  text-decoration: underline;
}

.re-register-note {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  margin-top: 20px;
  padding: 13px 14px;
  border: 1px solid rgba(39, 135, 154, 0.11);
  border-radius: 13px;
  background: rgba(226, 245, 247, 0.42);
}

.re-register-note__icon {
  display: flex;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(39, 142, 161, 0.10);
  color: #237c91;
  font-size: 12px;
  font-weight: 900;
}

.re-register-note strong {
  display: block;
  margin-bottom: 2px;
  color: #36546b;
  font-size: 12px;
}

.re-register-note small {
  display: block;
  color: #7b8d9b;
  font-size: 11px;
  line-height: 1.45;
}


/* ==========================================================================
   ALREADY LOGGED IN
   ========================================================================== */

.re-register-user {
  text-align: center;
}

.re-register-user__avatar {
  display: flex;
  width: 94px;
  height: 94px;
  margin: 0 auto 22px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 5px solid rgba(42, 151, 174, 0.09);
  border-radius: 50%;
  background: #e9f3f5;
  color: #247d93;
  font-size: 30px;
  font-weight: 800;
}

.re-register-user__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.re-register-user h2 {
  margin: 0;
  color: #284162;
  font-size: 32px;
  font-weight: 800;
  letter-spacing: -0.035em;
}

.re-register-user p {
  margin: 10px auto 24px;
  max-width: 480px;
  color: #718494;
  font-size: 14px;
  line-height: 1.6;
}

.re-register-user__actions {
  display: grid;
  gap: 9px;
  width: min(420px, 100%);
  margin: 0 auto;
}

.re-register-user__actions a {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 850;
  text-decoration: none;
}

.re-register-user__primary {
  background: linear-gradient(135deg, #217f98, #505b88);
  color: #ffffff;
}

.re-register-user__secondary {
  border: 1px solid rgba(53, 91, 117, 0.14);
  background: rgba(242, 247, 249, 0.75);
  color: #38556b;
}


/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 980px) {
  .re-register-page {
    padding: 30px 16px 52px;
  }

  .re-register-shell {
    grid-template-columns: 1fr;
    max-width: 720px;
  }

  .re-register-intro {
    padding: 46px 44px;
  }

  .re-register-intro h1 {
    font-size: 42px;
  }

  .re-register-card {
    padding: 46px 44px;
  }
}

@media (max-width: 620px) {
  .re-register-page {
    padding: 18px 10px 38px;
  }

  .re-register-shell {
    border-radius: 20px;
  }

  .re-register-intro {
    padding: 36px 24px;
  }

  .re-register-stamp {
    display: none;
  }

  .re-register-intro h1 {
    font-size: 34px;
  }

  .re-register-intro__lead {
    font-size: 15px;
  }

  .re-register-card {
    padding: 38px 24px;
  }

  .re-register-card h2 {
    font-size: 29px;
  }

  .re-register-form table,
  .re-register-form tbody,
  .re-register-form tr,
  .re-register-form td {
    display: block;
    width: 100% !important;
  }

  .re-register-form tr {
    margin-bottom: 9px;
  }

  .re-register-form td {
    padding: 3px 0;
  }

  .re-register-login {
    flex-direction: column;
    gap: 5px;
  }
}

@media (max-width: 390px) {
  .re-register-intro {
    padding: 31px 19px;
  }

  .re-register-card {
    padding: 32px 19px;
  }

  .re-register-route__item {
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 11px;
    padding: 12px;
  }

  .re-register-route__num {
    width: 36px;
    height: 36px;
  }
}

/* ==========================================================================
   RUSSIAN EMIGRANT — PERSONAL USER PROFILE
   ========================================================================== */

.re-profile-page {
  width: 100%;
  padding: 46px 22px 72px;
  box-sizing: border-box;
}

.re-profile-shell {
  width: min(1180px, 100%);
  margin: 0 auto;
}


/* ==========================================================================
   PROFILE HERO
   ========================================================================== */

.re-profile-hero {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  overflow: hidden;
  padding: 36px 38px;
  border: 1px solid rgba(46, 100, 132, 0.18);
  border-radius: 26px;
  background:
    radial-gradient(circle at 8% 10%, rgba(44, 151, 174, 0.11), transparent 28%),
    radial-gradient(circle at 94% 16%, rgba(80, 91, 136, 0.11), transparent 31%),
    rgba(250, 253, 254, 0.88);
  box-shadow:
    0 24px 64px rgba(30, 55, 77, 0.13),
    0 4px 16px rgba(30, 55, 77, 0.06);
}

.re-profile-hero::after {
  content: "";
  position: absolute;
  right: -88px;
  bottom: -118px;
  width: 300px;
  height: 300px;
  border: 1px dashed rgba(42, 128, 151, 0.13);
  border-radius: 50%;
  pointer-events: none;
}

.re-profile-avatar-wrap {
  position: relative;
  z-index: 1;
}

.re-profile-avatar {
  display: flex;
  width: 132px;
  height: 132px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 6px solid rgba(255,255,255,0.94);
  border-radius: 50%;
  background: #e8f2f5;
  color: #2a748b;
  box-shadow:
    0 13px 30px rgba(34, 69, 93, 0.15),
    0 0 0 1px rgba(48, 105, 137, 0.08);
}

.re-profile-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.re-profile-avatar svg {
  width: 58px;
  height: 58px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
}

.re-profile-status {
  position: absolute;
  right: 2px;
  bottom: 7px;
  display: flex;
  width: 29px;
  height: 29px;
  align-items: center;
  justify-content: center;
  border: 5px solid #ffffff;
  border-radius: 50%;
  background: #9aa8b4;
  box-shadow: 0 5px 13px rgba(31, 60, 79, 0.14);
}

.re-profile-status.is-online {
  background: #4f9f8c;
}

.re-profile-status.is-offline {
  background: #8d9aaa;
}

.re-profile-hero__main {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.re-profile-eyebrow {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-bottom: 10px;
}

.re-profile-eyebrow__label,
.re-profile-eyebrow__group,
.re-profile-eyebrow__rank {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  box-sizing: border-box;
  padding: 0 10px;
  border: 1px solid rgba(47, 111, 140, 0.13);
  border-radius: 999px;
  font-size: 10px;
  line-height: 1;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.re-profile-eyebrow__label {
  background: rgba(39, 143, 163, 0.09);
  color: #237e94;
}

.re-profile-eyebrow__group {
  background: rgba(80, 91, 136, 0.075);
  color: #505b88;
}

.re-profile-eyebrow__rank {
  background: rgba(48, 111, 137, 0.065);
  color: #536f84;
}

.re-profile-name {
  margin: 0;
  color: #284162;
  font-size: clamp(34px, 4vw, 51px);
  line-height: 1.03;
  font-weight: 820;
  letter-spacing: -0.045em;
  overflow-wrap: anywhere;
}

.re-profile-username {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-top: 10px;
  color: #6f8395;
  font-size: 14px;
}

.re-profile-username strong {
  color: #426178;
  font-weight: 800;
}

.re-profile-status-text {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.re-profile-status-text::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #7f929f;
}

.re-profile-status-text.is-online::before {
  background: #4f9f8c;
}

.re-profile-bio {
  max-width: 700px;
  margin: 17px 0 0;
  color: #61778a;
  font-size: 14px;
  line-height: 1.65;
}

.re-profile-signature {
  max-width: 700px;
  margin-top: 14px;
  padding-left: 13px;
  border-left: 3px solid rgba(39, 137, 158, 0.18);
  color: #738697;
  font-size: 13px;
  line-height: 1.55;
}


/* HERO ACTIONS */

.re-profile-actions {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 9px;
  width: 210px;
}

.re-profile-btn {
  display: flex;
  min-height: 45px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  box-sizing: border-box;
  padding: 0 16px;
  border: 1px solid rgba(48, 91, 119, 0.13);
  border-radius: 12px;
  background: rgba(244, 249, 251, 0.84);
  color: #385a71;
  font-size: 12px;
  font-weight: 820;
  text-align: center;
  text-decoration: none;
  transition:
    transform 0.16s ease,
    border-color 0.16s ease,
    background 0.16s ease,
    box-shadow 0.16s ease;
}

.re-profile-btn:hover {
  transform: translateY(-1px);
  border-color: rgba(38, 133, 154, 0.25);
  background: #ffffff;
  box-shadow: 0 9px 20px rgba(35, 70, 94, 0.09);
}

.re-profile-btn--primary {
  border-color: transparent;
  background: linear-gradient(135deg, #217f98, #505b88);
  color: #ffffff;
  box-shadow: 0 9px 22px rgba(33, 96, 124, 0.16);
}

.re-profile-btn--primary:hover {
  border-color: transparent;
  background: linear-gradient(135deg, #2387a1, #56628f);
  color: #ffffff;
}


/* ==========================================================================
   CONTENT GRID
   ========================================================================== */

.re-profile-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.55fr);
  gap: 20px;
  margin-top: 20px;
}

.re-profile-main,
.re-profile-side {
  display: grid;
  align-content: start;
  gap: 20px;
  min-width: 0;
}

.re-profile-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(46, 98, 129, 0.14);
  border-radius: 20px;
  background: rgba(250, 253, 254, 0.86);
  box-shadow: 0 11px 32px rgba(30, 57, 78, 0.075);
}

.re-profile-card__head {
  display: flex;
  gap: 13px;
  align-items: center;
  padding: 20px 22px 17px;
  border-bottom: 1px solid rgba(50, 91, 117, 0.09);
}

.re-profile-card__icon {
  display: flex;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(39, 139, 160, 0.09);
  color: #277f96;
}

.re-profile-card__icon svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.re-profile-card__head h2 {
  margin: 0;
  color: #304b64;
  font-size: 17px;
  line-height: 1.2;
  font-weight: 820;
}

.re-profile-card__head p {
  margin: 3px 0 0;
  color: #8293a0;
  font-size: 11px;
  line-height: 1.45;
}

.re-profile-card__body {
  padding: 20px 22px 22px;
}


/* ==========================================================================
   INFO GRID
   ========================================================================== */

.re-profile-info {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.re-profile-info__item {
  min-width: 0;
  padding: 14px 15px;
  border: 1px solid rgba(51, 94, 121, 0.09);
  border-radius: 13px;
  background: rgba(243, 248, 250, 0.72);
}

.re-profile-info__item small {
  display: block;
  margin-bottom: 5px;
  color: #8998a5;
  font-size: 10px;
  line-height: 1.2;
  font-weight: 780;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.re-profile-info__item strong,
.re-profile-info__item span {
  display: block;
  color: #3b586f;
  font-size: 13px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.re-profile-info__item strong {
  font-weight: 800;
}


/* ==========================================================================
   ACTIVITY
   ========================================================================== */

.re-profile-activity {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.re-profile-stat {
  display: flex;
  min-width: 0;
  min-height: 92px;
  flex-direction: column;
  justify-content: center;
  padding: 15px;
  box-sizing: border-box;
  border: 1px solid rgba(49, 94, 122, 0.09);
  border-radius: 14px;
  background: rgba(244, 249, 251, 0.76);
  text-decoration: none;
  transition:
    transform 0.16s ease,
    border-color 0.16s ease,
    background 0.16s ease;
}

a.re-profile-stat:hover {
  transform: translateY(-2px);
  border-color: rgba(39, 132, 153, 0.22);
  background: #ffffff;
}

.re-profile-stat strong {
  color: #294f68;
  font-size: 26px;
  line-height: 1;
  font-weight: 820;
  letter-spacing: -0.03em;
}

.re-profile-stat span {
  margin-top: 7px;
  color: #7a8d9c;
  font-size: 11px;
  line-height: 1.35;
  font-weight: 720;
}


/* ==========================================================================
   REPUTATION / AWARDS
   ========================================================================== */

.re-profile-score-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.re-profile-score {
  display: block;
  padding: 17px;
  border: 1px solid rgba(49, 94, 122, 0.09);
  border-radius: 14px;
  background: rgba(244, 249, 251, 0.76);
  text-decoration: none;
}

.re-profile-score small {
  display: block;
  margin-bottom: 6px;
  color: #8395a3;
  font-size: 10px;
  font-weight: 780;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.re-profile-score strong {
  color: #31566e;
  font-size: 26px;
  line-height: 1;
  font-weight: 820;
}

.re-profile-score span {
  display: block;
  margin-top: 7px;
  color: #7d8f9d;
  font-size: 11px;
  line-height: 1.4;
}

.re-profile-awards {
  margin-top: 14px;
}

.re-profile-awards img {
  max-width: 100%;
  height: auto;
}


/* ==========================================================================
   CONTACTS / SOCIAL
   ========================================================================== */

.re-profile-links {
  display: grid;
  gap: 9px;
}

.re-profile-link {
  display: flex;
  min-height: 43px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  box-sizing: border-box;
  padding: 0 13px;
  border: 1px solid rgba(50, 93, 120, 0.09);
  border-radius: 12px;
  background: rgba(244, 249, 251, 0.72);
  color: #3f6178;
  font-size: 12px;
  font-weight: 750;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.re-profile-link:hover {
  border-color: rgba(39, 133, 154, 0.20);
  background: #ffffff;
}

.re-profile-link::after {
  content: "↗";
  flex: 0 0 auto;
  color: #7b95a6;
  font-size: 12px;
}

.re-profile-social {
  max-width: 100%;
  overflow-wrap: anywhere;
}

.re-profile-social a {
  color: #267f98;
  font-weight: 750;
  text-decoration: none;
}

.re-profile-social a:hover {
  text-decoration: underline;
}


/* ==========================================================================
   PROFILE NOTICE
   ========================================================================== */

.re-profile-notice {
  display: flex;
  gap: 11px;
  align-items: flex-start;
  padding: 14px;
  border: 1px solid rgba(40, 136, 157, 0.10);
  border-radius: 13px;
  background: rgba(228, 246, 248, 0.40);
}

.re-profile-notice__icon {
  display: flex;
  flex: 0 0 29px;
  width: 29px;
  height: 29px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(39, 142, 161, 0.10);
  color: #247d92;
  font-size: 12px;
  font-weight: 900;
}

.re-profile-notice strong {
  display: block;
  margin-bottom: 3px;
  color: #3b596f;
  font-size: 12px;
}

.re-profile-notice small {
  display: block;
  color: #80919e;
  font-size: 11px;
  line-height: 1.5;
}


/* ==========================================================================
   MODERATOR PANEL
   ========================================================================== */

.re-profile-moder {
  margin-top: 20px;
}

.re-profile-moder:empty {
  display: none;
}


/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 980px) {
  .re-profile-page {
    padding: 30px 16px 54px;
  }

  .re-profile-hero {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .re-profile-actions {
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
  }

  .re-profile-layout {
    grid-template-columns: 1fr;
  }

  .re-profile-side {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .re-profile-hero {
    grid-template-columns: 1fr;
    gap: 19px;
    padding: 29px 24px;
    text-align: center;
  }

  .re-profile-avatar-wrap {
    width: max-content;
    margin: 0 auto;
  }

  .re-profile-avatar {
    width: 112px;
    height: 112px;
  }

  .re-profile-eyebrow,
  .re-profile-username {
    justify-content: center;
  }

  .re-profile-bio,
  .re-profile-signature {
    margin-left: auto;
    margin-right: auto;
    text-align: left;
  }

  .re-profile-actions {
    grid-template-columns: 1fr;
  }

  .re-profile-info {
    grid-template-columns: 1fr;
  }

  .re-profile-activity {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .re-profile-side {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 440px) {
  .re-profile-page {
    padding: 18px 10px 40px;
  }

  .re-profile-hero {
    padding: 25px 18px;
    border-radius: 20px;
  }

  .re-profile-name {
    font-size: 32px;
  }

  .re-profile-card {
    border-radius: 17px;
  }

  .re-profile-card__head,
  .re-profile-card__body {
    padding-left: 17px;
    padding-right: 17px;
  }

  .re-profile-activity {
    grid-template-columns: 1fr;
  }

  .re-profile-score-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   RUSSIAN EMIGRANT — PRIVATE MESSAGES
   ========================================================================== */

.re-pm-page {
  width: 100%;
  padding: 46px 22px 72px;
  box-sizing: border-box;
}

.re-pm-shell {
  width: min(1180px, 100%);
  margin: 0 auto;
}


/* ==========================================================================
   HERO
   ========================================================================== */

.re-pm-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  overflow: hidden;
  padding: 34px 38px;
  border: 1px solid rgba(46, 100, 132, 0.18);
  border-radius: 26px;
  background:
    radial-gradient(circle at 8% 10%, rgba(44, 151, 174, 0.11), transparent 29%),
    radial-gradient(circle at 94% 12%, rgba(80, 91, 136, 0.12), transparent 31%),
    rgba(250, 253, 254, 0.88);
  box-shadow:
    0 24px 64px rgba(30, 55, 77, 0.13),
    0 4px 16px rgba(30, 55, 77, 0.06);
}

.re-pm-hero::after {
  content: "";
  position: absolute;
  right: -82px;
  bottom: -130px;
  width: 310px;
  height: 310px;
  border: 1px dashed rgba(42, 128, 151, 0.13);
  border-radius: 50%;
  pointer-events: none;
}

.re-pm-hero__content,
.re-pm-hero__aside {
  position: relative;
  z-index: 1;
}

.re-pm-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 29px;
  margin-bottom: 11px;
  padding: 0 11px;
  border: 1px solid rgba(45, 117, 144, 0.12);
  border-radius: 999px;
  background: rgba(39, 143, 163, 0.08);
  color: #237d93;
  font-size: 10px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.re-pm-title {
  margin: 0;
  color: #284162;
  font-size: clamp(34px, 4vw, 50px);
  line-height: 1.04;
  font-weight: 820;
  letter-spacing: -0.045em;
}

.re-pm-lead {
  max-width: 720px;
  margin: 15px 0 0;
  color: #657b8d;
  font-size: 14px;
  line-height: 1.7;
}

.re-pm-hero__aside {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 260px;
  padding: 14px;
  border: 1px solid rgba(50, 98, 127, 0.10);
  border-radius: 17px;
  background: rgba(246, 250, 252, 0.78);
}

.re-pm-avatar {
  display: flex;
  flex: 0 0 58px;
  width: 58px;
  height: 58px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 4px solid rgba(255,255,255,0.96);
  border-radius: 50%;
  background: #e6f0f3;
  color: #2e7287;
  box-shadow: 0 7px 18px rgba(32, 68, 92, 0.10);
}

.re-pm-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.re-pm-avatar svg {
  width: 28px;
  height: 28px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
}

.re-pm-user {
  min-width: 0;
}

.re-pm-user small {
  display: block;
  margin-bottom: 3px;
  color: #8a99a5;
  font-size: 10px;
  font-weight: 780;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.re-pm-user strong {
  display: block;
  color: #38576e;
  font-size: 14px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.re-pm-user span {
  display: block;
  margin-top: 4px;
  color: #738797;
  font-size: 11px;
}

.re-pm-unread {
  display: inline-flex;
  min-width: 22px;
  height: 22px;
  margin-left: 5px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0 6px;
  border-radius: 999px;
  background: #2a8198;
  color: #ffffff;
  font-size: 10px;
  font-weight: 900;
}


/* ==========================================================================
   NAVIGATION
   ========================================================================== */

.re-pm-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 18px;
}

.re-pm-toolbar a {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0 14px;
  border: 1px solid rgba(49, 91, 119, 0.13);
  border-radius: 11px;
  background: rgba(245, 249, 251, 0.82);
  color: #3b5c73;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
  transition:
    transform 0.16s ease,
    background 0.16s ease,
    border-color 0.16s ease,
    box-shadow 0.16s ease;
}

.re-pm-toolbar a:hover {
  transform: translateY(-1px);
  border-color: rgba(39, 133, 154, 0.22);
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(34, 68, 91, 0.08);
}

.re-pm-toolbar a.is-primary {
  border-color: transparent;
  background: linear-gradient(135deg, #217f98, #505b88);
  color: #ffffff;
  box-shadow: 0 9px 20px rgba(33, 96, 124, 0.15);
}


/* ==========================================================================
   MAIN LAYOUT
   ========================================================================== */

.re-pm-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 290px;
  gap: 20px;
  align-items: start;
  margin-top: 20px;
}

.re-pm-panel {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(46, 98, 129, 0.14);
  border-radius: 20px;
  background: rgba(250, 253, 254, 0.87);
  box-shadow: 0 11px 32px rgba(30, 57, 78, 0.075);
}

.re-pm-panel__head {
  display: flex;
  gap: 13px;
  align-items: center;
  padding: 20px 22px 17px;
  border-bottom: 1px solid rgba(50, 91, 117, 0.09);
}

.re-pm-panel__icon {
  display: flex;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(39, 139, 160, 0.09);
  color: #277f96;
}

.re-pm-panel__icon svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.re-pm-panel__head h2 {
  margin: 0;
  color: #304b64;
  font-size: 17px;
  line-height: 1.2;
  font-weight: 820;
}

.re-pm-panel__head p {
  margin: 3px 0 0;
  color: #8293a0;
  font-size: 11px;
  line-height: 1.45;
}

.re-pm-panel__body {
  min-width: 0;
  padding: 20px 22px 22px;
}


/* ==========================================================================
   UCOZ PRIVATE MESSAGE BODY NORMALIZATION
   ========================================================================== */

.re-pm-body {
  min-width: 0;
  color: #405c72;
}

.re-pm-body form,
.re-pm-body table {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

.re-pm-body table {
  border-collapse: separate;
  border-spacing: 0;
}

.re-pm-body td,
.re-pm-body th {
  box-sizing: border-box;
  padding: 10px;
  border-bottom: 1px solid rgba(50, 91, 117, 0.08);
  color: #4b6478;
  font-size: 12px;
  line-height: 1.5;
  vertical-align: middle;
}

.re-pm-body th {
  background: rgba(236, 245, 248, 0.72);
  color: #3b586f;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.re-pm-body tr:hover td {
  background: rgba(239, 247, 249, 0.44);
}

.re-pm-body a {
  color: #247e99;
  font-weight: 750;
  text-decoration: none;
}

.re-pm-body a:hover {
  text-decoration: underline;
}

.re-pm-body input[type="text"],
.re-pm-body input[type="email"],
.re-pm-body input[type="password"],
.re-pm-body input[type="search"],
.re-pm-body select,
.re-pm-body textarea,
.re-pm-body .manFl,
.re-pm-body .manFlA {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 46px;
  box-sizing: border-box;
  padding: 10px 13px;
  border: 1px solid rgba(55, 96, 124, 0.20);
  border-radius: 11px;
  outline: none;
  background: rgba(245, 249, 251, 0.92);
  color: #284162;
  font-family: inherit;
  font-size: 13px;
  transition:
    border-color 0.18s ease,
    background 0.18s ease,
    box-shadow 0.18s ease;
}

.re-pm-body textarea,
.re-pm-body .manFlA {
  min-height: 150px;
  resize: vertical;
}

.re-pm-body input[type="text"]:focus,
.re-pm-body input[type="email"]:focus,
.re-pm-body input[type="password"]:focus,
.re-pm-body input[type="search"]:focus,
.re-pm-body select:focus,
.re-pm-body textarea:focus,
.re-pm-body .manFl:focus,
.re-pm-body .manFlA:focus {
  border-color: rgba(42, 151, 174, 0.68);
  background: #ffffff;
  box-shadow: 0 0 0 4px rgba(42, 151, 174, 0.09);
}

.re-pm-body input[type="checkbox"],
.re-pm-body input[type="radio"] {
  width: 17px;
  height: 17px;
  accent-color: #27869d;
  vertical-align: middle;
}

.re-pm-body input[type="submit"],
.re-pm-body input[type="button"],
.re-pm-body button,
.re-pm-body .manFlBtn {
  min-height: 44px;
  box-sizing: border-box;
  padding: 0 17px;
  border: 0;
  border-radius: 11px;
  background: linear-gradient(135deg, #217f98, #505b88);
  color: #ffffff;
  font-family: inherit;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(33, 96, 124, 0.14);
  transition:
    transform 0.16s ease,
    box-shadow 0.16s ease,
    filter 0.16s ease;
}

.re-pm-body input[type="submit"]:hover,
.re-pm-body input[type="button"]:hover,
.re-pm-body button:hover,
.re-pm-body .manFlBtn:hover {
  transform: translateY(-1px);
  box-shadow: 0 11px 22px rgba(33, 96, 124, 0.19);
  filter: brightness(1.04);
}

.re-pm-body img {
  max-width: 100%;
  height: auto;
}

.re-pm-body hr {
  height: 1px;
  margin: 16px 0;
  border: 0;
  background: rgba(56, 89, 113, 0.10);
}

.re-pm-body .error,
.re-pm-body .err,
.re-pm-body [class*="error"] {
  color: #a64d53;
}

.re-pm-body .success,
.re-pm-body [class*="success"] {
  color: #347c6c;
}


/* ==========================================================================
   SIDEBAR
   ========================================================================== */

.re-pm-side {
  display: grid;
  gap: 20px;
}

.re-pm-quick {
  display: grid;
  gap: 9px;
}

.re-pm-quick a {
  display: flex;
  min-height: 43px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  box-sizing: border-box;
  padding: 0 13px;
  border: 1px solid rgba(50, 93, 120, 0.09);
  border-radius: 12px;
  background: rgba(244, 249, 251, 0.72);
  color: #3f6178;
  font-size: 12px;
  font-weight: 750;
  text-decoration: none;
}

.re-pm-quick a:hover {
  border-color: rgba(39, 133, 154, 0.20);
  background: #ffffff;
}

.re-pm-quick a::after {
  content: "›";
  color: #7891a2;
  font-size: 18px;
  line-height: 1;
}

.re-pm-info {
  display: grid;
  gap: 9px;
}

.re-pm-info__item {
  padding: 13px 14px;
  border: 1px solid rgba(49, 94, 122, 0.09);
  border-radius: 12px;
  background: rgba(244, 249, 251, 0.72);
}

.re-pm-info__item small {
  display: block;
  margin-bottom: 4px;
  color: #8797a4;
  font-size: 10px;
  font-weight: 780;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.re-pm-info__item strong {
  display: block;
  color: #3c596f;
  font-size: 13px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.re-pm-notice {
  display: flex;
  gap: 11px;
  align-items: flex-start;
  padding: 14px;
  border: 1px solid rgba(40, 136, 157, 0.10);
  border-radius: 13px;
  background: rgba(228, 246, 248, 0.40);
}

.re-pm-notice__icon {
  display: flex;
  flex: 0 0 29px;
  width: 29px;
  height: 29px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(39, 142, 161, 0.10);
  color: #247d92;
  font-size: 12px;
  font-weight: 900;
}

.re-pm-notice strong {
  display: block;
  margin-bottom: 3px;
  color: #3b596f;
  font-size: 12px;
}

.re-pm-notice small {
  display: block;
  color: #80919e;
  font-size: 11px;
  line-height: 1.5;
}


/* ==========================================================================
   GUEST STATE
   ========================================================================== */

.re-pm-guest {
  width: min(640px, 100%);
  margin: 0 auto;
  padding: 48px 34px;
  box-sizing: border-box;
  border: 1px solid rgba(46, 98, 129, 0.14);
  border-radius: 22px;
  background: rgba(250, 253, 254, 0.88);
  box-shadow: 0 14px 36px rgba(30, 57, 78, 0.08);
  text-align: center;
}

.re-pm-guest__icon {
  display: flex;
  width: 66px;
  height: 66px;
  margin: 0 auto 18px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(39, 139, 160, 0.09);
  color: #277f96;
}

.re-pm-guest__icon svg {
  width: 30px;
  height: 30px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
}

.re-pm-guest h1 {
  margin: 0;
  color: #284162;
  font-size: 32px;
  line-height: 1.12;
  font-weight: 820;
}

.re-pm-guest p {
  max-width: 500px;
  margin: 12px auto 22px;
  color: #718494;
  font-size: 14px;
  line-height: 1.65;
}

.re-pm-guest__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  justify-content: center;
}

.re-pm-guest__actions a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0 17px;
  border: 1px solid rgba(48, 91, 119, 0.13);
  border-radius: 11px;
  background: rgba(244, 249, 251, 0.82);
  color: #3d5e74;
  font-size: 12px;
  font-weight: 820;
  text-decoration: none;
}

.re-pm-guest__actions a:first-child {
  border-color: transparent;
  background: linear-gradient(135deg, #217f98, #505b88);
  color: #ffffff;
}


/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 980px) {
  .re-pm-page {
    padding: 30px 16px 54px;
  }

  .re-pm-hero {
    grid-template-columns: 1fr;
  }

  .re-pm-hero__aside {
    width: min(360px, 100%);
  }

  .re-pm-layout {
    grid-template-columns: 1fr;
  }

  .re-pm-side {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .re-pm-hero {
    padding: 28px 24px;
  }

  .re-pm-title {
    font-size: 34px;
  }

  .re-pm-toolbar {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .re-pm-toolbar a {
    width: 100%;
  }

  .re-pm-side {
    grid-template-columns: 1fr;
  }

  .re-pm-body table,
  .re-pm-body tbody,
  .re-pm-body tr,
  .re-pm-body td,
  .re-pm-body th {
    display: block;
    width: 100% !important;
  }

  .re-pm-body tr {
    padding: 9px 0;
    border-bottom: 1px solid rgba(50, 91, 117, 0.08);
  }

  .re-pm-body td,
  .re-pm-body th {
    border-bottom: 0;
    padding: 5px 0;
  }
}

@media (max-width: 440px) {
  .re-pm-page {
    padding: 18px 10px 40px;
  }

  .re-pm-hero {
    padding: 24px 18px;
    border-radius: 20px;
  }

  .re-pm-title {
    font-size: 31px;
  }

  .re-pm-hero__aside {
    min-width: 0;
  }

  .re-pm-toolbar {
    grid-template-columns: 1fr;
  }

  .re-pm-panel {
    border-radius: 17px;
  }

  .re-pm-panel__head,
  .re-pm-panel__body {
    padding-left: 17px;
    padding-right: 17px;
  }

  .re-pm-guest {
    padding: 38px 21px;
  }
}

/* ==========================================================================
   RUSSIAN EMIGRANT — EDIT USER PROFILE
   ========================================================================== */

.re-edit-profile-page {
  width: 100%;
  padding: 46px 22px 72px;
  box-sizing: border-box;
}

.re-edit-profile-shell {
  width: min(1180px, 100%);
  margin: 0 auto;
}


/* ==========================================================================
   HERO
   ========================================================================== */

.re-edit-profile-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  overflow: hidden;
  padding: 34px 38px;
  border: 1px solid rgba(46, 100, 132, 0.18);
  border-radius: 26px;
  background:
    radial-gradient(circle at 8% 10%, rgba(44, 151, 174, 0.11), transparent 29%),
    radial-gradient(circle at 94% 12%, rgba(80, 91, 136, 0.12), transparent 31%),
    rgba(250, 253, 254, 0.88);
  box-shadow:
    0 24px 64px rgba(30, 55, 77, 0.13),
    0 4px 16px rgba(30, 55, 77, 0.06);
}

.re-edit-profile-hero::after {
  content: "";
  position: absolute;
  right: -86px;
  bottom: -126px;
  width: 310px;
  height: 310px;
  border: 1px dashed rgba(42, 128, 151, 0.13);
  border-radius: 50%;
  pointer-events: none;
}

.re-edit-profile-hero__content,
.re-edit-profile-user {
  position: relative;
  z-index: 1;
}

.re-edit-profile-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 29px;
  margin-bottom: 11px;
  padding: 0 11px;
  border: 1px solid rgba(45, 117, 144, 0.12);
  border-radius: 999px;
  background: rgba(39, 143, 163, 0.08);
  color: #237d93;
  font-size: 10px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.re-edit-profile-title {
  margin: 0;
  color: #284162;
  font-size: clamp(34px, 4vw, 50px);
  line-height: 1.04;
  font-weight: 820;
  letter-spacing: -0.045em;
}

.re-edit-profile-lead {
  max-width: 720px;
  margin: 15px 0 0;
  color: #657b8d;
  font-size: 14px;
  line-height: 1.7;
}

.re-edit-profile-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 18px;
}

.re-edit-profile-nav a {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0 14px;
  border: 1px solid rgba(49, 91, 119, 0.13);
  border-radius: 11px;
  background: rgba(245, 249, 251, 0.82);
  color: #3b5c73;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
  transition:
    transform 0.16s ease,
    background 0.16s ease,
    border-color 0.16s ease,
    box-shadow 0.16s ease;
}

.re-edit-profile-nav a:hover {
  transform: translateY(-1px);
  border-color: rgba(39, 133, 154, 0.22);
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(34, 68, 91, 0.08);
}

.re-edit-profile-nav a.is-primary {
  border-color: transparent;
  background: linear-gradient(135deg, #217f98, #505b88);
  color: #ffffff;
  box-shadow: 0 9px 20px rgba(33, 96, 124, 0.15);
}


/* ==========================================================================
   USER CARD
   ========================================================================== */

.re-edit-profile-user {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 265px;
  padding: 14px;
  border: 1px solid rgba(50, 98, 127, 0.10);
  border-radius: 17px;
  background: rgba(246, 250, 252, 0.78);
}

.re-edit-profile-avatar {
  display: flex;
  flex: 0 0 64px;
  width: 64px;
  height: 64px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 4px solid rgba(255,255,255,0.96);
  border-radius: 50%;
  background: #e6f0f3;
  color: #2e7287;
  box-shadow: 0 7px 18px rgba(32, 68, 92, 0.10);
}

.re-edit-profile-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.re-edit-profile-avatar svg {
  width: 30px;
  height: 30px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
}

.re-edit-profile-user__meta {
  min-width: 0;
}

.re-edit-profile-user__meta small {
  display: block;
  margin-bottom: 3px;
  color: #8a99a5;
  font-size: 10px;
  font-weight: 780;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.re-edit-profile-user__meta strong {
  display: block;
  color: #38576e;
  font-size: 14px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.re-edit-profile-user__meta span {
  display: block;
  margin-top: 4px;
  color: #738797;
  font-size: 11px;
}


/* ==========================================================================
   LAYOUT / PANELS
   ========================================================================== */

.re-edit-profile-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 20px;
  align-items: start;
  margin-top: 20px;
}

.re-edit-profile-panel {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(46, 98, 129, 0.14);
  border-radius: 20px;
  background: rgba(250, 253, 254, 0.87);
  box-shadow: 0 11px 32px rgba(30, 57, 78, 0.075);
}

.re-edit-profile-panel__head {
  display: flex;
  gap: 13px;
  align-items: center;
  padding: 20px 22px 17px;
  border-bottom: 1px solid rgba(50, 91, 117, 0.09);
}

.re-edit-profile-panel__icon {
  display: flex;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(39, 139, 160, 0.09);
  color: #277f96;
}

.re-edit-profile-panel__icon svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.re-edit-profile-panel__head h2 {
  margin: 0;
  color: #304b64;
  font-size: 17px;
  line-height: 1.2;
  font-weight: 820;
}

.re-edit-profile-panel__head p {
  margin: 3px 0 0;
  color: #8293a0;
  font-size: 11px;
  line-height: 1.45;
}

.re-edit-profile-panel__body {
  min-width: 0;
  padding: 20px 22px 22px;
}


/* ==========================================================================
   UCOZ FORM NORMALIZATION
   ========================================================================== */

.re-edit-profile-form {
  min-width: 0;
  color: #405c72;
}

.re-edit-profile-form form,
.re-edit-profile-form table {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

.re-edit-profile-form table {
  border-collapse: separate;
  border-spacing: 0 7px;
}

.re-edit-profile-form td {
  box-sizing: border-box;
  padding: 4px 6px;
  color: #4b6478;
  font-size: 12px;
  line-height: 1.5;
  vertical-align: middle;
}

.re-edit-profile-form tr > td:first-child {
  color: #405b73;
  font-size: 13px;
  font-weight: 760;
}

.re-edit-profile-form input[type="text"],
.re-edit-profile-form input[type="email"],
.re-edit-profile-form input[type="password"],
.re-edit-profile-form input[type="tel"],
.re-edit-profile-form input[type="url"],
.re-edit-profile-form input[type="number"],
.re-edit-profile-form input[type="date"],
.re-edit-profile-form select,
.re-edit-profile-form textarea,
.re-edit-profile-form .manFl,
.re-edit-profile-form .manFlA {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 48px;
  box-sizing: border-box;
  padding: 10px 14px;
  border: 1px solid rgba(55, 96, 124, 0.20);
  border-radius: 12px;
  outline: none;
  background: rgba(245, 249, 251, 0.92);
  color: #284162;
  font-family: inherit;
  font-size: 14px;
  transition:
    border-color 0.18s ease,
    background 0.18s ease,
    box-shadow 0.18s ease;
}

.re-edit-profile-form textarea,
.re-edit-profile-form .manFlA {
  min-height: 110px;
  resize: vertical;
}

.re-edit-profile-form input[type="text"]:focus,
.re-edit-profile-form input[type="email"]:focus,
.re-edit-profile-form input[type="password"]:focus,
.re-edit-profile-form input[type="tel"]:focus,
.re-edit-profile-form input[type="url"]:focus,
.re-edit-profile-form input[type="number"]:focus,
.re-edit-profile-form input[type="date"]:focus,
.re-edit-profile-form select:focus,
.re-edit-profile-form textarea:focus,
.re-edit-profile-form .manFl:focus,
.re-edit-profile-form .manFlA:focus {
  border-color: rgba(42, 151, 174, 0.68);
  background: #ffffff;
  box-shadow: 0 0 0 4px rgba(42, 151, 174, 0.09);
}

.re-edit-profile-form input[type="checkbox"],
.re-edit-profile-form input[type="radio"] {
  width: 17px;
  height: 17px;
  accent-color: #27869d;
  vertical-align: middle;
}

.re-edit-profile-form input[type="file"] {
  max-width: 100%;
  color: #526c81;
  font-family: inherit;
}

.re-edit-profile-form input[type="file"]::file-selector-button {
  margin-right: 10px;
  padding: 9px 12px;
  border: 1px solid rgba(55, 96, 124, 0.15);
  border-radius: 10px;
  background: #edf5f7;
  color: #36566d;
  font-family: inherit;
  font-weight: 750;
  cursor: pointer;
}

.re-edit-profile-form input[type="submit"],
.re-edit-profile-form input[type="button"],
.re-edit-profile-form button,
.re-edit-profile-form .manFlBtn {
  min-height: 46px;
  box-sizing: border-box;
  padding: 0 18px;
  border: 0;
  border-radius: 11px;
  background: linear-gradient(135deg, #217f98, #505b88);
  color: #ffffff;
  font-family: inherit;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(33, 96, 124, 0.14);
  transition:
    transform 0.16s ease,
    box-shadow 0.16s ease,
    filter 0.16s ease;
}

.re-edit-profile-form input[type="submit"]:hover,
.re-edit-profile-form input[type="button"]:hover,
.re-edit-profile-form button:hover,
.re-edit-profile-form .manFlBtn:hover {
  transform: translateY(-1px);
  box-shadow: 0 11px 22px rgba(33, 96, 124, 0.19);
  filter: brightness(1.04);
}

.re-edit-profile-form label,
.re-edit-profile-form .manFlS,
.re-edit-profile-form .manFlF {
  color: #435e74;
  font-size: 13px;
  line-height: 1.5;
}

.re-edit-profile-form a {
  color: #247d99;
  font-weight: 700;
  text-decoration: none;
}

.re-edit-profile-form a:hover {
  text-decoration: underline;
}

.re-edit-profile-form img {
  max-width: 100%;
  height: auto;
}

.re-edit-profile-form hr {
  height: 1px;
  margin: 17px 0;
  border: 0;
  background: rgba(56, 89, 113, 0.10);
}

.re-edit-profile-form .error,
.re-edit-profile-form .err,
.re-edit-profile-form [class*="error"] {
  color: #a64d53;
}

.re-edit-profile-form .success,
.re-edit-profile-form [class*="success"] {
  color: #347c6c;
}


/* ==========================================================================
   SIDE CARDS
   ========================================================================== */

.re-edit-profile-side {
  display: grid;
  gap: 20px;
}

.re-edit-profile-links {
  display: grid;
  gap: 9px;
}

.re-edit-profile-links a {
  display: flex;
  min-height: 43px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  box-sizing: border-box;
  padding: 0 13px;
  border: 1px solid rgba(50, 93, 120, 0.09);
  border-radius: 12px;
  background: rgba(244, 249, 251, 0.72);
  color: #3f6178;
  font-size: 12px;
  font-weight: 750;
  text-decoration: none;
}

.re-edit-profile-links a:hover {
  border-color: rgba(39, 133, 154, 0.20);
  background: #ffffff;
}

.re-edit-profile-links a::after {
  content: "›";
  color: #7891a2;
  font-size: 18px;
  line-height: 1;
}

.re-edit-profile-info {
  display: grid;
  gap: 9px;
}

.re-edit-profile-info__item {
  padding: 13px 14px;
  border: 1px solid rgba(49, 94, 122, 0.09);
  border-radius: 12px;
  background: rgba(244, 249, 251, 0.72);
}

.re-edit-profile-info__item small {
  display: block;
  margin-bottom: 4px;
  color: #8797a4;
  font-size: 10px;
  font-weight: 780;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.re-edit-profile-info__item strong {
  display: block;
  color: #3c596f;
  font-size: 13px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.re-edit-profile-note {
  display: flex;
  gap: 11px;
  align-items: flex-start;
  padding: 14px;
  border: 1px solid rgba(40, 136, 157, 0.10);
  border-radius: 13px;
  background: rgba(228, 246, 248, 0.40);
}

.re-edit-profile-note__icon {
  display: flex;
  flex: 0 0 29px;
  width: 29px;
  height: 29px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(39, 142, 161, 0.10);
  color: #247d92;
  font-size: 12px;
  font-weight: 900;
}

.re-edit-profile-note strong {
  display: block;
  margin-bottom: 3px;
  color: #3b596f;
  font-size: 12px;
}

.re-edit-profile-note small {
  display: block;
  color: #80919e;
  font-size: 11px;
  line-height: 1.5;
}


/* ==========================================================================
   GUEST STATE
   ========================================================================== */

.re-edit-profile-guest {
  width: min(640px, 100%);
  margin: 0 auto;
  padding: 48px 34px;
  box-sizing: border-box;
  border: 1px solid rgba(46, 98, 129, 0.14);
  border-radius: 22px;
  background: rgba(250, 253, 254, 0.88);
  box-shadow: 0 14px 36px rgba(30, 57, 78, 0.08);
  text-align: center;
}

.re-edit-profile-guest__icon {
  display: flex;
  width: 66px;
  height: 66px;
  margin: 0 auto 18px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(39, 139, 160, 0.09);
  color: #277f96;
}

.re-edit-profile-guest__icon svg {
  width: 30px;
  height: 30px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
}

.re-edit-profile-guest h1 {
  margin: 0;
  color: #284162;
  font-size: 32px;
  line-height: 1.12;
  font-weight: 820;
}

.re-edit-profile-guest p {
  max-width: 500px;
  margin: 12px auto 22px;
  color: #718494;
  font-size: 14px;
  line-height: 1.65;
}

.re-edit-profile-guest__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  justify-content: center;
}

.re-edit-profile-guest__actions a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0 17px;
  border: 1px solid rgba(48, 91, 119, 0.13);
  border-radius: 11px;
  background: rgba(244, 249, 251, 0.82);
  color: #3d5e74;
  font-size: 12px;
  font-weight: 820;
  text-decoration: none;
}

.re-edit-profile-guest__actions a:first-child {
  border-color: transparent;
  background: linear-gradient(135deg, #217f98, #505b88);
  color: #ffffff;
}


/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 980px) {
  .re-edit-profile-page {
    padding: 30px 16px 54px;
  }

  .re-edit-profile-hero {
    grid-template-columns: 1fr;
  }

  .re-edit-profile-user {
    width: min(380px, 100%);
  }

  .re-edit-profile-layout {
    grid-template-columns: 1fr;
  }

  .re-edit-profile-side {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .re-edit-profile-hero {
    padding: 28px 24px;
  }

  .re-edit-profile-title {
    font-size: 34px;
  }

  .re-edit-profile-nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .re-edit-profile-nav a {
    width: 100%;
  }

  .re-edit-profile-side {
    grid-template-columns: 1fr;
  }

  .re-edit-profile-form table,
  .re-edit-profile-form tbody,
  .re-edit-profile-form tr,
  .re-edit-profile-form td {
    display: block;
    width: 100% !important;
  }

  .re-edit-profile-form tr {
    margin-bottom: 9px;
  }

  .re-edit-profile-form td {
    padding: 3px 0;
  }
}

@media (max-width: 440px) {
  .re-edit-profile-page {
    padding: 18px 10px 40px;
  }

  .re-edit-profile-hero {
    padding: 24px 18px;
    border-radius: 20px;
  }

  .re-edit-profile-title {
    font-size: 31px;
  }

  .re-edit-profile-user {
    min-width: 0;
  }

  .re-edit-profile-nav {
    grid-template-columns: 1fr;
  }

  .re-edit-profile-panel {
    border-radius: 17px;
  }

  .re-edit-profile-panel__head,
  .re-edit-profile-panel__body {
    padding-left: 17px;
    padding-right: 17px;
  }

  .re-edit-profile-guest {
    padding: 38px 21px;
  }
}

/* ==========================================================================
   RUSSIAN EMIGRANT — USERS LIST
   ========================================================================== */

.re-users-page {
  width: 100%;
  padding: 46px 22px 72px;
  box-sizing: border-box;
}

.re-users-shell {
  width: min(1180px, 100%);
  margin: 0 auto;
}


/* ==========================================================================
   HERO
   ========================================================================== */

.re-users-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  overflow: hidden;
  padding: 34px 38px;
  border: 1px solid rgba(46, 100, 132, 0.18);
  border-radius: 26px;
  background:
    radial-gradient(circle at 8% 10%, rgba(44, 151, 174, 0.11), transparent 29%),
    radial-gradient(circle at 94% 12%, rgba(80, 91, 136, 0.12), transparent 31%),
    rgba(250, 253, 254, 0.88);
  box-shadow:
    0 24px 64px rgba(30, 55, 77, 0.13),
    0 4px 16px rgba(30, 55, 77, 0.06);
}

.re-users-hero::after {
  content: "";
  position: absolute;
  right: -90px;
  bottom: -128px;
  width: 315px;
  height: 315px;
  border: 1px dashed rgba(42, 128, 151, 0.13);
  border-radius: 50%;
  pointer-events: none;
}

.re-users-hero__content,
.re-users-hero__stats {
  position: relative;
  z-index: 1;
}

.re-users-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 29px;
  margin-bottom: 11px;
  padding: 0 11px;
  border: 1px solid rgba(45, 117, 144, 0.12);
  border-radius: 999px;
  background: rgba(39, 143, 163, 0.08);
  color: #237d93;
  font-size: 10px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.re-users-title {
  margin: 0;
  color: #284162;
  font-size: clamp(34px, 4vw, 50px);
  line-height: 1.04;
  font-weight: 820;
  letter-spacing: -0.045em;
}

.re-users-lead {
  max-width: 720px;
  margin: 15px 0 0;
  color: #657b8d;
  font-size: 14px;
  line-height: 1.7;
}

.re-users-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 18px;
}

.re-users-actions a {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0 14px;
  border: 1px solid rgba(49, 91, 119, 0.13);
  border-radius: 11px;
  background: rgba(245, 249, 251, 0.82);
  color: #3b5c73;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
  transition:
    transform 0.16s ease,
    background 0.16s ease,
    border-color 0.16s ease,
    box-shadow 0.16s ease;
}

.re-users-actions a:hover {
  transform: translateY(-1px);
  border-color: rgba(39, 133, 154, 0.22);
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(34, 68, 91, 0.08);
}

.re-users-actions a.is-primary {
  border-color: transparent;
  background: linear-gradient(135deg, #217f98, #505b88);
  color: #ffffff;
  box-shadow: 0 9px 20px rgba(33, 96, 124, 0.15);
}


/* HERO STATS */

.re-users-hero__stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(110px, 1fr));
  gap: 10px;
  min-width: 250px;
}

.re-users-stat {
  padding: 14px 15px;
  border: 1px solid rgba(50, 98, 127, 0.10);
  border-radius: 15px;
  background: rgba(246, 250, 252, 0.78);
}

.re-users-stat small {
  display: block;
  margin-bottom: 5px;
  color: #8a99a5;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.re-users-stat strong {
  display: block;
  color: #35576e;
  font-size: 24px;
  line-height: 1;
  font-weight: 820;
  letter-spacing: -0.03em;
}


/* ==========================================================================
   PANELS
   ========================================================================== */

.re-users-panel {
  min-width: 0;
  margin-top: 20px;
  overflow: hidden;
  border: 1px solid rgba(46, 98, 129, 0.14);
  border-radius: 20px;
  background: rgba(250, 253, 254, 0.87);
  box-shadow: 0 11px 32px rgba(30, 57, 78, 0.075);
}

.re-users-panel__head {
  display: flex;
  gap: 13px;
  align-items: center;
  padding: 20px 22px 17px;
  border-bottom: 1px solid rgba(50, 91, 117, 0.09);
}

.re-users-panel__icon {
  display: flex;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(39, 139, 160, 0.09);
  color: #277f96;
}

.re-users-panel__icon svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.re-users-panel__head h2 {
  margin: 0;
  color: #304b64;
  font-size: 17px;
  line-height: 1.2;
  font-weight: 820;
}

.re-users-panel__head p {
  margin: 3px 0 0;
  color: #8293a0;
  font-size: 11px;
  line-height: 1.45;
}

.re-users-panel__body {
  min-width: 0;
  padding: 20px 22px 22px;
}


/* ==========================================================================
   SEARCH
   ========================================================================== */

.re-users-search {
  min-width: 0;
}

.re-users-search form {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  align-items: center;
  width: 100%;
}

.re-users-search input[type="text"],
.re-users-search input[type="search"],
.re-users-search select,
.re-users-search .manFl {
  min-height: 46px;
  box-sizing: border-box;
  padding: 10px 13px;
  border: 1px solid rgba(55, 96, 124, 0.20);
  border-radius: 11px;
  outline: none;
  background: rgba(245, 249, 251, 0.92);
  color: #284162;
  font-family: inherit;
  font-size: 13px;
  transition:
    border-color 0.18s ease,
    background 0.18s ease,
    box-shadow 0.18s ease;
}

.re-users-search input[type="text"],
.re-users-search input[type="search"],
.re-users-search .manFl {
  flex: 1 1 270px;
  min-width: 0;
}

.re-users-search select {
  flex: 0 1 210px;
}

.re-users-search input[type="text"]:focus,
.re-users-search input[type="search"]:focus,
.re-users-search select:focus,
.re-users-search .manFl:focus {
  border-color: rgba(42, 151, 174, 0.68);
  background: #ffffff;
  box-shadow: 0 0 0 4px rgba(42, 151, 174, 0.09);
}

.re-users-search input[type="submit"],
.re-users-search input[type="button"],
.re-users-search button,
.re-users-search .manFlBtn {
  min-height: 46px;
  box-sizing: border-box;
  padding: 0 18px;
  border: 0;
  border-radius: 11px;
  background: linear-gradient(135deg, #217f98, #505b88);
  color: #ffffff;
  font-family: inherit;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(33, 96, 124, 0.14);
  transition:
    transform 0.16s ease,
    box-shadow 0.16s ease,
    filter 0.16s ease;
}

.re-users-search input[type="submit"]:hover,
.re-users-search input[type="button"]:hover,
.re-users-search button:hover,
.re-users-search .manFlBtn:hover {
  transform: translateY(-1px);
  box-shadow: 0 11px 22px rgba(33, 96, 124, 0.19);
  filter: brightness(1.04);
}


/* ==========================================================================
   STATS STRIP
   ========================================================================== */

.re-users-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 16px;
}

.re-users-summary__item {
  padding: 13px 14px;
  border: 1px solid rgba(49, 94, 122, 0.09);
  border-radius: 12px;
  background: rgba(244, 249, 251, 0.72);
}

.re-users-summary__item small {
  display: block;
  margin-bottom: 4px;
  color: #8797a4;
  font-size: 9px;
  font-weight: 780;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.re-users-summary__item strong {
  display: block;
  color: #3c596f;
  font-size: 15px;
  line-height: 1.4;
}


/* ==========================================================================
   UCOZ USERS LIST BODY
   ========================================================================== */

.re-users-list-body {
  min-width: 0;
  color: #405c72;
}

.re-users-list-body table {
  width: 100% !important;
  max-width: 100% !important;
  border-collapse: separate;
  border-spacing: 0;
}

.re-users-list-body th,
.re-users-list-body td {
  box-sizing: border-box;
  padding: 11px 10px;
  border-bottom: 1px solid rgba(50, 91, 117, 0.08);
  color: #4b6478;
  font-size: 12px;
  line-height: 1.5;
  vertical-align: middle;
}

.re-users-list-body th {
  background: rgba(236, 245, 248, 0.72);
  color: #3b586f;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.re-users-list-body tr:hover td {
  background: rgba(239, 247, 249, 0.44);
}

.re-users-list-body a {
  color: #247e99;
  font-weight: 760;
  text-decoration: none;
}

.re-users-list-body a:hover {
  text-decoration: underline;
}

.re-users-list-body img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}

.re-users-list-body input[type="text"],
.re-users-list-body input[type="search"],
.re-users-list-body select {
  min-height: 42px;
  box-sizing: border-box;
  padding: 8px 11px;
  border: 1px solid rgba(55, 96, 124, 0.18);
  border-radius: 10px;
  background: rgba(245, 249, 251, 0.92);
  color: #284162;
  font-family: inherit;
}

.re-users-list-body input[type="submit"],
.re-users-list-body input[type="button"],
.re-users-list-body button {
  min-height: 42px;
  padding: 0 15px;
  border: 0;
  border-radius: 10px;
  background: linear-gradient(135deg, #217f98, #505b88);
  color: #ffffff;
  font-family: inherit;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}


/* ==========================================================================
   PAGINATION
   ========================================================================== */

.re-users-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  align-items: center;
  justify-content: center;
  margin-top: 18px;
}

.re-users-pagination > div {
  min-width: 0;
}

.re-users-pagination a,
.re-users-pagination b,
.re-users-pagination span {
  display: inline-flex;
  min-width: 34px;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  margin: 2px;
  padding: 0 9px;
  border: 1px solid rgba(48, 91, 119, 0.11);
  border-radius: 9px;
  background: rgba(245, 249, 251, 0.82);
  color: #49677c;
  font-size: 11px;
  font-weight: 780;
  text-decoration: none;
}

.re-users-pagination a:hover {
  border-color: rgba(39, 133, 154, 0.21);
  background: #ffffff;
}

.re-users-pagination b,
.re-users-pagination .current,
.re-users-pagination .swchItemA {
  border-color: transparent;
  background: linear-gradient(135deg, #217f98, #505b88);
  color: #ffffff;
}


/* ==========================================================================
   CURRENT USER CARD
   ========================================================================== */

.re-users-current {
  display: flex;
  gap: 13px;
  align-items: center;
  margin-top: 16px;
  padding: 13px 14px;
  border: 1px solid rgba(40, 136, 157, 0.10);
  border-radius: 13px;
  background: rgba(228, 246, 248, 0.40);
}

.re-users-current__avatar {
  display: flex;
  flex: 0 0 45px;
  width: 45px;
  height: 45px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 3px solid rgba(255,255,255,0.95);
  border-radius: 50%;
  background: #e7f1f4;
  color: #2a778d;
}

.re-users-current__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.re-users-current__avatar svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
}

.re-users-current__text {
  min-width: 0;
}

.re-users-current__text small {
  display: block;
  margin-bottom: 3px;
  color: #8595a1;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.re-users-current__text strong {
  display: block;
  color: #38586f;
  font-size: 13px;
  overflow-wrap: anywhere;
}

.re-users-current__text span {
  display: block;
  margin-top: 3px;
  color: #788b9a;
  font-size: 11px;
}


/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 900px) {
  .re-users-page {
    padding: 30px 16px 54px;
  }

  .re-users-hero {
    grid-template-columns: 1fr;
  }

  .re-users-hero__stats {
    width: min(420px, 100%);
  }
}

@media (max-width: 680px) {
  .re-users-hero {
    padding: 28px 24px;
  }

  .re-users-title {
    font-size: 34px;
  }

  .re-users-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .re-users-actions a {
    width: 100%;
  }

  .re-users-summary {
    grid-template-columns: 1fr;
  }

  .re-users-list-body table,
  .re-users-list-body tbody,
  .re-users-list-body tr,
  .re-users-list-body td,
  .re-users-list-body th {
    display: block;
    width: 100% !important;
  }

  .re-users-list-body tr {
    padding: 10px 0;
    border-bottom: 1px solid rgba(50, 91, 117, 0.08);
  }

  .re-users-list-body td,
  .re-users-list-body th {
    border-bottom: 0;
    padding: 5px 0;
  }

  .re-users-list-body th {
    display: none;
  }
}

@media (max-width: 440px) {
  .re-users-page {
    padding: 18px 10px 40px;
  }

  .re-users-hero {
    padding: 24px 18px;
    border-radius: 20px;
  }

  .re-users-title {
    font-size: 31px;
  }

  .re-users-hero__stats {
    grid-template-columns: 1fr 1fr;
    min-width: 0;
  }

  .re-users-actions {
    grid-template-columns: 1fr;
  }

  .re-users-panel {
    border-radius: 17px;
  }

  .re-users-panel__head,
  .re-users-panel__body {
    padding-left: 17px;
    padding-right: 17px;
  }

  .re-users-search form {
    display: grid;
    grid-template-columns: 1fr;
  }

  .re-users-search input,
  .re-users-search select,
  .re-users-search button {
    width: 100% !important;
  }
}

/* ==========================================================================
   RUSSIAN EMIGRANT — USER COMMENTS LIST
   ========================================================================== */

.re-user-comments-page {
  width: 100%;
  padding: 46px 22px 72px;
  box-sizing: border-box;
}

.re-user-comments-shell {
  width: min(1180px, 100%);
  margin: 0 auto;
}


/* ==========================================================================
   HERO
   ========================================================================== */

.re-user-comments-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  overflow: hidden;
  padding: 34px 38px;
  border: 1px solid rgba(46, 100, 132, 0.18);
  border-radius: 26px;
  background:
    radial-gradient(circle at 8% 10%, rgba(44, 151, 174, 0.11), transparent 29%),
    radial-gradient(circle at 94% 12%, rgba(80, 91, 136, 0.12), transparent 31%),
    rgba(250, 253, 254, 0.88);
  box-shadow:
    0 24px 64px rgba(30, 55, 77, 0.13),
    0 4px 16px rgba(30, 55, 77, 0.06);
}

.re-user-comments-hero::after {
  content: "";
  position: absolute;
  right: -88px;
  bottom: -126px;
  width: 312px;
  height: 312px;
  border: 1px dashed rgba(42, 128, 151, 0.13);
  border-radius: 50%;
  pointer-events: none;
}

.re-user-comments-hero__content,
.re-user-comments-hero__stats {
  position: relative;
  z-index: 1;
}

.re-user-comments-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 29px;
  margin-bottom: 11px;
  padding: 0 11px;
  border: 1px solid rgba(45, 117, 144, 0.12);
  border-radius: 999px;
  background: rgba(39, 143, 163, 0.08);
  color: #237d93;
  font-size: 10px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.re-user-comments-title {
  margin: 0;
  color: #284162;
  font-size: clamp(34px, 4vw, 50px);
  line-height: 1.04;
  font-weight: 820;
  letter-spacing: -0.045em;
}

.re-user-comments-lead {
  max-width: 720px;
  margin: 15px 0 0;
  color: #657b8d;
  font-size: 14px;
  line-height: 1.7;
}

.re-user-comments-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 18px;
}

.re-user-comments-actions a {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0 14px;
  border: 1px solid rgba(49, 91, 119, 0.13);
  border-radius: 11px;
  background: rgba(245, 249, 251, 0.82);
  color: #3b5c73;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
  transition:
    transform 0.16s ease,
    background 0.16s ease,
    border-color 0.16s ease,
    box-shadow 0.16s ease;
}

.re-user-comments-actions a:hover {
  transform: translateY(-1px);
  border-color: rgba(39, 133, 154, 0.22);
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(34, 68, 91, 0.08);
}

.re-user-comments-actions a.is-primary {
  border-color: transparent;
  background: linear-gradient(135deg, #217f98, #505b88);
  color: #ffffff;
  box-shadow: 0 9px 20px rgba(33, 96, 124, 0.15);
}


/* HERO STATS */

.re-user-comments-hero__stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(110px, 1fr));
  gap: 10px;
  min-width: 250px;
}

.re-user-comments-stat {
  padding: 14px 15px;
  border: 1px solid rgba(50, 98, 127, 0.10);
  border-radius: 15px;
  background: rgba(246, 250, 252, 0.78);
}

.re-user-comments-stat small {
  display: block;
  margin-bottom: 5px;
  color: #8a99a5;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.re-user-comments-stat strong {
  display: block;
  color: #35576e;
  font-size: 24px;
  line-height: 1;
  font-weight: 820;
  letter-spacing: -0.03em;
}


/* ==========================================================================
   LAYOUT
   ========================================================================== */

.re-user-comments-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 290px;
  gap: 20px;
  align-items: start;
  margin-top: 20px;
}

.re-user-comments-panel {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(46, 98, 129, 0.14);
  border-radius: 20px;
  background: rgba(250, 253, 254, 0.87);
  box-shadow: 0 11px 32px rgba(30, 57, 78, 0.075);
}

.re-user-comments-panel__head {
  display: flex;
  gap: 13px;
  align-items: center;
  padding: 20px 22px 17px;
  border-bottom: 1px solid rgba(50, 91, 117, 0.09);
}

.re-user-comments-panel__icon {
  display: flex;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(39, 139, 160, 0.09);
  color: #277f96;
}

.re-user-comments-panel__icon svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.re-user-comments-panel__head h2 {
  margin: 0;
  color: #304b64;
  font-size: 17px;
  line-height: 1.2;
  font-weight: 820;
}

.re-user-comments-panel__head p {
  margin: 3px 0 0;
  color: #8293a0;
  font-size: 11px;
  line-height: 1.45;
}

.re-user-comments-panel__body {
  min-width: 0;
  padding: 20px 22px 22px;
}


/* ==========================================================================
   MODULE FILTER
   ========================================================================== */

.re-user-comments-filter {
  min-width: 0;
}

.re-user-comments-filter select,
.re-user-comments-filter input[type="text"],
.re-user-comments-filter input[type="search"],
.re-user-comments-filter .manFl {
  width: 100%;
  min-height: 46px;
  box-sizing: border-box;
  padding: 10px 13px;
  border: 1px solid rgba(55, 96, 124, 0.20);
  border-radius: 11px;
  outline: none;
  background: rgba(245, 249, 251, 0.92);
  color: #284162;
  font-family: inherit;
  font-size: 13px;
  transition:
    border-color 0.18s ease,
    background 0.18s ease,
    box-shadow 0.18s ease;
}

.re-user-comments-filter select:focus,
.re-user-comments-filter input[type="text"]:focus,
.re-user-comments-filter input[type="search"]:focus,
.re-user-comments-filter .manFl:focus {
  border-color: rgba(42, 151, 174, 0.68);
  background: #ffffff;
  box-shadow: 0 0 0 4px rgba(42, 151, 174, 0.09);
}

.re-user-comments-filter input[type="submit"],
.re-user-comments-filter input[type="button"],
.re-user-comments-filter button,
.re-user-comments-filter .manFlBtn {
  min-height: 44px;
  box-sizing: border-box;
  margin-top: 9px;
  padding: 0 17px;
  border: 0;
  border-radius: 11px;
  background: linear-gradient(135deg, #217f98, #505b88);
  color: #ffffff;
  font-family: inherit;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
}


/* ==========================================================================
   COMMENTS BODY
   ========================================================================== */

.re-user-comments-body {
  min-width: 0;
  color: #405c72;
}

.re-user-comments-body table {
  width: 100% !important;
  max-width: 100% !important;
  border-collapse: separate;
  border-spacing: 0;
}

.re-user-comments-body th,
.re-user-comments-body td {
  box-sizing: border-box;
  padding: 11px 10px;
  border-bottom: 1px solid rgba(50, 91, 117, 0.08);
  color: #4b6478;
  font-size: 12px;
  line-height: 1.55;
  vertical-align: top;
}

.re-user-comments-body th {
  background: rgba(236, 245, 248, 0.72);
  color: #3b586f;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.re-user-comments-body tr:hover td {
  background: rgba(239, 247, 249, 0.44);
}

.re-user-comments-body a {
  color: #247e99;
  font-weight: 760;
  text-decoration: none;
}

.re-user-comments-body a:hover {
  text-decoration: underline;
}

.re-user-comments-body img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}

.re-user-comments-body blockquote {
  margin: 10px 0;
  padding: 10px 13px;
  border-left: 3px solid rgba(39, 137, 158, 0.18);
  background: rgba(239, 247, 249, 0.55);
  color: #63798b;
}

.re-user-comments-body .commTable,
.re-user-comments-body .comment,
.re-user-comments-body [class*="comment"] {
  max-width: 100%;
  box-sizing: border-box;
}


/* ==========================================================================
   SUMMARY / SIDE
   ========================================================================== */

.re-user-comments-side {
  display: grid;
  gap: 20px;
}

.re-user-comments-info {
  display: grid;
  gap: 9px;
}

.re-user-comments-info__item {
  padding: 13px 14px;
  border: 1px solid rgba(49, 94, 122, 0.09);
  border-radius: 12px;
  background: rgba(244, 249, 251, 0.72);
}

.re-user-comments-info__item small {
  display: block;
  margin-bottom: 4px;
  color: #8797a4;
  font-size: 9px;
  font-weight: 780;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.re-user-comments-info__item strong {
  display: block;
  color: #3c596f;
  font-size: 13px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.re-user-comments-links {
  display: grid;
  gap: 9px;
}

.re-user-comments-links a {
  display: flex;
  min-height: 43px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  box-sizing: border-box;
  padding: 0 13px;
  border: 1px solid rgba(50, 93, 120, 0.09);
  border-radius: 12px;
  background: rgba(244, 249, 251, 0.72);
  color: #3f6178;
  font-size: 12px;
  font-weight: 750;
  text-decoration: none;
}

.re-user-comments-links a:hover {
  border-color: rgba(39, 133, 154, 0.20);
  background: #ffffff;
}

.re-user-comments-links a::after {
  content: "›";
  color: #7891a2;
  font-size: 18px;
  line-height: 1;
}

.re-user-comments-note {
  display: flex;
  gap: 11px;
  align-items: flex-start;
  padding: 14px;
  border: 1px solid rgba(40, 136, 157, 0.10);
  border-radius: 13px;
  background: rgba(228, 246, 248, 0.40);
}

.re-user-comments-note__icon {
  display: flex;
  flex: 0 0 29px;
  width: 29px;
  height: 29px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(39, 142, 161, 0.10);
  color: #247d92;
  font-size: 12px;
  font-weight: 900;
}

.re-user-comments-note strong {
  display: block;
  margin-bottom: 3px;
  color: #3b596f;
  font-size: 12px;
}

.re-user-comments-note small {
  display: block;
  color: #80919e;
  font-size: 11px;
  line-height: 1.5;
}


/* ==========================================================================
   PAGINATION
   ========================================================================== */

.re-user-comments-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  align-items: center;
  justify-content: center;
  margin-top: 18px;
}

.re-user-comments-pagination a,
.re-user-comments-pagination b,
.re-user-comments-pagination span {
  display: inline-flex;
  min-width: 34px;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  margin: 2px;
  padding: 0 9px;
  border: 1px solid rgba(48, 91, 119, 0.11);
  border-radius: 9px;
  background: rgba(245, 249, 251, 0.82);
  color: #49677c;
  font-size: 11px;
  font-weight: 780;
  text-decoration: none;
}

.re-user-comments-pagination a:hover {
  border-color: rgba(39, 133, 154, 0.21);
  background: #ffffff;
}

.re-user-comments-pagination b,
.re-user-comments-pagination .current,
.re-user-comments-pagination .swchItemA {
  border-color: transparent;
  background: linear-gradient(135deg, #217f98, #505b88);
  color: #ffffff;
}


/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 980px) {
  .re-user-comments-page {
    padding: 30px 16px 54px;
  }

  .re-user-comments-hero {
    grid-template-columns: 1fr;
  }

  .re-user-comments-hero__stats {
    width: min(420px, 100%);
  }

  .re-user-comments-layout {
    grid-template-columns: 1fr;
  }

  .re-user-comments-side {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .re-user-comments-hero {
    padding: 28px 24px;
  }

  .re-user-comments-title {
    font-size: 34px;
  }

  .re-user-comments-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .re-user-comments-actions a {
    width: 100%;
  }

  .re-user-comments-side {
    grid-template-columns: 1fr;
  }

  .re-user-comments-body table,
  .re-user-comments-body tbody,
  .re-user-comments-body tr,
  .re-user-comments-body td,
  .re-user-comments-body th {
    display: block;
    width: 100% !important;
  }

  .re-user-comments-body tr {
    padding: 10px 0;
    border-bottom: 1px solid rgba(50, 91, 117, 0.08);
  }

  .re-user-comments-body td,
  .re-user-comments-body th {
    border-bottom: 0;
    padding: 5px 0;
  }

  .re-user-comments-body th {
    display: none;
  }
}

@media (max-width: 440px) {
  .re-user-comments-page {
    padding: 18px 10px 40px;
  }

  .re-user-comments-hero {
    padding: 24px 18px;
    border-radius: 20px;
  }

  .re-user-comments-title {
    font-size: 31px;
  }

  .re-user-comments-hero__stats {
    grid-template-columns: 1fr 1fr;
    min-width: 0;
  }

  .re-user-comments-actions {
    grid-template-columns: 1fr;
  }

  .re-user-comments-panel {
    border-radius: 17px;
  }

  .re-user-comments-panel__head,
  .re-user-comments-panel__body {
    padding-left: 17px;
    padding-right: 17px;
  }
}

/* ==========================================================================
   RUSSIAN EMIGRANT — ACCESS DENIED
   ========================================================================== */

.re-access-page {
  width: 100%;
  padding: 62px 22px 82px;
  box-sizing: border-box;
}

.re-access-shell {
  width: min(1040px, 100%);
  margin: 0 auto;
}

.re-access-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(360px, 1.1fr);
  min-height: 610px;
  overflow: hidden;
  border: 1px solid rgba(46, 100, 132, 0.18);
  border-radius: 28px;
  background: rgba(250, 253, 254, 0.90);
  box-shadow:
    0 28px 72px rgba(30, 55, 77, 0.14),
    0 4px 18px rgba(30, 55, 77, 0.06);
}


/* ==========================================================================
   LEFT / VISUAL
   ========================================================================== */

.re-access-visual {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 58px 54px;
  overflow: hidden;
  color: #ffffff;
  background:
    radial-gradient(circle at 16% 14%, rgba(65, 179, 194, 0.23), transparent 28%),
    radial-gradient(circle at 92% 86%, rgba(80, 91, 136, 0.36), transparent 36%),
    linear-gradient(150deg, #174d68 0%, #205e78 50%, #40527a 100%);
}

.re-access-visual::before {
  content: "";
  position: absolute;
  width: 390px;
  height: 390px;
  right: -215px;
  top: -205px;
  border: 1px solid rgba(215, 246, 249, 0.13);
  border-radius: 50%;
}

.re-access-visual::after {
  content: "";
  position: absolute;
  width: 280px;
  height: 280px;
  right: -155px;
  top: -145px;
  border: 1px dashed rgba(215, 246, 249, 0.15);
  border-radius: 50%;
}

.re-access-visual > * {
  position: relative;
  z-index: 2;
}

.re-access-code {
  display: flex;
  align-items: flex-end;
  gap: 14px;
  margin-bottom: 22px;
}

.re-access-code strong {
  color: #ffffff;
  font-size: clamp(76px, 10vw, 126px);
  line-height: 0.8;
  font-weight: 850;
  letter-spacing: -0.075em;
}

.re-access-code span {
  margin-bottom: 5px;
  color: rgba(221, 246, 249, 0.72);
  font-size: 11px;
  line-height: 1.3;
  font-weight: 850;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.re-access-visual h2 {
  max-width: 470px;
  margin: 0;
  color: #ffffff;
  font-size: 31px;
  line-height: 1.13;
  font-weight: 820;
  letter-spacing: -0.035em;
}

.re-access-visual p {
  max-width: 470px;
  margin: 16px 0 0;
  color: rgba(239, 249, 251, 0.76);
  font-size: 14px;
  line-height: 1.7;
}

.re-access-lock {
  display: flex;
  width: 78px;
  height: 78px;
  margin-top: 31px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(218, 246, 249, 0.17);
  border-radius: 22px;
  background: rgba(255,255,255,0.07);
  color: #d8f4f6;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.08);
}

.re-access-lock svg {
  width: 34px;
  height: 34px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.55;
  stroke-linecap: round;
  stroke-linejoin: round;
}


/* ==========================================================================
   RIGHT / CONTENT
   ========================================================================== */

.re-access-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: 58px 60px;
}

.re-access-kicker {
  display: inline-flex;
  width: max-content;
  min-height: 29px;
  margin-bottom: 11px;
  align-items: center;
  padding: 0 11px;
  border: 1px solid rgba(45, 117, 144, 0.12);
  border-radius: 999px;
  background: rgba(39, 143, 163, 0.08);
  color: #237d93;
  font-size: 10px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.re-access-content h1 {
  margin: 0;
  color: #284162;
  font-size: clamp(36px, 4vw, 49px);
  line-height: 1.04;
  font-weight: 820;
  letter-spacing: -0.045em;
}

.re-access-lead {
  margin: 16px 0 0;
  color: #657b8d;
  font-size: 14px;
  line-height: 1.72;
}

.re-access-user {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-top: 24px;
  padding: 13px 14px;
  border: 1px solid rgba(49, 97, 124, 0.10);
  border-radius: 14px;
  background: rgba(244, 249, 251, 0.76);
}

.re-access-avatar {
  display: flex;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 3px solid rgba(255,255,255,0.96);
  border-radius: 50%;
  background: #e8f1f4;
  color: #2b758b;
}

.re-access-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.re-access-avatar svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
}

.re-access-user__text {
  min-width: 0;
}

.re-access-user__text small {
  display: block;
  margin-bottom: 3px;
  color: #8797a4;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.re-access-user__text strong {
  display: block;
  color: #38586f;
  font-size: 13px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.re-access-user__text span {
  display: block;
  margin-top: 3px;
  color: #778b9a;
  font-size: 11px;
}

.re-access-actions {
  display: grid;
  gap: 9px;
  margin-top: 26px;
}

.re-access-btn {
  display: flex;
  min-height: 47px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0 18px;
  border: 1px solid rgba(49, 91, 119, 0.13);
  border-radius: 12px;
  background: rgba(244, 249, 251, 0.82);
  color: #3c5d74;
  font-size: 13px;
  font-weight: 820;
  text-align: center;
  text-decoration: none;
  transition:
    transform 0.16s ease,
    background 0.16s ease,
    border-color 0.16s ease,
    box-shadow 0.16s ease;
}

.re-access-btn:hover {
  transform: translateY(-1px);
  border-color: rgba(39, 133, 154, 0.22);
  background: #ffffff;
  box-shadow: 0 9px 20px rgba(34, 68, 91, 0.09);
}

.re-access-btn--primary {
  border-color: transparent;
  background: linear-gradient(135deg, #217f98, #505b88);
  color: #ffffff;
  box-shadow: 0 9px 21px rgba(33, 96, 124, 0.16);
}

.re-access-btn--primary:hover {
  border-color: transparent;
  background: linear-gradient(135deg, #2387a1, #56628f);
  color: #ffffff;
}

.re-access-note {
  display: flex;
  gap: 11px;
  align-items: flex-start;
  margin-top: 22px;
  padding: 13px 14px;
  border: 1px solid rgba(40, 136, 157, 0.10);
  border-radius: 13px;
  background: rgba(228, 246, 248, 0.40);
}

.re-access-note__icon {
  display: flex;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(39, 142, 161, 0.10);
  color: #247d92;
  font-size: 12px;
  font-weight: 900;
}

.re-access-note strong {
  display: block;
  margin-bottom: 3px;
  color: #3b596f;
  font-size: 12px;
}

.re-access-note small {
  display: block;
  color: #80919e;
  font-size: 11px;
  line-height: 1.5;
}


/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 860px) {
  .re-access-page {
    padding: 30px 16px 54px;
  }

  .re-access-card {
    grid-template-columns: 1fr;
  }

  .re-access-visual {
    min-height: 330px;
    padding: 44px 42px;
  }

  .re-access-content {
    padding: 46px 42px;
  }
}

@media (max-width: 520px) {
  .re-access-page {
    padding: 18px 10px 40px;
  }

  .re-access-card {
    border-radius: 20px;
  }

  .re-access-visual {
    min-height: 300px;
    padding: 36px 24px;
  }

  .re-access-code strong {
    font-size: 82px;
  }

  .re-access-visual h2 {
    font-size: 27px;
  }

  .re-access-content {
    padding: 38px 24px;
  }

  .re-access-content h1 {
    font-size: 34px;
  }
}

@media (max-width: 360px) {
  .re-access-visual,
  .re-access-content {
    padding-left: 19px;
    padding-right: 19px;
  }
}

/* ==========================================================================
   RUSSIAN EMIGRANT — MAINTENANCE PAGE
   ========================================================================== */

.re-maintenance-page {
  position: relative;
  display: flex;
  min-height: 100vh;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 42px 22px;
  overflow: hidden;
  background:
    radial-gradient(circle at 10% 8%, rgba(50, 164, 184, 0.10), transparent 28%),
    radial-gradient(circle at 90% 14%, rgba(80, 91, 136, 0.10), transparent 30%),
    rgba(245, 250, 252, 0.96);
}

.re-maintenance-page::before,
.re-maintenance-page::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

.re-maintenance-page::before {
  width: 520px;
  height: 520px;
  left: -270px;
  bottom: -290px;
  border: 1px dashed rgba(41, 132, 153, 0.11);
}

.re-maintenance-page::after {
  width: 370px;
  height: 370px;
  right: -190px;
  top: -210px;
  border: 1px solid rgba(80, 91, 136, 0.10);
}

.re-maintenance-shell {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(340px, 0.94fr);
  width: min(1080px, 100%);
  overflow: hidden;
  border: 1px solid rgba(45, 98, 128, 0.16);
  border-radius: 28px;
  background: rgba(252, 254, 255, 0.92);
  box-shadow:
    0 30px 80px rgba(28, 55, 77, 0.14),
    0 5px 20px rgba(28, 55, 77, 0.06);
}


/* ==========================================================================
   LEFT
   ========================================================================== */

.re-maintenance-main {
  position: relative;
  display: flex;
  min-height: 610px;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  padding: 62px 62px 58px;
}

.re-maintenance-main::after {
  content: "";
  position: absolute;
  width: 270px;
  height: 270px;
  right: -132px;
  bottom: -144px;
  border: 1px dashed rgba(39, 132, 153, 0.12);
  border-radius: 50%;
}

.re-maintenance-brand,
.re-maintenance-content,
.re-maintenance-progress {
  position: relative;
  z-index: 1;
}

.re-maintenance-brand {
  display: inline-flex;
  width: max-content;
  align-items: center;
  gap: 10px;
  margin-bottom: 38px;
  color: #365b73;
}

.re-maintenance-brand__mark {
  position: relative;
  display: flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(43, 127, 149, 0.15);
  border-radius: 50%;
  background: rgba(229, 245, 248, 0.72);
  color: #287d92;
}

.re-maintenance-brand__mark::before,
.re-maintenance-brand__mark::after {
  content: "";
  position: absolute;
  border-radius: 50%;
}

.re-maintenance-brand__mark::before {
  width: 22px;
  height: 22px;
  border: 1px solid currentColor;
  opacity: 0.55;
}

.re-maintenance-brand__mark::after {
  width: 6px;
  height: 6px;
  background: currentColor;
}

.re-maintenance-brand__text small {
  display: block;
  margin-bottom: 2px;
  color: #8294a2;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.re-maintenance-brand__text strong {
  display: block;
  color: #35566d;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 850;
}

.re-maintenance-kicker {
  display: inline-flex;
  width: max-content;
  min-height: 29px;
  align-items: center;
  margin-bottom: 13px;
  padding: 0 11px;
  border: 1px solid rgba(43, 122, 146, 0.12);
  border-radius: 999px;
  background: rgba(40, 142, 161, 0.08);
  color: #247d92;
  font-size: 10px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.re-maintenance-title {
  max-width: 650px;
  margin: 0;
  color: #284162;
  font-size: clamp(42px, 5.2vw, 68px);
  line-height: 0.99;
  font-weight: 830;
  letter-spacing: -0.055em;
}

.re-maintenance-lead {
  max-width: 640px;
  margin: 21px 0 0;
  color: #647b8d;
  font-size: 15px;
  line-height: 1.72;
}

.re-maintenance-reason {
  max-width: 660px;
  margin-top: 24px;
  padding: 15px 17px;
  border: 1px solid rgba(41, 131, 152, 0.11);
  border-radius: 14px;
  background: rgba(232, 246, 248, 0.54);
}

.re-maintenance-reason small {
  display: block;
  margin-bottom: 5px;
  color: #758c9d;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.re-maintenance-reason div {
  color: #3d5d73;
  font-size: 13px;
  line-height: 1.6;
}

.re-maintenance-progress {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-top: 31px;
  color: #617a8d;
  font-size: 12px;
  font-weight: 760;
}

.re-maintenance-progress__dots {
  display: inline-flex;
  gap: 5px;
}

.re-maintenance-progress__dots span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #438ba0;
  animation: reMaintenancePulse 1.5s infinite ease-in-out;
}

.re-maintenance-progress__dots span:nth-child(2) {
  animation-delay: 0.18s;
}

.re-maintenance-progress__dots span:nth-child(3) {
  animation-delay: 0.36s;
}

@keyframes reMaintenancePulse {
  0%, 80%, 100% {
    opacity: 0.25;
    transform: scale(0.82);
  }
  40% {
    opacity: 1;
    transform: scale(1);
  }
}


/* ==========================================================================
   RIGHT
   ========================================================================== */

.re-maintenance-side {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  padding: 54px 48px;
  color: #ffffff;
  background:
    radial-gradient(circle at 14% 12%, rgba(71, 183, 198, 0.24), transparent 29%),
    radial-gradient(circle at 88% 86%, rgba(80, 91, 136, 0.38), transparent 37%),
    linear-gradient(150deg, #174d68 0%, #205e78 51%, #40527a 100%);
}

.re-maintenance-side::before,
.re-maintenance-side::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

.re-maintenance-side::before {
  width: 360px;
  height: 360px;
  right: -190px;
  top: -185px;
  border: 1px solid rgba(219, 247, 249, 0.14);
}

.re-maintenance-side::after {
  width: 250px;
  height: 250px;
  right: -133px;
  top: -126px;
  border: 1px dashed rgba(219, 247, 249, 0.15);
}

.re-maintenance-side > * {
  position: relative;
  z-index: 1;
}

.re-maintenance-side__icon {
  display: flex;
  width: 78px;
  height: 78px;
  margin-bottom: 25px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(218, 246, 249, 0.17);
  border-radius: 22px;
  background: rgba(255,255,255,0.07);
  color: #dcf5f7;
}

.re-maintenance-side__icon svg {
  width: 35px;
  height: 35px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.55;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.re-maintenance-side h2 {
  margin: 0;
  color: #ffffff;
  font-size: 29px;
  line-height: 1.15;
  font-weight: 820;
  letter-spacing: -0.035em;
}

.re-maintenance-side__text {
  margin: 13px 0 0;
  color: rgba(238, 249, 251, 0.74);
  font-size: 13px;
  line-height: 1.65;
}


/* ==========================================================================
   ADMIN LOGIN
   ========================================================================== */

.re-maintenance-admin {
  margin-top: 28px;
}

.re-maintenance-admin details {
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.13);
  border-radius: 14px;
  background: rgba(255,255,255,0.055);
}

.re-maintenance-admin summary {
  position: relative;
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: space-between;
  box-sizing: border-box;
  padding: 0 15px;
  color: #f0fafb;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  list-style: none;
  user-select: none;
}

.re-maintenance-admin summary::-webkit-details-marker {
  display: none;
}

.re-maintenance-admin summary::after {
  content: "+";
  color: rgba(224, 247, 249, 0.72);
  font-size: 20px;
  line-height: 1;
  font-weight: 500;
}

.re-maintenance-admin details[open] summary::after {
  content: "−";
}

.re-maintenance-admin__body {
  padding: 0 15px 15px;
  border-top: 1px solid rgba(255,255,255,0.08);
}

.re-maintenance-admin__body form,
.re-maintenance-admin__body table {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

.re-maintenance-admin__body table {
  border-collapse: separate;
  border-spacing: 0 7px;
}

.re-maintenance-admin__body td {
  box-sizing: border-box;
  padding: 3px 0;
  color: rgba(239, 249, 251, 0.76);
  font-size: 11px;
}

.re-maintenance-admin__body input[type="text"],
.re-maintenance-admin__body input[type="email"],
.re-maintenance-admin__body input[type="password"],
.re-maintenance-admin__body select {
  width: 100% !important;
  min-height: 42px;
  box-sizing: border-box;
  padding: 9px 11px;
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 10px;
  outline: none;
  background: rgba(255,255,255,0.09);
  color: #ffffff;
  font-family: inherit;
  font-size: 12px;
}

.re-maintenance-admin__body input::placeholder {
  color: rgba(235, 248, 250, 0.48);
}

.re-maintenance-admin__body input[type="text"]:focus,
.re-maintenance-admin__body input[type="email"]:focus,
.re-maintenance-admin__body input[type="password"]:focus,
.re-maintenance-admin__body select:focus {
  border-color: rgba(185, 235, 240, 0.42);
  background: rgba(255,255,255,0.12);
  box-shadow: 0 0 0 3px rgba(191, 236, 241, 0.08);
}

.re-maintenance-admin__body input[type="submit"],
.re-maintenance-admin__body input[type="button"],
.re-maintenance-admin__body button {
  min-height: 42px;
  box-sizing: border-box;
  padding: 0 15px;
  border: 1px solid rgba(255,255,255,0.16);
  border-radius: 10px;
  background: rgba(255,255,255,0.12);
  color: #ffffff;
  font-family: inherit;
  font-size: 12px;
  font-weight: 820;
  cursor: pointer;
  transition: background 0.16s ease, transform 0.16s ease;
}

.re-maintenance-admin__body input[type="submit"]:hover,
.re-maintenance-admin__body input[type="button"]:hover,
.re-maintenance-admin__body button:hover {
  transform: translateY(-1px);
  background: rgba(255,255,255,0.17);
}

.re-maintenance-admin__body a {
  color: #d8f4f6;
  text-decoration: none;
}

.re-maintenance-admin__body a:hover {
  text-decoration: underline;
}

.re-maintenance-powered {
  margin-top: 23px;
  color: rgba(232, 247, 249, 0.50);
  font-size: 10px;
  line-height: 1.5;
}

.re-maintenance-powered a {
  color: inherit;
}


/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 860px) {
  .re-maintenance-page {
    min-height: auto;
    padding: 30px 16px 54px;
  }

  .re-maintenance-shell {
    grid-template-columns: 1fr;
  }

  .re-maintenance-main {
    min-height: auto;
    padding: 48px 42px;
  }

  .re-maintenance-side {
    padding: 45px 42px;
  }
}

@media (max-width: 520px) {
  .re-maintenance-page {
    padding: 18px 10px 40px;
  }

  .re-maintenance-shell {
    border-radius: 20px;
  }

  .re-maintenance-main,
  .re-maintenance-side {
    padding: 36px 24px;
  }

  .re-maintenance-brand {
    margin-bottom: 29px;
  }

  .re-maintenance-title {
    font-size: 39px;
  }

  .re-maintenance-side h2 {
    font-size: 26px;
  }
}

@media (max-width: 360px) {
  .re-maintenance-main,
  .re-maintenance-side {
    padding-left: 19px;
    padding-right: 19px;
  }
}

/* ==========================================================================
   RUSSIAN EMIGRANT — SUBSCRIPTIONS & PLANS
   ========================================================================== */

.re-subscriptions-page {
  width: 100%;
  padding: 46px 22px 76px;
  box-sizing: border-box;
}

.re-subscriptions-shell {
  width: min(1180px, 100%);
  margin: 0 auto;
}


/* ==========================================================================
   HERO
   ========================================================================== */

.re-subscriptions-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 30px;
  align-items: center;
  overflow: hidden;
  padding: 38px 40px;
  border: 1px solid rgba(46, 100, 132, 0.18);
  border-radius: 26px;
  background:
    radial-gradient(circle at 8% 10%, rgba(44, 151, 174, 0.11), transparent 29%),
    radial-gradient(circle at 94% 12%, rgba(80, 91, 136, 0.12), transparent 31%),
    rgba(250, 253, 254, 0.89);
  box-shadow:
    0 24px 64px rgba(30, 55, 77, 0.13),
    0 4px 16px rgba(30, 55, 77, 0.06);
}

.re-subscriptions-hero::after {
  content: "";
  position: absolute;
  right: -92px;
  bottom: -132px;
  width: 320px;
  height: 320px;
  border: 1px dashed rgba(42, 128, 151, 0.13);
  border-radius: 50%;
  pointer-events: none;
}

.re-subscriptions-hero__content,
.re-subscriptions-hero__summary {
  position: relative;
  z-index: 1;
}

.re-subscriptions-kicker {
  display: inline-flex;
  align-items: center;
  width: max-content;
  min-height: 29px;
  margin-bottom: 11px;
  padding: 0 11px;
  border: 1px solid rgba(45, 117, 144, 0.12);
  border-radius: 999px;
  background: rgba(39, 143, 163, 0.08);
  color: #237d93;
  font-size: 10px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.re-subscriptions-title {
  max-width: 760px;
  margin: 0;
  color: #284162;
  font-size: clamp(38px, 4.6vw, 58px);
  line-height: 1.01;
  font-weight: 830;
  letter-spacing: -0.05em;
}

.re-subscriptions-lead {
  max-width: 730px;
  margin: 16px 0 0;
  color: #657b8d;
  font-size: 14px;
  line-height: 1.72;
}

.re-subscriptions-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 20px;
}

.re-subscriptions-actions a {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0 14px;
  border: 1px solid rgba(49, 91, 119, 0.13);
  border-radius: 11px;
  background: rgba(245, 249, 251, 0.82);
  color: #3b5c73;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
  transition:
    transform 0.16s ease,
    background 0.16s ease,
    border-color 0.16s ease,
    box-shadow 0.16s ease;
}

.re-subscriptions-actions a:hover {
  transform: translateY(-1px);
  border-color: rgba(39, 133, 154, 0.22);
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(34, 68, 91, 0.08);
}

.re-subscriptions-actions a.is-primary {
  border-color: transparent;
  background: linear-gradient(135deg, #217f98, #505b88);
  color: #ffffff;
  box-shadow: 0 9px 20px rgba(33, 96, 124, 0.15);
}


/* ==========================================================================
   HERO SUMMARY
   ========================================================================== */

.re-subscriptions-hero__summary {
  width: 270px;
  padding: 18px;
  border: 1px solid rgba(50, 98, 127, 0.10);
  border-radius: 18px;
  background: rgba(246, 250, 252, 0.80);
}

.re-subscriptions-summary__label {
  display: block;
  margin-bottom: 7px;
  color: #8797a4;
  font-size: 9px;
  font-weight: 820;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.re-subscriptions-summary__count {
  display: flex;
  align-items: baseline;
  gap: 7px;
}

.re-subscriptions-summary__count strong {
  color: #34566d;
  font-size: 34px;
  line-height: 1;
  font-weight: 840;
  letter-spacing: -0.04em;
}

.re-subscriptions-summary__count span {
  color: #758897;
  font-size: 11px;
  font-weight: 720;
}

.re-subscriptions-summary__line {
  height: 1px;
  margin: 15px 0;
  background: rgba(50, 91, 117, 0.09);
}

.re-subscriptions-summary__text {
  color: #687f90;
  font-size: 11px;
  line-height: 1.55;
}


/* ==========================================================================
   CURRENT SUBSCRIPTION
   ========================================================================== */

.re-subscription-current {
  margin-top: 20px;
  overflow: hidden;
  border: 1px solid rgba(46, 98, 129, 0.14);
  border-radius: 20px;
  background: rgba(250, 253, 254, 0.87);
  box-shadow: 0 11px 32px rgba(30, 57, 78, 0.075);
}

.re-subscription-current__head {
  display: flex;
  gap: 13px;
  align-items: center;
  padding: 20px 22px 17px;
  border-bottom: 1px solid rgba(50, 91, 117, 0.09);
}

.re-subscription-current__icon {
  display: flex;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(39, 139, 160, 0.09);
  color: #277f96;
}

.re-subscription-current__icon svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.re-subscription-current__head h2 {
  margin: 0;
  color: #304b64;
  font-size: 17px;
  line-height: 1.2;
  font-weight: 820;
}

.re-subscription-current__head p {
  margin: 3px 0 0;
  color: #8293a0;
  font-size: 11px;
  line-height: 1.45;
}

.re-subscription-current__body {
  padding: 20px 22px 22px;
}

.re-subscription-current__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.re-subscription-current__item {
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(49, 94, 122, 0.09);
  border-radius: 13px;
  background: rgba(244, 249, 251, 0.72);
}

.re-subscription-current__item small {
  display: block;
  margin-bottom: 5px;
  color: #8797a4;
  font-size: 9px;
  font-weight: 790;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.re-subscription-current__item strong {
  display: block;
  color: #395970;
  font-size: 13px;
  line-height: 1.4;
  font-weight: 820;
  overflow-wrap: anywhere;
}

.re-subscription-current__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 15px;
}

.re-subscription-current__actions a {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0 14px;
  border: 1px solid rgba(49, 91, 119, 0.13);
  border-radius: 11px;
  background: rgba(245, 249, 251, 0.82);
  color: #3b5c73;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}

.re-subscription-current__actions a.is-primary {
  border-color: transparent;
  background: linear-gradient(135deg, #217f98, #505b88);
  color: #ffffff;
}


/* ==========================================================================
   PLANS PANEL
   ========================================================================== */

.re-subscriptions-panel {
  margin-top: 20px;
  overflow: hidden;
  border: 1px solid rgba(46, 98, 129, 0.14);
  border-radius: 20px;
  background: rgba(250, 253, 254, 0.87);
  box-shadow: 0 11px 32px rgba(30, 57, 78, 0.075);
}

.re-subscriptions-panel__head {
  display: flex;
  gap: 13px;
  align-items: center;
  padding: 20px 22px 17px;
  border-bottom: 1px solid rgba(50, 91, 117, 0.09);
}

.re-subscriptions-panel__icon {
  display: flex;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(39, 139, 160, 0.09);
  color: #277f96;
}

.re-subscriptions-panel__icon svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.re-subscriptions-panel__head h2 {
  margin: 0;
  color: #304b64;
  font-size: 17px;
  line-height: 1.2;
  font-weight: 820;
}

.re-subscriptions-panel__head p {
  margin: 3px 0 0;
  color: #8293a0;
  font-size: 11px;
  line-height: 1.45;
}

.re-subscriptions-panel__body {
  min-width: 0;
  padding: 22px;
}


/* ==========================================================================
   UCOZ TARIFF CARDS / BODY
   ========================================================================== */

.re-subscriptions-body {
  min-width: 0;
  color: #405c72;
}

.re-subscriptions-body > div {
  max-width: 100%;
}

.re-subscriptions-body table {
  width: 100% !important;
  max-width: 100% !important;
  border-collapse: separate;
  border-spacing: 0;
}

.re-subscriptions-body td,
.re-subscriptions-body th {
  box-sizing: border-box;
  padding: 10px;
  color: #4b6478;
  font-size: 12px;
  line-height: 1.5;
  vertical-align: middle;
}

.re-subscriptions-body a {
  color: #247e99;
  font-weight: 760;
  text-decoration: none;
}

.re-subscriptions-body a:hover {
  text-decoration: underline;
}

.re-subscriptions-body input[type="text"],
.re-subscriptions-body input[type="email"],
.re-subscriptions-body input[type="password"],
.re-subscriptions-body input[type="number"],
.re-subscriptions-body select {
  width: 100%;
  min-height: 44px;
  box-sizing: border-box;
  padding: 9px 12px;
  border: 1px solid rgba(55, 96, 124, 0.20);
  border-radius: 11px;
  outline: none;
  background: rgba(245, 249, 251, 0.92);
  color: #284162;
  font-family: inherit;
  font-size: 13px;
}

.re-subscriptions-body input[type="submit"],
.re-subscriptions-body input[type="button"],
.re-subscriptions-body button {
  min-height: 44px;
  box-sizing: border-box;
  padding: 0 16px;
  border: 0;
  border-radius: 11px;
  background: linear-gradient(135deg, #217f98, #505b88);
  color: #ffffff;
  font-family: inherit;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(33, 96, 124, 0.14);
}

.re-subscriptions-body img {
  max-width: 100%;
  height: auto;
}


/* Common uCoz subscription-card wrappers */
.re-subscriptions-body [class*="subscr"],
.re-subscriptions-body [class*="tariff"],
.re-subscriptions-body [class*="plan"],
.re-subscriptions-body [class*="price"] {
  box-sizing: border-box;
}

.re-subscriptions-body [class*="subscr-item"],
.re-subscriptions-body [class*="tariff-item"],
.re-subscriptions-body [class*="plan-item"] {
  border-radius: 16px;
}


/* ==========================================================================
   BOTTOM INFO
   ========================================================================== */

.re-subscriptions-info {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 20px;
}

.re-subscriptions-info__card {
  padding: 18px;
  border: 1px solid rgba(46, 98, 129, 0.12);
  border-radius: 16px;
  background: rgba(248, 252, 253, 0.84);
}

.re-subscriptions-info__num {
  display: flex;
  width: 34px;
  height: 34px;
  margin-bottom: 13px;
  align-items: center;
  justify-content: center;
  border-radius: 11px;
  background: rgba(39, 139, 160, 0.09);
  color: #277f96;
  font-size: 10px;
  font-weight: 900;
}

.re-subscriptions-info__card strong {
  display: block;
  margin-bottom: 6px;
  color: #36566d;
  font-size: 13px;
  font-weight: 820;
}

.re-subscriptions-info__card p {
  margin: 0;
  color: #798c9a;
  font-size: 11px;
  line-height: 1.55;
}


/* ==========================================================================
   GUEST NOTE
   ========================================================================== */

.re-subscriptions-guest {
  display: flex;
  gap: 13px;
  align-items: center;
  margin-top: 20px;
  padding: 15px 16px;
  border: 1px solid rgba(40, 136, 157, 0.10);
  border-radius: 14px;
  background: rgba(228, 246, 248, 0.42);
}

.re-subscriptions-guest__icon {
  display: flex;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(39, 142, 161, 0.10);
  color: #247d92;
}

.re-subscriptions-guest__icon svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

.re-subscriptions-guest__text {
  min-width: 0;
}

.re-subscriptions-guest__text strong {
  display: block;
  margin-bottom: 3px;
  color: #3b596f;
  font-size: 12px;
}

.re-subscriptions-guest__text span {
  display: block;
  color: #80919e;
  font-size: 11px;
  line-height: 1.5;
}

.re-subscriptions-guest__actions {
  display: flex;
  flex: 0 0 auto;
  gap: 8px;
  margin-left: auto;
}

.re-subscriptions-guest__actions a {
  display: inline-flex;
  min-height: 39px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0 13px;
  border: 1px solid rgba(49, 91, 119, 0.13);
  border-radius: 10px;
  background: #ffffff;
  color: #3b5c73;
  font-size: 11px;
  font-weight: 800;
  text-decoration: none;
}

.re-subscriptions-guest__actions a:first-child {
  border-color: transparent;
  background: linear-gradient(135deg, #217f98, #505b88);
  color: #ffffff;
}


/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 980px) {
  .re-subscriptions-page {
    padding: 30px 16px 56px;
  }

  .re-subscriptions-hero {
    grid-template-columns: 1fr;
  }

  .re-subscriptions-hero__summary {
    width: min(420px, 100%);
    box-sizing: border-box;
  }

  .re-subscription-current__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .re-subscriptions-hero {
    padding: 30px 25px;
  }

  .re-subscriptions-title {
    font-size: 38px;
  }

  .re-subscriptions-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .re-subscriptions-actions a {
    width: 100%;
  }

  .re-subscriptions-info {
    grid-template-columns: 1fr;
  }

  .re-subscriptions-guest {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .re-subscriptions-guest__actions {
    width: 100%;
    margin-left: 51px;
  }
}

@media (max-width: 520px) {
  .re-subscriptions-page {
    padding: 18px 10px 40px;
  }

  .re-subscriptions-hero {
    padding: 25px 18px;
    border-radius: 20px;
  }

  .re-subscriptions-title {
    font-size: 33px;
  }

  .re-subscriptions-actions {
    grid-template-columns: 1fr;
  }

  .re-subscription-current,
  .re-subscriptions-panel {
    border-radius: 17px;
  }

  .re-subscription-current__head,
  .re-subscription-current__body,
  .re-subscriptions-panel__head,
  .re-subscriptions-panel__body {
    padding-left: 17px;
    padding-right: 17px;
  }

  .re-subscription-current__grid {
    grid-template-columns: 1fr;
  }

  .re-subscriptions-guest__actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    margin-left: 0;
  }
}

/* ==========================================================================
   RUSSIAN EMIGRANT — SUBSCRIPTION CHECKOUT
   ========================================================================== */

.re-checkout-page {
  width: 100%;
  padding: 46px 22px 76px;
  box-sizing: border-box;
}

.re-checkout-shell {
  width: min(1120px, 100%);
  margin: 0 auto;
}


/* ==========================================================================
   HERO
   ========================================================================== */

.re-checkout-hero {
  position: relative;
  overflow: hidden;
  padding: 34px 38px;
  border: 1px solid rgba(46, 100, 132, 0.18);
  border-radius: 26px;
  background:
    radial-gradient(circle at 8% 10%, rgba(44, 151, 174, 0.11), transparent 29%),
    radial-gradient(circle at 94% 12%, rgba(80, 91, 136, 0.12), transparent 31%),
    rgba(250, 253, 254, 0.89);
  box-shadow:
    0 24px 64px rgba(30, 55, 77, 0.13),
    0 4px 16px rgba(30, 55, 77, 0.06);
}

.re-checkout-hero::after {
  content: "";
  position: absolute;
  right: -94px;
  bottom: -134px;
  width: 320px;
  height: 320px;
  border: 1px dashed rgba(42, 128, 151, 0.13);
  border-radius: 50%;
  pointer-events: none;
}

.re-checkout-hero__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
}

.re-checkout-kicker {
  display: inline-flex;
  align-items: center;
  width: max-content;
  min-height: 29px;
  margin-bottom: 11px;
  padding: 0 11px;
  border: 1px solid rgba(45, 117, 144, 0.12);
  border-radius: 999px;
  background: rgba(39, 143, 163, 0.08);
  color: #237d93;
  font-size: 10px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.re-checkout-title {
  max-width: 760px;
  margin: 0;
  color: #284162;
  font-size: clamp(36px, 4.3vw, 54px);
  line-height: 1.02;
  font-weight: 830;
  letter-spacing: -0.05em;
}

.re-checkout-lead {
  max-width: 730px;
  margin: 15px 0 0;
  color: #657b8d;
  font-size: 14px;
  line-height: 1.72;
}

.re-checkout-back {
  display: inline-flex;
  min-height: 43px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0 15px;
  border: 1px solid rgba(49, 91, 119, 0.13);
  border-radius: 11px;
  background: rgba(245, 249, 251, 0.82);
  color: #3b5c73;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
  transition:
    transform 0.16s ease,
    background 0.16s ease,
    border-color 0.16s ease,
    box-shadow 0.16s ease;
}

.re-checkout-back:hover {
  transform: translateY(-1px);
  border-color: rgba(39, 133, 154, 0.22);
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(34, 68, 91, 0.08);
}


/* ==========================================================================
   STEPS
   ========================================================================== */

.re-checkout-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 18px;
}

.re-checkout-step {
  display: flex;
  gap: 11px;
  align-items: center;
  min-width: 0;
  padding: 12px 13px;
  border: 1px solid rgba(48, 93, 120, 0.09);
  border-radius: 13px;
  background: rgba(246, 250, 252, 0.72);
}

.re-checkout-step__num {
  display: flex;
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: rgba(39, 139, 160, 0.09);
  color: #277f96;
  font-size: 10px;
  font-weight: 900;
}

.re-checkout-step strong {
  display: block;
  margin-bottom: 2px;
  color: #3d5d73;
  font-size: 11px;
  line-height: 1.3;
  font-weight: 820;
}

.re-checkout-step small {
  display: block;
  color: #8494a1;
  font-size: 9px;
  line-height: 1.35;
}


/* ==========================================================================
   LAYOUT
   ========================================================================== */

.re-checkout-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 20px;
  align-items: start;
  margin-top: 20px;
}

.re-checkout-panel {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(46, 98, 129, 0.14);
  border-radius: 20px;
  background: rgba(250, 253, 254, 0.87);
  box-shadow: 0 11px 32px rgba(30, 57, 78, 0.075);
}

.re-checkout-panel__head {
  display: flex;
  gap: 13px;
  align-items: center;
  padding: 20px 22px 17px;
  border-bottom: 1px solid rgba(50, 91, 117, 0.09);
}

.re-checkout-panel__icon {
  display: flex;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(39, 139, 160, 0.09);
  color: #277f96;
}

.re-checkout-panel__icon svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.re-checkout-panel__head h2 {
  margin: 0;
  color: #304b64;
  font-size: 17px;
  line-height: 1.2;
  font-weight: 820;
}

.re-checkout-panel__head p {
  margin: 3px 0 0;
  color: #8293a0;
  font-size: 11px;
  line-height: 1.45;
}

.re-checkout-panel__body {
  min-width: 0;
  padding: 20px 22px 22px;
}


/* ==========================================================================
   UCOZ CHECKOUT BODY
   ========================================================================== */

.re-checkout-body {
  min-width: 0;
  color: #405c72;
}

.re-checkout-body form,
.re-checkout-body table {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

.re-checkout-body table {
  border-collapse: separate;
  border-spacing: 0 7px;
}

.re-checkout-body td,
.re-checkout-body th {
  box-sizing: border-box;
  padding: 5px 6px;
  color: #4b6478;
  font-size: 12px;
  line-height: 1.5;
  vertical-align: middle;
}

.re-checkout-body th {
  color: #3c5a70;
  font-weight: 820;
}

.re-checkout-body input[type="text"],
.re-checkout-body input[type="email"],
.re-checkout-body input[type="password"],
.re-checkout-body input[type="tel"],
.re-checkout-body input[type="number"],
.re-checkout-body input[type="date"],
.re-checkout-body select,
.re-checkout-body textarea,
.re-checkout-body .manFl,
.re-checkout-body .manFlA {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 48px;
  box-sizing: border-box;
  padding: 10px 14px;
  border: 1px solid rgba(55, 96, 124, 0.20);
  border-radius: 12px;
  outline: none;
  background: rgba(245, 249, 251, 0.92);
  color: #284162;
  font-family: inherit;
  font-size: 14px;
  transition:
    border-color 0.18s ease,
    background 0.18s ease,
    box-shadow 0.18s ease;
}

.re-checkout-body textarea,
.re-checkout-body .manFlA {
  min-height: 110px;
  resize: vertical;
}

.re-checkout-body input[type="text"]:focus,
.re-checkout-body input[type="email"]:focus,
.re-checkout-body input[type="password"]:focus,
.re-checkout-body input[type="tel"]:focus,
.re-checkout-body input[type="number"]:focus,
.re-checkout-body input[type="date"]:focus,
.re-checkout-body select:focus,
.re-checkout-body textarea:focus,
.re-checkout-body .manFl:focus,
.re-checkout-body .manFlA:focus {
  border-color: rgba(42, 151, 174, 0.68);
  background: #ffffff;
  box-shadow: 0 0 0 4px rgba(42, 151, 174, 0.09);
}

.re-checkout-body input[type="checkbox"],
.re-checkout-body input[type="radio"] {
  width: 17px;
  height: 17px;
  accent-color: #27869d;
  vertical-align: middle;
}

.re-checkout-body input[type="submit"],
.re-checkout-body input[type="button"],
.re-checkout-body button,
.re-checkout-body .manFlBtn {
  min-height: 47px;
  box-sizing: border-box;
  padding: 0 19px;
  border: 0;
  border-radius: 11px;
  background: linear-gradient(135deg, #217f98, #505b88);
  color: #ffffff;
  font-family: inherit;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(33, 96, 124, 0.14);
  transition:
    transform 0.16s ease,
    box-shadow 0.16s ease,
    filter 0.16s ease;
}

.re-checkout-body input[type="submit"]:hover,
.re-checkout-body input[type="button"]:hover,
.re-checkout-body button:hover,
.re-checkout-body .manFlBtn:hover {
  transform: translateY(-1px);
  box-shadow: 0 11px 22px rgba(33, 96, 124, 0.19);
  filter: brightness(1.04);
}

.re-checkout-body label {
  color: #435e74;
  font-size: 13px;
  line-height: 1.5;
}

.re-checkout-body a {
  color: #247d99;
  font-weight: 700;
  text-decoration: none;
}

.re-checkout-body a:hover {
  text-decoration: underline;
}

.re-checkout-body img {
  max-width: 100%;
  height: auto;
}

.re-checkout-body hr {
  height: 1px;
  margin: 17px 0;
  border: 0;
  background: rgba(56, 89, 113, 0.10);
}

.re-checkout-body .error,
.re-checkout-body .err,
.re-checkout-body [class*="error"] {
  color: #a64d53;
}

.re-checkout-body .success,
.re-checkout-body [class*="success"] {
  color: #347c6c;
}


/* ==========================================================================
   SIDEBAR
   ========================================================================== */

.re-checkout-side {
  display: grid;
  gap: 20px;
}

.re-checkout-account {
  display: flex;
  gap: 13px;
  align-items: center;
  padding: 13px 14px;
  border: 1px solid rgba(49, 94, 122, 0.09);
  border-radius: 13px;
  background: rgba(244, 249, 251, 0.72);
}

.re-checkout-avatar {
  display: flex;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 3px solid rgba(255,255,255,0.96);
  border-radius: 50%;
  background: #e8f1f4;
  color: #2b758b;
}

.re-checkout-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.re-checkout-avatar svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
}

.re-checkout-account__text {
  min-width: 0;
}

.re-checkout-account__text small {
  display: block;
  margin-bottom: 3px;
  color: #8797a4;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.re-checkout-account__text strong {
  display: block;
  color: #38586f;
  font-size: 13px;
  overflow-wrap: anywhere;
}

.re-checkout-account__text span {
  display: block;
  margin-top: 3px;
  color: #788b9a;
  font-size: 11px;
}

.re-checkout-info {
  display: grid;
  gap: 9px;
}

.re-checkout-info__item {
  padding: 13px 14px;
  border: 1px solid rgba(49, 94, 122, 0.09);
  border-radius: 12px;
  background: rgba(244, 249, 251, 0.72);
}

.re-checkout-info__item small {
  display: block;
  margin-bottom: 4px;
  color: #8797a4;
  font-size: 9px;
  font-weight: 780;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.re-checkout-info__item strong {
  display: block;
  color: #3c596f;
  font-size: 13px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.re-checkout-links {
  display: grid;
  gap: 9px;
}

.re-checkout-links a {
  display: flex;
  min-height: 43px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  box-sizing: border-box;
  padding: 0 13px;
  border: 1px solid rgba(50, 93, 120, 0.09);
  border-radius: 12px;
  background: rgba(244, 249, 251, 0.72);
  color: #3f6178;
  font-size: 12px;
  font-weight: 750;
  text-decoration: none;
}

.re-checkout-links a:hover {
  border-color: rgba(39, 133, 154, 0.20);
  background: #ffffff;
}

.re-checkout-links a::after {
  content: "›";
  color: #7891a2;
  font-size: 18px;
  line-height: 1;
}

.re-checkout-note {
  display: flex;
  gap: 11px;
  align-items: flex-start;
  padding: 14px;
  border: 1px solid rgba(40, 136, 157, 0.10);
  border-radius: 13px;
  background: rgba(228, 246, 248, 0.40);
}

.re-checkout-note__icon {
  display: flex;
  flex: 0 0 29px;
  width: 29px;
  height: 29px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(39, 142, 161, 0.10);
  color: #247d92;
  font-size: 12px;
  font-weight: 900;
}

.re-checkout-note strong {
  display: block;
  margin-bottom: 3px;
  color: #3b596f;
  font-size: 12px;
}

.re-checkout-note small {
  display: block;
  color: #80919e;
  font-size: 11px;
  line-height: 1.5;
}


/* ==========================================================================
   GUEST
   ========================================================================== */

.re-checkout-guest {
  margin-bottom: 16px;
  padding: 14px 15px;
  border: 1px solid rgba(40, 136, 157, 0.10);
  border-radius: 13px;
  background: rgba(228, 246, 248, 0.40);
  color: #597184;
  font-size: 12px;
  line-height: 1.6;
}

.re-checkout-guest strong {
  color: #3c5a70;
}

.re-checkout-guest a {
  color: #247d99;
  font-weight: 800;
  text-decoration: none;
}


/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 960px) {
  .re-checkout-page {
    padding: 30px 16px 56px;
  }

  .re-checkout-hero__inner {
    grid-template-columns: 1fr;
  }

  .re-checkout-back {
    width: max-content;
  }

  .re-checkout-layout {
    grid-template-columns: 1fr;
  }

  .re-checkout-side {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .re-checkout-hero {
    padding: 29px 24px;
  }

  .re-checkout-title {
    font-size: 36px;
  }

  .re-checkout-steps {
    grid-template-columns: 1fr;
  }

  .re-checkout-side {
    grid-template-columns: 1fr;
  }

  .re-checkout-body table,
  .re-checkout-body tbody,
  .re-checkout-body tr,
  .re-checkout-body td,
  .re-checkout-body th {
    display: block;
    width: 100% !important;
  }

  .re-checkout-body tr {
    margin-bottom: 9px;
  }

  .re-checkout-body td,
  .re-checkout-body th {
    padding: 3px 0;
  }
}

@media (max-width: 440px) {
  .re-checkout-page {
    padding: 18px 10px 40px;
  }

  .re-checkout-hero {
    padding: 24px 18px;
    border-radius: 20px;
  }

  .re-checkout-title {
    font-size: 32px;
  }

  .re-checkout-panel {
    border-radius: 17px;
  }

  .re-checkout-panel__head,
  .re-checkout-panel__body {
    padding-left: 17px;
    padding-right: 17px;
  }
}

/* ==========================================================================
   RUSSIAN EMIGRANT — SUBSCRIPTION SUCCESS
   ========================================================================== */

.re-subsuccess-page {
  width: 100%;
  padding: 56px 22px 78px;
  box-sizing: border-box;
}

.re-subsuccess-shell {
  width: min(1080px, 100%);
  margin: 0 auto;
}

.re-subsuccess-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(46, 100, 132, 0.18);
  border-radius: 28px;
  background:
    radial-gradient(circle at 9% 8%, rgba(44, 151, 174, 0.10), transparent 28%),
    radial-gradient(circle at 94% 12%, rgba(80, 91, 136, 0.11), transparent 32%),
    rgba(250, 253, 254, 0.91);
  box-shadow:
    0 28px 72px rgba(30, 55, 77, 0.14),
    0 4px 18px rgba(30, 55, 77, 0.06);
}

.re-subsuccess-card::before {
  content: "";
  position: absolute;
  width: 340px;
  height: 340px;
  right: -150px;
  top: -190px;
  border: 1px dashed rgba(42, 128, 151, 0.12);
  border-radius: 50%;
  pointer-events: none;
}

.re-subsuccess-main {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 28px;
  align-items: center;
  padding: 44px 46px 32px;
}

.re-subsuccess-icon {
  position: relative;
  display: flex;
  width: 92px;
  height: 92px;
  align-items: center;
  justify-content: center;
  border-radius: 24px;
  background: linear-gradient(145deg, rgba(35, 142, 161, 0.12), rgba(80, 91, 136, 0.10));
  color: #2b8197;
  box-shadow: inset 0 0 0 1px rgba(44, 123, 148, 0.10);
}

.re-subsuccess-icon::after {
  content: "";
  position: absolute;
  inset: 9px;
  border: 1px dashed rgba(44, 123, 148, 0.18);
  border-radius: 18px;
}

.re-subsuccess-icon svg {
  position: relative;
  z-index: 1;
  width: 42px;
  height: 42px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.re-subsuccess-kicker {
  display: inline-flex;
  align-items: center;
  width: max-content;
  min-height: 29px;
  margin-bottom: 11px;
  padding: 0 11px;
  border: 1px solid rgba(45, 117, 144, 0.12);
  border-radius: 999px;
  background: rgba(39, 143, 163, 0.08);
  color: #237d93;
  font-size: 10px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.re-subsuccess-title {
  margin: 0;
  color: #284162;
  font-size: clamp(38px, 4.8vw, 58px);
  line-height: 1.01;
  font-weight: 830;
  letter-spacing: -0.05em;
}

.re-subsuccess-lead {
  max-width: 760px;
  margin: 15px 0 0;
  color: #657b8d;
  font-size: 14px;
  line-height: 1.72;
}


/* ==========================================================================
   SUBSCRIPTION DETAILS
   ========================================================================== */

.re-subsuccess-details {
  position: relative;
  z-index: 1;
  padding: 0 46px 36px;
}

.re-subsuccess-panel {
  overflow: hidden;
  border: 1px solid rgba(46, 98, 129, 0.12);
  border-radius: 18px;
  background: rgba(247, 251, 253, 0.82);
}

.re-subsuccess-panel__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px 15px;
  border-bottom: 1px solid rgba(50, 91, 117, 0.09);
}

.re-subsuccess-panel__head h2 {
  margin: 0;
  color: #344f67;
  font-size: 16px;
  font-weight: 820;
}

.re-subsuccess-status {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(54, 139, 119, 0.10);
  color: #397a6b;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.re-subsuccess-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  padding: 18px 20px 20px;
}

.re-subsuccess-item {
  min-width: 0;
  padding: 13px 14px;
  border: 1px solid rgba(49, 94, 122, 0.09);
  border-radius: 12px;
  background: rgba(255,255,255,0.60);
}

.re-subsuccess-item small {
  display: block;
  margin-bottom: 5px;
  color: #8797a4;
  font-size: 9px;
  font-weight: 790;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.re-subsuccess-item strong {
  display: block;
  color: #395970;
  font-size: 13px;
  line-height: 1.4;
  font-weight: 820;
  overflow-wrap: anywhere;
}


/* ==========================================================================
   USER CARD
   ========================================================================== */

.re-subsuccess-user {
  display: flex;
  gap: 13px;
  align-items: center;
  margin-top: 16px;
  padding: 14px 15px;
  border: 1px solid rgba(49, 94, 122, 0.09);
  border-radius: 14px;
  background: rgba(244, 249, 251, 0.72);
}

.re-subsuccess-avatar {
  display: flex;
  flex: 0 0 50px;
  width: 50px;
  height: 50px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 3px solid rgba(255,255,255,0.96);
  border-radius: 50%;
  background: #e8f1f4;
  color: #2b758b;
}

.re-subsuccess-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.re-subsuccess-avatar svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
}

.re-subsuccess-user__text {
  min-width: 0;
}

.re-subsuccess-user__text small {
  display: block;
  margin-bottom: 3px;
  color: #8797a4;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.re-subsuccess-user__text strong {
  display: block;
  color: #38586f;
  font-size: 13px;
  overflow-wrap: anywhere;
}

.re-subsuccess-user__text span {
  display: block;
  margin-top: 3px;
  color: #788b9a;
  font-size: 11px;
}


/* ==========================================================================
   ACTIONS
   ========================================================================== */

.re-subsuccess-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 18px;
}

.re-subsuccess-btn {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0 16px;
  border: 1px solid rgba(49, 91, 119, 0.13);
  border-radius: 12px;
  background: rgba(245, 249, 251, 0.82);
  color: #3b5c73;
  font-size: 12px;
  font-weight: 820;
  text-align: center;
  text-decoration: none;
  transition:
    transform 0.16s ease,
    background 0.16s ease,
    border-color 0.16s ease,
    box-shadow 0.16s ease;
}

.re-subsuccess-btn:hover {
  transform: translateY(-1px);
  border-color: rgba(39, 133, 154, 0.22);
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(34, 68, 91, 0.08);
}

.re-subsuccess-btn--primary {
  border-color: transparent;
  background: linear-gradient(135deg, #217f98, #505b88);
  color: #ffffff;
  box-shadow: 0 9px 20px rgba(33, 96, 124, 0.15);
}

.re-subsuccess-btn--primary:hover {
  border-color: transparent;
  background: linear-gradient(135deg, #2387a1, #56628f);
  color: #ffffff;
}


/* ==========================================================================
   INFO
   ========================================================================== */

.re-subsuccess-note {
  display: flex;
  gap: 11px;
  align-items: flex-start;
  margin-top: 18px;
  padding: 14px 15px;
  border: 1px solid rgba(40, 136, 157, 0.10);
  border-radius: 13px;
  background: rgba(228, 246, 248, 0.40);
}

.re-subsuccess-note__icon {
  display: flex;
  flex: 0 0 29px;
  width: 29px;
  height: 29px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(39, 142, 161, 0.10);
  color: #247d92;
  font-size: 12px;
  font-weight: 900;
}

.re-subsuccess-note strong {
  display: block;
  margin-bottom: 3px;
  color: #3b596f;
  font-size: 12px;
}

.re-subsuccess-note small {
  display: block;
  color: #80919e;
  font-size: 11px;
  line-height: 1.5;
}


/* ==========================================================================
   GUEST / FALLBACK
   ========================================================================== */

.re-subsuccess-guest {
  padding: 48px 46px;
  text-align: center;
}

.re-subsuccess-guest h1 {
  margin: 0;
  color: #284162;
  font-size: 38px;
  font-weight: 820;
  letter-spacing: -0.04em;
}

.re-subsuccess-guest p {
  max-width: 620px;
  margin: 13px auto 22px;
  color: #6c8192;
  font-size: 14px;
  line-height: 1.65;
}

.re-subsuccess-guest__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  justify-content: center;
}

.re-subsuccess-guest__actions a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0 15px;
  border: 1px solid rgba(49, 91, 119, 0.13);
  border-radius: 11px;
  background: rgba(245, 249, 251, 0.82);
  color: #3b5c73;
  font-size: 12px;
  font-weight: 820;
  text-decoration: none;
}

.re-subsuccess-guest__actions a:first-child {
  border-color: transparent;
  background: linear-gradient(135deg, #217f98, #505b88);
  color: #ffffff;
}


/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 900px) {
  .re-subsuccess-page {
    padding: 34px 16px 58px;
  }

  .re-subsuccess-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .re-subsuccess-main {
    grid-template-columns: 1fr;
    padding: 34px 26px 24px;
    text-align: center;
  }

  .re-subsuccess-icon {
    margin: 0 auto;
  }

  .re-subsuccess-kicker {
    margin-left: auto;
    margin-right: auto;
  }

  .re-subsuccess-details {
    padding: 0 26px 30px;
  }

  .re-subsuccess-actions {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .re-subsuccess-page {
    padding: 18px 10px 40px;
  }

  .re-subsuccess-card {
    border-radius: 20px;
  }

  .re-subsuccess-main {
    padding: 28px 18px 22px;
  }

  .re-subsuccess-title {
    font-size: 34px;
  }

  .re-subsuccess-details {
    padding: 0 18px 24px;
  }

  .re-subsuccess-grid {
    grid-template-columns: 1fr;
  }

  .re-subsuccess-panel__head,
  .re-subsuccess-grid {
    padding-left: 15px;
    padding-right: 15px;
  }
}

/* ==========================================================================
   RUSSIAN EMIGRANT — USER SUBSCRIPTIONS
   ========================================================================== */

.re-user-subs-page {
  width: 100%;
  padding: 46px 22px 76px;
  box-sizing: border-box;
}

.re-user-subs-shell {
  width: min(1160px, 100%);
  margin: 0 auto;
}


/* ==========================================================================
   HERO
   ========================================================================== */

.re-user-subs-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  overflow: hidden;
  padding: 36px 40px;
  border: 1px solid rgba(46, 100, 132, 0.18);
  border-radius: 26px;
  background:
    radial-gradient(circle at 8% 10%, rgba(44, 151, 174, 0.11), transparent 29%),
    radial-gradient(circle at 94% 12%, rgba(80, 91, 136, 0.12), transparent 31%),
    rgba(250, 253, 254, 0.89);
  box-shadow:
    0 24px 64px rgba(30, 55, 77, 0.13),
    0 4px 16px rgba(30, 55, 77, 0.06);
}

.re-user-subs-hero::after {
  content: "";
  position: absolute;
  right: -94px;
  bottom: -134px;
  width: 320px;
  height: 320px;
  border: 1px dashed rgba(42, 128, 151, 0.13);
  border-radius: 50%;
  pointer-events: none;
}

.re-user-subs-hero__content,
.re-user-subs-account {
  position: relative;
  z-index: 1;
}

.re-user-subs-kicker {
  display: inline-flex;
  align-items: center;
  width: max-content;
  min-height: 29px;
  margin-bottom: 11px;
  padding: 0 11px;
  border: 1px solid rgba(45, 117, 144, 0.12);
  border-radius: 999px;
  background: rgba(39, 143, 163, 0.08);
  color: #237d93;
  font-size: 10px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.re-user-subs-title {
  margin: 0;
  color: #284162;
  font-size: clamp(38px, 4.6vw, 56px);
  line-height: 1.01;
  font-weight: 830;
  letter-spacing: -0.05em;
}

.re-user-subs-lead {
  max-width: 740px;
  margin: 15px 0 0;
  color: #657b8d;
  font-size: 14px;
  line-height: 1.72;
}

.re-user-subs-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 20px;
}

.re-user-subs-actions a {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0 14px;
  border: 1px solid rgba(49, 91, 119, 0.13);
  border-radius: 11px;
  background: rgba(245, 249, 251, 0.82);
  color: #3b5c73;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
  transition:
    transform 0.16s ease,
    background 0.16s ease,
    border-color 0.16s ease,
    box-shadow 0.16s ease;
}

.re-user-subs-actions a:hover {
  transform: translateY(-1px);
  border-color: rgba(39, 133, 154, 0.22);
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(34, 68, 91, 0.08);
}

.re-user-subs-actions a.is-primary {
  border-color: transparent;
  background: linear-gradient(135deg, #217f98, #505b88);
  color: #ffffff;
  box-shadow: 0 9px 20px rgba(33, 96, 124, 0.15);
}


/* ==========================================================================
   ACCOUNT CARD
   ========================================================================== */

.re-user-subs-account {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 280px;
  padding: 14px;
  border: 1px solid rgba(50, 98, 127, 0.10);
  border-radius: 17px;
  background: rgba(246, 250, 252, 0.80);
}

.re-user-subs-avatar {
  display: flex;
  flex: 0 0 62px;
  width: 62px;
  height: 62px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 4px solid rgba(255,255,255,0.96);
  border-radius: 50%;
  background: #e6f0f3;
  color: #2e7287;
  box-shadow: 0 7px 18px rgba(32, 68, 92, 0.10);
}

.re-user-subs-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.re-user-subs-avatar svg {
  width: 29px;
  height: 29px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
}

.re-user-subs-account__meta {
  min-width: 0;
}

.re-user-subs-account__meta small {
  display: block;
  margin-bottom: 3px;
  color: #8a99a5;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.re-user-subs-account__meta strong {
  display: block;
  color: #38576e;
  font-size: 14px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.re-user-subs-account__meta span {
  display: block;
  margin-top: 4px;
  color: #738797;
  font-size: 11px;
}


/* ==========================================================================
   CURRENT PLAN
   ========================================================================== */

.re-user-subs-current {
  margin-top: 20px;
  overflow: hidden;
  border: 1px solid rgba(46, 98, 129, 0.14);
  border-radius: 20px;
  background: rgba(250, 253, 254, 0.87);
  box-shadow: 0 11px 32px rgba(30, 57, 78, 0.075);
}

.re-user-subs-current__head,
.re-user-subs-panel__head {
  display: flex;
  gap: 13px;
  align-items: center;
  padding: 20px 22px 17px;
  border-bottom: 1px solid rgba(50, 91, 117, 0.09);
}

.re-user-subs-current__icon,
.re-user-subs-panel__icon {
  display: flex;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(39, 139, 160, 0.09);
  color: #277f96;
}

.re-user-subs-current__icon svg,
.re-user-subs-panel__icon svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.re-user-subs-current__head h2,
.re-user-subs-panel__head h2 {
  margin: 0;
  color: #304b64;
  font-size: 17px;
  line-height: 1.2;
  font-weight: 820;
}

.re-user-subs-current__head p,
.re-user-subs-panel__head p {
  margin: 3px 0 0;
  color: #8293a0;
  font-size: 11px;
  line-height: 1.45;
}

.re-user-subs-current__body {
  padding: 20px 22px 22px;
}

.re-user-subs-current__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}

.re-user-subs-current__item {
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(49, 94, 122, 0.09);
  border-radius: 13px;
  background: rgba(244, 249, 251, 0.72);
}

.re-user-subs-current__item small {
  display: block;
  margin-bottom: 5px;
  color: #8797a4;
  font-size: 9px;
  font-weight: 790;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.re-user-subs-current__item strong {
  display: block;
  color: #395970;
  font-size: 13px;
  line-height: 1.4;
  font-weight: 820;
  overflow-wrap: anywhere;
}


/* ==========================================================================
   SUBSCRIPTIONS LIST
   ========================================================================== */

.re-user-subs-panel {
  margin-top: 20px;
  overflow: hidden;
  border: 1px solid rgba(46, 98, 129, 0.14);
  border-radius: 20px;
  background: rgba(250, 253, 254, 0.87);
  box-shadow: 0 11px 32px rgba(30, 57, 78, 0.075);
}

.re-user-subs-panel__body {
  min-width: 0;
  padding: 20px 22px 22px;
}

.re-user-subs-body {
  min-width: 0;
  color: #405c72;
}

.re-user-subs-body form,
.re-user-subs-body table {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

.re-user-subs-body table {
  border-collapse: separate;
  border-spacing: 0;
}

.re-user-subs-body td,
.re-user-subs-body th {
  box-sizing: border-box;
  padding: 11px 10px;
  border-bottom: 1px solid rgba(50, 91, 117, 0.08);
  color: #4b6478;
  font-size: 12px;
  line-height: 1.5;
  vertical-align: middle;
}

.re-user-subs-body th {
  background: rgba(236, 245, 248, 0.72);
  color: #3b586f;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.re-user-subs-body tr:hover td {
  background: rgba(239, 247, 249, 0.44);
}

.re-user-subs-body a {
  color: #247e99;
  font-weight: 760;
  text-decoration: none;
}

.re-user-subs-body a:hover {
  text-decoration: underline;
}

.re-user-subs-body input[type="text"],
.re-user-subs-body input[type="email"],
.re-user-subs-body input[type="password"],
.re-user-subs-body input[type="number"],
.re-user-subs-body select {
  width: 100%;
  min-height: 44px;
  box-sizing: border-box;
  padding: 9px 12px;
  border: 1px solid rgba(55, 96, 124, 0.20);
  border-radius: 11px;
  outline: none;
  background: rgba(245, 249, 251, 0.92);
  color: #284162;
  font-family: inherit;
  font-size: 13px;
}

.re-user-subs-body input[type="submit"],
.re-user-subs-body input[type="button"],
.re-user-subs-body button {
  min-height: 44px;
  box-sizing: border-box;
  padding: 0 16px;
  border: 0;
  border-radius: 11px;
  background: linear-gradient(135deg, #217f98, #505b88);
  color: #ffffff;
  font-family: inherit;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(33, 96, 124, 0.14);
}

.re-user-subs-body img {
  max-width: 100%;
  height: auto;
}


/* ==========================================================================
   FOOT INFO
   ========================================================================== */

.re-user-subs-footer {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 20px;
}

.re-user-subs-footer__card {
  padding: 18px;
  border: 1px solid rgba(46, 98, 129, 0.12);
  border-radius: 16px;
  background: rgba(248, 252, 253, 0.84);
}

.re-user-subs-footer__card strong {
  display: block;
  margin-bottom: 6px;
  color: #36566d;
  font-size: 13px;
  font-weight: 820;
}

.re-user-subs-footer__card p {
  margin: 0;
  color: #798c9a;
  font-size: 11px;
  line-height: 1.55;
}

.re-user-subs-footer__card a {
  color: #247e99;
  font-weight: 800;
  text-decoration: none;
}


/* ==========================================================================
   GUEST
   ========================================================================== */

.re-user-subs-guest {
  width: min(650px, 100%);
  margin: 0 auto;
  padding: 48px 34px;
  box-sizing: border-box;
  border: 1px solid rgba(46, 98, 129, 0.14);
  border-radius: 22px;
  background: rgba(250, 253, 254, 0.88);
  box-shadow: 0 14px 36px rgba(30, 57, 78, 0.08);
  text-align: center;
}

.re-user-subs-guest h1 {
  margin: 0;
  color: #284162;
  font-size: 34px;
  font-weight: 820;
  letter-spacing: -0.04em;
}

.re-user-subs-guest p {
  max-width: 520px;
  margin: 12px auto 22px;
  color: #718494;
  font-size: 14px;
  line-height: 1.65;
}

.re-user-subs-guest__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  justify-content: center;
}

.re-user-subs-guest__actions a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0 17px;
  border: 1px solid rgba(48, 91, 119, 0.13);
  border-radius: 11px;
  background: rgba(244, 249, 251, 0.82);
  color: #3d5e74;
  font-size: 12px;
  font-weight: 820;
  text-decoration: none;
}

.re-user-subs-guest__actions a:first-child {
  border-color: transparent;
  background: linear-gradient(135deg, #217f98, #505b88);
  color: #ffffff;
}


/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 1020px) {
  .re-user-subs-page {
    padding: 30px 16px 56px;
  }

  .re-user-subs-hero {
    grid-template-columns: 1fr;
  }

  .re-user-subs-account {
    width: min(390px, 100%);
    box-sizing: border-box;
  }

  .re-user-subs-current__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .re-user-subs-hero {
    padding: 30px 24px;
  }

  .re-user-subs-title {
    font-size: 37px;
  }

  .re-user-subs-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .re-user-subs-actions a {
    width: 100%;
  }

  .re-user-subs-current__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .re-user-subs-footer {
    grid-template-columns: 1fr;
  }

  .re-user-subs-body table,
  .re-user-subs-body tbody,
  .re-user-subs-body tr,
  .re-user-subs-body td,
  .re-user-subs-body th {
    display: block;
    width: 100% !important;
  }

  .re-user-subs-body tr {
    padding: 10px 0;
    border-bottom: 1px solid rgba(50, 91, 117, 0.08);
  }

  .re-user-subs-body td,
  .re-user-subs-body th {
    border-bottom: 0;
    padding: 5px 0;
  }

  .re-user-subs-body th {
    display: none;
  }
}

@media (max-width: 480px) {
  .re-user-subs-page {
    padding: 18px 10px 40px;
  }

  .re-user-subs-hero {
    padding: 24px 18px;
    border-radius: 20px;
  }

  .re-user-subs-title {
    font-size: 32px;
  }

  .re-user-subs-actions {
    grid-template-columns: 1fr;
  }

  .re-user-subs-current,
  .re-user-subs-panel {
    border-radius: 17px;
  }

  .re-user-subs-current__head,
  .re-user-subs-current__body,
  .re-user-subs-panel__head,
  .re-user-subs-panel__body {
    padding-left: 17px;
    padding-right: 17px;
  }

  .re-user-subs-current__grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   RUSSIAN EMIGRANT — USER PAYMENTS
   ========================================================================== */

.re-user-payments-page {
  width: 100%;
  padding: 46px 22px 76px;
  box-sizing: border-box;
}

.re-user-payments-shell {
  width: min(1160px, 100%);
  margin: 0 auto;
}

.re-user-payments-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  overflow: hidden;
  padding: 36px 40px;
  border: 1px solid rgba(46, 100, 132, 0.18);
  border-radius: 26px;
  background:
    radial-gradient(circle at 8% 10%, rgba(44, 151, 174, 0.11), transparent 29%),
    radial-gradient(circle at 94% 12%, rgba(80, 91, 136, 0.12), transparent 31%),
    rgba(250, 253, 254, 0.89);
  box-shadow:
    0 24px 64px rgba(30, 55, 77, 0.13),
    0 4px 16px rgba(30, 55, 77, 0.06);
}

.re-user-payments-hero::after {
  content: "";
  position: absolute;
  right: -94px;
  bottom: -134px;
  width: 320px;
  height: 320px;
  border: 1px dashed rgba(42, 128, 151, 0.13);
  border-radius: 50%;
  pointer-events: none;
}

.re-user-payments-hero__content,
.re-user-payments-account {
  position: relative;
  z-index: 1;
}

.re-user-payments-kicker {
  display: inline-flex;
  align-items: center;
  width: max-content;
  min-height: 29px;
  margin-bottom: 11px;
  padding: 0 11px;
  border: 1px solid rgba(45, 117, 144, 0.12);
  border-radius: 999px;
  background: rgba(39, 143, 163, 0.08);
  color: #237d93;
  font-size: 10px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.re-user-payments-title {
  margin: 0;
  color: #284162;
  font-size: clamp(38px, 4.6vw, 56px);
  line-height: 1.01;
  font-weight: 830;
  letter-spacing: -0.05em;
}

.re-user-payments-lead {
  max-width: 740px;
  margin: 15px 0 0;
  color: #657b8d;
  font-size: 14px;
  line-height: 1.72;
}

.re-user-payments-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 20px;
}

.re-user-payments-actions a {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0 14px;
  border: 1px solid rgba(49, 91, 119, 0.13);
  border-radius: 11px;
  background: rgba(245, 249, 251, 0.82);
  color: #3b5c73;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
  transition:
    transform 0.16s ease,
    background 0.16s ease,
    border-color 0.16s ease,
    box-shadow 0.16s ease;
}

.re-user-payments-actions a:hover {
  transform: translateY(-1px);
  border-color: rgba(39, 133, 154, 0.22);
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(34, 68, 91, 0.08);
}

.re-user-payments-actions a.is-primary {
  border-color: transparent;
  background: linear-gradient(135deg, #217f98, #505b88);
  color: #ffffff;
  box-shadow: 0 9px 20px rgba(33, 96, 124, 0.15);
}

.re-user-payments-account {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 280px;
  padding: 14px;
  border: 1px solid rgba(50, 98, 127, 0.10);
  border-radius: 17px;
  background: rgba(246, 250, 252, 0.80);
}

.re-user-payments-avatar {
  display: flex;
  flex: 0 0 62px;
  width: 62px;
  height: 62px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 4px solid rgba(255,255,255,0.96);
  border-radius: 50%;
  background: #e6f0f3;
  color: #2e7287;
  box-shadow: 0 7px 18px rgba(32, 68, 92, 0.10);
}

.re-user-payments-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.re-user-payments-avatar svg {
  width: 29px;
  height: 29px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
}

.re-user-payments-account__meta {
  min-width: 0;
}

.re-user-payments-account__meta small {
  display: block;
  margin-bottom: 3px;
  color: #8a99a5;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.re-user-payments-account__meta strong {
  display: block;
  color: #38576e;
  font-size: 14px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.re-user-payments-account__meta span {
  display: block;
  margin-top: 4px;
  color: #738797;
  font-size: 11px;
}

.re-user-payments-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 20px;
}

.re-user-payments-summary__item {
  min-width: 0;
  padding: 15px;
  border: 1px solid rgba(46, 98, 129, 0.12);
  border-radius: 15px;
  background: rgba(248, 252, 253, 0.84);
}

.re-user-payments-summary__item small {
  display: block;
  margin-bottom: 5px;
  color: #8797a4;
  font-size: 9px;
  font-weight: 790;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.re-user-payments-summary__item strong {
  display: block;
  color: #395970;
  font-size: 13px;
  line-height: 1.4;
  font-weight: 820;
  overflow-wrap: anywhere;
}

.re-user-payments-panel {
  margin-top: 20px;
  overflow: hidden;
  border: 1px solid rgba(46, 98, 129, 0.14);
  border-radius: 20px;
  background: rgba(250, 253, 254, 0.87);
  box-shadow: 0 11px 32px rgba(30, 57, 78, 0.075);
}

.re-user-payments-panel__head {
  display: flex;
  gap: 13px;
  align-items: center;
  padding: 20px 22px 17px;
  border-bottom: 1px solid rgba(50, 91, 117, 0.09);
}

.re-user-payments-panel__icon {
  display: flex;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(39, 139, 160, 0.09);
  color: #277f96;
}

.re-user-payments-panel__icon svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.re-user-payments-panel__head h2 {
  margin: 0;
  color: #304b64;
  font-size: 17px;
  line-height: 1.2;
  font-weight: 820;
}

.re-user-payments-panel__head p {
  margin: 3px 0 0;
  color: #8293a0;
  font-size: 11px;
  line-height: 1.45;
}

.re-user-payments-panel__body {
  min-width: 0;
  padding: 20px 22px 22px;
}

.re-user-payments-body {
  min-width: 0;
  color: #405c72;
}

.re-user-payments-body form,
.re-user-payments-body table {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

.re-user-payments-body table {
  border-collapse: separate;
  border-spacing: 0;
}

.re-user-payments-body td,
.re-user-payments-body th {
  box-sizing: border-box;
  padding: 11px 10px;
  border-bottom: 1px solid rgba(50, 91, 117, 0.08);
  color: #4b6478;
  font-size: 12px;
  line-height: 1.5;
  vertical-align: middle;
}

.re-user-payments-body th {
  background: rgba(236, 245, 248, 0.72);
  color: #3b586f;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.re-user-payments-body tr:hover td {
  background: rgba(239, 247, 249, 0.44);
}

.re-user-payments-body a {
  color: #247e99;
  font-weight: 760;
  text-decoration: none;
}

.re-user-payments-body a:hover {
  text-decoration: underline;
}

.re-user-payments-body input[type="text"],
.re-user-payments-body input[type="email"],
.re-user-payments-body input[type="number"],
.re-user-payments-body select {
  width: 100%;
  min-height: 44px;
  box-sizing: border-box;
  padding: 9px 12px;
  border: 1px solid rgba(55, 96, 124, 0.20);
  border-radius: 11px;
  outline: none;
  background: rgba(245, 249, 251, 0.92);
  color: #284162;
  font-family: inherit;
  font-size: 13px;
}

.re-user-payments-body input[type="submit"],
.re-user-payments-body input[type="button"],
.re-user-payments-body button {
  min-height: 44px;
  box-sizing: border-box;
  padding: 0 16px;
  border: 0;
  border-radius: 11px;
  background: linear-gradient(135deg, #217f98, #505b88);
  color: #ffffff;
  font-family: inherit;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(33, 96, 124, 0.14);
}

.re-user-payments-body img {
  max-width: 100%;
  height: auto;
}

.re-user-payments-footer {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 20px;
}

.re-user-payments-footer__card {
  padding: 18px;
  border: 1px solid rgba(46, 98, 129, 0.12);
  border-radius: 16px;
  background: rgba(248, 252, 253, 0.84);
}

.re-user-payments-footer__card strong {
  display: block;
  margin-bottom: 6px;
  color: #36566d;
  font-size: 13px;
  font-weight: 820;
}

.re-user-payments-footer__card p {
  margin: 0;
  color: #798c9a;
  font-size: 11px;
  line-height: 1.55;
}

.re-user-payments-footer__card a {
  color: #247e99;
  font-weight: 800;
  text-decoration: none;
}

.re-user-payments-guest {
  width: min(650px, 100%);
  margin: 0 auto;
  padding: 48px 34px;
  box-sizing: border-box;
  border: 1px solid rgba(46, 98, 129, 0.14);
  border-radius: 22px;
  background: rgba(250, 253, 254, 0.88);
  box-shadow: 0 14px 36px rgba(30, 57, 78, 0.08);
  text-align: center;
}

.re-user-payments-guest h1 {
  margin: 0;
  color: #284162;
  font-size: 34px;
  font-weight: 820;
  letter-spacing: -0.04em;
}

.re-user-payments-guest p {
  max-width: 520px;
  margin: 12px auto 22px;
  color: #718494;
  font-size: 14px;
  line-height: 1.65;
}

.re-user-payments-guest__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  justify-content: center;
}

.re-user-payments-guest__actions a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0 17px;
  border: 1px solid rgba(48, 91, 119, 0.13);
  border-radius: 11px;
  background: rgba(244, 249, 251, 0.82);
  color: #3d5e74;
  font-size: 12px;
  font-weight: 820;
  text-decoration: none;
}

.re-user-payments-guest__actions a:first-child {
  border-color: transparent;
  background: linear-gradient(135deg, #217f98, #505b88);
  color: #ffffff;
}

@media (max-width: 1020px) {
  .re-user-payments-page {
    padding: 30px 16px 56px;
  }

  .re-user-payments-hero {
    grid-template-columns: 1fr;
  }

  .re-user-payments-account {
    width: min(390px, 100%);
    box-sizing: border-box;
  }

  .re-user-payments-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .re-user-payments-hero {
    padding: 30px 24px;
  }

  .re-user-payments-title {
    font-size: 37px;
  }

  .re-user-payments-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .re-user-payments-actions a {
    width: 100%;
  }

  .re-user-payments-footer {
    grid-template-columns: 1fr;
  }

  .re-user-payments-body table,
  .re-user-payments-body tbody,
  .re-user-payments-body tr,
  .re-user-payments-body td,
  .re-user-payments-body th {
    display: block;
    width: 100% !important;
  }

  .re-user-payments-body tr {
    padding: 10px 0;
    border-bottom: 1px solid rgba(50, 91, 117, 0.08);
  }

  .re-user-payments-body td,
  .re-user-payments-body th {
    border-bottom: 0;
    padding: 5px 0;
  }

  .re-user-payments-body th {
    display: none;
  }
}

@media (max-width: 480px) {
  .re-user-payments-page {
    padding: 18px 10px 40px;
  }

  .re-user-payments-hero {
    padding: 24px 18px;
    border-radius: 20px;
  }

  .re-user-payments-title {
    font-size: 32px;
  }

  .re-user-payments-actions,
  .re-user-payments-summary {
    grid-template-columns: 1fr;
  }

  .re-user-payments-panel {
    border-radius: 17px;
  }

  .re-user-payments-panel__head,
  .re-user-payments-panel__body {
    padding-left: 17px;
    padding-right: 17px;
  }
}

/* ==========================================================================
   RUSSIAN EMIGRANT — TARIFF CARD
   ========================================================================== */

.re-tariff-card {
  position: relative;
  display: flex;
  min-width: 0;
  height: 100%;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(46, 98, 129, 0.14);
  border-radius: 20px;
  background: rgba(250, 253, 254, 0.90);
  box-shadow:
    0 14px 34px rgba(30, 57, 78, 0.08),
    0 2px 8px rgba(30, 57, 78, 0.035);
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease;
}

.re-tariff-card:hover {
  transform: translateY(-3px);
  border-color: rgba(39, 133, 154, 0.22);
  box-shadow:
    0 20px 44px rgba(30, 57, 78, 0.12),
    0 4px 12px rgba(30, 57, 78, 0.045);
}

.re-tariff-card.is-advantage {
  border-color: rgba(40, 137, 158, 0.24);
  box-shadow:
    0 18px 42px rgba(30, 76, 99, 0.12),
    0 3px 12px rgba(30, 57, 78, 0.04);
}

.re-tariff-card.is-subscribed {
  border-color: rgba(53, 132, 112, 0.22);
}


/* ==========================================================================
   COVER
   ========================================================================== */

.re-tariff-card__cover {
  position: relative;
  min-height: 158px;
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 18%, rgba(63, 174, 190, 0.20), transparent 32%),
    linear-gradient(145deg, #315b70 0%, #3e6680 50%, #505b88 100%);
}

.re-tariff-card__cover::after {
  content: "";
  position: absolute;
  right: -70px;
  bottom: -98px;
  width: 210px;
  height: 210px;
  border: 1px dashed rgba(238, 251, 252, 0.16);
  border-radius: 50%;
  pointer-events: none;
}

.re-tariff-card__cover img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 158px;
  max-height: 210px;
  object-fit: cover;
}

.re-tariff-card__number {
  position: absolute;
  z-index: 2;
  top: 14px;
  left: 14px;
  display: inline-flex;
  min-width: 32px;
  min-height: 28px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0 9px;
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 999px;
  background: rgba(24, 58, 76, 0.58);
  color: rgba(246, 252, 253, 0.92);
  font-size: 10px;
  line-height: 1;
  font-weight: 850;
  backdrop-filter: blur(8px);
}

.re-tariff-card__badge {
  position: absolute;
  z-index: 2;
  top: 14px;
  right: 14px;
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  max-width: calc(100% - 70px);
  padding: 0 10px;
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 999px;
  background: rgba(235, 250, 252, 0.92);
  color: #277d92;
  font-size: 9px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  box-shadow: 0 6px 16px rgba(15, 46, 61, 0.12);
}

.re-tariff-card__badge--active {
  background: rgba(234, 248, 243, 0.94);
  color: #397967;
}


/* ==========================================================================
   BODY
   ========================================================================== */

.re-tariff-card__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
  padding: 20px 20px 19px;
}

.re-tariff-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
  margin-bottom: 10px;
}

.re-tariff-card__type {
  display: inline-flex;
  min-height: 25px;
  align-items: center;
  padding: 0 9px;
  border: 1px solid rgba(46, 98, 129, 0.10);
  border-radius: 999px;
  background: rgba(239, 247, 249, 0.70);
  color: #5f7789;
  font-size: 9px;
  line-height: 1;
  font-weight: 820;
  text-transform: uppercase;
  letter-spacing: 0.045em;
}

.re-tariff-card__id {
  color: #92a0aa;
  font-size: 9px;
  font-weight: 760;
}

.re-tariff-card__title {
  margin: 0;
  color: #304b64;
  font-size: 22px;
  line-height: 1.16;
  font-weight: 840;
  letter-spacing: -0.025em;
}

.re-tariff-card__description {
  margin: 10px 0 0;
  color: #718696;
  font-size: 12px;
  line-height: 1.6;
}


/* ==========================================================================
   PRICE
   ========================================================================== */

.re-tariff-card__pricebox {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 10px;
  align-items: baseline;
  margin-top: 18px;
  padding: 15px 0 14px;
  border-top: 1px solid rgba(50, 91, 117, 0.08);
  border-bottom: 1px solid rgba(50, 91, 117, 0.08);
}

.re-tariff-card__price {
  color: #2e5068;
  font-size: 29px;
  line-height: 1;
  font-weight: 860;
  letter-spacing: -0.04em;
}

.re-tariff-card__oldprice {
  color: #99a6af;
  font-size: 12px;
  line-height: 1;
  font-weight: 720;
  text-decoration: line-through;
}

.re-tariff-card__currency-note {
  width: 100%;
  margin-top: 1px;
  color: #8a9aa5;
  font-size: 9px;
  line-height: 1.35;
}


/* ==========================================================================
   ADVANTAGES
   ========================================================================== */

.re-tariff-card__advantages {
  margin-top: 16px;
}

.re-tariff-card__advantages-title {
  display: block;
  margin-bottom: 9px;
  color: #60788a;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 0.065em;
  text-transform: uppercase;
}

.re-tariff-card__advantages ul,
.re-tariff-card__advantages ol {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.re-tariff-card__advantages li {
  position: relative;
  margin: 0;
  padding-left: 20px;
  color: #587184;
  font-size: 11px;
  line-height: 1.45;
}

.re-tariff-card__advantages li::before {
  content: "✓";
  position: absolute;
  top: 0;
  left: 0;
  color: #2c8498;
  font-size: 11px;
  font-weight: 900;
}

.re-tariff-card__advantages > *:not(ul):not(ol) {
  color: #587184;
  font-size: 11px;
  line-height: 1.5;
}


/* ==========================================================================
   FOOTER / BUY BUTTON
   ========================================================================== */

.re-tariff-card__footer {
  margin-top: auto;
  padding-top: 19px;
}

.re-tariff-card__status {
  display: flex;
  gap: 9px;
  align-items: flex-start;
  margin-bottom: 11px;
  padding: 11px 12px;
  border: 1px solid rgba(53, 132, 112, 0.11);
  border-radius: 11px;
  background: rgba(232, 247, 242, 0.52);
}

.re-tariff-card__status-dot {
  flex: 0 0 7px;
  width: 7px;
  height: 7px;
  margin-top: 4px;
  border-radius: 50%;
  background: #468d78;
  box-shadow: 0 0 0 4px rgba(70, 141, 120, 0.09);
}

.re-tariff-card__status strong {
  display: block;
  margin-bottom: 2px;
  color: #3d6d61;
  font-size: 11px;
}

.re-tariff-card__status small {
  display: block;
  color: #799087;
  font-size: 9px;
  line-height: 1.4;
}

.re-tariff-card__buy {
  min-width: 0;
}

.re-tariff-card__buy a,
.re-tariff-card__buy input[type="submit"],
.re-tariff-card__buy input[type="button"],
.re-tariff-card__buy button {
  display: flex !important;
  width: 100% !important;
  min-height: 47px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0 16px !important;
  border: 0 !important;
  border-radius: 11px !important;
  background: linear-gradient(135deg, #217f98, #505b88) !important;
  color: #ffffff !important;
  font-family: inherit !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  line-height: 1.2;
  text-align: center;
  text-decoration: none !important;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(33, 96, 124, 0.14);
  transition:
    transform 0.16s ease,
    box-shadow 0.16s ease,
    filter 0.16s ease;
}

.re-tariff-card__buy a:hover,
.re-tariff-card__buy input[type="submit"]:hover,
.re-tariff-card__buy input[type="button"]:hover,
.re-tariff-card__buy button:hover {
  transform: translateY(-1px);
  box-shadow: 0 11px 22px rgba(33, 96, 124, 0.19);
  filter: brightness(1.04);
}

.re-tariff-card__guest-note {
  margin: 9px 0 0;
  color: #8b9aa5;
  font-size: 9px;
  line-height: 1.4;
  text-align: center;
}


/* ==========================================================================
   GRID HELPERS FOR SYSTEM LISTS
   ========================================================================== */

.re-subscriptions-body {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
}

.re-subscriptions-body > .re-tariff-card {
  min-width: 0;
}


/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 980px) {
  .re-subscriptions-body {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .re-subscriptions-body {
    grid-template-columns: 1fr;
  }

  .re-tariff-card__title {
    font-size: 20px;
  }

  .re-tariff-card__price {
    font-size: 27px;
  }
}

/* ==========================================================================
   RUSSIAN EMIGRANT — ORDER PAGE
   ========================================================================== */

.re-order-page {
  width: 100%;
  padding: 46px 22px 76px;
  box-sizing: border-box;
}

.re-order-shell {
  width: min(1180px, 100%);
  margin: 0 auto;
}


/* ==========================================================================
   HERO
   ========================================================================== */

.re-order-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  overflow: hidden;
  padding: 36px 40px;
  border: 1px solid rgba(46, 100, 132, 0.18);
  border-radius: 26px;
  background:
    radial-gradient(circle at 8% 10%, rgba(44, 151, 174, 0.11), transparent 29%),
    radial-gradient(circle at 94% 12%, rgba(80, 91, 136, 0.12), transparent 31%),
    rgba(250, 253, 254, 0.89);
  box-shadow:
    0 24px 64px rgba(30, 55, 77, 0.13),
    0 4px 16px rgba(30, 55, 77, 0.06);
}

.re-order-hero::after {
  content: "";
  position: absolute;
  right: -94px;
  bottom: -134px;
  width: 320px;
  height: 320px;
  border: 1px dashed rgba(42, 128, 151, 0.13);
  border-radius: 50%;
  pointer-events: none;
}

.re-order-hero__content,
.re-order-hero__summary {
  position: relative;
  z-index: 1;
}

.re-order-kicker {
  display: inline-flex;
  align-items: center;
  width: max-content;
  min-height: 29px;
  margin-bottom: 11px;
  padding: 0 11px;
  border: 1px solid rgba(45, 117, 144, 0.12);
  border-radius: 999px;
  background: rgba(39, 143, 163, 0.08);
  color: #237d93;
  font-size: 10px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.re-order-title {
  margin: 0;
  color: #284162;
  font-size: clamp(38px, 4.6vw, 56px);
  line-height: 1.01;
  font-weight: 830;
  letter-spacing: -0.05em;
}

.re-order-lead {
  max-width: 760px;
  margin: 15px 0 0;
  color: #657b8d;
  font-size: 14px;
  line-height: 1.72;
}

.re-order-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 20px;
}

.re-order-actions a,
.re-order-actions input,
.re-order-actions button {
  display: inline-flex !important;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0 14px !important;
  border: 1px solid rgba(49, 91, 119, 0.13) !important;
  border-radius: 11px !important;
  background: rgba(245, 249, 251, 0.82) !important;
  color: #3b5c73 !important;
  font-family: inherit !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.2;
  text-decoration: none !important;
  cursor: pointer;
}

.re-order-actions a:hover,
.re-order-actions input:hover,
.re-order-actions button:hover {
  border-color: rgba(39, 133, 154, 0.22) !important;
  background: #ffffff !important;
}

.re-order-actions .re-order-pay,
.re-order-actions .re-order-pay a,
.re-order-actions .re-order-pay input,
.re-order-actions .re-order-pay button {
  border-color: transparent !important;
  background: linear-gradient(135deg, #217f98, #505b88) !important;
  color: #ffffff !important;
  box-shadow: 0 9px 20px rgba(33, 96, 124, 0.15);
}


/* ==========================================================================
   HERO SUMMARY
   ========================================================================== */

.re-order-hero__summary {
  display: grid;
  gap: 10px;
  width: 280px;
}

.re-order-summary-card {
  padding: 14px 15px;
  border: 1px solid rgba(50, 98, 127, 0.10);
  border-radius: 15px;
  background: rgba(246, 250, 252, 0.80);
}

.re-order-summary-card small {
  display: block;
  margin-bottom: 5px;
  color: #8999a5;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.re-order-summary-card strong {
  display: block;
  color: #35576e;
  font-size: 15px;
  line-height: 1.35;
  font-weight: 830;
  overflow-wrap: anywhere;
}

.re-order-summary-card--total strong {
  font-size: 26px;
  letter-spacing: -0.03em;
}


/* ==========================================================================
   LAYOUT
   ========================================================================== */

.re-order-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 20px;
  align-items: start;
  margin-top: 20px;
}

.re-order-panel {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(46, 98, 129, 0.14);
  border-radius: 20px;
  background: rgba(250, 253, 254, 0.87);
  box-shadow: 0 11px 32px rgba(30, 57, 78, 0.075);
}

.re-order-panel__head {
  display: flex;
  gap: 13px;
  align-items: center;
  padding: 20px 22px 17px;
  border-bottom: 1px solid rgba(50, 91, 117, 0.09);
}

.re-order-panel__icon {
  display: flex;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(39, 139, 160, 0.09);
  color: #277f96;
}

.re-order-panel__icon svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.re-order-panel__head h2 {
  margin: 0;
  color: #304b64;
  font-size: 17px;
  line-height: 1.2;
  font-weight: 820;
}

.re-order-panel__head p {
  margin: 3px 0 0;
  color: #8293a0;
  font-size: 11px;
  line-height: 1.45;
}

.re-order-panel__body {
  min-width: 0;
  padding: 20px 22px 22px;
}


/* ==========================================================================
   ORDER BODY
   ========================================================================== */

.re-order-body {
  min-width: 0;
  color: #405c72;
}

.re-order-body form,
.re-order-body table {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

.re-order-body table {
  border-collapse: separate;
  border-spacing: 0;
}

.re-order-body td,
.re-order-body th {
  box-sizing: border-box;
  padding: 11px 10px;
  border-bottom: 1px solid rgba(50, 91, 117, 0.08);
  color: #4b6478;
  font-size: 12px;
  line-height: 1.55;
  vertical-align: middle;
}

.re-order-body th {
  background: rgba(236, 245, 248, 0.72);
  color: #3b586f;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.re-order-body tr:hover td {
  background: rgba(239, 247, 249, 0.44);
}

.re-order-body a {
  color: #247e99;
  font-weight: 760;
  text-decoration: none;
}

.re-order-body a:hover {
  text-decoration: underline;
}

.re-order-body input[type="text"],
.re-order-body input[type="email"],
.re-order-body input[type="tel"],
.re-order-body input[type="number"],
.re-order-body select,
.re-order-body textarea {
  width: 100% !important;
  min-height: 44px;
  box-sizing: border-box;
  padding: 9px 12px;
  border: 1px solid rgba(55, 96, 124, 0.20);
  border-radius: 11px;
  outline: none;
  background: rgba(245, 249, 251, 0.92);
  color: #284162;
  font-family: inherit;
  font-size: 13px;
}

.re-order-body textarea {
  min-height: 110px;
  resize: vertical;
}

.re-order-body input[type="submit"],
.re-order-body input[type="button"],
.re-order-body button {
  min-height: 44px;
  box-sizing: border-box;
  padding: 0 16px;
  border: 0;
  border-radius: 11px;
  background: linear-gradient(135deg, #217f98, #505b88);
  color: #ffffff;
  font-family: inherit;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(33, 96, 124, 0.14);
}

.re-order-body img {
  max-width: 100%;
  height: auto;
}


/* ==========================================================================
   SIDE INFO
   ========================================================================== */

.re-order-side {
  display: grid;
  gap: 20px;
}

.re-order-info {
  display: grid;
  gap: 9px;
}

.re-order-info__item {
  padding: 13px 14px;
  border: 1px solid rgba(49, 94, 122, 0.09);
  border-radius: 12px;
  background: rgba(244, 249, 251, 0.72);
}

.re-order-info__item small {
  display: block;
  margin-bottom: 4px;
  color: #8797a4;
  font-size: 9px;
  font-weight: 790;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.re-order-info__item strong {
  display: block;
  color: #3c596f;
  font-size: 13px;
  line-height: 1.4;
  font-weight: 820;
  overflow-wrap: anywhere;
}

.re-order-note {
  padding: 14px;
  border: 1px solid rgba(40, 136, 157, 0.10);
  border-radius: 13px;
  background: rgba(228, 246, 248, 0.40);
}

.re-order-note strong {
  display: block;
  margin-bottom: 4px;
  color: #3b596f;
  font-size: 12px;
}

.re-order-note p {
  margin: 0;
  color: #80919e;
  font-size: 11px;
  line-height: 1.55;
}

.re-order-extra-actions {
  display: grid;
  gap: 9px;
}

.re-order-extra-actions > * {
  max-width: 100%;
}

.re-order-extra-actions a,
.re-order-extra-actions input,
.re-order-extra-actions button {
  display: flex !important;
  width: 100% !important;
  min-height: 43px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0 13px !important;
  border: 1px solid rgba(50, 93, 120, 0.09) !important;
  border-radius: 12px !important;
  background: rgba(244, 249, 251, 0.72) !important;
  color: #3f6178 !important;
  font-family: inherit !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  text-decoration: none !important;
  cursor: pointer;
}

.re-order-extra-actions a:hover,
.re-order-extra-actions input:hover,
.re-order-extra-actions button:hover {
  border-color: rgba(39, 133, 154, 0.20) !important;
  background: #ffffff !important;
}


/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 980px) {
  .re-order-page {
    padding: 30px 16px 56px;
  }

  .re-order-hero {
    grid-template-columns: 1fr;
  }

  .re-order-hero__summary {
    width: min(440px, 100%);
  }

  .re-order-layout {
    grid-template-columns: 1fr;
  }

  .re-order-side {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .re-order-hero {
    padding: 30px 24px;
  }

  .re-order-title {
    font-size: 36px;
  }

  .re-order-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .re-order-actions > * {
    width: 100%;
  }

  .re-order-side {
    grid-template-columns: 1fr;
  }

  .re-order-body table,
  .re-order-body tbody,
  .re-order-body tr,
  .re-order-body td,
  .re-order-body th {
    display: block;
    width: 100% !important;
  }

  .re-order-body tr {
    padding: 10px 0;
    border-bottom: 1px solid rgba(50, 91, 117, 0.08);
  }

  .re-order-body td,
  .re-order-body th {
    border-bottom: 0;
    padding: 5px 0;
  }

  .re-order-body th {
    display: none;
  }
}

@media (max-width: 480px) {
  .re-order-page {
    padding: 18px 10px 40px;
  }

  .re-order-hero {
    padding: 24px 18px;
    border-radius: 20px;
  }

  .re-order-title {
    font-size: 32px;
  }

  .re-order-actions {
    grid-template-columns: 1fr;
  }

  .re-order-panel {
    border-radius: 17px;
  }

  .re-order-panel__head,
  .re-order-panel__body {
    padding-left: 17px;
    padding-right: 17px;
  }
}

/* ==========================================================================
   RUSSIAN EMIGRANT — CATALOG PRODUCT CARD
   ========================================================================== */

.re-product-card {
  position: relative;
  display: flex;
  min-width: 0;
  height: 100%;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(46, 98, 129, 0.14);
  border-radius: 20px;
  background: rgba(250, 253, 254, 0.90);
  box-shadow:
    0 14px 34px rgba(30, 57, 78, 0.08),
    0 2px 8px rgba(30, 57, 78, 0.035);
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease;
}

.re-product-card:hover {
  transform: translateY(-3px);
  border-color: rgba(39, 133, 154, 0.22);
  box-shadow:
    0 20px 44px rgba(30, 57, 78, 0.12),
    0 4px 12px rgba(30, 57, 78, 0.045);
}


/* ==========================================================================
   IMAGE
   ========================================================================== */

.re-product-card__media {
  position: relative;
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 18%, rgba(63, 174, 190, 0.12), transparent 32%),
    linear-gradient(145deg, #eef6f8 0%, #e8f0f4 50%, #e9ebf2 100%);
}

.re-product-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.28s ease;
}

.re-product-card:hover .re-product-card__media img {
  transform: scale(1.025);
}

.re-product-card__media::after {
  content: "";
  position: absolute;
  right: -72px;
  bottom: -100px;
  width: 210px;
  height: 210px;
  border: 1px dashed rgba(54, 118, 143, 0.10);
  border-radius: 50%;
  pointer-events: none;
}

.re-product-card__topline {
  position: absolute;
  z-index: 2;
  top: 13px;
  left: 13px;
  right: 13px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  pointer-events: none;
}

.re-product-card__category,
.re-product-card__stock {
  display: inline-flex;
  min-height: 27px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  max-width: 70%;
  padding: 0 9px;
  border: 1px solid rgba(255,255,255,0.20);
  border-radius: 999px;
  background: rgba(31, 65, 82, 0.64);
  color: rgba(247, 252, 253, 0.94);
  font-size: 9px;
  line-height: 1;
  font-weight: 850;
  backdrop-filter: blur(8px);
}

.re-product-card__stock {
  max-width: 45%;
  background: rgba(235, 249, 244, 0.94);
  color: #3b796a;
  border-color: rgba(255,255,255,0.28);
}


/* ==========================================================================
   CONTENT
   ========================================================================== */

.re-product-card__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
  padding: 18px 19px 18px;
}

.re-product-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  align-items: center;
  margin-bottom: 9px;
  color: #8999a5;
  font-size: 9px;
  line-height: 1.35;
}

.re-product-card__brand {
  color: #5f788a;
  font-weight: 830;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

.re-product-card__art {
  color: #98a5ae;
}

.re-product-card__name {
  margin: 0;
  color: #304b64;
  font-size: 20px;
  line-height: 1.18;
  font-weight: 840;
  letter-spacing: -0.025em;
}

.re-product-card__name a {
  color: inherit;
  text-decoration: none;
}

.re-product-card__name a:hover {
  color: #247e99;
}

.re-product-card__facts {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 11px;
}

.re-product-card__fact {
  display: inline-flex;
  min-height: 27px;
  align-items: center;
  padding: 0 9px;
  border: 1px solid rgba(48, 91, 119, 0.09);
  border-radius: 999px;
  background: rgba(241, 247, 249, 0.70);
  color: #6d8291;
  font-size: 9px;
  font-weight: 760;
}


/* ==========================================================================
   PRICE
   ========================================================================== */

.re-product-card__pricebox {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 10px;
  align-items: baseline;
  margin-top: 17px;
  padding: 14px 0 13px;
  border-top: 1px solid rgba(50, 91, 117, 0.08);
  border-bottom: 1px solid rgba(50, 91, 117, 0.08);
}

.re-product-card__price {
  color: #2e5068;
  font-size: 27px;
  line-height: 1;
  font-weight: 860;
  letter-spacing: -0.04em;
}

.re-product-card__oldprice {
  color: #99a6af;
  font-size: 12px;
  line-height: 1;
  font-weight: 720;
  text-decoration: line-through;
}

.re-product-card__unit {
  width: 100%;
  color: #8a9aa5;
  font-size: 9px;
  line-height: 1.35;
}


/* ==========================================================================
   STATS
   ========================================================================== */

.re-product-card__stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  margin-top: 14px;
}

.re-product-card__stat {
  min-width: 0;
  padding: 9px 8px;
  border: 1px solid rgba(49, 94, 122, 0.08);
  border-radius: 10px;
  background: rgba(244, 249, 251, 0.62);
  text-align: center;
}

.re-product-card__stat small {
  display: block;
  margin-bottom: 3px;
  color: #96a3ad;
  font-size: 8px;
  font-weight: 760;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.re-product-card__stat strong {
  display: block;
  color: #536d80;
  font-size: 11px;
  font-weight: 820;
}


/* ==========================================================================
   FOOTER / BASKET
   ========================================================================== */

.re-product-card__footer {
  margin-top: auto;
  padding-top: 16px;
}

.re-product-card__basket {
  min-width: 0;
}

.re-product-card__basket a,
.re-product-card__basket input[type="submit"],
.re-product-card__basket input[type="button"],
.re-product-card__basket button,
.re-product-card__basket img {
  max-width: 100%;
}

.re-product-card__basket a,
.re-product-card__basket input[type="submit"],
.re-product-card__basket input[type="button"],
.re-product-card__basket button {
  display: flex !important;
  width: 100% !important;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0 15px !important;
  border: 0 !important;
  border-radius: 11px !important;
  background: linear-gradient(135deg, #217f98, #505b88) !important;
  color: #ffffff !important;
  font-family: inherit !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  line-height: 1.2;
  text-decoration: none !important;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(33, 96, 124, 0.14);
  transition:
    transform 0.16s ease,
    box-shadow 0.16s ease,
    filter 0.16s ease;
}

.re-product-card__basket a:hover,
.re-product-card__basket input[type="submit"]:hover,
.re-product-card__basket input[type="button"]:hover,
.re-product-card__basket button:hover {
  transform: translateY(-1px);
  box-shadow: 0 11px 22px rgba(33, 96, 124, 0.19);
  filter: brightness(1.04);
}


/* ==========================================================================
   OPTIONAL CATALOG GRID HELPERS
   ========================================================================== */

.re-shop-catalog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
}


/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 980px) {
  .re-shop-catalog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .re-shop-catalog-grid {
    grid-template-columns: 1fr;
  }

  .re-product-card__name {
    font-size: 19px;
  }

  .re-product-card__price {
    font-size: 25px;
  }
}

/* ==========================================================================
   RUSSIAN EMIGRANT — COMMENT / REVIEW VIEW
   ========================================================================== */

.re-comment-card {
  position: relative;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 15px;
  min-width: 0;
  margin: 0 0 14px;
  padding: 18px;
  box-sizing: border-box;
  border: 1px solid rgba(46, 98, 129, 0.13);
  border-radius: 18px;
  background: rgba(250, 253, 254, 0.91);
  box-shadow:
    0 10px 28px rgba(30, 57, 78, 0.065),
    0 2px 7px rgba(30, 57, 78, 0.025);
  transition:
    transform 0.16s ease,
    border-color 0.16s ease,
    box-shadow 0.16s ease;
}

.re-comment-card:hover {
  transform: translateY(-1px);
  border-color: rgba(39, 133, 154, 0.20);
  box-shadow:
    0 14px 32px rgba(30, 57, 78, 0.085),
    0 3px 9px rgba(30, 57, 78, 0.03);
}

.re-comment-card[data-level="1"],
.re-comment-card[data-level="2"],
.re-comment-card[data-level="3"],
.re-comment-card[data-level="4"],
.re-comment-card[data-level="5"] {
  margin-left: 28px;
}

.re-comment-card[data-level="2"] {
  margin-left: 48px;
}

.re-comment-card[data-level="3"] {
  margin-left: 68px;
}

.re-comment-card[data-level="4"] {
  margin-left: 88px;
}

.re-comment-card[data-level="5"] {
  margin-left: 108px;
}

.re-comment-card[data-level="1"]::before,
.re-comment-card[data-level="2"]::before,
.re-comment-card[data-level="3"]::before,
.re-comment-card[data-level="4"]::before,
.re-comment-card[data-level="5"]::before {
  content: "";
  position: absolute;
  top: 22px;
  left: -15px;
  width: 10px;
  height: 24px;
  border-left: 1px solid rgba(67, 119, 143, 0.16);
  border-bottom: 1px solid rgba(67, 119, 143, 0.16);
  border-bottom-left-radius: 8px;
}


/* ==========================================================================
   AVATAR
   ========================================================================== */

.re-comment-card__avatar {
  position: relative;
  display: flex;
  width: 58px;
  height: 58px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 4px solid rgba(255,255,255,0.96);
  border-radius: 50%;
  background:
    radial-gradient(circle at 30% 25%, rgba(60, 164, 184, 0.18), transparent 35%),
    #e8f1f4;
  color: #2e7488;
  box-shadow: 0 7px 18px rgba(32, 68, 92, 0.10);
}

.re-comment-card__avatar img {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.re-comment-card__avatar img[src=""] {
  display: none;
}

.re-comment-card__avatar svg {
  width: 27px;
  height: 27px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
}


/* ==========================================================================
   HEADER
   ========================================================================== */

.re-comment-card__main {
  min-width: 0;
}

.re-comment-card__head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
}

.re-comment-card__author {
  min-width: 0;
}

.re-comment-card__author-top {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 8px;
  align-items: center;
}

.re-comment-card__name {
  color: #304f66;
  font-size: 13px;
  line-height: 1.25;
  font-weight: 850;
  overflow-wrap: anywhere;
}

.re-comment-card__name a {
  color: inherit;
  text-decoration: none;
}

.re-comment-card__name a:hover {
  color: #247e99;
}

.re-comment-card__badge {
  display: inline-flex;
  min-height: 23px;
  align-items: center;
  padding: 0 8px;
  border: 1px solid rgba(49, 101, 128, 0.09);
  border-radius: 999px;
  background: rgba(240, 247, 249, 0.82);
  color: #728796;
  font-size: 8px;
  line-height: 1;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.re-comment-card__badge--buyer {
  border-color: rgba(58, 136, 115, 0.11);
  background: rgba(233, 247, 243, 0.80);
  color: #407868;
}

.re-comment-card__badge--new {
  border-color: rgba(42, 143, 163, 0.11);
  background: rgba(231, 247, 249, 0.86);
  color: #287f94;
}

.re-comment-card__badge--own {
  border-color: rgba(80, 91, 136, 0.11);
  background: rgba(238, 240, 247, 0.86);
  color: #596489;
}

.re-comment-card__sub {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  margin-top: 5px;
  color: #8a9aa5;
  font-size: 9px;
  line-height: 1.4;
}

.re-comment-card__sub a {
  color: #718899;
  text-decoration: none;
}

.re-comment-card__sub a[href=""] {
  display: none;
}

.re-comment-card__sub a:hover {
  color: #247e99;
}

.re-comment-card__number {
  flex: 0 0 auto;
  color: #9aa6ae;
  font-size: 10px;
  font-weight: 800;
}


/* ==========================================================================
   REVIEWED ITEM
   ========================================================================== */

.re-comment-card__item {
  display: flex;
  gap: 9px;
  align-items: center;
  margin-top: 12px;
  padding: 10px 11px;
  border: 1px solid rgba(48, 93, 120, 0.08);
  border-radius: 11px;
  background: rgba(244, 249, 251, 0.64);
}

.re-comment-card__item:has(a:empty) {
  display: none;
}

.re-comment-card__item-label {
  color: #8c9aa5;
  font-size: 8px;
  font-weight: 820;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.re-comment-card__item a {
  min-width: 0;
  color: #47657a;
  font-size: 10px;
  line-height: 1.35;
  font-weight: 760;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.re-comment-card__item a:hover {
  color: #247e99;
}


/* ==========================================================================
   MESSAGE
   ========================================================================== */

.re-comment-card__message {
  margin-top: 13px;
  color: #4e687b;
  font-size: 12px;
  line-height: 1.68;
  overflow-wrap: anywhere;
}

.re-comment-card__message p:first-child {
  margin-top: 0;
}

.re-comment-card__message p:last-child {
  margin-bottom: 0;
}

.re-comment-card__message img {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
}

.re-comment-card__message a {
  color: #247e99;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}


/* ==========================================================================
   ANSWER
   ========================================================================== */

.re-comment-card__answer-wrap:empty {
  display: none;
}

.re-comment-card__answer-wrap:not(:empty) {
  position: relative;
  margin-top: 14px;
  padding: 13px 14px 13px 42px;
  border: 1px solid rgba(80, 91, 136, 0.10);
  border-radius: 12px;
  background: rgba(239, 241, 247, 0.68);
  color: #52677a;
  font-size: 11px;
  line-height: 1.58;
}

.re-comment-card__answer-wrap:not(:empty)::before {
  content: "↳";
  position: absolute;
  top: 12px;
  left: 14px;
  color: #626f95;
  font-size: 17px;
  line-height: 1;
  font-weight: 800;
}


/* ==========================================================================
   FOOTER / ACTIONS
   ========================================================================== */

.re-comment-card__footer {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  align-items: center;
  justify-content: space-between;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(50, 91, 117, 0.08);
}

.re-comment-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
}

.re-comment-card__reply:empty,
.re-comment-card__moder:empty,
.re-comment-card__moder-right:empty {
  display: none;
}

.re-comment-card__reply a,
.re-comment-card__reply input,
.re-comment-card__reply button,
.re-comment-card__moder a,
.re-comment-card__moder input,
.re-comment-card__moder button {
  display: inline-flex !important;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0 10px !important;
  border: 1px solid rgba(49, 91, 119, 0.11) !important;
  border-radius: 9px !important;
  background: rgba(244, 249, 251, 0.80) !important;
  color: #506b7e !important;
  font-family: inherit !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  line-height: 1.2;
  text-decoration: none !important;
  cursor: pointer;
}

.re-comment-card__reply a:hover,
.re-comment-card__reply input:hover,
.re-comment-card__reply button:hover,
.re-comment-card__moder a:hover,
.re-comment-card__moder input:hover,
.re-comment-card__moder button:hover {
  border-color: rgba(39, 133, 154, 0.20) !important;
  background: #ffffff !important;
  color: #247e99 !important;
}

.re-comment-card__meta-bottom {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  color: #98a4ad;
  font-size: 8px;
  line-height: 1.35;
}

.re-comment-card__moder img {
  max-width: 18px;
  height: auto;
  vertical-align: middle;
}

.re-comment-card__moder table,
.re-comment-card__moder td {
  border: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

.re-comment-card__moder-right {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 5;
}


/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 720px) {
  .re-comment-card[data-level="1"],
  .re-comment-card[data-level="2"],
  .re-comment-card[data-level="3"],
  .re-comment-card[data-level="4"],
  .re-comment-card[data-level="5"] {
    margin-left: 16px;
  }
}

@media (max-width: 520px) {
  .re-comment-card {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 11px;
    padding: 14px;
    border-radius: 15px;
  }

  .re-comment-card__avatar {
    width: 44px;
    height: 44px;
    border-width: 3px;
  }

  .re-comment-card__avatar svg {
    width: 21px;
    height: 21px;
  }

  .re-comment-card__head {
    gap: 8px;
  }

  .re-comment-card__number {
    font-size: 9px;
  }

  .re-comment-card__footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .re-comment-card[data-level="1"],
  .re-comment-card[data-level="2"],
  .re-comment-card[data-level="3"],
  .re-comment-card[data-level="4"],
  .re-comment-card[data-level="5"] {
    margin-left: 8px;
  }

  .re-comment-card[data-level="1"]::before,
  .re-comment-card[data-level="2"]::before,
  .re-comment-card[data-level="3"]::before,
  .re-comment-card[data-level="4"]::before,
  .re-comment-card[data-level="5"]::before {
    display: none;
  }
}

/* ==========================================================================
   RUSSIAN EMIGRANT — ADD COMMENT FORM
   ========================================================================== */

.re-comment-form {
  position: relative;
  min-width: 0;
  padding: 20px;
  box-sizing: border-box;
  border: 1px solid rgba(46, 98, 129, 0.13);
  border-radius: 19px;
  background: rgba(250, 253, 254, 0.92);
  box-shadow:
    0 12px 32px rgba(30, 57, 78, 0.07),
    0 2px 8px rgba(30, 57, 78, 0.025);
}

.re-comment-form__head {
  display: flex;
  gap: 13px;
  align-items: center;
  margin-bottom: 17px;
}

.re-comment-form__icon {
  display: flex;
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(39, 139, 160, 0.09);
  color: #277f96;
}

.re-comment-form__icon svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.re-comment-form__head h3 {
  margin: 0;
  color: #304b64;
  font-size: 17px;
  line-height: 1.2;
  font-weight: 820;
}

.re-comment-form__head p {
  margin: 3px 0 0;
  color: #8293a0;
  font-size: 11px;
  line-height: 1.45;
}


/* ==========================================================================
   ERROR
   ========================================================================== */

.re-comment-form__error {
  margin-bottom: 14px;
  padding: 11px 13px;
  border: 1px solid rgba(164, 76, 83, 0.12);
  border-radius: 11px;
  background: rgba(252, 241, 242, 0.76);
  color: #9a5057;
  font-size: 11px;
  line-height: 1.55;
}

.re-comment-form__error:empty {
  display: none;
}


/* ==========================================================================
   GUEST FIELDS
   ========================================================================== */

.re-comment-form__guest {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}

.re-comment-form__field {
  min-width: 0;
}

.re-comment-form__field label {
  display: block;
  margin: 0 0 6px;
  color: #657d8e;
  font-size: 9px;
  font-weight: 820;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.re-comment-form__field input {
  width: 100%;
  min-height: 44px;
  box-sizing: border-box;
  padding: 9px 12px;
  border: 1px solid rgba(55, 96, 124, 0.18);
  border-radius: 11px;
  outline: none;
  background: rgba(245, 249, 251, 0.92);
  color: #304c64;
  font-family: inherit;
  font-size: 12px;
  transition:
    border-color 0.17s ease,
    box-shadow 0.17s ease,
    background 0.17s ease;
}

.re-comment-form__field input:focus {
  border-color: rgba(42, 151, 174, 0.60);
  background: #ffffff;
  box-shadow: 0 0 0 4px rgba(42, 151, 174, 0.08);
}


/* ==========================================================================
   EDITOR
   ========================================================================== */

.re-comment-form__editor {
  overflow: hidden;
  border: 1px solid rgba(55, 96, 124, 0.14);
  border-radius: 14px;
  background: rgba(247, 251, 252, 0.82);
}

.re-comment-form__bbcodes {
  padding: 10px 11px;
  border-bottom: 1px solid rgba(50, 91, 117, 0.08);
  background: rgba(239, 247, 249, 0.58);
}

.re-comment-form__bbcodes:empty {
  display: none;
}

.re-comment-form__bbcodes table,
.re-comment-form__bbcodes tbody,
.re-comment-form__bbcodes tr,
.re-comment-form__bbcodes td {
  max-width: 100%;
  border: 0 !important;
  background: transparent !important;
}

.re-comment-form__bbcodes img {
  max-width: 100%;
  height: auto;
}

.re-comment-form__message-wrap {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  min-width: 0;
}

.re-comment-form__textarea {
  min-width: 0;
  padding: 0;
}

.re-comment-form__textarea textarea {
  display: block;
  width: 100%;
  min-height: 150px;
  box-sizing: border-box;
  padding: 14px;
  border: 0;
  outline: none;
  resize: vertical;
  background: transparent;
  color: #405c72;
  font-family: inherit;
  font-size: 13px;
  line-height: 1.6;
}

.re-comment-form__textarea textarea::placeholder {
  color: #9ba7af;
}

.re-comment-form__smiles {
  width: 138px;
  max-height: 180px;
  overflow: auto;
  padding: 12px;
  box-sizing: border-box;
  border-left: 1px solid rgba(50, 91, 117, 0.08);
  background: rgba(242, 248, 250, 0.52);
}

.re-comment-form__smiles:empty {
  display: none;
}

.re-comment-form__smiles img {
  max-width: 28px;
  height: auto;
  margin: 2px;
  vertical-align: middle;
}


/* ==========================================================================
   BOTTOM
   ========================================================================== */

.re-comment-form__bottom {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  margin-top: 14px;
}

.re-comment-form__security {
  min-width: 0;
  color: #6c8292;
  font-size: 11px;
}

.re-comment-form__security:empty {
  display: none;
}

.re-comment-form__security table,
.re-comment-form__security tbody,
.re-comment-form__security tr,
.re-comment-form__security td {
  border: 0 !important;
  background: transparent !important;
}

.re-comment-form__security input[type="text"] {
  min-height: 40px;
  box-sizing: border-box;
  padding: 8px 10px;
  border: 1px solid rgba(55, 96, 124, 0.18);
  border-radius: 10px;
  outline: none;
  background: rgba(245, 249, 251, 0.92);
  color: #304c64;
  font-family: inherit;
  font-size: 12px;
}

.re-comment-form__security img {
  max-height: 40px;
  width: auto;
  vertical-align: middle;
}

.re-comment-form__submit {
  flex: 0 0 auto;
}

.re-comment-form__submit input[type="submit"],
.re-comment-form__submit button {
  min-height: 44px;
  box-sizing: border-box;
  padding: 0 18px;
  border: 0;
  border-radius: 11px;
  background: linear-gradient(135deg, #217f98, #505b88);
  color: #ffffff;
  font-family: inherit;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(33, 96, 124, 0.14);
  transition:
    transform 0.16s ease,
    box-shadow 0.16s ease,
    filter 0.16s ease;
}

.re-comment-form__submit input[type="submit"]:hover,
.re-comment-form__submit button:hover {
  transform: translateY(-1px);
  box-shadow: 0 11px 22px rgba(33, 96, 124, 0.19);
  filter: brightness(1.04);
}


/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 720px) {
  .re-comment-form__guest {
    grid-template-columns: 1fr;
  }

  .re-comment-form__message-wrap {
    grid-template-columns: 1fr;
  }

  .re-comment-form__smiles {
    width: auto;
    max-height: 130px;
    border-top: 1px solid rgba(50, 91, 117, 0.08);
    border-left: 0;
  }
}

@media (max-width: 520px) {
  .re-comment-form {
    padding: 15px;
    border-radius: 16px;
  }

  .re-comment-form__bottom {
    align-items: stretch;
    flex-direction: column;
  }

  .re-comment-form__submit,
  .re-comment-form__submit input[type="submit"],
  .re-comment-form__submit button {
    width: 100%;
  }

  .re-comment-form__security input[type="text"] {
    max-width: 150px;
  }
}

/* ==========================================================================
   RUSSIAN EMIGRANT — RELATED MATERIAL VIEW
   ========================================================================== */

.re-related-card {
  position: relative;
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr);
  gap: 15px;
  min-width: 0;
  height: 100%;
  overflow: hidden;
  padding: 12px;
  box-sizing: border-box;
  border: 1px solid rgba(46, 98, 129, 0.13);
  border-radius: 17px;
  background: rgba(250, 253, 254, 0.91);
  color: inherit;
  text-decoration: none;
  box-shadow:
    0 10px 26px rgba(30, 57, 78, 0.06),
    0 2px 7px rgba(30, 57, 78, 0.025);
  transition:
    transform 0.17s ease,
    border-color 0.17s ease,
    box-shadow 0.17s ease;
}

.re-related-card:hover {
  transform: translateY(-2px);
  border-color: rgba(39, 133, 154, 0.22);
  box-shadow:
    0 15px 34px rgba(30, 57, 78, 0.09),
    0 3px 9px rgba(30, 57, 78, 0.03);
}


/* ==========================================================================
   IMAGE
   ========================================================================== */

.re-related-card__media {
  position: relative;
  min-height: 106px;
  overflow: hidden;
  border-radius: 12px;
  background:
    radial-gradient(circle at 24% 18%, rgba(54, 162, 182, 0.16), transparent 34%),
    linear-gradient(145deg, #e9f4f6 0%, #e5edf2 52%, #e9eaf1 100%);
}

.re-related-card__media::after {
  content: "";
  position: absolute;
  right: -45px;
  bottom: -66px;
  width: 135px;
  height: 135px;
  border: 1px dashed rgba(56, 120, 144, 0.11);
  border-radius: 50%;
  pointer-events: none;
}

.re-related-card__media img {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.24s ease;
}

.re-related-card__media img[src=""] {
  display: none;
}

.re-related-card:hover .re-related-card__media img {
  transform: scale(1.035);
}


/* ==========================================================================
   CONTENT
   ========================================================================== */

.re-related-card__body {
  min-width: 0;
  align-self: center;
}

.re-related-card__topline {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 9px;
  align-items: center;
  margin-bottom: 7px;
}

.re-related-card__label {
  display: inline-flex;
  min-height: 23px;
  align-items: center;
  padding: 0 8px;
  border: 1px solid rgba(45, 117, 144, 0.10);
  border-radius: 999px;
  background: rgba(39, 143, 163, 0.07);
  color: #287e93;
  font-size: 8px;
  line-height: 1;
  font-weight: 880;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.re-related-card__date {
  color: #929fa9;
  font-size: 8px;
  line-height: 1.3;
  font-weight: 720;
}

.re-related-card__title {
  margin: 0;
  color: #304d64;
  font-size: 15px;
  line-height: 1.3;
  font-weight: 830;
  letter-spacing: -0.015em;
  overflow-wrap: anywhere;
}

.re-related-card__message {
  display: -webkit-box;
  max-width: 100%;
  margin-top: 7px;
  overflow: hidden;
  color: #728696;
  font-size: 10px;
  line-height: 1.52;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.re-related-card__message img,
.re-related-card__message iframe,
.re-related-card__message video,
.re-related-card__message table,
.re-related-card__message form {
  display: none !important;
}


/* ==========================================================================
   FILTERS / META
   ========================================================================== */

.re-related-card__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 9px;
}

.re-related-card__filter {
  display: inline-flex;
  min-height: 23px;
  align-items: center;
  max-width: 100%;
  padding: 0 8px;
  border: 1px solid rgba(48, 91, 119, 0.08);
  border-radius: 999px;
  background: rgba(241, 247, 249, 0.62);
  color: #718696;
  font-size: 8px;
  line-height: 1;
  font-weight: 730;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.re-related-card__filter:empty {
  display: none;
}

.re-related-card__stats {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 11px;
  margin-top: 9px;
  color: #8c9aa5;
  font-size: 8px;
  line-height: 1.35;
}

.re-related-card__stats strong {
  color: #5b7385;
  font-weight: 820;
}


/* ==========================================================================
   NEIGHBOR MODE: PREVIOUS / NEXT
   ========================================================================== */

.re-related-card.is-neighbor {
  grid-template-columns: 1fr;
  min-height: 108px;
  padding: 18px 19px;
  background:
    radial-gradient(circle at 92% 12%, rgba(80, 91, 136, 0.08), transparent 32%),
    rgba(250, 253, 254, 0.92);
}

.re-related-card.is-neighbor .re-related-card__media,
.re-related-card.is-neighbor .re-related-card__message,
.re-related-card.is-neighbor .re-related-card__filters,
.re-related-card.is-neighbor .re-related-card__stats {
  display: none;
}

.re-related-card.is-neighbor .re-related-card__body {
  display: flex;
  min-height: 70px;
  flex-direction: column;
  justify-content: center;
}

.re-related-card.is-neighbor .re-related-card__topline {
  margin-bottom: 8px;
}

.re-related-card.is-neighbor .re-related-card__label {
  background: rgba(80, 91, 136, 0.07);
  color: #59658a;
  border-color: rgba(80, 91, 136, 0.09);
}

.re-related-card.is-neighbor .re-related-card__title {
  max-width: 660px;
  font-size: 16px;
}

.re-related-card__arrow {
  position: absolute;
  top: 50%;
  right: 18px;
  display: none;
  transform: translateY(-50%);
  color: rgba(74, 100, 123, 0.38);
  font-size: 23px;
  line-height: 1;
}

.re-related-card.is-neighbor .re-related-card__arrow {
  display: block;
}


/* ==========================================================================
   GRID HELPER
   ========================================================================== */

.re-related-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px;
  align-items: stretch;
}


/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 760px) {
  .re-related-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .re-related-card {
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 11px;
    padding: 10px;
    border-radius: 14px;
  }

  .re-related-card__media {
    min-height: 92px;
    border-radius: 10px;
  }

  .re-related-card__title {
    font-size: 13px;
  }

  .re-related-card__message {
    -webkit-line-clamp: 2;
    font-size: 9px;
  }

  .re-related-card__filters {
    display: none;
  }

  .re-related-card.is-neighbor {
    min-height: 94px;
    padding: 15px 44px 15px 15px;
  }

  .re-related-card.is-neighbor .re-related-card__title {
    font-size: 14px;
  }
}

/* ==========================================================================
   RUSSIAN EMIGRANT — SEARCH MATERIAL VIEW FIXED
   ВАЖНО: отдельные классы, чтобы не конфликтовать со старым .re-search-item
   ========================================================================== */

.re-search-result-card {
  position: relative;
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  min-width: 0;
  margin: 0 0 12px;
  padding: 14px 16px;
  box-sizing: border-box;
  overflow: hidden;
  border: 1px solid rgba(67, 123, 149, 0.16);
  border-radius: 18px;
  background: rgba(250, 253, 254, 0.92);
  box-shadow:
    0 9px 24px rgba(30, 57, 78, 0.055),
    inset 0 1px 0 rgba(255,255,255,0.78);
  transition:
    transform .18s ease,
    border-color .18s ease,
    box-shadow .18s ease;
}

.re-search-result-card:hover {
  transform: translateY(-1px);
  border-color: rgba(35, 133, 158, 0.24);
  box-shadow:
    0 13px 30px rgba(30, 57, 78, 0.08),
    inset 0 1px 0 rgba(255,255,255,0.82);
}

.re-search-result-card::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 3px;
  background: linear-gradient(180deg, #2c97ae, #505b88);
  opacity: 0;
  transition: opacity .18s ease;
}

.re-search-result-card:hover::before {
  opacity: 1;
}


/* IMAGE */

.re-search-result-card__media {
  position: relative;
  width: 92px;
  height: 76px;
  overflow: hidden;
  border: 1px solid rgba(67, 123, 149, 0.15);
  border-radius: 14px;
  background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.35), transparent 34%),
    linear-gradient(135deg, #20b7bf, #217493);
  box-shadow:
    0 7px 17px rgba(33,72,102,.10),
    inset 0 1px 0 rgba(255,255,255,.55);
}

.re-search-result-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.re-search-result-card__placeholder {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,.82);
}

.re-search-result-card__placeholder svg {
  width: 27px;
  height: 27px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.55;
  stroke-linecap: round;
  stroke-linejoin: round;
}


/* CONTENT */

.re-search-result-card__content {
  min-width: 0;
}

.re-search-result-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  margin-bottom: 7px;
}

.re-search-result-card__type,
.re-search-result-card__date,
.re-search-result-card__number {
  display: inline-flex;
  min-height: 23px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0 8px;
  border-radius: 999px;
  font: 800 9px/1.1 "Manrope","Segoe UI",Arial,sans-serif;
}

.re-search-result-card__type {
  border: 1px solid rgba(34, 135, 159, .14);
  background: rgba(238, 249, 251, .82);
  color: #247c91;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.re-search-result-card__date {
  border: 1px solid rgba(67, 123, 149, .10);
  background: rgba(246, 250, 252, .76);
  color: #7a8e9d;
}

.re-search-result-card__number {
  border: 1px solid rgba(80, 91, 136, .11);
  background: rgba(244, 245, 250, .76);
  color: #66718f;
}

.re-search-result-card__title {
  margin: 0;
  color: #17374f;
  font: 850 18px/1.28 "Manrope","Segoe UI",Arial,sans-serif;
  letter-spacing: -.018em;
}

.re-search-result-card__title a {
  color: inherit;
  text-decoration: none;
  transition: color .16s ease;
}

.re-search-result-card__title a:hover {
  color: #21859f;
}


/* SNIPPET */

.re-search-result-card__text {
  max-height: 42px;
  margin-top: 6px;
  overflow: hidden;
  color: #60778a;
  font: 500 12px/1.65 "Manrope","Segoe UI",Arial,sans-serif;
}

.re-search-result-card__text p,
.re-search-result-card__text div,
.re-search-result-card__text span {
  display: inline;
  margin: 0;
  padding: 0;
}

.re-search-result-card__text br {
  display: none;
}

.re-search-result-card__text img,
.re-search-result-card__text picture,
.re-search-result-card__text video,
.re-search-result-card__text iframe,
.re-search-result-card__text table,
.re-search-result-card__text ul,
.re-search-result-card__text ol,
.re-search-result-card__text form,
.re-search-result-card__text script,
.re-search-result-card__text style {
  display: none !important;
}


/* FOOT */

.re-search-result-card__footer {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 9px;
}

.re-search-result-card__btn {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0 11px;
  border: 1px solid rgba(39, 132, 156, .18);
  border-radius: 999px;
  background: rgba(239, 248, 250, .78);
  color: #257a90;
  font: 820 10px/1.1 "Manrope","Segoe UI",Arial,sans-serif;
  text-decoration: none;
  transition:
    background .16s ease,
    color .16s ease,
    border-color .16s ease,
    transform .16s ease;
}

.re-search-result-card__btn:hover {
  transform: translateY(-1px);
  border-color: rgba(39, 132, 156, .28);
  background: #ffffff;
  color: #176d83;
}


/* MOBILE */

@media (max-width: 620px) {
  .re-search-result-card {
    grid-template-columns: 66px minmax(0,1fr);
    gap: 11px;
    padding: 11px 12px;
    border-radius: 15px;
  }

  .re-search-result-card__media {
    width: 66px;
    height: 66px;
    border-radius: 12px;
  }

  .re-search-result-card__title {
    font-size: 15px;
  }

  .re-search-result-card__text {
    max-height: 37px;
    font-size: 11px;
  }

  .re-search-result-card__type,
  .re-search-result-card__date,
  .re-search-result-card__number {
    min-height: 21px;
    padding: 0 7px;
    font-size: 8px;
  }
}

@media (max-width: 430px) {
  .re-search-result-card {
    grid-template-columns: 56px minmax(0,1fr);
    gap: 10px;
    padding: 10px;
  }

  .re-search-result-card__media {
    width: 56px;
    height: 56px;
  }

  .re-search-result-card__date {
    display: none;
  }

  .re-search-result-card__text {
    max-height: 35px;
  }
}

/* ==========================================================================
   RUSSIAN EMIGRANT — MATERIAL IMAGE VIEW
   ========================================================================== */

.re-material-image {
  position: relative;
  display: block;
  width: min(100%, 980px);
  margin: 22px auto;
  box-sizing: border-box;
}

.re-material-image[data-align="left"] {
  width: min(52%, 560px);
  margin: 10px 24px 18px 0;
  float: left;
}

.re-material-image[data-align="right"] {
  width: min(52%, 560px);
  margin: 10px 0 18px 24px;
  float: right;
}

.re-material-image[data-align="center"] {
  margin-left: auto;
  margin-right: auto;
  float: none;
}

.re-material-image__link {
  position: relative;
  display: block;
  overflow: hidden;
  border: 1px solid rgba(46, 98, 129, 0.15);
  border-radius: 18px;
  background:
    radial-gradient(circle at 16% 12%, rgba(44, 151, 174, 0.10), transparent 30%),
    rgba(247, 251, 252, 0.94);
  box-shadow:
    0 14px 34px rgba(30, 57, 78, 0.085),
    0 2px 8px rgba(30, 57, 78, 0.03);
  text-decoration: none;
}

.re-material-image__link::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.58);
}

.re-material-image__img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 760px;
  object-fit: contain;
  object-position: center;
  transition:
    transform .22s ease,
    filter .22s ease;
}

.re-material-image__link:hover .re-material-image__img {
  transform: scale(1.008);
  filter: saturate(1.025) contrast(1.01);
}

.re-material-image__zoom {
  position: absolute;
  right: 12px;
  bottom: 12px;
  z-index: 2;
  display: inline-flex;
  width: 35px;
  height: 35px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,0.22);
  border-radius: 11px;
  background: rgba(32, 72, 92, 0.66);
  color: #ffffff;
  opacity: 0;
  transform: translateY(4px);
  backdrop-filter: blur(8px);
  transition:
    opacity .18s ease,
    transform .18s ease,
    background .18s ease;
}

.re-material-image__link:hover .re-material-image__zoom {
  opacity: 1;
  transform: translateY(0);
}

.re-material-image__zoom svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (max-width: 760px) {
  .re-material-image,
  .re-material-image[data-align="left"],
  .re-material-image[data-align="right"],
  .re-material-image[data-align="center"] {
    width: 100%;
    margin: 18px 0;
    float: none;
  }

  .re-material-image__link {
    border-radius: 15px;
  }

  .re-material-image__img {
    max-height: none;
  }

  .re-material-image__zoom {
    opacity: .92;
    transform: none;
  }
}

@media (max-width: 480px) {
  .re-material-image {
    margin: 14px 0;
  }

  .re-material-image__link {
    border-radius: 13px;
  }

  .re-material-image__zoom {
    right: 9px;
    bottom: 9px;
    width: 32px;
    height: 32px;
    border-radius: 10px;
  }
}

/* ==========================================================================
   RUSSIAN EMIGRANT — SMART SEARCH V1
   ========================================================================== */

html.re-smart-search-open,
html.re-smart-search-open body {
  overflow: hidden !important;
}


/* OVERLAY */

.re-smart-search {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483646 !important;

  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;

  box-sizing: border-box !important;
  padding: min(12vh, 104px) 14px 30px !important;

  background:
    radial-gradient(circle at 50% 6%, rgba(48, 164, 180, 0.12), transparent 34%),
    rgba(222, 238, 242, 0.78) !important;

  -webkit-backdrop-filter: blur(13px) saturate(1.06) !important;
  backdrop-filter: blur(13px) saturate(1.06) !important;

  opacity: 0 !important;
  transition: opacity .17s ease !important;
}

.re-smart-search[hidden] {
  display: none !important;
}

.re-smart-search.is-open {
  opacity: 1 !important;
}


/* DIALOG */

.re-smart-search__dialog {
  width: min(760px, calc(100vw - 28px)) !important;
  max-width: 760px !important;
  max-height: min(76vh, 690px) !important;

  overflow: hidden !important;

  border: 1px solid rgba(49, 108, 137, 0.18) !important;
  border-radius: 24px !important;

  background:
    radial-gradient(circle at 4% 2%, rgba(57, 173, 187, 0.10), transparent 29%),
    radial-gradient(circle at 96% 4%, rgba(80, 91, 136, 0.08), transparent 31%),
    rgba(251, 254, 254, 0.97) !important;

  box-shadow:
    0 34px 90px rgba(31, 70, 92, 0.20),
    0 8px 26px rgba(31, 70, 92, 0.08),
    inset 0 1px 0 rgba(255,255,255,0.92) !important;

  transform: translateY(-10px) scale(.992) !important;
  transition: transform .17s ease !important;
}

.re-smart-search.is-open .re-smart-search__dialog {
  transform: translateY(0) scale(1) !important;
}


/* HEAD */

.re-smart-search__head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;

  min-height: 70px !important;
  box-sizing: border-box !important;
  padding: 14px 17px !important;

  border-bottom: 1px solid rgba(50, 104, 133, 0.09) !important;

  background:
    linear-gradient(180deg, rgba(250,253,254,.98), rgba(245,251,252,.92)) !important;
}

.re-smart-search__brand {
  min-width: 0 !important;
}

.re-smart-search__brand span {
  display: block !important;
  color: #268097 !important;
  font: 900 9px/1 "Manrope", "Segoe UI", Arial, sans-serif !important;
  letter-spacing: .13em !important;
}

.re-smart-search__brand b {
  display: block !important;
  margin-top: 6px !important;
  color: #294a63 !important;
  font: 850 17px/1.14 "Manrope", "Segoe UI", Arial, sans-serif !important;
  letter-spacing: -.018em !important;
}

.re-smart-search__head-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
}

.re-smart-search__keys {
  display: inline-flex !important;
  min-height: 28px !important;
  align-items: center !important;
  padding: 0 9px !important;

  border: 1px solid rgba(54, 106, 135, 0.12) !important;
  border-radius: 8px !important;

  background: rgba(241, 248, 250, 0.80) !important;
  color: #718797 !important;

  font: 800 9px/1 "Manrope", "Segoe UI", Arial, sans-serif !important;
}

.re-smart-search__close {
  display: inline-flex !important;
  width: 32px !important;
  height: 32px !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 1px solid rgba(54, 106, 135, 0.12) !important;
  border-radius: 50% !important;

  background: rgba(244, 249, 251, 0.86) !important;
  color: #6f8494 !important;

  font: 400 20px/1 Arial, sans-serif !important;
  cursor: pointer !important;

  transition:
    color .16s ease,
    background .16s ease,
    border-color .16s ease,
    transform .16s ease !important;
}

.re-smart-search__close:hover,
.re-smart-search__close:focus-visible {
  transform: rotate(4deg) !important;
  border-color: rgba(34, 132, 156, 0.24) !important;
  background: #ffffff !important;
  color: #257e94 !important;
}


/* SEARCH INPUT */

.re-smart-search__search {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 34px minmax(0,1fr) auto !important;
  align-items: center !important;
  gap: 7px !important;

  min-height: 64px !important;
  padding: 10px 15px !important;

  border-bottom: 1px solid rgba(50, 104, 133, 0.08) !important;
  background: rgba(246, 251, 252, 0.82) !important;
}

.re-smart-search__mark {
  display: inline-flex !important;
  width: 31px !important;
  height: 31px !important;
  align-items: center !important;
  justify-content: center !important;
  color: #2a8498 !important;
}

.re-smart-search__mark svg {
  width: 19px !important;
  height: 19px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
}

.re-smart-search__search input {
  width: 100% !important;
  min-width: 0 !important;
  height: 42px !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
  outline: 0 !important;

  background: transparent !important;
  color: #24445d !important;

  font: 700 15px/1.25 "Manrope", "Segoe UI", Arial, sans-serif !important;

  box-shadow: none !important;
}

.re-smart-search__search input::placeholder {
  color: #91a0ab !important;
  opacity: 1 !important;
}

.re-smart-search__input-hint {
  display: inline-flex !important;
  min-height: 26px !important;
  align-items: center !important;
  padding: 0 8px !important;

  border: 1px solid rgba(50, 101, 129, 0.10) !important;
  border-radius: 999px !important;

  background: rgba(249, 252, 253, 0.92) !important;
  color: #8799a6 !important;

  font: 780 8px/1 "Manrope", "Segoe UI", Arial, sans-serif !important;
  letter-spacing: .025em !important;
  white-space: nowrap !important;
}


/* LIST */

.re-smart-search__list {
  max-height: min(58vh, 520px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain !important;

  padding: 9px !important;

  scrollbar-width: thin !important;
  scrollbar-color: rgba(58, 122, 147, 0.24) transparent !important;
}

.re-smart-search__list::-webkit-scrollbar {
  width: 7px !important;
}

.re-smart-search__list::-webkit-scrollbar-track {
  background: transparent !important;
}

.re-smart-search__list::-webkit-scrollbar-thumb {
  border-radius: 999px !important;
  background: rgba(58, 122, 147, 0.20) !important;
}

.re-smart-search__group {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

.re-smart-search__group + .re-smart-search__group {
  margin-top: 8px !important;
  padding-top: 8px !important;
  border-top: 1px solid rgba(50, 102, 130, 0.075) !important;
}

.re-smart-search__group-title {
  margin: 0 !important;
  padding: 5px 9px 7px !important;

  color: #81929e !important;

  font: 850 8px/1.15 "Manrope", "Segoe UI", Arial, sans-serif !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
}


/* RESULT */

.re-smart-search__item {
  position: relative !important;

  display: grid !important;
  grid-template-columns: 42px minmax(0,1fr) 22px !important;
  gap: 11px !important;
  align-items: center !important;

  width: 100% !important;
  min-height: 62px !important;
  box-sizing: border-box !important;

  margin: 0 !important;
  padding: 8px 10px !important;

  border: 1px solid transparent !important;
  border-radius: 13px !important;

  background: transparent !important;
  color: #34546b !important;

  text-align: left !important;
  cursor: pointer !important;

  box-shadow: none !important;

  transition:
    border-color .15s ease,
    background .15s ease,
    transform .15s ease !important;
}

.re-smart-search__item + .re-smart-search__item {
  margin-top: 2px !important;
}

.re-smart-search__item:hover,
.re-smart-search__item.is-active {
  border-color: rgba(38, 132, 156, 0.15) !important;
  background:
    linear-gradient(90deg, rgba(232, 247, 249, 0.74), rgba(244, 248, 252, 0.58)) !important;
}

.re-smart-search__item.is-active {
  transform: translateX(2px) !important;
}

.re-smart-search__visual {
  position: relative !important;

  display: inline-flex !important;
  width: 40px !important;
  height: 40px !important;
  align-items: center !important;
  justify-content: center !important;

  overflow: hidden !important;

  border: 1px solid rgba(47, 110, 139, 0.12) !important;
  border-radius: 11px !important;

  background:
    linear-gradient(145deg, rgba(231, 246, 248, 0.92), rgba(236, 240, 247, 0.92)) !important;

  color: #39798d !important;

  font: 850 11px/1 "Manrope", "Segoe UI", Arial, sans-serif !important;
}

.re-smart-search__visual img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.re-smart-search__visual--country {
  background:
    linear-gradient(145deg, rgba(224, 247, 248, 0.96), rgba(228, 241, 246, 0.94)) !important;
  color: #217f95 !important;
}

.re-smart-search__visual--recent {
  color: #65708f !important;
}

.re-smart-search__visual--full {
  border-color: rgba(33, 130, 154, 0.18) !important;
  background:
    linear-gradient(145deg, rgba(220, 246, 248, 0.96), rgba(230, 239, 246, 0.96)) !important;
  color: #1f7d93 !important;
}

.re-smart-search__item-text {
  min-width: 0 !important;
}

.re-smart-search__item-text b {
  display: block !important;

  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;

  color: #315168 !important;

  font: 820 12px/1.25 "Manrope", "Segoe UI", Arial, sans-serif !important;
}

.re-smart-search__item-text small {
  display: block !important;

  margin-top: 4px !important;

  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;

  color: #7b8f9e !important;

  font: 570 10px/1.3 "Manrope", "Segoe UI", Arial, sans-serif !important;
}

.re-smart-search__item-go {
  color: #91a1ac !important;
  font: 800 14px/1 Arial, sans-serif !important;
  text-align: center !important;
}

.re-smart-search__item:hover .re-smart-search__item-go,
.re-smart-search__item.is-active .re-smart-search__item-go {
  color: #2a8499 !important;
}


/* STATUS */

.re-smart-search__status {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;

  min-height: 42px !important;

  margin: 7px 5px 1px !important;
  padding: 9px 11px !important;

  border: 1px solid rgba(49, 106, 134, 0.08) !important;
  border-radius: 11px !important;

  background: rgba(244, 249, 251, 0.68) !important;
  color: #758997 !important;

  font: 600 10px/1.4 "Manrope", "Segoe UI", Arial, sans-serif !important;
}

.re-smart-search__loading-dot {
  flex: 0 0 auto !important;

  width: 6px !important;
  height: 6px !important;

  border-radius: 50% !important;

  background: #2a879b !important;
  box-shadow: 0 0 10px rgba(42, 135, 155, .22) !important;

  animation: reSmartSearchPulse .72s ease-in-out infinite alternate !important;
}

@keyframes reSmartSearchPulse {
  from {
    opacity: .24;
    transform: scale(.78);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

.re-smart-search__empty {
  padding: 28px 14px !important;
  color: #8395a2 !important;
  font: 600 11px/1.5 "Manrope", "Segoe UI", Arial, sans-serif !important;
  text-align: center !important;
}


/* FOOT */

.re-smart-search__foot {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: wrap !important;

  gap: 8px 14px !important;

  min-height: 41px !important;
  box-sizing: border-box !important;

  padding: 8px 14px !important;

  border-top: 1px solid rgba(50, 102, 130, 0.07) !important;

  background: rgba(246, 250, 251, 0.92) !important;
  color: #8a9aa5 !important;

  font: 650 9px/1.3 "Manrope", "Segoe UI", Arial, sans-serif !important;
}

.re-smart-search__foot b {
  color: #60798b !important;
  font-weight: 850 !important;
}


/* RESPONSIVE */

@media (max-width: 700px) {
  .re-smart-search {
    padding: 66px 8px 14px !important;
  }

  .re-smart-search__dialog {
    width: calc(100vw - 16px) !important;
    max-width: none !important;
    max-height: calc(100vh - 82px) !important;
    border-radius: 19px !important;
  }

  .re-smart-search__head {
    min-height: 62px !important;
    padding: 11px 13px !important;
  }

  .re-smart-search__keys,
  .re-smart-search__input-hint {
    display: none !important;
  }

  .re-smart-search__search {
    grid-template-columns: 31px minmax(0,1fr) !important;
    min-height: 58px !important;
    padding: 8px 12px !important;
  }

  .re-smart-search__search input {
    font-size: 13px !important;
  }

  .re-smart-search__list {
    max-height: min(64vh, 520px) !important;
  }

  .re-smart-search__item {
    grid-template-columns: 36px minmax(0,1fr) 18px !important;
    gap: 8px !important;
    min-height: 56px !important;
    padding: 7px !important;
  }

  .re-smart-search__visual {
    width: 34px !important;
    height: 34px !important;
    border-radius: 10px !important;
  }

  .re-smart-search__item-text b {
    font-size: 11px !important;
  }

  .re-smart-search__item-text small {
    font-size: 9px !important;
  }
}

@media (max-width: 520px) {
  .re-smart-search__brand span {
    font-size: 8px !important;
  }

  .re-smart-search__brand b {
    font-size: 15px !important;
  }

  .re-smart-search__foot {
    justify-content: center !important;
  }

  .re-smart-search__foot span:last-child {
    display: none !important;
  }

  .re-smart-search-trigger__key {
    display: none !important;
  }

  .rh-tools .re-main-filter-box__search.re-smart-search-trigger input[type="text"],
  .rh-tools .re-main-filter-box__search.re-smart-search-trigger input[type="search"] {
    padding-right: 13px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .re-smart-search,
  .re-smart-search__dialog,
  .re-smart-search__item,
  .re-smart-search__close {
    transition: none !important;
  }

  .re-smart-search__loading-dot {
    animation: none !important;
  }
}

/* ==========================================================================
   RUSSIAN EMIGRANT — COMPACT HEADER V1
   Меньше воздуха, спокойнее геометрия, без круглых "пузырей" у кнопок.
   ========================================================================== */

/* Верхняя панель: заметно ниже и плотнее */
.rh-topbar {
  margin: 10px 14px 0 !important;
  padding: 8px 14px !important;
  gap: 16px !important;

  min-height: 66px !important;

  border-radius: 14px !important;

  box-shadow:
    0 8px 24px rgba(33,72,102,.075),
    inset 0 1px 0 rgba(255,255,255,.82) !important;

  backdrop-filter: blur(12px) saturate(1.04) !important;
  -webkit-backdrop-filter: blur(12px) saturate(1.04) !important;
}

/* Убираем крупный декоративный угол */
.rh-topbar::after {
  display: none !important;
}

.rh-topbar::before {
  left: 14px !important;
  right: 14px !important;
}


/* Логотип */
.rh-brand {
  gap: 8px !important;
}

.rh-brand img,
.rh-topbar.is-smart-sticky .rh-brand img {
  width: 148px !important;
  max-width: none !important;
}


/* Навигация */
.rh-nav,
.rh-topbar.is-smart-sticky .rh-nav {
  gap: 26px !important;
}

.rh-nav a,
.rh-topbar.is-smart-sticky .rh-nav a {
  padding: 6px 0 !important;
  font-size: 15px !important;
}

/* Убираем большие округлые подложки у пунктов меню */
.rh-nav a::before,
.rh-nav a.is-active::before,
.rh-nav a:hover::before {
  display: none !important;
}

/* Активный пункт — только чистая линия снизу */
.rh-nav a::after,
.rh-nav a.is-active::after {
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: 2px !important;
  border-radius: 0 !important;
}

.rh-nav a:not(.is-active)::after {
  opacity: 0 !important;
}


/* Инструменты */
.rh-tools {
  gap: 7px !important;
}

/*
  Письмо и поиск — без круглых рамок и "пузырей".
  Остаются только иконки с очень лёгким hover.
*/
.rh-icon-btn,
.rh-topbar.is-smart-sticky .rh-icon-btn,
.rh-tools > .rh-icon-btn--search {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  flex: 0 0 34px !important;

  padding: 0 !important;

  border: 0 !important;
  border-radius: 6px !important;

  background: transparent !important;
  color: #315e72 !important;

  box-shadow: none !important;
}

.rh-icon-btn:hover,
.rh-icon-btn:focus-visible,
.rh-tools > .rh-icon-btn--search:hover,
.rh-tools > .rh-icon-btn--search:focus-visible {
  transform: none !important;
  background: rgba(31,133,159,.065) !important;
  color: var(--rh-aqua-deep, #247d92) !important;
  box-shadow: none !important;
}

.rh-icon-btn svg,
.rh-tools > .rh-icon-btn--search svg {
  width: 18px !important;
  height: 18px !important;
}


/* Ctrl K — рядом с лупой, без отдельной плашки */
.rh-tools > .rh-icon-btn--search {
  width: auto !important;
  min-width: 34px !important;
  flex-basis: auto !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;

  padding: 0 3px !important;
  overflow: visible !important;
}

.rh-search-key {
  position: static !important;
  left: auto !important;
  top: auto !important;
  z-index: auto !important;

  transform: none !important;

  display: inline-block !important;

  min-height: 0 !important;
  padding: 0 !important;

  border: 0 !important;
  border-radius: 0 !important;

  background: transparent !important;
  color: #7d909d !important;

  font: 800 8px/1 "Manrope","Segoe UI",Arial,sans-serif !important;
  letter-spacing: .025em !important;

  box-shadow: none !important;
}


/* Информационная полоса тоже плотнее */
.rh-trustbar {
  min-height: 24px !important;
  margin: 5px 22px 0 !important;
  padding: 3px 10px !important;

  gap: 6px 10px !important;

  border-radius: 8px !important;

  box-shadow:
    0 4px 12px rgba(7,77,105,.035),
    inset 0 1px 0 rgba(255,255,255,.72) !important;
}

.rh-trustbar span {
  gap: 5px !important;
  font-size: 9px !important;
  letter-spacing: .085em !important;
}

.rh-trustbar span::before {
  width: 4px !important;
  height: 4px !important;
}


/* Sticky-режим не должен снова раздувать шапку */
.rh-topbar.is-smart-sticky {
  padding: 8px 14px !important;
  min-height: 66px !important;
  border-radius: 14px !important;
}

.rh-topbar.is-smart-sticky .rh-icon-btn {
  width: 34px !important;
  height: 34px !important;
}


/* Планшет */
@media (max-width:1260px) and (min-width:961px) {
  .rh-topbar {
    gap: 12px !important;
    padding: 8px 12px !important;
  }

  .rh-brand img,
  .rh-topbar.is-smart-sticky .rh-brand img {
    width: 140px !important;
  }

  .rh-nav,
  .rh-topbar.is-smart-sticky .rh-nav {
    gap: 18px !important;
  }
}


/* 761–960 */
@media (max-width:960px) and (min-width:761px) {
  .rh-topbar {
    gap: 7px 14px !important;
    padding: 9px 13px !important;
  }

  .rh-brand img,
  .rh-topbar.is-smart-sticky .rh-brand img {
    width: 142px !important;
  }

  .rh-nav {
    padding-top: 0 !important;
  }
}


/* Телефон */
@media (max-width:760px) {
  .rh-topbar {
    margin: 6px 7px 0 !important;
    padding: 9px 10px !important;
    gap: 7px !important;

    min-height: 0 !important;
    border-radius: 12px !important;
  }

  .rh-brand img,
  .rh-topbar.is-smart-sticky .rh-brand img {
    width: 145px !important;
  }

  .rh-nav {
    gap: 12px !important;
    padding: 0 !important;
  }

  .rh-nav > a,
  .rh-nav-drop__main {
    padding: 5px 2px !important;
    font-size: 14px !important;
  }

  .rh-tools {
    display: flex !important;
    width: auto !important;
    justify-content: center !important;
    gap: 10px !important;
  }

  .rh-tools > .rh-icon-btn,
  .rh-tools > .rh-icon-btn--search,
  .rh-topbar.is-smart-sticky .rh-icon-btn {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    flex: 0 0 32px !important;
  }

  /* На мобильном Ctrl K не нужен */
  .rh-search-key {
    display: none !important;
  }

  .rh-trustbar {
    margin: 4px 10px 0 !important;
    padding: 3px 8px !important;
  }
}

/* ==========================================================================
   RUSSIAN EMIGRANT — GLOBAL COMPACT BUTTON GEOMETRY
   Убираем pill/капсулы у кнопок по сайту, оставляем аккуратное скругление.
   Бейджи, теги и круглые декоративные элементы не затрагиваются.
   ========================================================================== */

button,
input[type="submit"],
input[type="button"],
input[type="reset"],
.rh-pick-btn,
.re-catalog-btn,
.re-country-row__btn,
.re-search-item__btn,
.re-search-result-card__btn,
.re-login-main-btn,
.re-login-secondary-btn,
.re-profile-btn,
.re-access-btn,
.re-subsuccess-btn,
.re-register-user__actions a,
.re-pm-guest__actions a,
.re-edit-profile-guest__actions a,
.re-users-actions a,
.re-user-comments-actions a,
.re-subscriptions-actions a,
.re-subscriptions-guest__actions a,
.re-subscription-current__actions a,
.re-user-payments-actions a,
.re-user-payments-guest__actions a,
.re-user-subs-actions a,
.re-user-subs-guest__actions a,
.re-order-actions a,
.re-order-extra-actions a{
 border-radius:9px !important;
}

/* Кнопки действий — спокойная геометрия без капсулы */
.rh-pick-btn,
.re-catalog-btn,
.re-country-row__btn,
.re-search-item__btn,
.re-search-result-card__btn,
.re-login-main-btn,
.re-login-secondary-btn,
.re-profile-btn,
.re-access-btn,
.re-subsuccess-btn,
.re-register-user__actions a,
.re-pm-guest__actions a,
.re-edit-profile-guest__actions a,
.re-users-actions a,
.re-user-comments-actions a,
.re-subscriptions-actions a,
.re-subscriptions-guest__actions a,
.re-subscription-current__actions a,
.re-user-payments-actions a,
.re-user-payments-guest__actions a,
.re-user-subs-actions a,
.re-user-subs-guest__actions a,
.re-order-actions a,
.re-order-extra-actions a{
 box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 5px 14px rgba(35,82,104,.07) !important;
}

/* Обычные вторичные кнопки — как компактные элементы футера */
.re-login-secondary-btn,
.re-profile-btn:not(.re-profile-btn--primary),
.re-access-btn:not(.re-access-btn--primary),
.re-users-actions a:not(.is-primary),
.re-user-comments-actions a:not(.is-primary),
.re-subscriptions-actions a:not(.is-primary),
.re-subscriptions-guest__actions a:not(.is-primary),
.re-user-payments-actions a:not(.is-primary),
.re-user-payments-guest__actions a:not(.is-primary),
.re-user-subs-actions a:not(.is-primary),
.re-user-subs-guest__actions a:not(.is-primary){
 border-color:rgba(89,151,173,.20) !important;
}

/* Иконки в шапке остаются компактными квадратными, а не превращаются в pill */
.rh-icon-btn,
.rh-tools > .rh-icon-btn--search{
 border-radius:6px !important;
}

/* Малые системные кнопки и элементы управления */
.re-smart-search__head-actions button,
.re-comment-card__actions button,
.re-comment-card__actions a{
 border-radius:7px !important;
}

@media(max-width:760px){
 button,
 input[type="submit"],
 input[type="button"],
 input[type="reset"],
 .rh-pick-btn,
 .re-catalog-btn,
 .re-country-row__btn,
 .re-search-item__btn,
 .re-search-result-card__btn,
 .re-login-main-btn,
 .re-login-secondary-btn,
 .re-profile-btn,
 .re-access-btn,
 .re-subsuccess-btn{
  border-radius:8px !important;
 }
}


/* ==========================================================================
   RUSSIAN EMIGRANT — CLEAN REGIONS DROPDOWN MENU
   Компактное двухколоночное меню без круглых пузырей и тяжёлых карточек.
   ========================================================================== */

.rh-nav-drop__menu{
 left:50% !important;
 top:calc(100% + 8px) !important;
 width:440px !important;
 max-width:calc(100vw - 28px) !important;
 padding:8px !important;
 display:grid !important;
 grid-template-columns:repeat(2,minmax(0,1fr)) !important;
 gap:2px 6px !important;
 border:1px solid rgba(74,132,154,.18) !important;
 border-radius:9px !important;
 background:rgba(248,253,254,.96) !important;
 box-shadow:0 14px 34px rgba(32,75,96,.12),0 2px 8px rgba(32,75,96,.05) !important;
 backdrop-filter:blur(14px) saturate(1.04) !important;
 -webkit-backdrop-filter:blur(14px) saturate(1.04) !important;
 overflow:hidden !important;
}

/* Убираем декоративный треугольник сверху */
.rh-nav-drop__menu::before{
 content:none !important;
 display:none !important;
}

.rh-nav-drop__menu a{
 position:relative !important;
 display:flex !important;
 align-items:center !important;
 gap:9px !important;
 min-width:0 !important;
 min-height:36px !important;
 margin:0 !important;
 padding:8px 10px !important;
 border:0 !important;
 border-left:2px solid transparent !important;
 border-radius:5px !important;
 background:transparent !important;
 box-shadow:none !important;
 color:#294f63 !important;
 font:750 12px/1.25 "Manrope","Segoe UI",Arial,sans-serif !important;
 letter-spacing:0 !important;
 white-space:normal !important;
 transform:none !important;
 transition:background .16s ease,color .16s ease,border-color .16s ease !important;
}

.rh-nav-drop__menu a::before,
.rh-nav-drop__menu a::after{
 content:none !important;
 display:none !important;
}

.rh-nav-drop__menu a:hover,
.rh-nav-drop__menu a:focus-visible,
.rh-nav-drop__menu a.is-active{
 color:#0d7288 !important;
 background:rgba(223,243,247,.62) !important;
 border-left-color:#2592a8 !important;
 box-shadow:none !important;
 transform:none !important;
}

/* Иконка без круглой подложки */
.rh-nav-drop__icon{
 position:relative !important;
 flex:0 0 12px !important;
 width:12px !important;
 height:14px !important;
 margin:0 !important;
 border:0 !important;
 border-radius:0 !important;
 background:none !important;
 box-shadow:none !important;
 opacity:.82 !important;
}

.rh-nav-drop__icon::before{
 content:"" !important;
 position:absolute !important;
 left:50% !important;
 top:50% !important;
 width:11px !important;
 height:11px !important;
 transform:translate(-50%,-50%) !important;
 background:#248aa1 !important;
 -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7Zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5Z'/%3E%3C/svg%3E") center/contain no-repeat !important;
 mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7Zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5Z'/%3E%3C/svg%3E") center/contain no-repeat !important;
}

/* Чуть спокойнее сама кнопка Страны */
.rh-nav-drop__main{
 border-radius:5px !important;
}

/* Планшеты */
@media(max-width:760px){
 .rh-nav-drop__menu{
  left:50% !important;
  width:min(360px,calc(100vw - 20px)) !important;
  grid-template-columns:1fr !important;
  gap:1px !important;
  padding:6px !important;
  border-radius:8px !important;
  max-height:68vh !important;
  overflow-y:auto !important;
 }

 .rh-nav-drop__menu a{
  min-height:34px !important;
  padding:7px 9px !important;
  font-size:12px !important;
  border-radius:4px !important;
 }
}

/* ==========================================================================
   RUSSIAN EMIGRANT — HERO SLIDER EMPTY CORNER FIX
   ========================================================================== */

.rh-visual::before{
 display:none !important;
 content:none !important;
}

/* ==========================================================================
   RUSSIAN EMIGRANT — HERO COMPACT + RICH COPY
   Убираем лишний воздух сверху/снизу и усиливаем левую информационную часть.
   ========================================================================== */

.rh-hero{
 min-height:0 !important;
 padding:16px 58px 20px !important;
 gap:34px !important;
 align-items:center !important;
}

.rh-copy{
 max-width:700px !important;
 min-height:0 !important;
 padding:8px 0 10px 78px !important;
 justify-content:center !important;
}

.rh-copy::before{
 left:12px !important;
 top:92px !important;
 font-size:36px !important;
}

.rh-copy::after{
 left:18px !important;
 top:138px !important;
 height:230px !important;
}

.rh-hero-kicker{
 display:flex;
 align-items:center;
 gap:10px;
 margin:0 0 10px;
 color:#16849a;
 font:800 10px/1.2 "Manrope","Segoe UI",Arial,sans-serif;
 letter-spacing:.13em;
 text-transform:uppercase;
}

.rh-hero-kicker::before{
 content:"";
 width:28px;
 height:1px;
 background:rgba(22,132,154,.58);
}

.rh-title{
 margin:0 0 14px !important;
 font-size:clamp(44px,4.4vw,64px) !important;
 line-height:.98 !important;
}

.rh-lead{
 max-width:610px !important;
 margin:0 0 14px !important;
 font-size:17px !important;
 line-height:1.58 !important;
}

.rh-hero-points{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:7px 20px;
 max-width:610px;
 margin:0 0 17px;
}

.rh-hero-points span{
 position:relative;
 padding-left:15px;
 color:#355b6e;
 font:700 12px/1.35 "Manrope","Segoe UI",Arial,sans-serif;
}

.rh-hero-points span::before{
 content:"";
 position:absolute;
 left:0;
 top:.5em;
 width:7px;
 height:2px;
 background:#21859f;
}

.rh-actions{
 margin-top:0 !important;
}

.rh-primary{
 min-height:44px !important;
 padding:10px 20px !important;
}

.rh-visual{
 margin:0 !important;
 transform:none !important;
 align-self:center !important;
}

.rh-hero-slider{
 margin-top:0 !important;
 margin-bottom:0 !important;
}

.rh-content-section{
 margin-top:0 !important;
}

/* Убираем чрезмерно разнесённые декоративные штампы */
.rh-passport-stamp--relocation{
 top:8px !important;
}

.rh-passport-stamp--visa{
 top:78px !important;
}

.rh-passport-stamp--year{
 bottom:16px !important;
}

@media(max-width:1100px){
 .rh-hero{
  padding:16px 34px 20px !important;
  gap:22px !important;
 }

 .rh-copy{
  padding:8px 0 8px 68px !important;
 }

 .rh-title{
  font-size:clamp(42px,6vw,58px) !important;
 }
}

@media(max-width:760px){
 .rh-hero{
  padding:12px 18px 18px !important;
 }

 .rh-copy{
  padding:6px 0 0 !important;
 }

 .rh-hero-kicker{
  margin-bottom:8px !important;
 }

 .rh-title{
  margin-bottom:12px !important;
  font-size:clamp(36px,10vw,50px) !important;
 }

 .rh-lead{
  margin-bottom:13px !important;
  font-size:15px !important;
  line-height:1.55 !important;
 }

 .rh-hero-points{
  grid-template-columns:1fr !important;
  gap:5px !important;
  margin-bottom:15px !important;
 }

 .rh-visual{
  margin-top:16px !important;
 }
}

/* ==========================================================================
   RUSSIAN EMIGRANT — SMART SEARCH HEADER TRIGGER / CLEAN FINAL
   ========================================================================== */

.rh-tools > .re-main-filter-box__search.re-smart-search-system{
 position:absolute !important;
 left:-10000px !important;
 top:auto !important;
 width:1px !important;
 height:1px !important;
 min-width:1px !important;
 min-height:1px !important;
 margin:0 !important;
 padding:0 !important;
 overflow:hidden !important;
 opacity:0 !important;
 visibility:hidden !important;
 pointer-events:none !important;
}

.rh-tools > .rh-icon-btn--search{
 position:relative !important;
 z-index:30 !important;
 pointer-events:auto !important;
 touch-action:manipulation !important;
 visibility:visible !important;
 opacity:1 !important;
 cursor:pointer !important;
 overflow:visible !important;
}

.rh-tools > .rh-icon-btn--search *,
.rh-tools > .rh-icon-btn--search svg,
.rh-tools > .rh-icon-btn--search path,
.rh-tools > .rh-icon-btn--search circle{
 pointer-events:none !important;
}

.rh-tools > .rh-icon-btn--search svg{
 display:block !important;
 fill:none !important;
 stroke:currentColor !important;
 stroke-width:1.8 !important;
 stroke-linecap:round !important;
 stroke-linejoin:round !important;
 visibility:visible !important;
 opacity:1 !important;
}


/* ==========================================================================
   RUSSIAN EMIGRANT — COMPACT FOOTER / CLEAN FINAL
   ========================================================================== */

.rh-site-footer,
.rh-site-footer *,
.rh-site-footer *::before,
.rh-site-footer *::after{
 box-sizing:border-box !important;
}

.rh-site-footer{
 clear:both !important;
 position:relative !important;
 z-index:2 !important;
 display:flex !important;
 flex-wrap:wrap !important;
 align-items:center !important;
 justify-content:space-between !important;
 gap:10px 16px !important;
 width:auto !important;
 min-height:0 !important;
 margin:0 14px 14px !important;
 padding:12px 18px !important;
 border:1px solid rgba(85,145,168,.14) !important;
 border-top:1px solid rgba(85,145,168,.18) !important;
 border-radius:16px !important;
 background:linear-gradient(180deg,rgba(250,253,254,.72),rgba(243,250,252,.64)) !important;
 box-shadow:0 6px 18px rgba(37,86,108,.06) !important;
 overflow:visible !important;
}

.rh-site-footer::before,
.rh-site-footer::after,
.rh-site-footer__brand strong::before,
.rh-online-box::before,
.rh-site-footer__links a::after{
 content:none !important;
 display:none !important;
}

.rh-site-footer__brand,
.rh-site-footer__links,
.rh-site-footer__meta{
 position:relative !important;
 z-index:1 !important;
}

.rh-site-footer__brand{
 display:flex !important;
 flex:1 1 420px !important;
 flex-direction:column !important;
 align-items:flex-start !important;
 min-width:280px !important;
 gap:2px !important;
}

.rh-site-footer__brand strong{
 display:block !important;
 margin:0 !important;
 color:#234e61 !important;
 font:800 15px/1.2 "Manrope","Segoe UI",Arial,sans-serif !important;
 letter-spacing:-.01em !important;
}

.rh-site-footer__brand > span:not(.rh-site-footer__copyright){
 max-width:none !important;
 margin:0 !important;
 color:#728690 !important;
 font:500 11px/1.35 "Manrope","Segoe UI",Arial,sans-serif !important;
}

.rh-site-footer__copyright{
 margin:2px 0 0 !important;
 color:#8798a0 !important;
 font:600 10px/1.3 "Manrope","Segoe UI",Arial,sans-serif !important;
}

.rh-site-footer__links{
 display:flex !important;
 flex:0 0 auto !important;
 align-items:center !important;
 justify-content:flex-start !important;
 flex-wrap:wrap !important;
 gap:8px !important;
 margin:0 0 0 auto !important;
 padding:0 !important;
 border:0 !important;
 border-radius:0 !important;
 background:transparent !important;
 box-shadow:none !important;
}

.rh-site-footer__links a{
 display:inline-flex !important;
 align-items:center !important;
 justify-content:center !important;
 min-height:auto !important;
 margin:0 !important;
 padding:7px 12px !important;
 border:1px solid rgba(89,151,173,.18) !important;
 border-radius:10px !important;
 background:rgba(255,255,255,.58) !important;
 color:#456979 !important;
 font:700 11px/1 "Manrope","Segoe UI",Arial,sans-serif !important;
 text-decoration:none !important;
 box-shadow:inset 0 1px 0 rgba(255,255,255,.78) !important;
 transform:none !important;
}

.rh-site-footer__links a:hover{
 color:#1885a1 !important;
 background:rgba(255,255,255,.82) !important;
 border-color:rgba(39,138,165,.28) !important;
 box-shadow:0 4px 12px rgba(34,126,149,.08),inset 0 1px 0 rgba(255,255,255,.88) !important;
 transform:none !important;
}

.rh-site-footer__meta{
 display:flex !important;
 flex:0 1 auto !important;
 align-items:center !important;
 justify-content:flex-end !important;
 flex-wrap:wrap !important;
 gap:10px !important;
 min-width:0 !important;
 margin-left:0 !important;
}

.rh-online-box{
 display:inline-flex !important;
 align-items:center !important;
 gap:6px !important;
 min-width:0 !important;
 margin:0 !important;
 padding:7px 12px !important;
 border:1px solid rgba(89,151,173,.18) !important;
 border-radius:10px !important;
 background:rgba(255,255,255,.58) !important;
 box-shadow:inset 0 1px 0 rgba(255,255,255,.78) !important;
}

.rh-online-box__label{
 padding:0 !important;
 color:#82939b !important;
 font:600 10px/1.2 "Manrope","Segoe UI",Arial,sans-serif !important;
 letter-spacing:.02em !important;
 text-transform:uppercase !important;
 white-space:nowrap !important;
}

.rh-online-box__counter,
.rh-online-box__counter a{
 display:inline-flex !important;
 align-items:center !important;
 gap:0 !important;
 margin:0 !important;
 padding:0 !important;
 border:0 !important;
 border-radius:0 !important;
 background:transparent !important;
 color:#315e72 !important;
 font:800 11px/1.2 "Manrope","Segoe UI",Arial,sans-serif !important;
 text-decoration:none !important;
 box-shadow:none !important;
 white-space:nowrap !important;
}

.rh-site-footer__powered,
.rh-site-footer__powered a{
 display:inline-flex !important;
 flex:0 0 auto !important;
 align-items:center !important;
 margin:0 !important;
 padding:0 !important;
 border:0 !important;
 border-radius:0 !important;
 background:transparent !important;
 box-shadow:none !important;
 opacity:.9 !important;
}

.rh-site-footer__powered img{
 display:block !important;
 max-height:28px !important;
 width:auto !important;
 border:0 !important;
 border-radius:0 !important;
}

.rh-site-footer__metrika,
.rh-site-footer__metrika img{
 display:block !important;
 flex:0 0 auto !important;
 width:88px !important;
 height:31px !important;
 margin:0 !important;
 padding:0 !important;
 border:0 !important;
 border-radius:0 !important;
 background:transparent !important;
 box-shadow:none !important;
}

@media(max-width:1100px){
 .rh-site-footer{gap:10px 12px !important;}
 .rh-site-footer__links{margin-left:0 !important;}
}

@media(max-width:900px){
 .rh-site-footer{
  margin:0 10px 10px !important;
  padding:10px 12px !important;
 }
 .rh-site-footer__brand,
 .rh-site-footer__links,
 .rh-site-footer__meta{
  flex:1 1 100% !important;
  justify-content:flex-start !important;
 }
}


/* ==========================================================================
   RUSSIAN EMIGRANT — SCROLLBAR + BACK TO TOP / CLEAN FINAL
   ========================================================================== */

@media(min-width:901px){
 html.re-custom-scroll-ready,
 html.re-custom-scroll-ready body{
  scrollbar-width:none !important;
 }
 html.re-custom-scroll-ready::-webkit-scrollbar,
 html.re-custom-scroll-ready body::-webkit-scrollbar{
  width:0 !important;
  height:0 !important;
  display:none !important;
 }

 .re-scrollbar{
  position:fixed !important;
  top:18px !important;
  right:9px !important;
  bottom:18px !important;
  width:20px !important;
  z-index:2147483000 !important;
  pointer-events:none !important;
  user-select:none !important;
  -webkit-user-select:none !important;
  opacity:1 !important;
 }

 .re-scrollbar.is-hidden{
  opacity:0 !important;
  visibility:hidden !important;
 }

 .re-scrollbar__track{
  position:absolute !important;
  left:50% !important;
  top:0 !important;
  bottom:0 !important;
  width:7px !important;
  transform:translateX(-50%) !important;
  border:1px solid rgba(255,255,255,.82) !important;
  border-radius:4px !important;
  background:rgba(248,253,254,.58) !important;
  box-shadow:0 0 0 1px rgba(21,78,100,.10),0 2px 8px rgba(21,78,100,.12) !important;
  backdrop-filter:blur(5px) !important;
  -webkit-backdrop-filter:blur(5px) !important;
  pointer-events:auto !important;
  cursor:pointer !important;
 }

 .re-scrollbar__track::before,
 .re-scrollbar__progress,
 .re-scrollbar__grip{
  display:none !important;
  content:none !important;
 }

 .re-scrollbar__thumb{
  position:absolute !important;
  left:50% !important;
  top:0 !important;
  width:13px !important;
  height:58px !important;
  min-height:58px !important;
  transform:translateX(-50%) !important;
  border:2px solid rgba(255,255,255,.90) !important;
  border-radius:6px !important;
  background:rgba(20,126,151,.96) !important;
  box-shadow:0 0 0 1px rgba(15,85,108,.26),0 3px 10px rgba(13,57,77,.24),inset 0 1px 0 rgba(255,255,255,.25) !important;
  pointer-events:auto !important;
  cursor:grab !important;
  touch-action:none !important;
  will-change:top !important;
 }

 .re-scrollbar__thumb:hover{
  background:#167f99 !important;
  border-color:#fff !important;
  box-shadow:0 0 0 1px rgba(15,85,108,.34),0 4px 12px rgba(13,57,77,.28) !important;
 }

 .re-scrollbar__thumb.is-dragging{
  cursor:grabbing !important;
  background:#126f88 !important;
  border-color:#fff !important;
 }
}

.re-backtop{
 position:fixed !important;
 right:30px !important;
 bottom:20px !important;
 z-index:999998 !important;
 display:flex !important;
 align-items:center !important;
 justify-content:center !important;
 width:46px !important;
 height:46px !important;
 padding:0 !important;
 border:1px solid rgba(46,111,134,.24) !important;
 border-radius:10px !important;
 background:rgba(248,253,254,.94) !important;
 color:#236f86 !important;
 box-shadow:0 6px 18px rgba(22,70,91,.14),inset 0 1px 0 rgba(255,255,255,.9) !important;
 backdrop-filter:blur(8px) !important;
 -webkit-backdrop-filter:blur(8px) !important;
 cursor:pointer !important;
 opacity:0 !important;
 visibility:hidden !important;
 transform:translateY(8px) !important;
 transition:opacity .18s ease,visibility .18s ease,transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease !important;
}

.re-backtop.is-visible{
 opacity:1 !important;
 visibility:visible !important;
 transform:translateY(0) !important;
}

.re-backtop::before{
 content:"" !important;
 width:11px !important;
 height:11px !important;
 border-left:2px solid currentColor !important;
 border-top:2px solid currentColor !important;
 transform:rotate(45deg) translate(2px,2px) !important;
}

.re-backtop::after{
 content:"" !important;
 position:absolute !important;
 left:50% !important;
 top:17px !important;
 width:2px !important;
 height:13px !important;
 transform:translateX(-50%) !important;
 border-radius:1px !important;
 background:currentColor !important;
}

.re-backtop:hover{
 background:#fff !important;
 color:#16849a !important;
 border-color:rgba(33,133,159,.36) !important;
 box-shadow:0 8px 20px rgba(22,70,91,.16),inset 0 1px 0 rgba(255,255,255,.95) !important;
 transform:translateY(-1px) !important;
}

.re-backtop:active{transform:translateY(0) !important;}
.re-backtop:focus-visible{outline:2px solid rgba(33,133,159,.32) !important;outline-offset:2px !important;}

@media(max-width:900px){
 .re-scrollbar{display:none !important;}
 .re-backtop{
  right:14px !important;
  bottom:14px !important;
  width:42px !important;
  height:42px !important;
  border-radius:9px !important;
 }
 .re-backtop::before{width:10px !important;height:10px !important;}
 .re-backtop::after{top:16px !important;height:12px !important;}
 html,body{scrollbar-width:thin !important;scrollbar-color:rgba(31,129,151,.72) transparent !important;}
 html::-webkit-scrollbar,body::-webkit-scrollbar{display:block !important;width:7px !important;height:7px !important;}
 html::-webkit-scrollbar-track,body::-webkit-scrollbar-track{background:transparent !important;}
 html::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb{border:0 !important;border-radius:3px !important;background:rgba(31,129,151,.72) !important;}
}

@media(prefers-reduced-motion:reduce){
 .re-backtop{transition:none !important;}
}

/* ==========================================================================
   RUSSIAN EMIGRANT — RESPONSIVE MAIN NAV FINAL FIX
   Для длинного меню: на узких экранах шапка перестраивается аккуратно,
   ничего не обрезается и пункты не уезжают за край.
   ========================================================================== */

/* Планшеты и небольшие ноутбуки:
   бренд + инструменты сверху, всё меню отдельной строкой ниже. */
@media (max-width:1260px) and (min-width:761px){

 .rh-topbar,
 .rh-topbar.is-smart-sticky{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) !important;
  grid-template-areas:
   "brand tools"
   "nav nav" !important;

  align-items:center !important;
  justify-items:stretch !important;

  gap:8px 16px !important;
  padding:9px 14px !important;
  min-height:0 !important;
 }

 .rh-brand{
  grid-area:brand !important;
  justify-self:start !important;
 }

 .rh-brand img,
 .rh-topbar.is-smart-sticky .rh-brand img{
  width:146px !important;
 }

 .rh-tools{
  grid-area:tools !important;

  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  flex-wrap:nowrap !important;

  width:auto !important;
  min-width:0 !important;
  gap:8px !important;
 }

 .rh-nav,
 .rh-topbar.is-smart-sticky .rh-nav{
  grid-area:nav !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;

  width:100% !important;
  min-width:0 !important;

  gap:2px 18px !important;
  margin:0 !important;
  padding:1px 0 0 !important;

  overflow:visible !important;
 }

 .rh-nav > a,
 .rh-nav-drop__main,
 .rh-topbar.is-smart-sticky .rh-nav > a,
 .rh-topbar.is-smart-sticky .rh-nav-drop__main{
  flex:0 0 auto !important;

  padding:6px 2px !important;

  font-size:13px !important;
  line-height:1.25 !important;

  white-space:nowrap !important;
 }

 .rh-nav-drop{
  flex:0 0 auto !important;
  width:auto !important;
 }

 .rh-search-key{
  display:none !important;
 }

}


/* Телефон:
   первая строка — логотип и иконки,
   ниже — аккуратная сетка навигации в две колонки. */
@media (max-width:760px){

 .rh-topbar,
 .rh-topbar.is-smart-sticky{
  display:grid !important;

  grid-template-columns:minmax(0,1fr) auto !important;
  grid-template-areas:
   "brand tools"
   "nav nav" !important;

  align-items:center !important;
  justify-items:stretch !important;

  gap:8px 12px !important;

  margin:6px 7px 0 !important;
  padding:9px 10px !important;

  min-height:0 !important;
 }

 .rh-brand{
  grid-area:brand !important;

  width:auto !important;
  min-width:0 !important;

  justify-self:start !important;
  justify-content:flex-start !important;

  margin:0 !important;
 }

 .rh-brand img,
 .rh-topbar.is-smart-sticky .rh-brand img{
  width:142px !important;
  max-width:44vw !important;
 }

 .rh-tools{
  grid-area:tools !important;

  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;

  width:auto !important;
  min-width:0 !important;

  gap:7px !important;
  margin:0 !important;
 }

 .rh-tools > .rh-icon-btn,
 .rh-tools > .rh-icon-btn--search,
 .rh-topbar.is-smart-sticky .rh-icon-btn{
  width:32px !important;
  height:32px !important;
  min-width:32px !important;
  min-height:32px !important;
  flex:0 0 32px !important;
 }

 .rh-search-key{
  display:none !important;
 }

 .rh-nav,
 .rh-topbar.is-smart-sticky .rh-nav{
  grid-area:nav !important;

  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;

  width:100% !important;
  min-width:0 !important;

  gap:1px 12px !important;

  margin:0 !important;
  padding:4px 0 0 !important;

  overflow:visible !important;
 }

 .rh-nav > a,
 .rh-nav-drop{
  width:100% !important;
  min-width:0 !important;
 }

 .rh-nav > a,
 .rh-nav-drop__main,
 .rh-topbar.is-smart-sticky .rh-nav > a,
 .rh-topbar.is-smart-sticky .rh-nav-drop__main{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;

  width:100% !important;
  min-height:31px !important;

  padding:6px 3px !important;

  font-size:12.5px !important;
  line-height:1.2 !important;

  white-space:nowrap !important;
 }

 /* Последний длинный пункт выглядит лучше отдельной строкой. */
 .rh-nav-attractions{
  grid-column:1 / -1 !important;
  justify-content:center !important;
 }

 /* Меню стран открывается внутрь экрана, а не за правый край. */
 .rh-nav-drop__menu{
  left:auto !important;
  right:0 !important;

  width:min(560px,calc(100vw - 34px)) !important;
  max-width:none !important;

  transform:none !important;
 }

}


/* На совсем узких телефонах — одна колонка, без обрезки текста. */
@media (max-width:520px){

 .rh-brand img,
 .rh-topbar.is-smart-sticky .rh-brand img{
  width:132px !important;
  max-width:48vw !important;
 }

 .rh-nav,
 .rh-topbar.is-smart-sticky .rh-nav{
  grid-template-columns:1fr !important;
  gap:0 !important;
 }

 .rh-nav-attractions{
  grid-column:auto !important;
  justify-content:flex-start !important;
 }

 .rh-nav > a,
 .rh-nav-drop__main,
 .rh-topbar.is-smart-sticky .rh-nav > a,
 .rh-topbar.is-smart-sticky .rh-nav-drop__main{
  min-height:29px !important;
  padding:5px 3px !important;
  font-size:12.5px !important;
 }

 .rh-nav-drop__menu{
  left:0 !important;
  right:auto !important;

  width:min(420px,calc(100vw - 34px)) !important;
 }

}



/* ==========================================================================
   RUSSIAN EMIGRANT — CUSTOM SCROLL FUNCTIONAL FIX
   Нативный скролл скрывается только после успешного запуска кастомного.
   ========================================================================== */

@media(min-width:901px){
 .re-scrollbar{
  pointer-events:auto !important;
 }
 .re-scrollbar__track,
 .re-scrollbar__thumb{
  pointer-events:auto !important;
 }
}

/* ==========================================================================
   RUSSIAN EMIGRANT — CUSTOM SCROLL DRAG RELIABILITY FIX
   ========================================================================== */

@media(min-width:901px){

 .re-scrollbar{
  pointer-events:auto !important;
 }

 .re-scrollbar__track{
  pointer-events:auto !important;
 }

 .re-scrollbar__thumb{
  z-index:2 !important;
  pointer-events:auto !important;
  cursor:grab !important;
  touch-action:none !important;
 }

 .re-scrollbar__thumb.is-dragging{
  cursor:grabbing !important;
 }

 html.re-scroll-dragging,
 html.re-scroll-dragging body{
  cursor:grabbing !important;
  user-select:none !important;
  -webkit-user-select:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — UCOZ MATERIAL FORM ACTION BUTTONS
   Нормальные кнопки "Сохранить" / "Восстановить" в формах добавления/редактирования.
   ========================================================================== */

/* Убираем нативный браузерный вид у системных кнопок uCoz */
.rh-content-section input[type="submit"],
.rh-content-section input[type="reset"],
.rh-content-section input[type="button"],
.rh-content-section .manFlSbm,
.rh-content-section .manFlRst{
 -webkit-appearance:none !important;
 appearance:none !important;

 display:inline-flex !important;
 align-items:center !important;
 justify-content:center !important;

 min-width:118px !important;
 min-height:40px !important;

 margin:4px 8px 4px 0 !important;
 padding:9px 16px !important;

 border:1px solid transparent !important;
 border-radius:8px !important;

 font:800 13px/1.15 "Manrope","Segoe UI",Arial,sans-serif !important;
 letter-spacing:0 !important;

 text-shadow:none !important;
 text-decoration:none !important;

 box-shadow:none !important;
 cursor:pointer !important;

 transition:
  background-color .16s ease,
  border-color .16s ease,
  color .16s ease,
  box-shadow .16s ease,
  transform .16s ease !important;
}


/* Главная кнопка действия — Сохранить / Добавить */
.rh-content-section input[type="submit"],
.rh-content-section .manFlSbm{
 border-color:#21859f !important;

 background:#21859f !important;
 color:#fff !important;

 box-shadow:0 4px 12px rgba(33,133,159,.14) !important;
}

.rh-content-section input[type="submit"]:hover:not(:disabled),
.rh-content-section .manFlSbm:hover:not(:disabled){
 border-color:#18778f !important;
 background:#18778f !important;
 color:#fff !important;

 box-shadow:0 6px 15px rgba(28,112,137,.18) !important;

 transform:translateY(-1px) !important;
}


/* Вторичная кнопка — Восстановить / Сбросить */
.rh-content-section input[type="reset"],
.rh-content-section input[type="button"]:not(.manFlSbm),
.rh-content-section .manFlRst{
 border-color:rgba(59,111,132,.25) !important;

 background:rgba(255,255,255,.78) !important;
 color:#315e72 !important;

 box-shadow:0 3px 10px rgba(35,82,104,.06) !important;
}

.rh-content-section input[type="reset"]:hover,
.rh-content-section input[type="button"]:not(.manFlSbm):hover,
.rh-content-section .manFlRst:hover{
 border-color:rgba(33,133,159,.38) !important;

 background:#fff !important;
 color:#18778f !important;

 box-shadow:0 5px 13px rgba(35,82,104,.09) !important;

 transform:translateY(-1px) !important;
}


/* Неактивная кнопка остаётся читаемой, а не белой на белом */
.rh-content-section input[type="submit"]:disabled,
.rh-content-section input[type="button"]:disabled,
.rh-content-section .manFlSbm:disabled,
.rh-content-section input[disabled].manFlSbm{
 border-color:rgba(85,128,143,.18) !important;

 background:#dce9ec !important;
 color:#738b95 !important;

 box-shadow:none !important;

 opacity:1 !important;
 cursor:not-allowed !important;
 transform:none !important;
}


/* Фокус с клавиатуры */
.rh-content-section input[type="submit"]:focus-visible,
.rh-content-section input[type="reset"]:focus-visible,
.rh-content-section input[type="button"]:focus-visible,
.rh-content-section .manFlSbm:focus-visible,
.rh-content-section .manFlRst:focus-visible{
 outline:2px solid rgba(33,133,159,.28) !important;
 outline-offset:2px !important;
}


/* Системная таблица uCoz вокруг кнопок не должна рисовать собственный фон */
.rh-content-section .manFlSbm,
.rh-content-section .manFlRst,
.rh-content-section .manTd1,
.rh-content-section .manTd2,
.rh-content-section .manTdSep{
 background-clip:padding-box !important;
}

@media(max-width:600px){
 .rh-content-section input[type="submit"],
 .rh-content-section input[type="reset"],
 .rh-content-section input[type="button"],
 .rh-content-section .manFlSbm,
 .rh-content-section .manFlRst{
  min-width:108px !important;
  min-height:38px !important;
  padding:8px 13px !important;
  font-size:12px !important;
 }
}

/* ==========================================================================
   RUSSIAN EMIGRANT — HOME INFORMERS + COMPACT SEO
   ========================================================================== */

.re-home-section{
 position:relative;
 margin:18px 24px 0;
 padding:22px 26px 26px;
 border-top:1px solid rgba(61,119,140,.13);
 background:linear-gradient(180deg,rgba(255,255,255,.42),rgba(245,251,252,.20));
}

.re-home-section__head{
 margin:0 0 18px;
}

.re-home-section__eyebrow{
 display:flex;
 align-items:center;
 gap:8px;
 margin-bottom:5px;
 color:#20819a;
 font:800 9px/1.2 "Manrope","Segoe UI",Arial,sans-serif;
 letter-spacing:.13em;
 text-transform:uppercase;
}

.re-home-section__eyebrow::before{
 content:"";
 width:22px;
 height:2px;
 background:#21859f;
}

.re-home-section__heading{
 display:flex;
 align-items:flex-end;
 justify-content:space-between;
 gap:20px;
}

.re-home-section__title{
 margin:0;
 color:#1e485d;
 font:850 clamp(22px,2vw,30px)/1.15 "Manrope","Segoe UI",Arial,sans-serif;
 letter-spacing:-.025em;
}

.re-home-section__lead{
 max-width:680px;
 margin:5px 0 0;
 color:#748895;
 font:500 12px/1.5 "Manrope","Segoe UI",Arial,sans-serif;
}

.re-home-section__more{
 display:inline-flex;
 align-items:center;
 gap:6px;
 flex:0 0 auto;
 padding:7px 10px;
 border:1px solid rgba(48,119,142,.16);
 border-radius:8px;
 background:rgba(255,255,255,.58);
 color:#376579;
 font:750 10px/1 "Manrope","Segoe UI",Arial,sans-serif;
 text-decoration:none;
 transition:.18s ease;
}

.re-home-section__more svg{
 width:13px;
 height:13px;
 fill:none;
 stroke:currentColor;
 stroke-width:1.8;
 stroke-linecap:round;
 stroke-linejoin:round;
}

.re-home-section__more:hover{
 border-color:rgba(33,133,159,.30);
 background:rgba(255,255,255,.90);
 color:#16849a;
 transform:translateY(-1px);
}

.re-home-country-grid{
 display:grid;
 grid-template-columns:repeat(5,minmax(0,1fr));
 gap:12px;
}

.re-popular-country{
 position:relative;
 min-width:0;
 margin:0;
}

.re-popular-country__media{
 position:relative;
 display:block;
 overflow:hidden;
 aspect-ratio:4 / 5;
 border:1px solid rgba(55,114,136,.13);
 border-radius:10px;
 background:#dcecef;
 box-shadow:0 6px 18px rgba(31,76,96,.07);
 text-decoration:none;
 isolation:isolate;
 transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}

.re-popular-country__image{
 position:absolute;
 inset:0;
 width:100%;
 height:100%;
 object-fit:cover;
 transition:transform .35s ease;
}

.re-popular-country__shade{
 position:absolute;
 inset:0;
 z-index:1;
 background:linear-gradient(180deg,rgba(8,32,44,.02) 25%,rgba(10,38,51,.18) 52%,rgba(8,32,45,.88) 100%);
 pointer-events:none;
}

.re-popular-country__rank{
 position:absolute;
 top:10px;
 left:10px;
 z-index:3;
 display:inline-flex;
 align-items:center;
 justify-content:center;
 width:25px;
 height:25px;
 border:1px solid rgba(255,255,255,.42);
 border-radius:7px;
 background:rgba(10,50,65,.48);
 color:#fff;
 font:850 10px/1 "Manrope","Segoe UI",Arial,sans-serif;
 backdrop-filter:blur(7px);
 -webkit-backdrop-filter:blur(7px);
}

.re-popular-country__overlay{
 position:absolute;
 left:0;
 right:0;
 bottom:0;
 z-index:2;
 padding:14px;
}

.re-popular-country__category{
 display:block;
 margin-bottom:4px;
 color:rgba(222,247,250,.82);
 font:750 8px/1.2 "Manrope","Segoe UI",Arial,sans-serif;
 letter-spacing:.09em;
 text-transform:uppercase;
}

.re-popular-country__title{
 margin:0;
 color:#fff;
 font:850 18px/1.15 "Manrope","Segoe UI",Arial,sans-serif;
 letter-spacing:-.025em;
}

.re-popular-country__reads{
 display:flex;
 align-items:center;
 gap:5px;
 margin-top:8px;
 color:rgba(235,249,251,.78);
 font:650 9px/1 "Manrope","Segoe UI",Arial,sans-serif;
}

.re-popular-country__reads svg{
 width:13px;
 height:13px;
 fill:none;
 stroke:currentColor;
 stroke-width:1.7;
}

.re-popular-country__media:hover{
 border-color:rgba(33,133,159,.28);
 box-shadow:0 10px 25px rgba(27,75,95,.12);
 transform:translateY(-2px);
}

.re-popular-country__media:hover .re-popular-country__image{
 transform:scale(1.035);
}

.re-home-seo-wrap{
 margin:18px 24px 14px;
}

.re-home-seo{
 overflow:hidden;
 border-top:1px solid rgba(58,117,138,.13);
 border-bottom:1px solid rgba(58,117,138,.10);
 background:rgba(248,252,253,.38);
}

.re-home-seo__summary{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:20px;
 min-height:58px;
 padding:11px 16px;
 cursor:pointer;
 list-style:none;
 user-select:none;
}

.re-home-seo__summary::-webkit-details-marker{
 display:none;
}

.re-home-seo__summary-text{
 display:flex;
 flex-direction:column;
 gap:2px;
}

.re-home-seo__summary strong{
 color:#355f72;
 font:800 12px/1.25 "Manrope","Segoe UI",Arial,sans-serif;
}

.re-home-seo__summary small{
 color:#8799a2;
 font:500 9px/1.35 "Manrope","Segoe UI",Arial,sans-serif;
}

.re-home-seo__arrow{
 width:8px;
 height:8px;
 flex:0 0 8px;
 border-right:1.5px solid #537d8d;
 border-bottom:1.5px solid #537d8d;
 transform:rotate(45deg);
 transition:transform .2s ease;
}

.re-home-seo[open] .re-home-seo__arrow{
 transform:rotate(225deg);
}

.re-home-seo__content{
 padding:2px 16px 16px;
 color:#5d7481;
 font:500 12px/1.7 "Manrope","Segoe UI",Arial,sans-serif;
}

.re-home-seo__content h2{
 margin:8px 0 10px;
 color:#315b6e;
 font-size:18px;
 line-height:1.3;
}

.re-home-seo__content h3{
 margin:18px 0 8px;
 color:#3b6577;
 font-size:14px;
 line-height:1.3;
}

.re-home-seo__content p{
 max-width:1050px;
 margin:0 0 10px;
}

.re-home-seo__content ul{
 max-width:1000px;
 margin:8px 0 12px;
 padding-left:18px;
}

.re-home-seo__content li{
 margin:3px 0;
}

@media(max-width:1180px){
 .re-home-country-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
 }
}

@media(max-width:760px){
 .re-home-section{
  margin:12px 10px 0;
  padding:17px 10px 20px;
 }

 .re-home-section__heading{
  align-items:flex-start;
  flex-direction:column;
  gap:10px;
 }

 .re-home-country-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
 }

 .re-popular-country__title{
  font-size:16px;
 }

 .re-home-seo-wrap{
  margin:12px 10px 10px;
 }
}

@media(max-width:480px){
 .re-home-country-grid{
  grid-template-columns:1fr;
 }

 .re-popular-country__media{
  aspect-ratio:16 / 10;
 }
}

/* ==========================================================================
   RUSSIAN EMIGRANT — HOME INFORMER SVG SAFETY
   ========================================================================== */

.re-home-section__more{
 display:inline-flex !important;
 align-items:center !important;
 width:auto !important;
 height:auto !important;
}

.re-home-section__more svg{
 display:block !important;
 width:13px !important;
 height:13px !important;
 min-width:13px !important;
 min-height:13px !important;
 max-width:13px !important;
 max-height:13px !important;
 flex:0 0 13px !important;
 overflow:visible !important;
 fill:none !important;
 stroke:currentColor !important;
}

/* ==========================================================================
   RUSSIAN EMIGRANT — UCOZ FORM BUTTONS STRONG FINAL FIX
   Жёстко перебиваем системные стили uCoz/браузера.
   ========================================================================== */

/* Любые системные кнопки форм */
body input[type="submit"],
body input[type="reset"],
body input[type="button"],
body button[type="submit"],
body button[type="reset"],
body .manFlSbm,
body .manFlRst,
body input[value="Сохранить"],
body input[value="Восстановить"]{
 -webkit-appearance:none !important;
 appearance:none !important;

 display:inline-flex !important;
 align-items:center !important;
 justify-content:center !important;

 min-width:132px !important;
 min-height:42px !important;

 margin:4px 8px 4px 0 !important;
 padding:10px 18px !important;

 border:1px solid transparent !important;
 border-radius:8px !important;

 outline:none !important;

 font:800 14px/1.15 "Manrope","Segoe UI",Arial,sans-serif !important;
 letter-spacing:0 !important;

 text-shadow:none !important;
 text-decoration:none !important;

 box-shadow:none !important;
 cursor:pointer !important;

 transition:
  background-color .16s ease,
  border-color .16s ease,
  color .16s ease,
  box-shadow .16s ease,
  transform .16s ease !important;
}


/* Сохранить / submit */
body input[type="submit"],
body button[type="submit"],
body .manFlSbm,
body input[value="Сохранить"]{
 border-color:#21859f !important;
 background:#21859f !important;
 color:#fff !important;

 box-shadow:0 5px 14px rgba(33,133,159,.16) !important;
}

body input[type="submit"]:hover:not(:disabled),
body button[type="submit"]:hover:not(:disabled),
body .manFlSbm:hover:not(:disabled),
body input[value="Сохранить"]:hover:not(:disabled){
 border-color:#18778f !important;
 background:#18778f !important;
 color:#fff !important;

 box-shadow:0 7px 17px rgba(28,112,137,.20) !important;
 transform:translateY(-1px) !important;
}


/* Восстановить / reset */
body input[type="reset"],
body button[type="reset"],
body .manFlRst,
body input[value="Восстановить"]{
 border-color:rgba(49,94,114,.26) !important;
 background:rgba(255,255,255,.88) !important;
 color:#315e72 !important;

 box-shadow:
  0 4px 12px rgba(35,82,104,.07),
  inset 0 1px 0 rgba(255,255,255,.90) !important;
}

body input[type="reset"]:hover,
body button[type="reset"]:hover,
body .manFlRst:hover,
body input[value="Восстановить"]:hover{
 border-color:rgba(33,133,159,.38) !important;
 background:#fff !important;
 color:#177c94 !important;

 box-shadow:
  0 6px 15px rgba(35,82,104,.10),
  inset 0 1px 0 rgba(255,255,255,.96) !important;

 transform:translateY(-1px) !important;
}


/* Отключённое "Сохранить" — всё равно читаемое */
body input[type="submit"]:disabled,
body button[type="submit"]:disabled,
body .manFlSbm:disabled,
body input[value="Сохранить"]:disabled,
body input[type="submit"][disabled],
body .manFlSbm[disabled]{
 border-color:#b7d1d8 !important;
 background:#d7e7eb !important;
 color:#587781 !important;

 box-shadow:none !important;

 opacity:1 !important;
 cursor:not-allowed !important;
 transform:none !important;
}


/* Убираем старые системные двойные рамки uCoz */
body input[type="submit"]::-moz-focus-inner,
body input[type="reset"]::-moz-focus-inner,
body input[type="button"]::-moz-focus-inner,
body button::-moz-focus-inner{
 border:0 !important;
 padding:0 !important;
}


/* Фокус */
body input[type="submit"]:focus-visible,
body input[type="reset"]:focus-visible,
body input[type="button"]:focus-visible,
body button[type="submit"]:focus-visible,
body button[type="reset"]:focus-visible,
body .manFlSbm:focus-visible,
body .manFlRst:focus-visible{
 outline:2px solid rgba(33,133,159,.28) !important;
 outline-offset:2px !important;
}


/* Частые контейнеры форм uCoz не должны переопределять кнопки */
body .manFlSbm,
body .manFlRst{
 height:auto !important;
 line-height:1.15 !important;
 background-image:none !important;
 filter:none !important;
}

@media(max-width:600px){
 body input[type="submit"],
 body input[type="reset"],
 body input[type="button"],
 body button[type="submit"],
 body button[type="reset"],
 body .manFlSbm,
 body .manFlRst,
 body input[value="Сохранить"],
 body input[value="Восстановить"]{
  min-width:116px !important;
  min-height:40px !important;
  padding:9px 14px !important;
  font-size:13px !important;
 }
}

/* ==========================================================================
   RUSSIAN EMIGRANT — DISABLED SAVE TEXT VISIBILITY FIX
   ========================================================================== */

body input[type="submit"]:disabled,
body input[type="submit"][disabled],
body button[type="submit"]:disabled,
body button[type="submit"][disabled],
body .manFlSbm:disabled,
body .manFlSbm[disabled],
body input[value="Сохранить"]:disabled,
body input[value="Сохранить"][disabled]{
 background:#d5e5e9 !important;
 border-color:#b7cfd6 !important;

 color:#3f6672 !important;
 -webkit-text-fill-color:#3f6672 !important;

 opacity:1 !important;
 filter:none !important;
 text-shadow:none !important;

 font-weight:800 !important;

 box-shadow:
  inset 0 1px 0 rgba(255,255,255,.72) !important;

 cursor:not-allowed !important;
}

/* На случай если uCoz выключает кнопку через класс, а не disabled */
body .manFlSbm.disabled,
body .manFlSbm.uDisabled,
body input[type="submit"].disabled,
body input[type="submit"].uDisabled{
 background:#d5e5e9 !important;
 border-color:#b7cfd6 !important;

 color:#3f6672 !important;
 -webkit-text-fill-color:#3f6672 !important;

 opacity:1 !important;
 filter:none !important;
 text-shadow:none !important;
}

/* ==========================================================================
   RUSSIAN EMIGRANT — POPULAR COUNTRY IMAGE FALLBACK
   ========================================================================== */

.re-popular-country__noimage{
 position:absolute;
 inset:0;

 display:flex;
 align-items:center;
 justify-content:center;

 background:linear-gradient(135deg,#e9f5f6,#d7ebee);

 color:#5c8d9e;
}

.re-popular-country__noimage svg{
 display:block;
 width:42px !important;
 height:42px !important;

 fill:none !important;
 stroke:currentColor !important;
 stroke-width:1.4 !important;
 stroke-linecap:round !important;
 stroke-linejoin:round !important;

 opacity:.55;
}

/* ==========================================================================
   RUSSIAN EMIGRANT — POPULAR COUNTRIES CLEAN CARDS V2
   Одинаковая высота изображений + светлые аккуратные карточки.
   ========================================================================== */

.re-home-country-grid{
 display:grid !important;
 grid-template-columns:repeat(5,minmax(0,1fr)) !important;
 gap:14px !important;
 align-items:stretch !important;
}

.re-popular-country{
 min-width:0 !important;
 height:100% !important;
}

.re-popular-country__media{
 position:relative !important;

 display:flex !important;
 flex-direction:column !important;

 width:100% !important;
 height:100% !important;
 min-height:330px !important;

 overflow:hidden !important;

 border:1px solid rgba(52,111,132,.14) !important;
 border-radius:10px !important;

 background:rgba(249,253,254,.88) !important;

 box-shadow:
  0 8px 22px rgba(31,76,96,.07),
  inset 0 1px 0 rgba(255,255,255,.88) !important;

 text-decoration:none !important;

 transition:
  transform .18s ease,
  border-color .18s ease,
  box-shadow .18s ease !important;
}

/* отдельная фиксированная зона фотографии */
.re-popular-country__photo{
 position:relative !important;

 display:block !important;

 width:100% !important;
 height:190px !important;
 min-height:190px !important;
 flex:0 0 190px !important;

 overflow:hidden !important;

 background:#dcecef !important;
}

.re-popular-country__image{
 position:absolute !important;
 inset:0 !important;

 display:block !important;

 width:100% !important;
 height:100% !important;

 max-width:none !important;
 max-height:none !important;

 object-fit:cover !important;
 object-position:center center !important;

 border:0 !important;
 border-radius:0 !important;

 transition:transform .28s ease !important;
}

/* Если изображения вообще нет */
.re-popular-country__noimage{
 position:absolute !important;
 inset:0 !important;

 display:flex !important;
 align-items:center !important;
 justify-content:center !important;

 width:100% !important;
 height:100% !important;

 background:
  linear-gradient(135deg,rgba(232,246,248,.98),rgba(210,235,239,.98)) !important;

 color:#6b99a7 !important;
}

.re-popular-country__noimage svg{
 width:38px !important;
 height:38px !important;
}

/* Номер остаётся только на фотографии */
.re-popular-country__rank{
 position:absolute !important;
 top:10px !important;
 left:10px !important;
 z-index:4 !important;

 display:inline-flex !important;
 align-items:center !important;
 justify-content:center !important;

 width:28px !important;
 height:28px !important;

 border:1px solid rgba(255,255,255,.55) !important;
 border-radius:7px !important;

 background:rgba(20,58,72,.72) !important;
 color:#fff !important;

 font:800 11px/1 "Manrope","Segoe UI",Arial,sans-serif !important;

 box-shadow:0 3px 10px rgba(11,46,60,.16) !important;

 backdrop-filter:blur(7px) !important;
 -webkit-backdrop-filter:blur(7px) !important;
}

/* Старый тёмный градиент больше не нужен */
.re-popular-country__shade{
 display:none !important;
}

/* Информация теперь отдельной светлой частью */
.re-popular-country__overlay{
 position:relative !important;
 left:auto !important;
 right:auto !important;
 bottom:auto !important;

 z-index:2 !important;

 display:flex !important;
 flex-direction:column !important;
 align-items:flex-start !important;

 flex:1 1 auto !important;

 width:100% !important;

 padding:16px 16px 14px !important;

 background:transparent !important;
}

.re-popular-country__category{
 display:block !important;

 margin:0 0 7px !important;

 color:#27839a !important;

 font:800 9px/1.2 "Manrope","Segoe UI",Arial,sans-serif !important;
 letter-spacing:.08em !important;
 text-transform:uppercase !important;
}

.re-popular-country__title{
 margin:0 !important;

 color:#234f63 !important;

 font:850 18px/1.18 "Manrope","Segoe UI",Arial,sans-serif !important;
 letter-spacing:-.02em !important;
}

.re-popular-country__reads{
 display:flex !important;
 align-items:center !important;
 gap:6px !important;

 margin:auto 0 0 !important;
 padding-top:14px !important;

 color:#7b929d !important;

 font:700 10px/1 "Manrope","Segoe UI",Arial,sans-serif !important;
}

.re-popular-country__reads svg{
 display:block !important;

 width:14px !important;
 height:14px !important;

 fill:none !important;
 stroke:currentColor !important;
 stroke-width:1.7 !important;
}

/* hover без тяжёлого затемнения */
.re-popular-country__media:hover{
 transform:translateY(-2px) !important;

 border-color:rgba(33,133,159,.28) !important;

 box-shadow:
  0 12px 28px rgba(29,78,98,.11),
  inset 0 1px 0 rgba(255,255,255,.92) !important;
}

.re-popular-country__media:hover .re-popular-country__image{
 transform:scale(1.035) !important;
}


/* 4 карточки на более узком desktop */
@media(max-width:1350px){
 .re-home-country-grid{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
 }
}

/* 3 карточки */
@media(max-width:1050px){
 .re-home-country-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
 }
}

/* 2 карточки */
@media(max-width:720px){
 .re-home-country-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:10px !important;
 }

 .re-popular-country__media{
  min-height:300px !important;
 }

 .re-popular-country__photo{
  height:165px !important;
  min-height:165px !important;
  flex-basis:165px !important;
 }

 .re-popular-country__overlay{
  padding:13px !important;
 }

 .re-popular-country__title{
  font-size:16px !important;
 }
}

/* 1 карточка на телефоне */
@media(max-width:470px){
 .re-home-country-grid{
  grid-template-columns:1fr !important;
 }

 .re-popular-country__media{
  min-height:0 !important;
 }

 .re-popular-country__photo{
  height:190px !important;
  min-height:190px !important;
  flex-basis:190px !important;
 }
}

/* ==========================================================================
   RUSSIAN EMIGRANT — POPULAR COUNTRIES COMPACT BODY FIX
   Убираем лишнюю пустоту под названием карточки.
   ========================================================================== */

.re-popular-country__media{
 height:auto !important;
 min-height:0 !important;
}

.re-popular-country__overlay{
 flex:0 0 auto !important;
 padding:14px 16px 15px !important;
}

.re-popular-country__reads{
 margin:10px 0 0 !important;
 padding:0 !important;
}

@media(max-width:720px){
 .re-popular-country__media{
  min-height:0 !important;
 }

 .re-popular-country__overlay{
  padding:13px !important;
 }
}

/* ==========================================================================
   RUSSIAN EMIGRANT — SAVE BUTTON DISABLED CONTRAST FINAL
   Даже если uCoz принудительно оставляет белый текст, фон остаётся контрастным.
   ========================================================================== */

body input[value="Сохранить"][disabled],
body input[value="Сохранить"]:disabled,
body button[disabled][type="submit"],
body button[type="submit"]:disabled,
body input[type="submit"][disabled],
body input[type="submit"]:disabled,
body .manFlSbm[disabled],
body .manFlSbm:disabled,
body .manFlSbm.disabled,
body .manFlSbm.uDisabled{
 background:#789fac !important;
 background-image:none !important;

 border:1px solid #6d929e !important;

 color:#ffffff !important;
 -webkit-text-fill-color:#ffffff !important;

 opacity:1 !important;
 filter:none !important;

 text-shadow:none !important;

 box-shadow:
  0 4px 12px rgba(38,84,101,.12),
  inset 0 1px 0 rgba(255,255,255,.18) !important;

 cursor:not-allowed !important;
}

/* Если это <button><span>Сохранить</span></button> */
body button[type="submit"]:disabled *,
body button[disabled][type="submit"] *,
body .manFlSbm[disabled] *,
body .manFlSbm:disabled *{
 color:#ffffff !important;
 -webkit-text-fill-color:#ffffff !important;
 opacity:1 !important;
}

/* Если uCoz ставит opacity на оболочку кнопки */
body .manFlSbm.disabled,
body .manFlSbm.uDisabled{
 opacity:1 !important;
}

/* ==========================================================================
   RUSSIAN EMIGRANT — SAVE BUTTON FINAL CSS ONLY
   Без JS. Делаем кнопку "Сохранить" читаемой во всех состояниях.
   ========================================================================== */

body input[value="Сохранить"],
body input[value="Сохранить"]:hover,
body input[value="Сохранить"]:focus,
body input[value="Сохранить"]:active,
body input[value="Сохранить"]:disabled,
body input[value="Сохранить"][disabled],
body .manFlSbm,
body .manFlSbm:hover,
body .manFlSbm:focus,
body .manFlSbm:active{
 -webkit-appearance:none !important;
 appearance:none !important;

 min-width:132px !important;
 min-height:42px !important;

 padding:10px 18px !important;

 border:1px solid #197b93 !important;
 border-radius:8px !important;

 background:#21859f !important;
 background-color:#21859f !important;
 background-image:none !important;

 color:#ffffff !important;
 -webkit-text-fill-color:#ffffff !important;

 opacity:1 !important;
 visibility:visible !important;

 filter:none !important;
 text-shadow:none !important;

 font-weight:800 !important;

 box-shadow:0 5px 14px rgba(33,133,159,.16) !important;

 transition:
  background-color .16s ease,
  border-color .16s ease,
  box-shadow .16s ease !important;
}

body input[value="Сохранить"]:hover,
body .manFlSbm:hover{
 background:#18778f !important;
 background-color:#18778f !important;

 border-color:#18778f !important;

 color:#ffffff !important;
 -webkit-text-fill-color:#ffffff !important;

 opacity:1 !important;
}

/* uCoz иногда приглушает контейнер кнопки */
body td:has(input[value="Сохранить"]),
body div:has(> input[value="Сохранить"]),
body span:has(> input[value="Сохранить"]),
body td:has(.manFlSbm),
body div:has(> .manFlSbm),
body span:has(> .manFlSbm){
 opacity:1 !important;
 visibility:visible !important;
 filter:none !important;
}

/* disabled остаётся читаемым */
body input[value="Сохранить"]:disabled,
body input[value="Сохранить"][disabled],
body .manFlSbm:disabled,
body .manFlSbm[disabled]{
 background:#638f9c !important;
 background-color:#638f9c !important;

 border-color:#587f8a !important;

 color:#ffffff !important;
 -webkit-text-fill-color:#ffffff !important;

 opacity:1 !important;

 cursor:not-allowed !important;
}

/* ==========================================================================
   RUSSIAN EMIGRANT — UCOZ FORM BUTTONS FINAL
   Реальный контейнер шаблона: .form-buttons
   ========================================================================== */

.form-buttons{
 display:flex !important;
 align-items:center !important;
 flex-wrap:wrap !important;
 gap:12px !important;
 padding-top:18px !important;
}

/* Все кнопки, которые uCoz выводит внутри $SUBMIT_FL$$CANCEL_FL$ */
.form-buttons input,
.form-buttons button,
.form-buttons a{
 -webkit-appearance:none !important;
 appearance:none !important;

 display:inline-flex !important;
 align-items:center !important;
 justify-content:center !important;

 min-width:150px !important;
 min-height:46px !important;

 margin:0 !important;
 padding:10px 20px !important;

 border:1px solid rgba(48,104,124,.24) !important;
 border-radius:8px !important;

 background:#ffffff !important;
 background-image:none !important;

 color:#355f72 !important;
 -webkit-text-fill-color:#355f72 !important;

 opacity:1 !important;
 visibility:visible !important;
 filter:none !important;

 font:800 14px/1.2 "Manrope","Segoe UI",Arial,sans-serif !important;

 text-decoration:none !important;
 text-shadow:none !important;

 box-shadow:0 4px 12px rgba(31,76,96,.07) !important;

 cursor:pointer !important;

 transition:
  background-color .16s ease,
  border-color .16s ease,
  color .16s ease,
  box-shadow .16s ease,
  transform .16s ease !important;
}

/* Основная submit-кнопка */
.form-buttons input[type="submit"]:not(:disabled),
.form-buttons button[type="submit"]:not(:disabled){
 background:#21859f !important;
 border-color:#21859f !important;

 color:#ffffff !important;
 -webkit-text-fill-color:#ffffff !important;

 box-shadow:0 5px 14px rgba(33,133,159,.17) !important;
}

/* Reset / вторичная кнопка */
.form-buttons input[type="reset"],
.form-buttons button[type="reset"]{
 background:#ffffff !important;
 border-color:rgba(48,104,124,.24) !important;

 color:#355f72 !important;
 -webkit-text-fill-color:#355f72 !important;
}

/* Отключённая кнопка "Сохранить" должна оставаться видимой */
.form-buttons input:disabled,
.form-buttons button:disabled,
.form-buttons input[disabled],
.form-buttons button[disabled]{
 background:#668f9b !important;
 background-color:#668f9b !important;
 background-image:none !important;

 border-color:#587d88 !important;

 color:#ffffff !important;
 -webkit-text-fill-color:#ffffff !important;

 opacity:1 !important;
 visibility:visible !important;
 filter:none !important;

 text-shadow:none !important;

 box-shadow:
  0 4px 12px rgba(37,75,89,.12),
  inset 0 1px 0 rgba(255,255,255,.16) !important;

 cursor:not-allowed !important;
 transform:none !important;
}

.form-buttons input:not(:disabled):hover,
.form-buttons button:not(:disabled):hover,
.form-buttons a:hover{
 border-color:#18778f !important;
 transform:translateY(-1px) !important;
}

.form-buttons input[type="submit"]:not(:disabled):hover,
.form-buttons button[type="submit"]:not(:disabled):hover{
 background:#18778f !important;

 color:#ffffff !important;
 -webkit-text-fill-color:#ffffff !important;
}

/* disabled при hover не меняется */
.form-buttons input:disabled:hover,
.form-buttons button:disabled:hover{
 background:#668f9b !important;
 border-color:#587d88 !important;

 color:#ffffff !important;
 -webkit-text-fill-color:#ffffff !important;

 opacity:1 !important;
 transform:none !important;
}

@media(max-width:600px){
 .form-buttons{
  gap:8px !important;
 }

 .form-buttons input,
 .form-buttons button,
 .form-buttons a{
  min-width:125px !important;
  min-height:42px !important;
  padding:9px 14px !important;
  font-size:13px !important;
 }
}

/* ==========================================================================
   RUSSIAN EMIGRANT — REAL SAVE BUTTON FIX
   ВАЖНО: старое правило ошибочно делало .manFlSbm прозрачной кнопкой.
   ========================================================================== */

.re-editor-body .manFlSbm{
 -webkit-appearance:none !important;
 appearance:none !important;

 display:inline-flex !important;
 align-items:center !important;
 justify-content:center !important;

 min-width:150px !important;
 min-height:46px !important;

 padding:10px 20px !important;

 border:1px solid #21859f !important;
 border-radius:8px !important;

 background:#21859f !important;
 background-color:#21859f !important;
 background-image:none !important;

 color:#ffffff !important;
 -webkit-text-fill-color:#ffffff !important;

 opacity:1 !important;
 filter:none !important;

 font-weight:800 !important;
 text-shadow:none !important;

 box-shadow:0 5px 14px rgba(33,133,159,.17) !important;

 cursor:pointer !important;
}

.re-editor-body .manFlSbm:hover,
.re-editor-body .manFlSbm:focus,
.re-editor-body .manFlSbm:active{
 border-color:#18778f !important;

 background:#18778f !important;
 background-color:#18778f !important;
 background-image:none !important;

 color:#ffffff !important;
 -webkit-text-fill-color:#ffffff !important;

 opacity:1 !important;
}

/* Вторичная системная кнопка остаётся светлой */
.re-editor-body .manFlRst{
 border:1px solid rgba(49,94,114,.26) !important;
 border-radius:8px !important;

 background:#ffffff !important;
 background-image:none !important;

 color:#315e72 !important;
 -webkit-text-fill-color:#315e72 !important;

 opacity:1 !important;
 filter:none !important;
}

/* ==========================================================================
   RUSSIAN EMIGRANT — COUNTRY CARD PLACEHOLDER ONLY
   НЕ меняет дизайн информера. Стили только для состояния без изображения.
   ========================================================================== */

.re-popular-country__placeholder{
 position:absolute;
 inset:0;
 z-index:0;

 display:flex;
 flex-direction:column;
 align-items:center;
 justify-content:center;
 gap:10px;

 padding:20px;
 overflow:hidden;

 background:
  radial-gradient(circle at 82% 18%,rgba(51,166,190,.28),transparent 34%),
  radial-gradient(circle at 12% 88%,rgba(80,91,136,.22),transparent 40%),
  linear-gradient(145deg,#edf8fb 0%,#deeff4 52%,#d4e7ee 100%);
}

.re-popular-country__placeholder::before{
 content:"";
 position:absolute;
 inset:0;
 pointer-events:none;

 background:
  linear-gradient(135deg,rgba(255,255,255,.34),rgba(255,255,255,.05)),
  repeating-linear-gradient(
   -35deg,
   rgba(255,255,255,.11) 0,
   rgba(255,255,255,.11) 2px,
   transparent 2px,
   transparent 18px
  );
}

.re-popular-country__placeholder-badge{
 position:absolute;
 top:13px;
 left:13px;
 z-index:2;

 display:inline-flex;
 align-items:center;
 min-height:26px;
 padding:0 9px;

 border:1px solid rgba(39,127,149,.20);
 border-radius:7px;

 background:rgba(255,255,255,.80);

 color:#36758a;
 font-size:10px;
 line-height:1;
 font-weight:800;
 letter-spacing:.06em;
 text-transform:uppercase;

 box-shadow:0 7px 18px rgba(38,81,97,.08);
}

.re-popular-country__placeholder-icon{
 position:relative;
 z-index:2;

 display:flex;
 align-items:center;
 justify-content:center;

 width:64px;
 height:64px;

 border:1px solid rgba(37,134,158,.23);
 border-radius:50%;

 background:rgba(255,255,255,.76);

 box-shadow:0 13px 28px rgba(44,91,108,.12);
}

.re-popular-country__placeholder-icon svg{
 width:31px !important;
 height:31px !important;

 fill:none !important;
 stroke:#2387a2 !important;
 stroke-width:1.8 !important;
 stroke-linecap:round;
 stroke-linejoin:round;
}

.re-popular-country__placeholder-text{
 position:relative;
 z-index:2;

 max-width:90%;
 text-align:center;
}

.re-popular-country__placeholder-text span{
 display:block;
 margin:0 0 4px;

 color:#4b8597;
 font-size:10px;
 line-height:1.2;
 font-weight:800;
 letter-spacing:.07em;
 text-transform:uppercase;
}

.re-popular-country__placeholder-text strong{
 display:block;

 color:#173a4c;
 font-size:17px;
 line-height:1.18;
 font-weight:900;
}

.re-popular-country:hover .re-popular-country__placeholder-icon{
 transform:translateY(-2px);
}

.re-popular-country__placeholder-icon{
 transition:transform .18s ease;
}

/* ==========================================================================
   RUSSIAN EMIGRANT — FIRM SCROLL / NATIVE MECHANICS FINAL
   Внешний вид фирменный, drag выполняет браузер — поэтому ползунок
   физически перетаскивается мышью без JS-эмуляции.
   ========================================================================== */

@media(min-width:901px){

 /* Старый JS-класс больше не должен скрывать настоящий scrollbar */
 html,
 body,
 html.re-custom-scroll-ready,
 html.re-custom-scroll-ready body,
 html.re-native-themed-scroll,
 html.re-native-themed-scroll body{
  scrollbar-width:auto !important;
  scrollbar-color:#18859d #dceff3 !important;
 }

 /* Старый искусственный scrollbar полностью убираем */
 .re-scrollbar{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
 }

 /* Chromium / Edge / Chrome */
 html::-webkit-scrollbar,
 body::-webkit-scrollbar,
 html.re-custom-scroll-ready::-webkit-scrollbar,
 html.re-custom-scroll-ready body::-webkit-scrollbar,
 html.re-native-themed-scroll::-webkit-scrollbar,
 html.re-native-themed-scroll body::-webkit-scrollbar{
  display:block !important;
  width:18px !important;
  height:18px !important;
 }

 html::-webkit-scrollbar-track,
 body::-webkit-scrollbar-track,
 html.re-custom-scroll-ready::-webkit-scrollbar-track,
 html.re-custom-scroll-ready body::-webkit-scrollbar-track,
 html.re-native-themed-scroll::-webkit-scrollbar-track,
 html.re-native-themed-scroll body::-webkit-scrollbar-track{
  background:
   linear-gradient(
    to right,
    transparent 0,
    transparent 6px,
    rgba(185,220,229,.92) 6px,
    rgba(185,220,229,.92) 12px,
    transparent 12px,
    transparent 100%
   ) !important;

  border:0 !important;
  box-shadow:none !important;
 }

 html::-webkit-scrollbar-thumb,
 body::-webkit-scrollbar-thumb,
 html.re-custom-scroll-ready::-webkit-scrollbar-thumb,
 html.re-custom-scroll-ready body::-webkit-scrollbar-thumb,
 html.re-native-themed-scroll::-webkit-scrollbar-thumb,
 html.re-native-themed-scroll body::-webkit-scrollbar-thumb{
  min-height:58px !important;

  border:2px solid rgba(255,255,255,.96) !important;
  border-radius:8px !important;

  background:#16839b !important;
  background-clip:padding-box !important;

  box-shadow:
   inset 0 0 0 1px rgba(13,93,113,.20),
   0 2px 7px rgba(16,80,99,.20) !important;
 }

 html::-webkit-scrollbar-thumb:hover,
 body::-webkit-scrollbar-thumb:hover,
 html.re-custom-scroll-ready::-webkit-scrollbar-thumb:hover,
 html.re-custom-scroll-ready body::-webkit-scrollbar-thumb:hover,
 html.re-native-themed-scroll::-webkit-scrollbar-thumb:hover,
 html.re-native-themed-scroll body::-webkit-scrollbar-thumb:hover{
  background:#126f88 !important;
  background-clip:padding-box !important;
 }

 html::-webkit-scrollbar-thumb:active,
 body::-webkit-scrollbar-thumb:active,
 html.re-custom-scroll-ready::-webkit-scrollbar-thumb:active,
 html.re-custom-scroll-ready body::-webkit-scrollbar-thumb:active,
 html.re-native-themed-scroll::-webkit-scrollbar-thumb:active,
 html.re-native-themed-scroll body::-webkit-scrollbar-thumb:active{
  background:#0e6278 !important;
  background-clip:padding-box !important;
 }

 html::-webkit-scrollbar-button,
 body::-webkit-scrollbar-button,
 html.re-custom-scroll-ready::-webkit-scrollbar-button,
 html.re-custom-scroll-ready body::-webkit-scrollbar-button,
 html.re-native-themed-scroll::-webkit-scrollbar-button,
 html.re-native-themed-scroll body::-webkit-scrollbar-button{
  display:none !important;
  width:0 !important;
  height:0 !important;
 }

 html::-webkit-scrollbar-corner,
 body::-webkit-scrollbar-corner{
  background:transparent !important;
 }

}


/* ==========================================================================
   RUSSIAN EMIGRANT — UCOZ COOKIE NOTICE
   Оформление системного уведомления uCoz о cookies.
   ========================================================================== */

/* Корневой системный блок uCoz: цепляемся за уникальную кнопку согласия. */
body > div:has(#cookiePolicyAgree),
body > section:has(#cookiePolicyAgree),
body > aside:has(#cookiePolicyAgree){
 position:fixed !important;
 top:auto !important;
 right:16px !important;
 bottom:14px !important;
 left:16px !important;
 z-index:2147483000 !important;

 box-sizing:border-box !important;
 width:auto !important;
 max-width:1180px !important;
 min-height:0 !important;
 margin:0 auto !important;
 padding:11px 12px 11px 15px !important;

 display:flex !important;
 align-items:center !important;
 justify-content:space-between !important;
 gap:16px !important;

 border:1px solid rgba(70,126,145,.22) !important;
 border-radius:10px !important;

 background:rgba(247,252,253,.96) !important;
 background-image:none !important;

 color:#385563 !important;
 font:600 13px/1.45 "Manrope","Segoe UI",Arial,sans-serif !important;
 text-align:left !important;
 text-shadow:none !important;

 box-shadow:
  0 14px 34px rgba(34,75,91,.16),
  inset 0 1px 0 rgba(255,255,255,.92) !important;

 -webkit-backdrop-filter:blur(14px) saturate(130%) !important;
 backdrop-filter:blur(14px) saturate(130%) !important;
}

/* Небольшой фирменный акцент слева. */
body > div:has(#cookiePolicyAgree)::before,
body > section:has(#cookiePolicyAgree)::before,
body > aside:has(#cookiePolicyAgree)::before{
 content:"" !important;
 display:block !important;
 width:4px !important;
 align-self:stretch !important;
 flex:0 0 4px !important;
 margin:-2px 0 !important;
 border-radius:4px !important;
 background:#21859f !important;
}

/* Сбрасываем старый белый текст/фон у внутренних оболочек uCoz. */
body > div:has(#cookiePolicyAgree) :where(div,span,p),
body > section:has(#cookiePolicyAgree) :where(div,span,p),
body > aside:has(#cookiePolicyAgree) :where(div,span,p){
 color:inherit !important;
 text-shadow:none !important;
 background-color:transparent !important;
}

/* Ссылка на политику. */
a[href="/index/cookiepolicy"],
a[href^="/index/cookiepolicy?"]{
 color:#167b94 !important;
 font-weight:800 !important;
 text-decoration:none !important;
 border-bottom:1px solid rgba(22,123,148,.34) !important;
 transition:color .16s ease,border-color .16s ease !important;
}

a[href="/index/cookiepolicy"]:hover,
a[href^="/index/cookiepolicy?"]:hover{
 color:#105f75 !important;
 border-bottom-color:#105f75 !important;
}

/* Реальная системная кнопка uCoz. */
#cookiePolicyAgree,
a#cookiePolicyAgree,
.bottom-info-button-agree{
 -webkit-appearance:none !important;
 appearance:none !important;

 display:inline-flex !important;
 align-items:center !important;
 justify-content:center !important;
 flex:0 0 auto !important;

 min-width:132px !important;
 min-height:40px !important;
 margin:0 !important;
 padding:9px 16px !important;

 border:1px solid #197b93 !important;
 border-radius:8px !important;

 background:#21859f !important;
 background-image:none !important;

 color:#fff !important;
 -webkit-text-fill-color:#fff !important;

 font:800 12px/1.15 "Manrope","Segoe UI",Arial,sans-serif !important;
 letter-spacing:.03em !important;
 text-decoration:none !important;
 text-transform:none !important;
 text-shadow:none !important;

 opacity:1 !important;
 filter:none !important;

 box-shadow:0 6px 15px rgba(33,133,159,.18) !important;
 transition:background-color .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease !important;
}

#cookiePolicyAgree:hover,
a#cookiePolicyAgree:hover,
.bottom-info-button-agree:hover{
 border-color:#176f86 !important;
 background:#18778f !important;
 color:#fff !important;
 -webkit-text-fill-color:#fff !important;
 transform:translateY(-1px) !important;
 box-shadow:0 8px 18px rgba(33,133,159,.22) !important;
}

#cookiePolicyAgree:active,
a#cookiePolicyAgree:active,
.bottom-info-button-agree:active{
 transform:translateY(0) !important;
}

@media(max-width:760px){
 body > div:has(#cookiePolicyAgree),
 body > section:has(#cookiePolicyAgree),
 body > aside:has(#cookiePolicyAgree){
  top:auto !important;
  right:8px !important;
  bottom:8px !important;
  left:8px !important;
  gap:10px !important;
  padding:10px !important;
  border-radius:9px !important;
  font-size:12px !important;
  line-height:1.4 !important;
 }

 #cookiePolicyAgree,
 a#cookiePolicyAgree,
 .bottom-info-button-agree{
  min-width:112px !important;
  min-height:38px !important;
  padding:8px 12px !important;
  font-size:11px !important;
 }
}

@media(max-width:520px){
 body > div:has(#cookiePolicyAgree),
 body > section:has(#cookiePolicyAgree),
 body > aside:has(#cookiePolicyAgree){
  align-items:flex-start !important;
  flex-wrap:wrap !important;
 }

 #cookiePolicyAgree,
 a#cookiePolicyAgree,
 .bottom-info-button-agree{
  width:100% !important;
 }
}

/* ==========================================================================
   RUSSIAN EMIGRANT — COOKIE BOTTOM FINAL OVERRIDE
   Использовать только системную кнопку uCoz.
   ========================================================================== */

body > div:has(#cookiePolicyAgree),
body > section:has(#cookiePolicyAgree),
body > aside:has(#cookiePolicyAgree){
 top:auto !important;
 bottom:14px !important;
}

@media(max-width:760px){
 body > div:has(#cookiePolicyAgree),
 body > section:has(#cookiePolicyAgree),
 body > aside:has(#cookiePolicyAgree){
  top:auto !important;
  bottom:8px !important;
 }
}


/* ==========================================================================
   RUSSIAN EMIGRANT — DETAIL PAGE EXPANSION
   Рейтинг, опрос, похожие материалы, prev/next, комментарии
   ========================================================================== */

.re-detail-breadcrumbs{
 display:flex;
 align-items:center;
 flex-wrap:wrap;
 gap:7px;
 margin:0 0 14px;
 color:#70899a;
 font:700 11px/1.4 "Manrope","Segoe UI",Arial,sans-serif;
}
.re-detail-breadcrumbs a{color:#42758a !important;text-decoration:none !important;}
.re-detail-breadcrumbs a:hover{color:#087d93 !important;}
.re-detail-breadcrumbs span{opacity:.55;}
.re-detail-breadcrumbs strong{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#234a5d;font-weight:800;}

.re-detail-stats{
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:8px;
}
.re-detail-stats>span{
 display:grid;
 gap:2px;
 padding:10px 11px;
 border:1px solid rgba(75,142,167,.18);
 border-radius:14px;
 background:rgba(255,255,255,.58);
 box-shadow:inset 0 1px 0 rgba(255,255,255,.82);
}
.re-detail-stats b{color:#14566b;font:900 17px/1.1 "Manrope","Segoe UI",Arial,sans-serif;}
.re-detail-stats small{color:#70899a;font:700 9px/1.2 "Manrope","Segoe UI",Arial,sans-serif;text-transform:uppercase;letter-spacing:.05em;}

.re-detail-layout{
 display:grid;
 grid-template-columns:minmax(0,1fr) 310px;
 gap:20px;
 align-items:start;
}
.re-detail-main{min-width:0;display:grid;gap:18px;}
.re-detail-side{min-width:0;display:grid;gap:14px;position:sticky;top:104px;}
.re-detail-side .re-catalog-panel{margin:0;padding:17px;border-radius:20px;}
.re-detail-article-panel{margin:0 !important;}
.re-detail-content{color:#29495a;font:500 15px/1.78 "Manrope","Segoe UI",Arial,sans-serif;overflow-wrap:anywhere;}
.re-detail-content>:first-child{margin-top:0 !important;}
.re-detail-content>:last-child{margin-bottom:0 !important;}
.re-detail-content h2,.re-detail-content h3{margin-top:1.45em;color:#153f56;}
.re-detail-content img{max-width:100%;height:auto;border-radius:14px;}
.re-detail-content a{color:#0a8198;}

.re-detail-tags{display:flex;align-items:flex-start;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid rgba(75,142,167,.16);}
.re-detail-tags>strong{color:#315f72;font:900 11px/1.5 "Manrope","Segoe UI",Arial,sans-serif;text-transform:uppercase;letter-spacing:.07em;}
.re-detail-tags>div{display:flex;flex-wrap:wrap;gap:6px;}
.re-detail-tags a{display:inline-flex;padding:5px 8px;border:1px solid rgba(75,142,167,.20);border-radius:8px;background:#f5fbfc;color:#377084 !important;font:800 11px/1.2 "Manrope","Segoe UI",Arial,sans-serif;text-decoration:none !important;}
.re-detail-share{margin-top:15px;}

.re-mini-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.re-mini-head__icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 34px;border:1px solid rgba(33,133,159,.22);border-radius:10px;background:linear-gradient(180deg,#f7fdfe,#e2f4f6);color:#14829a;font:900 16px/1 Arial,sans-serif;}
.re-mini-head strong{display:block;color:#173f53;font:900 14px/1.25 "Manrope","Segoe UI",Arial,sans-serif;}
.re-mini-head small{display:block;margin-top:2px;color:#758d9c;font:600 10px/1.3 "Manrope","Segoe UI",Arial,sans-serif;}

.re-rating-score{display:flex;align-items:baseline;gap:7px;margin-bottom:12px;}
.re-rating-score strong{color:#0d7890;font:900 31px/1 "Lora",Georgia,serif;}
.re-rating-score span{color:#78909f;font:700 11px/1.2 "Manrope","Segoe UI",Arial,sans-serif;}
.re-rating-form{padding:12px;border:1px solid rgba(75,142,167,.18);border-radius:13px;background:rgba(247,253,254,.72);overflow:hidden;}
.re-rating-form img{max-width:100%;height:auto;}
.re-rating-votes{margin-top:9px;color:#6b8494;font:700 11px/1.3 "Manrope","Segoe UI",Arial,sans-serif;}
.re-rating-votes b{color:#23556a;}

.re-detail-poll{color:#36596a;font:600 12px/1.5 "Manrope","Segoe UI",Arial,sans-serif;overflow:hidden;}
.re-detail-poll table{width:100% !important;max-width:100% !important;}
.re-detail-poll input[type="radio"],.re-detail-poll input[type="checkbox"]{accent-color:#21859f;}
.re-detail-poll input[type="button"],.re-detail-poll input[type="submit"],.re-detail-poll button{min-height:34px !important;padding:7px 12px !important;border:1px solid #21859f !important;border-radius:8px !important;background:#21859f !important;color:#fff !important;-webkit-text-fill-color:#fff !important;font-weight:800 !important;opacity:1 !important;}

.re-detail-nav{display:grid;gap:7px;}
.re-detail-nav .re-catalog-pill{width:100%;justify-content:flex-start;border-radius:9px !important;}

.re-entry-switch{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.re-entry-switch__item{min-width:0;padding:14px 16px;border:1px solid rgba(75,142,167,.20);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(239,249,251,.82));box-shadow:0 10px 24px rgba(33,72,102,.06);}
.re-entry-switch__item>span{display:block;margin-bottom:6px;color:#7b919d;font:800 9px/1.2 "Manrope","Segoe UI",Arial,sans-serif;text-transform:uppercase;letter-spacing:.07em;}
.re-entry-switch__item a{display:block;color:#174b61 !important;font:900 13px/1.35 "Manrope","Segoe UI",Arial,sans-serif;text-decoration:none !important;}
.re-entry-switch__item a:hover{color:#087d93 !important;}
.re-entry-switch__item em{color:#91a3ad;font:600 12px/1.35 "Manrope","Segoe UI",Arial,sans-serif;font-style:normal;}
.re-entry-switch__item--next{text-align:right;}

.re-related-panel{margin:0 !important;}
.re-related-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
.re-related-list ul,.re-related-list ol{display:contents;margin:0;padding:0;list-style:none;}
.re-related-list li{list-style:none;}
.re-related-list a{display:flex;align-items:center;min-height:52px;padding:10px 12px;border:1px solid rgba(75,142,167,.18);border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(240,249,250,.75));color:#24566a !important;font:800 12px/1.35 "Manrope","Segoe UI",Arial,sans-serif;text-decoration:none !important;transition:.18s ease;}
.re-related-list a:hover{transform:translateY(-1px);border-color:rgba(33,133,159,.34);color:#087d93 !important;box-shadow:0 8px 18px rgba(33,72,102,.07);}

.re-comments-shell{margin:0 !important;}
.re-comments-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px;}
.re-comments-head__eyebrow{display:block;margin-bottom:4px;color:#0b8399;font:900 9px/1.2 "Manrope","Segoe UI",Arial,sans-serif;text-transform:uppercase;letter-spacing:.10em;}
.re-comments-head h2{margin:0 !important;color:#173f53;}
.re-comments-head p{margin:5px 0 0;color:#718998;font:600 12px/1.45 "Manrope","Segoe UI",Arial,sans-serif;}
.re-comments-count{display:flex;align-items:center;justify-content:center;min-width:38px;height:32px;padding:0 10px;border:1px solid rgba(33,133,159,.22);border-radius:9px;background:#edf9fa;color:#0a7c92;font:900 12px/1 "Manrope","Segoe UI",Arial,sans-serif;}
.re-comments-list{display:grid;gap:10px;}
.re-comments-list .comEnt,.re-comments-list .comment,.re-comments-list>div,.re-comments-list>table{max-width:100%;}
.re-comments-pages{margin-top:14px;text-align:center;}
.re-comments-pages a,.re-comments-pages span{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;margin:2px;padding:0 7px;border:1px solid rgba(75,142,167,.20);border-radius:8px;background:#fff;color:#34697d !important;font:800 11px/1 "Manrope","Segoe UI",Arial,sans-serif;text-decoration:none !important;}
.re-comment-add{margin-top:18px;padding-top:18px;border-top:1px solid rgba(75,142,167,.16);}
.re-comment-add__head{display:grid;gap:3px;margin-bottom:12px;}
.re-comment-add__head strong{color:#194a5f;font:900 14px/1.3 "Manrope","Segoe UI",Arial,sans-serif;}
.re-comment-add__head span{color:#768e9c;font:600 11px/1.4 "Manrope","Segoe UI",Arial,sans-serif;}
.re-comment-add__form input[type="text"],.re-comment-add__form input[type="email"],.re-comment-add__form textarea{max-width:100%;border:1px solid rgba(75,142,167,.24) !important;border-radius:10px !important;background:#fff !important;}
.re-comment-add__form input[type="submit"],.re-comment-add__form button{min-height:38px !important;padding:8px 15px !important;border:1px solid #21859f !important;border-radius:8px !important;background:#21859f !important;color:#fff !important;-webkit-text-fill-color:#fff !important;font-weight:800 !important;opacity:1 !important;}
.re-comment-locked{padding:12px 14px;border:1px solid rgba(75,142,167,.16);border-radius:10px;background:#f4fafb;color:#69818f;font:700 11px/1.45 "Manrope","Segoe UI",Arial,sans-serif;}

@media(max-width:1050px){
 .re-detail-layout{grid-template-columns:minmax(0,1fr) 270px;gap:14px;}
 .re-detail-side{top:88px;}
 .re-detail-stats{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media(max-width:900px){
 .re-detail-layout{grid-template-columns:1fr;}
 .re-detail-side{position:static;grid-template-columns:repeat(2,minmax(0,1fr));}
 .re-detail-side>.re-catalog-panel:last-of-type{grid-column:1/-1;}
}

@media(max-width:700px){
 .re-detail-breadcrumbs strong{max-width:220px;}
 .re-detail-side{grid-template-columns:1fr;}
 .re-detail-side>.re-catalog-panel:last-of-type{grid-column:auto;}
 .re-entry-switch{grid-template-columns:1fr;}
 .re-entry-switch__item--next{text-align:left;}
 .re-related-list{grid-template-columns:1fr;}
 .re-comments-head{align-items:center;}
}

@media(max-width:520px){
 .re-detail-stats{grid-template-columns:repeat(2,minmax(0,1fr));}
 .re-detail-stats>span{padding:9px;}
 .re-detail-content{font-size:14px;line-height:1.7;}
}

/* ==========================================================================
   RUSSIAN EMIGRANT — RATING STARS FINAL
   Вместо системного select $RATE_FORM$ используется uCoz RSTARS.
   ========================================================================== */

.re-rating-form--stars{
 display:flex !important;
 align-items:center !important;
 justify-content:flex-start !important;

 min-height:52px !important;
 padding:11px 14px !important;

 border:1px solid rgba(33,133,159,.18) !important;
 border-radius:12px !important;

 background:
  linear-gradient(
   180deg,
   rgba(255,255,255,.94),
   rgba(239,249,251,.90)
  ) !important;

 box-shadow:
  inset 0 1px 0 rgba(255,255,255,.92),
  0 7px 18px rgba(31,79,98,.06) !important;

 overflow:visible !important;
}

/* Сбрасываем старую табличную разметку uCoz */
.re-rating-form--stars table,
.re-rating-form--stars tbody,
.re-rating-form--stars tr,
.re-rating-form--stars td{
 width:auto !important;
 min-width:0 !important;
 height:auto !important;

 margin:0 !important;
 padding:0 !important;

 border:0 !important;
 background:transparent !important;
 box-shadow:none !important;

 vertical-align:middle !important;
}

/* Сами звёзды */
.re-rating-form--stars img{
 display:block !important;

 width:auto !important;
 max-width:none !important;
 height:auto !important;

 margin:0 2px !important;
 padding:0 !important;

 border:0 !important;
 background:transparent !important;
 box-shadow:none !important;

 opacity:.86 !important;

 cursor:pointer !important;

 transition:
  transform .15s ease,
  opacity .15s ease,
  filter .15s ease !important;
}

.re-rating-form--stars a{
 display:inline-flex !important;
 align-items:center !important;

 margin:0 !important;
 padding:0 !important;

 border:0 !important;
 background:transparent !important;

 text-decoration:none !important;
}

.re-rating-form--stars a:hover img,
.re-rating-form--stars img:hover{
 opacity:1 !important;
 transform:translateY(-2px) scale(1.07) !important;
}

/* Если uCoz каким-либо образом оставит старый select рядом — скрываем его */
.re-rating-form--stars select{
 display:none !important;
}

@media(max-width:600px){
 .re-rating-form--stars{
  min-height:48px !important;
  padding:10px 11px !important;
 }
}

/* ==========================================================================
   RUSSIAN EMIGRANT — BEAUTIFUL UCOZ RATE FORM
   Возвращаем рабочий $RATE_FORM$, но оформляем системный select.
   ========================================================================== */

.re-rating-form--select{
 display:grid !important;
 gap:7px !important;

 margin-top:12px !important;
}

.re-rating-form__label{
 display:block !important;

 color:#66818d !important;
 font:800 10px/1.2 "Manrope","Segoe UI",Arial,sans-serif !important;
 letter-spacing:.08em !important;
 text-transform:uppercase !important;
}

.re-rating-form__control{
 position:relative !important;
 display:block !important;
 width:100% !important;
}

/* Декоративная звезда слева */
.re-rating-form__control::before{
 content:"★" !important;

 position:absolute !important;
 left:14px !important;
 top:50% !important;
 z-index:3 !important;

 transform:translateY(-50%) !important;

 color:#21859f !important;
 font:900 16px/1 Arial,sans-serif !important;

 pointer-events:none !important;
}

/* Своя стрелка справа */
.re-rating-form__control::after{
 content:"" !important;

 position:absolute !important;
 right:15px !important;
 top:50% !important;
 z-index:3 !important;

 width:7px !important;
 height:7px !important;

 border-right:2px solid #557681 !important;
 border-bottom:2px solid #557681 !important;

 transform:translateY(-68%) rotate(45deg) !important;

 pointer-events:none !important;
}

/* uCoz может оборачивать select в form/span/div/table */
.re-rating-form__control form,
.re-rating-form__control div,
.re-rating-form__control span,
.re-rating-form__control table,
.re-rating-form__control tbody,
.re-rating-form__control tr,
.re-rating-form__control td{
 width:100% !important;
 max-width:100% !important;

 margin:0 !important;
 padding:0 !important;

 border:0 !important;
 background:transparent !important;
 box-shadow:none !important;
}

/* Главное — реальный системный select */
.re-rating-form__control select{
 -webkit-appearance:none !important;
 appearance:none !important;

 display:block !important;

 width:100% !important;
 max-width:100% !important;
 min-height:46px !important;

 margin:0 !important;
 padding:10px 42px 10px 40px !important;

 border:1px solid rgba(33,133,159,.24) !important;
 border-radius:10px !important;

 background:
  linear-gradient(180deg,rgba(255,255,255,.98),rgba(239,249,251,.94)) !important;

 color:#294d5b !important;
 -webkit-text-fill-color:#294d5b !important;

 font:800 13px/1.2 "Manrope","Segoe UI",Arial,sans-serif !important;

 outline:none !important;
 opacity:1 !important;

 box-shadow:
  inset 0 1px 0 rgba(255,255,255,.96),
  0 7px 18px rgba(31,79,98,.07) !important;

 cursor:pointer !important;

 transition:
  border-color .16s ease,
  box-shadow .16s ease,
  background-color .16s ease !important;
}

.re-rating-form__control select:hover{
 border-color:rgba(33,133,159,.48) !important;
}

.re-rating-form__control select:focus{
 border-color:#21859f !important;

 box-shadow:
  0 0 0 3px rgba(33,133,159,.11),
  0 7px 18px rgba(31,79,98,.07) !important;
}

.re-rating-form__control option{
 background:#ffffff !important;
 color:#294d5b !important;
}

/* На случай если RATE_FORM добавит submit-кнопку */
.re-rating-form__control input[type="submit"],
.re-rating-form__control button{
 min-height:40px !important;

 margin-top:8px !important;
 padding:9px 14px !important;

 border:1px solid #21859f !important;
 border-radius:8px !important;

 background:#21859f !important;

 color:#fff !important;
 -webkit-text-fill-color:#fff !important;

 font:800 12px/1.2 "Manrope","Segoe UI",Arial,sans-serif !important;

 cursor:pointer !important;
}

/* Старый RSTARS-блок больше не используется */
.re-rating-form--stars{
 display:none !important;
}

/* ==========================================================================
   RUSSIAN EMIGRANT — RATING LIKE GTAMANIA
   Та же нативная механика uCoz RSTARS, что на GtaMania:
   20px, системный sprite, voting=1, type=half.
   ========================================================================== */

.re-gta-rating-stars{
 display:block !important;
 position:relative !important;
 width:100% !important;
 min-height:42px !important;

 margin:12px 0 0 !important;
 padding:10px 12px !important;

 border:1px solid rgba(33,133,159,.18) !important;
 border-radius:10px !important;

 background:
  linear-gradient(180deg,rgba(255,255,255,.96),rgba(238,248,251,.92)) !important;

 box-shadow:
  inset 0 1px 0 rgba(255,255,255,.94),
  0 7px 18px rgba(31,79,98,.06) !important;

 overflow:visible !important;
}

/* ----------------------------------------------------------
   Сам RSTARS: ровно 5 × 20px, как на GtaMania
---------------------------------------------------------- */

html body .re-gta-rating-stars ul.u-star-rating,
html body .re-gta-rating-stars ul[class*="u-star-rating"]{
 display:block !important;
 position:relative !important;

 width:100px !important;
 min-width:100px !important;
 max-width:100px !important;

 height:20px !important;
 min-height:20px !important;
 max-height:20px !important;

 margin:0 !important;
 padding:0 !important;

 overflow:hidden !important;
 list-style:none !important;

 line-height:20px !important;

 background-image:url('/new/img/gtm-rating-20.png') !important;
 background-repeat:repeat-x !important;
 background-position:0 0 !important;
 background-size:20px 60px !important;

 border:0 !important;
 border-radius:4px !important;
 box-shadow:none !important;

 transform:none !important;

 filter:
  drop-shadow(0 1px 0 rgba(255,255,255,.70))
  drop-shadow(0 2px 4px rgba(24,87,105,.16)) !important;
}

/* Внутренние li не должны превращаться стилями сайта во flex/grid */

html body .re-gta-rating-stars ul.u-star-rating > li,
html body .re-gta-rating-stars ul[class*="u-star-rating"] > li{
 display:block !important;
 position:static !important;

 height:20px !important;
 min-height:20px !important;
 max-height:20px !important;

 margin:0 !important;
 padding:0 !important;

 overflow:hidden !important;
 list-style:none !important;

 line-height:20px !important;

 background-image:url('/new/img/gtm-rating-20.png') !important;
 background-repeat:repeat-x !important;
 background-size:20px 60px !important;

 transform:none !important;
 transition:none !important;
}

/* Текущий рейтинг — средняя строка sprite */

html body .re-gta-rating-stars ul.u-star-rating > li.current-rating,
html body .re-gta-rating-stars ul[class*="u-star-rating"] > li.current-rating,
html body .re-gta-rating-stars ul.u-star-rating > li[class*="current"],
html body .re-gta-rating-stars ul[class*="u-star-rating"] > li[class*="current"]{
 position:absolute !important;
 left:0 !important;
 top:0 !important;
 z-index:1 !important;

 height:20px !important;

 margin:0 !important;
 padding:0 !important;

 pointer-events:none !important;

 background-image:url('/new/img/gtm-rating-20.png') !important;
 background-position:0 -20px !important;
 background-repeat:repeat-x !important;
 background-size:20px 60px !important;

 transform:none !important;
}

/* Все кликабельные зоны uCoz лежат поверх полосы */

html body .re-gta-rating-stars ul.u-star-rating > li > a,
html body .re-gta-rating-stars ul[class*="u-star-rating"] > li > a{
 position:absolute !important;
 top:0 !important;

 display:block !important;

 height:20px !important;
 min-height:20px !important;
 max-height:20px !important;

 margin:0 !important;
 padding:0 !important;

 overflow:hidden !important;

 z-index:20 !important;

 font-size:0 !important;
 line-height:20px !important;
 text-indent:-9999px !important;
 white-space:nowrap !important;

 border:0 !important;
 border-radius:0 !important;

 background-image:none !important;
 box-shadow:none !important;

 text-decoration:none !important;

 transform:none !important;
 transition:none !important;
}

/* Базовые 5 кликабельных зон — как в рабочем рейтинге GtaMania */

html body .re-gta-rating-stars a.u-one-star{
 left:0 !important;
 width:20px !important;
}

html body .re-gta-rating-stars a.u-two-stars{
 left:20px !important;
 width:20px !important;
}

html body .re-gta-rating-stars a.u-three-stars{
 left:40px !important;
 width:20px !important;
}

html body .re-gta-rating-stars a.u-four-stars{
 left:60px !important;
 width:20px !important;
}

html body .re-gta-rating-stars a.u-five-stars{
 left:80px !important;
 width:20px !important;
}

/* Hover/focus раскрывается влево и подсвечивает первые N звёзд */

html body .re-gta-rating-stars a.u-one-star:hover,
html body .re-gta-rating-stars a.u-one-star:focus{
 left:0 !important;
 width:20px !important;
 z-index:2 !important;

 background-image:url('/new/img/gtm-rating-20.png') !important;
 background-position:0 -40px !important;
 background-repeat:repeat-x !important;
 background-size:20px 60px !important;
}

html body .re-gta-rating-stars a.u-two-stars:hover,
html body .re-gta-rating-stars a.u-two-stars:focus{
 left:0 !important;
 width:40px !important;
 z-index:2 !important;

 background-image:url('/new/img/gtm-rating-20.png') !important;
 background-position:0 -40px !important;
 background-repeat:repeat-x !important;
 background-size:20px 60px !important;
}

html body .re-gta-rating-stars a.u-three-stars:hover,
html body .re-gta-rating-stars a.u-three-stars:focus{
 left:0 !important;
 width:60px !important;
 z-index:2 !important;

 background-image:url('/new/img/gtm-rating-20.png') !important;
 background-position:0 -40px !important;
 background-repeat:repeat-x !important;
 background-size:20px 60px !important;
}

html body .re-gta-rating-stars a.u-four-stars:hover,
html body .re-gta-rating-stars a.u-four-stars:focus{
 left:0 !important;
 width:80px !important;
 z-index:2 !important;

 background-image:url('/new/img/gtm-rating-20.png') !important;
 background-position:0 -40px !important;
 background-repeat:repeat-x !important;
 background-size:20px 60px !important;
}

html body .re-gta-rating-stars a.u-five-stars:hover,
html body .re-gta-rating-stars a.u-five-stars:focus{
 left:0 !important;
 width:100px !important;
 z-index:2 !important;

 background-image:url('/new/img/gtm-rating-20.png') !important;
 background-position:0 -40px !important;
 background-repeat:repeat-x !important;
 background-size:20px 60px !important;
}

/* Никаких transform/scale на системных звёздах */

html body .re-gta-rating-stars a,
html body .re-gta-rating-stars a:hover,
html body .re-gta-rating-stars a:focus,
html body .re-gta-rating-stars img,
html body .re-gta-rating-stars input[type="image"]{
 transform:none !important;
 transition:none !important;
}

/* Старые эксперименты с рейтингом не должны скрыть новый блок */

html body .re-rating-form--stars,
html body .re-rating-form--select{
 /* старые блоки в новом HTML уже не используются */
}

/* Touch: без зависшего hover */

@media(hover:none){
 html body .re-gta-rating-stars a.u-one-star:hover,
 html body .re-gta-rating-stars a.u-two-stars:hover,
 html body .re-gta-rating-stars a.u-three-stars:hover,
 html body .re-gta-rating-stars a.u-four-stars:hover,
 html body .re-gta-rating-stars a.u-five-stars:hover{
  background-image:none !important;
 }
}

/* =========================================================
   RUSSIAN EMIGRANT — COMMENT FORM
========================================================= */

.re-comment-form{
 width:100%;
 padding:28px;
 border:1px solid rgba(73,120,139,.16);
 border-radius:22px;
 background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(240,249,251,.78));
 box-shadow:0 18px 45px rgba(33,81,101,.07),inset 0 1px 0 rgba(255,255,255,.95);
}

.re-comment-form__head{
 display:flex;
 align-items:center;
 gap:16px;
 margin:0 0 22px;
}

.re-comment-form__icon{
 display:flex;
 align-items:center;
 justify-content:center;
 flex:0 0 52px;
 width:52px;
 height:52px;
 border:1px solid rgba(34,143,166,.18);
 border-radius:14px;
 background:linear-gradient(145deg,rgba(235,249,251,.98),rgba(218,240,245,.82));
 box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}

.re-comment-form__icon svg{
 width:23px;
 height:23px;
 fill:none;
 stroke:#21859f;
 stroke-width:1.8;
 stroke-linecap:round;
 stroke-linejoin:round;
}

.re-comment-form__heading h3{
 margin:0;
 color:#29495c;
 font-size:25px;
 line-height:1.15;
 font-weight:800;
}

.re-comment-form__heading p{
 margin:5px 0 0;
 color:#80939d;
 font-size:14px;
 line-height:1.45;
}

.re-comment-form__error{
 margin:0 0 18px;
 padding:11px 14px;
 border:1px solid rgba(187,89,102,.16);
 border-radius:10px;
 background:#fff4f5;
 color:#a64e59;
 font-size:13px;
 line-height:1.45;
}

.re-comment-form__error:empty{
 display:none !important;
}

.re-comment-form__guest{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:14px;
 margin:0 0 18px;
}

.re-comment-form__field{
 display:grid;
 gap:7px;
}

.re-comment-form__field label{
 color:#607b87;
 font-size:11px;
 line-height:1.2;
 font-weight:800;
 letter-spacing:.06em;
 text-transform:uppercase;
}

.re-comment-form__field input{
 width:100%;
 height:44px;
 padding:0 13px;
 border:1px solid rgba(70,119,139,.18);
 border-radius:9px;
 background:rgba(255,255,255,.88);
 color:#294a5b;
 font-size:14px;
 outline:none;
 box-shadow:inset 0 1px 2px rgba(37,76,91,.03);
 transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}

.re-comment-form__field input:hover{
 border-color:rgba(33,133,159,.35);
}

.re-comment-form__field input:focus{
 border-color:#21859f;
 background:#fff;
 box-shadow:0 0 0 3px rgba(33,133,159,.09);
}

.re-comment-editor{
 overflow:hidden;
 border:1px solid rgba(66,116,137,.17);
 border-radius:15px;
 background:#fff;
 box-shadow:0 10px 28px rgba(34,77,94,.05);
}

.re-comment-editor__top{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:15px;
 min-height:42px;
 padding:9px 14px;
 border-bottom:1px solid rgba(72,119,136,.12);
 background:linear-gradient(180deg,#f5fbfc,#edf7f9);
}

.re-comment-editor__label{
 display:flex;
 align-items:center;
 gap:8px;
 color:#426371;
 font-size:12px;
 font-weight:800;
}

.re-comment-editor__dot{
 width:7px;
 height:7px;
 border-radius:50%;
 background:#21859f;
 box-shadow:0 0 0 4px rgba(33,133,159,.10);
}

.re-comment-editor__hint{
 color:#8aa0a9;
 font-size:11px;
}

.re-comment-form__bbcodes{
 position:relative;
 padding:10px 12px;
 border:0 !important;
 border-bottom:1px solid rgba(65,111,129,.12) !important;
 background:linear-gradient(180deg,#eef7f9,#e8f2f5) !important;
}

.re-comment-form__bbcodes table,
.re-comment-form__bbcodes tbody,
.re-comment-form__bbcodes tr,
.re-comment-form__bbcodes td{
 margin:0 !important;
 border:0 !important;
 background:transparent !important;
 box-shadow:none !important;
}

.re-comment-form__bbcodes button,
.re-comment-form__bbcodes input[type="button"],
.re-comment-form__bbcodes input[type="image"]{
 border-color:rgba(68,112,130,.20) !important;
 border-radius:6px !important;
 background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(228,239,243,.95)) !important;
 box-shadow:inset 0 1px 0 rgba(255,255,255,.9) !important;
}

.re-comment-form__bbcodes select{
 min-height:30px !important;
 border:1px solid rgba(68,112,130,.22) !important;
 border-radius:6px !important;
 background:#fff !important;
 color:#475f69 !important;
 font-size:12px !important;
}

.re-comment-form__message-wrap{
 display:block;
 padding:0;
 background:#fff;
}

.re-comment-form__textarea{
 width:100%;
}

.re-comment-form__textarea textarea{
 display:block;
 width:100% !important;
 min-height:220px !important;
 margin:0 !important;
 padding:18px !important;
 resize:vertical;
 border:0 !important;
 border-radius:0 !important;
 background:linear-gradient(180deg,#fff,#fbfdfe) !important;
 color:#304e5c !important;
 font-family:inherit !important;
 font-size:15px !important;
 line-height:1.65 !important;
 outline:none !important;
 box-shadow:none !important;
}

.re-comment-form__textarea textarea::placeholder{
 color:#a1b0b7;
}

.re-comment-form iframe{
 display:block;
 width:100% !important;
 max-width:100% !important;
 min-height:220px !important;
 border:0 !important;
 background:#fff !important;
}

.re-comment-form__smiles{
 padding:10px 13px;
 border-top:1px solid rgba(66,112,130,.10);
 background:#f7fbfc;
}

.re-comment-form__bottom{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:16px;
 margin-top:18px;
}

.re-comment-form__security{
 flex:1 1 auto;
 color:#708892;
 font-size:13px;
}

.re-comment-form__submit{
 margin-left:auto;
}

.re-comment-form__submit input[type="submit"]{
 -webkit-appearance:none;
 appearance:none;
 min-height:46px;
 padding:0 22px;
 border:1px solid #21859f !important;
 border-radius:9px !important;
 background:linear-gradient(180deg,#2793aa,#21859f) !important;
 color:#fff !important;
 -webkit-text-fill-color:#fff !important;
 font-size:14px !important;
 font-weight:800 !important;
 cursor:pointer;
 box-shadow:0 8px 20px rgba(33,133,159,.19),inset 0 1px 0 rgba(255,255,255,.18) !important;
 transition:transform .15s ease,box-shadow .15s ease,background .15s ease;
}

.re-comment-form__submit input[type="submit"]:hover{
 background:linear-gradient(180deg,#238aa2,#19778f) !important;
 transform:translateY(-1px);
 box-shadow:0 10px 23px rgba(33,133,159,.22) !important;
}

@media(max-width:760px){
 .re-comment-form{
  padding:20px;
  border-radius:16px;
 }

 .re-comment-form__guest{
  grid-template-columns:1fr;
 }

 .re-comment-editor__hint{
  display:none;
 }

 .re-comment-form__bottom{
  align-items:stretch;
  flex-direction:column;
 }

 .re-comment-form__submit{
  width:100%;
  margin:0;
 }

 .re-comment-form__submit input[type="submit"]{
  width:100%;
 }
}

@media(max-width:480px){
 .re-comment-form{
  padding:16px;
 }

 .re-comment-form__icon{
  flex-basis:44px;
  width:44px;
  height:44px;
 }

 .re-comment-form__heading h3{
  font-size:20px;
 }

 .re-comment-form__textarea textarea,
 .re-comment-form iframe{
  min-height:180px !important;
 }
}

/* ==========================================================================
   RUSSIAN EMIGRANT — FAVORITES + RECENT SHELF V1
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. ФИКСИРОВАННЫЕ ВКЛАДКИ
   -------------------------------------------------------------------------- */

.re-shelf-tabs{
 position:fixed;
 left:10px;
 top:50%;
 z-index:2147482500;

 display:grid;
 gap:8px;

 transform:translateY(-50%);
}

.re-shelf-tab{
 -webkit-appearance:none;
 appearance:none;

 position:relative;

 display:grid;
 grid-template-columns:34px minmax(0,auto) 24px;
 align-items:center;
 gap:8px;

 min-height:46px;
 padding:5px 7px 5px 5px;

 border:1px solid rgba(55,112,135,.18);
 border-radius:11px;

 background:rgba(248,253,254,.94);
 color:#496875;

 box-shadow:
  0 10px 28px rgba(30,69,88,.12),
  inset 0 1px 0 rgba(255,255,255,.96);

 backdrop-filter:blur(14px);
 -webkit-backdrop-filter:blur(14px);

 cursor:pointer;

 transition:
  border-color .17s ease,
  background .17s ease,
  color .17s ease,
  transform .17s ease,
  box-shadow .17s ease;
}

.re-shelf-tab:hover,
.re-shelf-tab.is-active{
 border-color:rgba(33,133,159,.34);

 background:#eef9fb;
 color:#166f86;

 box-shadow:
  0 13px 30px rgba(30,82,101,.16),
  inset 0 1px 0 rgba(255,255,255,.98);

 transform:translateX(2px);
}

.re-shelf-tab__icon{
 display:flex;
 align-items:center;
 justify-content:center;

 width:34px;
 height:34px;

 border:1px solid rgba(33,133,159,.13);
 border-radius:9px;

 background:linear-gradient(145deg,#f4fcfd,#e3f2f5);
 color:#21859f;
}

.re-shelf-tab__icon svg{
 width:17px;
 height:17px;

 fill:none;
 stroke:currentColor;
 stroke-width:1.8;
 stroke-linecap:round;
 stroke-linejoin:round;
}

.re-shelf-tab--favorites .re-shelf-tab__icon svg{
 fill:rgba(33,133,159,.08);
}

.re-shelf-tab--favorites.is-active .re-shelf-tab__icon svg{
 fill:#21859f;
}

.re-shelf-tab__label{
 padding-right:2px;

 font-size:11px;
 line-height:1;
 font-weight:800;
 white-space:nowrap;
}

.re-shelf-tab__count{
 display:flex;
 align-items:center;
 justify-content:center;

 min-width:22px;
 height:22px;
 padding:0 5px;

 border:1px solid rgba(80,91,136,.15);
 border-radius:7px;

 background:#fff;
 color:#505b88;

 font-size:10px;
 line-height:1;
 font-weight:900;
}


/* --------------------------------------------------------------------------
   2. OVERLAY
   -------------------------------------------------------------------------- */

.re-shelf-overlay{
 position:fixed;
 inset:0;
 z-index:2147482600;

 display:block;

 background:rgba(18,42,55,.22);

 opacity:0;
 visibility:hidden;
 pointer-events:none;

 backdrop-filter:blur(2px);
 -webkit-backdrop-filter:blur(2px);

 transition:
  opacity .2s ease,
  visibility .2s ease;
}

.re-shelf-overlay.is-open{
 opacity:1;
 visibility:visible;
 pointer-events:auto;
}


/* --------------------------------------------------------------------------
   3. DRAWER
   -------------------------------------------------------------------------- */

.re-shelf-drawer{
 position:fixed;
 left:70px;
 top:50%;
 z-index:2147482700;

 display:flex;
 flex-direction:column;

 width:min(440px,calc(100vw - 96px));
 max-height:84dvh;

 overflow:hidden;

 border:1px solid rgba(57,112,134,.18);
 border-radius:18px;

 background:
  radial-gradient(circle at 0 0,rgba(65,175,194,.10),transparent 32%),
  linear-gradient(145deg,rgba(255,255,255,.98),rgba(239,248,250,.97));

 box-shadow:
  0 30px 80px rgba(23,58,76,.24),
  inset 0 1px 0 rgba(255,255,255,.98);

 opacity:0;
 visibility:hidden;
 pointer-events:none;

 transform:translate(-18px,-50%);

 transition:
  opacity .2s ease,
  visibility .2s ease,
  transform .2s ease;
}

.re-shelf-drawer.is-open{
 opacity:1;
 visibility:visible;
 pointer-events:auto;

 transform:translate(0,-50%);
}

.re-shelf-drawer__head{
 position:relative;

 flex:0 0 auto;

 padding:22px 58px 17px 22px;

 border-bottom:1px solid rgba(68,113,132,.12);
}

.re-shelf-drawer__eyebrow{
 display:block;

 margin:0 0 6px;

 color:#21859f;

 font-size:10px;
 line-height:1;
 font-weight:900;
 letter-spacing:.11em;
 text-transform:uppercase;
}

.re-shelf-drawer__head h3{
 margin:0;

 color:#294b5b;

 font-size:25px;
 line-height:1.12;
 font-weight:900;
}

.re-shelf-drawer__head p{
 margin:7px 0 0;

 color:#82969e;

 font-size:12px;
 line-height:1.5;
}

.re-shelf-drawer__close{
 -webkit-appearance:none;
 appearance:none;

 position:absolute;
 top:17px;
 right:17px;

 display:flex;
 align-items:center;
 justify-content:center;

 width:34px;
 height:34px;
 padding:0;

 border:1px solid rgba(72,115,132,.15);
 border-radius:9px;

 background:rgba(255,255,255,.82);
 color:#607985;

 cursor:pointer;

 transition:
  color .15s ease,
  border-color .15s ease,
  background .15s ease;
}

.re-shelf-drawer__close:hover{
 border-color:rgba(33,133,159,.30);
 background:#eef9fb;
 color:#17778e;
}

.re-shelf-drawer__close svg{
 width:16px;
 height:16px;

 fill:none;
 stroke:currentColor;
 stroke-width:1.8;
 stroke-linecap:round;
}


/* --------------------------------------------------------------------------
   4. СПИСОК
   -------------------------------------------------------------------------- */

.re-shelf-drawer__body{
 flex:1 1 auto;
 min-height:0;

 overflow:auto;
 overscroll-behavior:contain;

 padding:12px 12px 6px;

 scrollbar-width:thin;
 scrollbar-color:#7ab5c3 transparent;
}

.re-shelf-drawer__body::-webkit-scrollbar{
 width:8px;
}

.re-shelf-drawer__body::-webkit-scrollbar-track{
 background:transparent;
}

.re-shelf-drawer__body::-webkit-scrollbar-thumb{
 border:2px solid transparent;
 border-radius:8px;
 background:#7ab5c3;
 background-clip:padding-box;
}

.re-shelf-list{
 display:grid;
 gap:8px;
}

.re-shelf-item{
 position:relative;

 display:grid;
 grid-template-columns:76px minmax(0,1fr) 30px;
 gap:11px;
 align-items:center;

 min-width:0;
 padding:9px;

 border:1px solid rgba(62,111,130,.12);
 border-radius:12px;

 background:rgba(255,255,255,.72);

 box-shadow:
  0 5px 14px rgba(31,70,87,.035),
  inset 0 1px 0 rgba(255,255,255,.9);

 transition:
  border-color .16s ease,
  background .16s ease,
  transform .16s ease,
  box-shadow .16s ease;
}

.re-shelf-item:hover{
 border-color:rgba(33,133,159,.22);

 background:#fff;

 transform:translateY(-1px);

 box-shadow:
  0 9px 22px rgba(31,70,87,.07),
  inset 0 1px 0 rgba(255,255,255,.96);
}

.re-shelf-item__image{
 position:relative;

 display:flex;
 align-items:center;
 justify-content:center;

 width:76px;
 height:58px;

 overflow:hidden;

 border:1px solid rgba(61,108,126,.12);
 border-radius:9px;

 background:
  radial-gradient(circle at 70% 20%,rgba(57,174,194,.20),transparent 38%),
  linear-gradient(145deg,#eaf6f8,#e2edf1);
}

.re-shelf-item__image img{
 display:block;

 width:100%;
 height:100%;

 object-fit:cover;
}

.re-shelf-item__image.is-placeholder svg{
 width:25px;
 height:25px;

 fill:none;
 stroke:#21859f;
 stroke-width:1.4;
 stroke-linecap:round;
 stroke-linejoin:round;
}

.re-shelf-item__content{
 min-width:0;
}

.re-shelf-item__top{
 display:flex;
 align-items:center;
 gap:7px;

 min-width:0;

 margin:0 0 4px;
}

.re-shelf-item__category{
 overflow:hidden;

 color:#21859f;

 font-size:9px;
 line-height:1.2;
 font-weight:900;
 letter-spacing:.06em;
 text-overflow:ellipsis;
 text-transform:uppercase;
 white-space:nowrap;
}

.re-shelf-item__time{
 margin-left:auto;

 color:#99a9af;

 font-size:9px;
 line-height:1.2;
 white-space:nowrap;
}

.re-shelf-item__title{
 display:-webkit-box;
 overflow:hidden;

 color:#315261;

 font-size:13px;
 line-height:1.35;
 font-weight:850;

 text-decoration:none;

 -webkit-box-orient:vertical;
 -webkit-line-clamp:2;

 transition:color .15s ease;
}

.re-shelf-item__title:hover{
 color:#17788f;
}

.re-shelf-item__meta{
 display:flex;
 align-items:center;
 gap:8px;

 margin-top:7px;
}

.re-shelf-item__status{
 flex:0 0 auto;

 color:#899ba3;

 font-size:10px;
 line-height:1;
 font-weight:700;
}

.re-shelf-item__progress{
 position:relative;

 flex:1 1 auto;

 height:4px;

 overflow:hidden;

 border-radius:4px;

 background:#dcebef;
}

.re-shelf-item__progress-bar{
 position:absolute;
 inset:0 auto 0 0;

 display:block;

 border-radius:4px;

 background:linear-gradient(90deg,#21859f,#4aa8bb);
}

.re-shelf-item__remove{
 -webkit-appearance:none;
 appearance:none;

 display:flex;
 align-items:center;
 justify-content:center;

 width:30px;
 height:30px;
 padding:0;

 border:1px solid transparent;
 border-radius:8px;

 background:transparent;
 color:#9aacb3;

 cursor:pointer;

 transition:
  color .15s ease,
  border-color .15s ease,
  background .15s ease;
}

.re-shelf-item__remove:hover{
 border-color:rgba(174,77,91,.15);
 background:#fff4f5;
 color:#ad5260;
}

.re-shelf-item__remove svg{
 width:14px;
 height:14px;

 fill:none;
 stroke:currentColor;
 stroke-width:1.7;
 stroke-linecap:round;
 stroke-linejoin:round;
}


/* --------------------------------------------------------------------------
   5. ПУСТОЙ СПИСОК
   -------------------------------------------------------------------------- */

.re-shelf-empty{
 display:flex;
 flex-direction:column;
 align-items:center;

 padding:42px 24px;

 text-align:center;
}

.re-shelf-empty__icon{
 display:flex;
 align-items:center;
 justify-content:center;

 width:52px;
 height:52px;

 margin-bottom:13px;

 border:1px solid rgba(33,133,159,.14);
 border-radius:14px;

 background:#edf8fa;
 color:#21859f;
}

.re-shelf-empty__icon svg{
 width:23px;
 height:23px;

 fill:none;
 stroke:currentColor;
 stroke-width:1.6;
 stroke-linecap:round;
 stroke-linejoin:round;
}

.re-shelf-empty strong{
 color:#3c5b69;

 font-size:14px;
 line-height:1.3;
 font-weight:850;
}

.re-shelf-empty > span:last-child{
 max-width:270px;

 margin-top:6px;

 color:#8b9ca3;

 font-size:11px;
 line-height:1.5;
}


/* --------------------------------------------------------------------------
   6. FOOTER
   -------------------------------------------------------------------------- */

.re-shelf-drawer__foot{
 flex:0 0 auto;

 display:flex;
 justify-content:flex-end;

 padding:11px 14px 14px;

 border-top:1px solid rgba(68,113,132,.10);
}

.re-shelf-clear{
 -webkit-appearance:none;
 appearance:none;

 min-height:34px;
 padding:0 11px;

 border:1px solid rgba(74,115,131,.14);
 border-radius:8px;

 background:rgba(255,255,255,.78);
 color:#758b94;

 font-size:10px;
 line-height:1;
 font-weight:800;

 cursor:pointer;

 transition:
  border-color .15s ease,
  background .15s ease,
  color .15s ease;
}

.re-shelf-clear:hover{
 border-color:rgba(174,77,91,.17);
 background:#fff4f5;
 color:#a44c59;
}


/* --------------------------------------------------------------------------
   7. СЕРДЦЕ НА КАРТОЧКАХ
   -------------------------------------------------------------------------- */

.re-fav-heart{
 -webkit-appearance:none;
 appearance:none;

 position:absolute;
 top:10px;
 right:10px;
 z-index:15;

 display:flex;
 align-items:center;
 justify-content:center;

 width:34px;
 height:34px;
 padding:0;

 border:1px solid rgba(255,255,255,.60);
 border-radius:9px;

 background:rgba(248,253,254,.88);
 color:#537480;

 box-shadow:0 5px 16px rgba(17,53,70,.16);

 backdrop-filter:blur(10px);
 -webkit-backdrop-filter:blur(10px);

 cursor:pointer;

 transition:
  color .15s ease,
  background .15s ease,
  transform .15s ease,
  border-color .15s ease;
}

.re-fav-heart:hover{
 color:#21859f;
 background:#fff;
 transform:translateY(-1px);
}

.re-fav-heart.is-favorite{
 border-color:rgba(33,133,159,.28);
 background:#eef9fb;
 color:#21859f;
}

.re-fav-heart svg{
 width:17px;
 height:17px;

 fill:rgba(33,133,159,0);
 stroke:currentColor;
 stroke-width:1.8;
 stroke-linecap:round;
 stroke-linejoin:round;

 transition:fill .15s ease;
}

.re-fav-heart.is-favorite svg{
 fill:#21859f;
}

.re-fav-heart--inline{
 position:relative !important;
 top:auto !important;
 right:auto !important;
 z-index:auto !important;

 flex:0 0 36px;

 width:36px;
 height:36px;

 margin-right:5px;
}


/* --------------------------------------------------------------------------
   8. КНОПКА «В ИЗБРАННОЕ» НА СТРАНИЦЕ МАТЕРИАЛА
   -------------------------------------------------------------------------- */

.re-entry-favorite{
 -webkit-appearance:none;
 appearance:none;

 display:inline-flex;
 align-items:center;
 gap:7px;

 min-height:36px;
 padding:0 11px;

 border:1px solid rgba(33,133,159,.20);
 border-radius:9px;

 background:rgba(247,252,253,.74);
 color:#55727e;

 font-family:inherit;
 font-size:11px;
 line-height:1;
 font-weight:850;

 cursor:pointer;

 box-shadow:inset 0 1px 0 rgba(255,255,255,.82);

 transition:
  color .15s ease,
  border-color .15s ease,
  background .15s ease,
  transform .15s ease;
}

.re-entry-favorite:hover{
 border-color:rgba(33,133,159,.36);

 background:#eef9fb;
 color:#17778f;

 transform:translateY(-1px);
}

.re-entry-favorite.is-favorite{
 border-color:rgba(33,133,159,.30);

 background:#e9f7f9;
 color:#17778f;
}

.re-entry-favorite__icon{
 display:flex;
 align-items:center;
 justify-content:center;
}

.re-entry-favorite__icon svg{
 width:15px;
 height:15px;

 fill:transparent;
 stroke:currentColor;
 stroke-width:1.8;
 stroke-linecap:round;
 stroke-linejoin:round;
}

.re-entry-favorite.is-favorite .re-entry-favorite__icon svg{
 fill:#21859f;
}


/* --------------------------------------------------------------------------
   9. MOBILE
   -------------------------------------------------------------------------- */

@media(max-width:760px){

 .re-shelf-tabs{
  left:50%;
  top:auto;
  bottom:10px;

  grid-template-columns:1fr 1fr;
  gap:7px;

  width:min(360px,calc(100vw - 20px));

  transform:translateX(-50%);
 }

 .re-shelf-tab{
  grid-template-columns:32px 1fr 23px;

  min-height:44px;

  background:rgba(248,253,254,.97);
 }

 .re-shelf-tab:hover,
 .re-shelf-tab.is-active{
  transform:none;
 }

 .re-shelf-drawer{
  left:8px;
  right:8px;
  top:auto;
  bottom:64px;

  width:auto;
  max-height:calc(100dvh - 82px);

  border-radius:16px;

  transform:translateY(14px);
 }

 .re-shelf-drawer.is-open{
  transform:translateY(0);
 }

 .re-shelf-drawer__head{
  padding:18px 52px 14px 17px;
 }

 .re-shelf-drawer__head h3{
  font-size:21px;
 }

 .re-shelf-drawer__close{
  top:13px;
  right:13px;
 }

 .re-shelf-drawer__body{
  padding:9px 9px 4px;
 }

 .re-shelf-item{
  grid-template-columns:66px minmax(0,1fr) 28px;
  gap:9px;

  padding:8px;
 }

 .re-shelf-item__image{
  width:66px;
  height:52px;
 }

 .re-shelf-item__time{
  display:none;
 }

 .re-fav-heart{
  width:32px;
  height:32px;
 }

}

@media(max-width:430px){

 .re-shelf-tab{
  grid-template-columns:30px 1fr 22px;

  padding-right:6px;
 }

 .re-shelf-tab__label{
  font-size:10px;
 }

 .re-shelf-drawer__head p{
  font-size:11px;
 }

 .re-shelf-item__category{
  max-width:115px;
 }

}


/* --------------------------------------------------------------------------
   10. REDUCED MOTION
   -------------------------------------------------------------------------- */

@media(prefers-reduced-motion:reduce){

 .re-shelf-tab,
 .re-shelf-overlay,
 .re-shelf-drawer,
 .re-shelf-item,
 .re-fav-heart,
 .re-entry-favorite{
  transition:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — FAVORITES + RECENT
   RIGHT-SIDE VERTICAL TABS PATCH V2
   ========================================================================== */

.re-shelf-tabs{
 position:fixed !important;
 top:50% !important;
 right:10px !important;
 left:auto !important;
 bottom:auto !important;
 z-index:2147482500 !important;

 display:flex !important;
 flex-direction:column !important;
 gap:10px !important;

 width:auto !important;

 transform:translateY(-50%) !important;
}

.re-shelf-tab{
 display:grid !important;
 grid-template-columns:42px minmax(0,auto) 30px !important;
 align-items:center !important;
 gap:10px !important;

 min-width:228px !important;
 min-height:56px !important;
 padding:8px 10px 8px 8px !important;

 border:1px solid rgba(55,112,135,.18) !important;
 border-radius:14px !important;

 background:rgba(248,253,254,.96) !important;
 color:#496875 !important;

 box-shadow:
  0 10px 28px rgba(30,69,88,.12),
  inset 0 1px 0 rgba(255,255,255,.96) !important;

 backdrop-filter:blur(14px) !important;
 -webkit-backdrop-filter:blur(14px) !important;
}

.re-shelf-tab:hover,
.re-shelf-tab.is-active{
 border-color:rgba(33,133,159,.34) !important;
 background:#eef9fb !important;
 color:#166f86 !important;

 box-shadow:
  0 13px 30px rgba(30,82,101,.16),
  inset 0 1px 0 rgba(255,255,255,.98) !important;

 transform:translateX(-4px) !important;
}

.re-shelf-tab__icon{
 width:42px !important;
 height:42px !important;
 border-radius:12px !important;
}

.re-shelf-tab__icon svg{
 width:19px !important;
 height:19px !important;
}

.re-shelf-tab__label{
 padding-right:4px !important;
 font-size:15px !important;
 line-height:1.2 !important;
 font-weight:800 !important;
 white-space:nowrap !important;
}

.re-shelf-tab__count{
 min-width:30px !important;
 height:30px !important;
 padding:0 7px !important;
 border-radius:10px !important;
 font-size:13px !important;
}

.re-shelf-drawer{
 left:auto !important;
 right:78px !important;
 top:50% !important;
 bottom:auto !important;

 width:min(440px,calc(100vw - 108px)) !important;

 transform:translate(18px,-50%) !important;
}

.re-shelf-drawer.is-open{
 transform:translate(0,-50%) !important;
}

@media(max-width:1100px){

 .re-shelf-tab{
  min-width:200px !important;
 }

 .re-shelf-drawer{
  right:72px !important;
  width:min(400px,calc(100vw - 100px)) !important;
 }

}

@media(max-width:760px){

 .re-shelf-tabs{
  left:50% !important;
  right:auto !important;
  top:auto !important;
  bottom:10px !important;

  flex-direction:row !important;
  gap:7px !important;

  width:min(360px,calc(100vw - 20px)) !important;

  transform:translateX(-50%) !important;
 }

 .re-shelf-tab{
  grid-template-columns:32px 1fr 23px !important;

  min-width:0 !important;
  min-height:44px !important;
  padding:6px 8px 6px 6px !important;
 }

 .re-shelf-tab:hover,
 .re-shelf-tab.is-active{
  transform:none !important;
 }

 .re-shelf-tab__icon{
  width:32px !important;
  height:32px !important;
  border-radius:10px !important;
 }

 .re-shelf-tab__icon svg{
  width:16px !important;
  height:16px !important;
 }

 .re-shelf-tab__label{
  font-size:12px !important;
 }

 .re-shelf-tab__count{
  min-width:23px !important;
  height:23px !important;
  border-radius:7px !important;
  font-size:10px !important;
 }

 .re-shelf-drawer{
  left:8px !important;
  right:8px !important;
  top:auto !important;
  bottom:64px !important;

  width:auto !important;
  max-height:calc(100dvh - 82px) !important;

  transform:translateY(14px) !important;
 }

 .re-shelf-drawer.is-open{
  transform:translateY(0) !important;
 }

}

/* ========================================================================== 
   RUSSIAN EMIGRANT — FAVORITES + RECENT
   LEFT EDGE VERTICAL FIX V3
   Вертикально, вплотную к ЛЕВОМУ краю экрана.
   ========================================================================== */

.re-shelf-tabs{
 position:fixed !important;
 top:50% !important;
 left:0 !important;
 right:auto !important;
 bottom:auto !important;
 display:flex !important;
 flex-direction:column !important;
 gap:10px !important;
 width:auto !important;
 margin:0 !important;
 transform:translateY(-50%) !important;
}

.re-shelf-tab{
 min-width:228px !important;
 margin:0 !important;
 border-left:0 !important;
 border-radius:0 14px 14px 0 !important;
}

.re-shelf-tab:hover,
.re-shelf-tab.is-active{
 transform:translateX(4px) !important;
}

.re-shelf-drawer{
 left:242px !important;
 right:auto !important;
 top:50% !important;
 bottom:auto !important;
 width:min(440px,calc(100vw - 260px)) !important;
 transform:translate(-18px,-50%) !important;
}

.re-shelf-drawer.is-open{
 transform:translate(0,-50%) !important;
}

@media(max-width:1100px){
 .re-shelf-tab{min-width:200px !important;}
 .re-shelf-drawer{
  left:214px !important;
  right:auto !important;
  width:min(400px,calc(100vw - 232px)) !important;
 }
}

@media(max-width:760px){
 .re-shelf-tabs{
  top:50% !important;
  left:0 !important;
  right:auto !important;
  bottom:auto !important;
  flex-direction:column !important;
  gap:7px !important;
  width:auto !important;
  transform:translateY(-50%) !important;
 }
 .re-shelf-tab{
  grid-template-columns:32px 1fr 23px !important;
  min-width:168px !important;
  min-height:44px !important;
  padding:6px 8px 6px 6px !important;
  border-left:0 !important;
  border-radius:0 12px 12px 0 !important;
 }
 .re-shelf-tab:hover,
 .re-shelf-tab.is-active{transform:translateX(3px) !important;}
 .re-shelf-tab__icon{width:32px !important;height:32px !important;}
 .re-shelf-tab__label{font-size:11px !important;}
 .re-shelf-tab__count{min-width:23px !important;height:23px !important;font-size:10px !important;}
 .re-shelf-drawer{
  left:8px !important;
  right:8px !important;
  top:8px !important;
  bottom:8px !important;
  width:auto !important;
  max-height:none !important;
  transform:translateX(-14px) !important;
 }
 .re-shelf-drawer.is-open{transform:translateX(0) !important;}
}

/* ==========================================================================
   RUSSIAN EMIGRANT — FAVORITES + RECENT
   VERTICAL COMPACT LEFT EDGE V4
   Как на референсе: узкие высокие вкладки слева,
   иконка сверху, вертикальная надпись, счетчик снизу.
   ========================================================================== */

.re-shelf-tabs{
 position:fixed !important;
 top:50% !important;
 left:0 !important;
 right:auto !important;
 bottom:auto !important;
 z-index:2147482500 !important;

 display:flex !important;
 flex-direction:column !important;
 align-items:stretch !important;
 gap:8px !important;

 width:84px !important;
 margin:0 !important;
 padding:0 !important;

 transform:translateY(-50%) !important;
}

.re-shelf-tab{
 -webkit-appearance:none !important;
 appearance:none !important;

 position:relative !important;

 display:flex !important;
 flex-direction:column !important;
 align-items:center !important;
 justify-content:space-between !important;
 gap:10px !important;

 box-sizing:border-box !important;

 width:84px !important;
 min-width:84px !important;
 max-width:84px !important;
 height:238px !important;
 min-height:238px !important;

 margin:0 !important;
 padding:14px 10px 13px !important;

 border:1px solid rgba(55,112,135,.19) !important;
 border-left:0 !important;
 border-radius:0 18px 18px 0 !important;

 background:
  linear-gradient(180deg,rgba(248,253,254,.97),rgba(238,248,250,.96)) !important;
 color:#496875 !important;

 box-shadow:
  0 10px 26px rgba(30,69,88,.13),
  inset 0 1px 0 rgba(255,255,255,.98) !important;

 backdrop-filter:blur(14px) !important;
 -webkit-backdrop-filter:blur(14px) !important;

 overflow:hidden !important;

 transform:none !important;
 transition:
  width .16s ease,
  border-color .16s ease,
  background .16s ease,
  color .16s ease,
  box-shadow .16s ease !important;
}

.re-shelf-tab:hover,
.re-shelf-tab.is-active{
 border-color:rgba(33,133,159,.34) !important;
 border-left:0 !important;

 background:
  linear-gradient(180deg,#f2fbfc,#e9f7f9) !important;
 color:#166f86 !important;

 box-shadow:
  0 14px 32px rgba(30,82,101,.17),
  inset 0 1px 0 rgba(255,255,255,.99) !important;

 transform:none !important;
}

.re-shelf-tab__icon{
 flex:0 0 auto !important;

 display:flex !important;
 align-items:center !important;
 justify-content:center !important;

 width:48px !important;
 height:48px !important;

 margin:0 !important;

 border:1px solid rgba(33,133,159,.14) !important;
 border-radius:14px !important;

 background:
  linear-gradient(145deg,#f7fdfe,#e4f3f6) !important;
 color:#21859f !important;

 box-shadow:inset 0 1px 0 rgba(255,255,255,.95) !important;
}

.re-shelf-tab__icon svg{
 width:21px !important;
 height:21px !important;

 fill:none !important;
 stroke:currentColor !important;
 stroke-width:1.8 !important;
 stroke-linecap:round !important;
 stroke-linejoin:round !important;
}

.re-shelf-tab--favorites .re-shelf-tab__icon svg{
 fill:rgba(33,133,159,.08) !important;
}

.re-shelf-tab--favorites.is-active .re-shelf-tab__icon svg{
 fill:#21859f !important;
}

.re-shelf-tab__label{
 flex:1 1 auto !important;

 display:flex !important;
 align-items:center !important;
 justify-content:center !important;

 min-width:0 !important;
 min-height:86px !important;

 margin:0 !important;
 padding:0 !important;

 color:inherit !important;

 font-size:13px !important;
 line-height:1 !important;
 font-weight:900 !important;
 letter-spacing:.10em !important;
 text-transform:uppercase !important;
 white-space:nowrap !important;

 writing-mode:vertical-rl !important;
 text-orientation:mixed !important;
 transform:rotate(180deg) !important;
}

.re-shelf-tab__count{
 flex:0 0 auto !important;

 display:flex !important;
 align-items:center !important;
 justify-content:center !important;

 box-sizing:border-box !important;

 min-width:44px !important;
 width:auto !important;
 height:38px !important;
 padding:0 8px !important;

 margin:0 !important;

 border:1px solid rgba(80,91,136,.16) !important;
 border-radius:19px !important;

 background:rgba(255,255,255,.88) !important;
 color:#505b88 !important;

 box-shadow:inset 0 1px 0 rgba(255,255,255,.95) !important;

 font-size:14px !important;
 line-height:1 !important;
 font-weight:900 !important;
}

/* Drawer открывается непосредственно справа от вертикальных вкладок */
.re-shelf-drawer{
 left:96px !important;
 right:auto !important;
 top:50% !important;
 bottom:auto !important;

 width:min(440px,calc(100vw - 116px)) !important;
 max-height:84dvh !important;

 transform:translate(-16px,-50%) !important;
}

.re-shelf-drawer.is-open{
 transform:translate(0,-50%) !important;
}


/* Компактнее на небольших экранах, но расположение сохраняется */
@media(max-width:760px){

 .re-shelf-tabs{
  top:50% !important;
  left:0 !important;
  right:auto !important;
  bottom:auto !important;

  flex-direction:column !important;
  gap:6px !important;

  width:66px !important;

  transform:translateY(-50%) !important;
 }

 .re-shelf-tab{
  width:66px !important;
  min-width:66px !important;
  max-width:66px !important;
  height:190px !important;
  min-height:190px !important;

  padding:10px 7px !important;

  border-left:0 !important;
  border-radius:0 15px 15px 0 !important;
 }

 .re-shelf-tab__icon{
  width:40px !important;
  height:40px !important;
  border-radius:11px !important;
 }

 .re-shelf-tab__icon svg{
  width:18px !important;
  height:18px !important;
 }

 .re-shelf-tab__label{
  min-height:72px !important;
  font-size:11px !important;
  letter-spacing:.08em !important;
 }

 .re-shelf-tab__count{
  min-width:38px !important;
  height:32px !important;
  padding:0 6px !important;

  border-radius:16px !important;

  font-size:12px !important;
 }

 .re-shelf-drawer{
  left:74px !important;
  right:7px !important;
  top:7px !important;
  bottom:7px !important;

  width:auto !important;
  max-height:none !important;

  transform:translateX(-14px) !important;
 }

 .re-shelf-drawer.is-open{
  transform:translateX(0) !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — FAVORITES + RECENT
   VERTICAL SMALL LEFT EDGE V5
   Уменьшено примерно в 2 раза относительно предыдущего варианта.
   ========================================================================== */

.re-shelf-tabs{
 width:52px !important;
 gap:6px !important;
}

.re-shelf-tab{
 width:52px !important;
 min-width:52px !important;
 max-width:52px !important;

 height:132px !important;
 min-height:132px !important;

 padding:7px 5px 7px !important;

 border-radius:0 12px 12px 0 !important;
}

.re-shelf-tab__icon{
 width:30px !important;
 height:30px !important;

 border-radius:9px !important;
}

.re-shelf-tab__icon svg{
 width:15px !important;
 height:15px !important;
}

.re-shelf-tab__label{
 min-height:52px !important;

 font-size:9px !important;
 line-height:1 !important;
 letter-spacing:.08em !important;
}

.re-shelf-tab__count{
 min-width:30px !important;
 height:26px !important;
 padding:0 5px !important;

 border-radius:13px !important;

 font-size:10px !important;
}

.re-shelf-drawer{
 left:62px !important;
 right:auto !important;

 width:min(410px,calc(100vw - 80px)) !important;
}

@media(max-width:760px){

 .re-shelf-tabs{
  width:46px !important;
  gap:5px !important;
 }

 .re-shelf-tab{
  width:46px !important;
  min-width:46px !important;
  max-width:46px !important;

  height:120px !important;
  min-height:120px !important;

  padding:6px 4px !important;

  border-radius:0 10px 10px 0 !important;
 }

 .re-shelf-tab__icon{
  width:27px !important;
  height:27px !important;
  border-radius:8px !important;
 }

 .re-shelf-tab__icon svg{
  width:14px !important;
  height:14px !important;
 }

 .re-shelf-tab__label{
  min-height:48px !important;

  font-size:8px !important;
  letter-spacing:.07em !important;
 }

 .re-shelf-tab__count{
  min-width:27px !important;
  height:23px !important;

  border-radius:12px !important;

  font-size:9px !important;
 }

 .re-shelf-drawer{
  left:54px !important;
  right:7px !important;
  top:7px !important;
  bottom:7px !important;

  width:auto !important;
  max-height:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — FULL / LITE / AUTO MODE V1
   ========================================================================== */

/* --------------------------------------------------------------------------
   КНОПКА РЕЖИМА — СЛЕВА ВНИЗУ
   -------------------------------------------------------------------------- */

.re-mode-toggle{
 -webkit-appearance:none;
 appearance:none;

 position:fixed;
 left:10px;
 bottom:12px;
 z-index:2147482400;

 display:grid;
 grid-template-columns:30px auto;
 align-items:center;
 gap:8px;

 min-height:42px;
 padding:5px 10px 5px 5px;

 border:1px solid rgba(55,112,135,.18);
 border-radius:11px;

 background:rgba(248,253,254,.96);
 color:#496875;

 box-shadow:
  0 10px 26px rgba(30,69,88,.13),
  inset 0 1px 0 rgba(255,255,255,.97);

 backdrop-filter:blur(12px);
 -webkit-backdrop-filter:blur(12px);

 cursor:pointer;

 transition:
  border-color .16s ease,
  background .16s ease,
  color .16s ease,
  transform .16s ease,
  box-shadow .16s ease;
}

.re-mode-toggle:hover{
 border-color:rgba(33,133,159,.34);

 background:#eef9fb;
 color:#166f86;

 transform:translateY(-2px);

 box-shadow:
  0 13px 30px rgba(30,82,101,.16),
  inset 0 1px 0 rgba(255,255,255,.98);
}

.re-mode-toggle__icon{
 display:flex;
 align-items:center;
 justify-content:center;

 width:30px;
 height:30px;

 border:1px solid rgba(33,133,159,.13);
 border-radius:8px;

 background:linear-gradient(145deg,#f7fdfe,#e4f3f6);
 color:#21859f;
}

.re-mode-toggle__icon svg{
 width:16px;
 height:16px;

 fill:none;
 stroke:currentColor;
 stroke-width:1.8;
 stroke-linecap:round;
 stroke-linejoin:round;
}

.re-mode-toggle__text{
 display:grid;
 gap:1px;

 min-width:48px;

 text-align:left;
}

.re-mode-toggle__text b{
 color:inherit;

 font-size:11px;
 line-height:1;
 font-weight:900;
 letter-spacing:.06em;
}

.re-mode-toggle__text small{
 color:#899da5;

 font-size:8px;
 line-height:1.15;
 font-weight:700;
 white-space:nowrap;
}

.re-mode-toggle[data-mode="full"] .re-mode-toggle__icon{
 color:#21859f;
}

.re-mode-toggle[data-mode="lite"] .re-mode-toggle__icon{
 color:#67768b;
}

.re-mode-toggle[data-mode="auto"] .re-mode-toggle__icon{
 color:#505b88;
}


/* ==========================================================================
   LITE — ОБЛЕГЧЁННЫЙ РЕЖИМ
   Убираем самые дорогие визуальные эффекты, не ломая верстку.
   ========================================================================== */

html.re-effective-lite{
 scroll-behavior:auto !important;
}

html.re-effective-lite *,
html.re-effective-lite *::before,
html.re-effective-lite *::after{
 animation-duration:.001ms !important;
 animation-delay:0s !important;
 animation-iteration-count:1 !important;

 transition-duration:.001ms !important;
 transition-delay:0s !important;
}

html.re-effective-lite .rh-site-header,
html.re-effective-lite .rh-site-footer,
html.re-effective-lite .re-shelf-tab,
html.re-effective-lite .re-shelf-drawer,
html.re-effective-lite .re-mode-toggle,
html.re-effective-lite .re-fav-heart,
html.re-effective-lite .re-entry-favorite,
html.re-effective-lite .re-comment-form,
html.re-effective-lite .re-comment-editor,
html.re-effective-lite .re-popular-country{
 backdrop-filter:none !important;
 -webkit-backdrop-filter:none !important;
}

html.re-effective-lite .re-shelf-overlay{
 backdrop-filter:none !important;
 -webkit-backdrop-filter:none !important;
}

html.re-effective-lite .re-shelf-tab,
html.re-effective-lite .re-shelf-drawer,
html.re-effective-lite .re-mode-toggle,
html.re-effective-lite .re-fav-heart,
html.re-effective-lite .re-entry-favorite{
 box-shadow:
  0 3px 10px rgba(30,69,88,.08) !important;
}

html.re-effective-lite .re-comment-form,
html.re-effective-lite .re-comment-editor,
html.re-effective-lite .re-detail-page,
html.re-effective-lite .rh-content-section{
 box-shadow:none !important;
}

/* В LITE фиксированный фон часто тяжелее прокрутки */
html.re-effective-lite body{
 background-attachment:scroll !important;
}

/* Декоративные blur-фильтры отключаем */
html.re-effective-lite [style*="filter: blur"],
html.re-effective-lite [style*="filter:blur"]{
 filter:none !important;
}


/* ==========================================================================
   FULL
   Ничего не урезаем: работают все исходные стили сайта.
   ========================================================================== */

html.re-effective-full{
 --re-effects-mode:full;
}


/* ==========================================================================
   MOBILE
   ========================================================================== */

@media(max-width:760px){

 .re-mode-toggle{
  left:7px;
  bottom:8px;

  min-height:38px;
  padding:4px 8px 4px 4px;

  border-radius:10px;
 }

 .re-mode-toggle__icon{
  width:28px;
  height:28px;
 }

 .re-mode-toggle__text b{
  font-size:10px;
 }

 .re-mode-toggle__text small{
  font-size:7px;
 }

}


/* ==========================================================================
   REDUCED MOTION
   ========================================================================== */

@media(prefers-reduced-motion:reduce){

 .re-mode-toggle{
  transition:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — LITE MODE
   REMOVE SITE BACKGROUND COMPLETELY V2
   ========================================================================== */

html.re-effective-lite{
 background:#fff !important;
}

html.re-effective-lite body{
 background:none !important;
 background-image:none !important;
 background-color:transparent !important;
 background-attachment:scroll !important;
}

/* Убираем декоративную сетку / подсветку поверх fon.png */
html.re-effective-lite body::before,
html.re-effective-lite body::after{
 content:none !important;
 display:none !important;
 background:none !important;
 background-image:none !important;
 opacity:0 !important;
}

/* ==========================================================================
   RUSSIAN EMIGRANT — AUTO TOC + READING PROGRESS V1
   ========================================================================== */

.re-auto-toc{
 margin:0 0 24px;
 padding:0;
 overflow:hidden;

 border:1px solid rgba(56,112,134,.15);
 border-radius:14px;

 background:
  linear-gradient(
   145deg,
   rgba(249,253,254,.98),
   rgba(238,248,250,.94)
  );

 box-shadow:
  0 10px 28px rgba(31,75,94,.055),
  inset 0 1px 0 rgba(255,255,255,.96);
}

.re-auto-toc__summary{
 position:relative;

 display:grid;
 grid-template-columns:38px minmax(0,1fr) auto auto;
 align-items:center;
 gap:11px;

 min-height:58px;
 padding:9px 14px 9px 10px;

 cursor:pointer;
 list-style:none;

 color:#3f6170;
}

.re-auto-toc__summary::-webkit-details-marker{
 display:none;
}

.re-auto-toc__summary::after{
 content:"";

 width:7px;
 height:7px;
 margin-left:3px;

 border-right:1.5px solid #6d8792;
 border-bottom:1.5px solid #6d8792;

 transform:rotate(45deg) translateY(-2px);
 transition:transform .17s ease;
}

.re-auto-toc[open] .re-auto-toc__summary::after{
 transform:rotate(225deg) translate(-1px,-1px);
}

.re-auto-toc__summary-icon{
 display:flex;
 align-items:center;
 justify-content:center;

 width:38px;
 height:38px;

 border:1px solid rgba(33,133,159,.14);
 border-radius:10px;

 background:linear-gradient(145deg,#f7fdfe,#e5f4f6);
 color:#21859f;
}

.re-auto-toc__summary-icon svg{
 width:18px;
 height:18px;

 fill:none;
 stroke:currentColor;
 stroke-width:1.7;
 stroke-linecap:round;
 stroke-linejoin:round;
}

.re-auto-toc__summary-text{
 min-width:0;

 color:#355766;

 font-size:13px;
 line-height:1.25;
 font-weight:900;
}

.re-auto-toc__summary-hint{
 color:#91a3aa;

 font-size:9px;
 line-height:1;
 font-weight:700;
 white-space:nowrap;
}

.re-auto-toc__list{
 display:grid;
 gap:2px;

 margin:0;
 padding:7px 10px 11px;

 border-top:1px solid rgba(65,112,130,.10);

 list-style:none;
}

.re-auto-toc__item{
 margin:0;
 padding:0;
}

.re-auto-toc__item a{
 display:grid;
 grid-template-columns:28px minmax(0,1fr);
 align-items:start;
 gap:8px;

 padding:7px 9px;

 border-radius:8px;

 color:#58727d;

 font-size:12px;
 line-height:1.4;
 font-weight:700;
 text-decoration:none;

 transition:
  background .15s ease,
  color .15s ease;
}

.re-auto-toc__item a:hover,
.re-auto-toc__item a.is-active{
 background:rgba(33,133,159,.075);
 color:#177a91;
}

.re-auto-toc__item a.is-active{
 font-weight:850;
}

.re-auto-toc__item--sub a{
 margin-left:18px;

 color:#718791;

 font-size:11px;
 font-weight:650;
}

.re-auto-toc__number{
 display:flex;
 align-items:center;
 justify-content:center;

 min-width:26px;
 height:20px;

 border:1px solid rgba(33,133,159,.11);
 border-radius:6px;

 background:#edf7f9;
 color:#21859f;

 font-size:8px;
 line-height:1;
 font-weight:900;
 letter-spacing:.03em;
}

.re-toc-heading{
 scroll-margin-top:96px;
}


/* READING PROGRESS */

.re-reading-progress{
 position:fixed;
 top:0;
 left:0;
 right:0;
 z-index:2147483000;

 height:3px;

 pointer-events:none;
}

.re-reading-progress__track{
 position:absolute;
 inset:0;

 display:block;
 overflow:hidden;

 background:rgba(226,240,244,.72);
}

.re-reading-progress__fill{
 position:absolute;
 top:0;
 bottom:0;
 left:0;

 display:block;
 width:0;

 background:
  linear-gradient(
   90deg,
   #21859f,
   #57afbf,
   #505b88
  );

 box-shadow:
  0 0 8px rgba(33,133,159,.18);

 transition:width .08s linear;
}

.re-reading-progress__value{
 position:absolute;
 top:9px;
 right:12px;

 display:flex;
 align-items:center;
 justify-content:center;

 min-width:36px;
 height:24px;
 padding:0 7px;

 border:1px solid rgba(55,112,135,.14);
 border-radius:8px;

 background:rgba(249,253,254,.90);
 color:#58727e;

 box-shadow:
  0 5px 15px rgba(31,72,90,.08);

 backdrop-filter:blur(10px);
 -webkit-backdrop-filter:blur(10px);

 opacity:0;
 transform:translateY(-3px);

 font-size:9px;
 line-height:1;
 font-weight:900;

 transition:
  opacity .15s ease,
  transform .15s ease;
}

.re-reading-progress.is-reading
.re-reading-progress__value{
 opacity:1;
 transform:translateY(0);
}


/* LITE */

html.re-effective-lite .re-auto-toc,
html.re-effective-lite .re-reading-progress__value{
 backdrop-filter:none !important;
 -webkit-backdrop-filter:none !important;
 box-shadow:none !important;
}

html.re-effective-lite .re-reading-progress__fill{
 box-shadow:none !important;
 transition:none !important;
}


/* MOBILE */

@media(max-width:760px){

 .re-auto-toc{
  margin-bottom:18px;
  border-radius:12px;
 }

 .re-auto-toc__summary{
  grid-template-columns:
   34px minmax(0,1fr) auto;

  gap:9px;

  min-height:52px;
  padding:8px 11px 8px 8px;
 }

 .re-auto-toc__summary-icon{
  width:34px;
  height:34px;
  border-radius:9px;
 }

 .re-auto-toc__summary-hint{
  display:none;
 }

 .re-auto-toc__summary-text{
  font-size:12px;
 }

 .re-auto-toc__list{
  padding:6px 7px 9px;
 }

 .re-auto-toc__item a{
  padding:7px;
  font-size:11px;
 }

 .re-auto-toc__item--sub a{
  margin-left:10px;
  font-size:10px;
 }

 .re-reading-progress__value{
  top:7px;
  right:7px;

  min-width:32px;
  height:22px;

  font-size:8px;
 }

}

@media(prefers-reduced-motion:reduce){

 .re-auto-toc__summary::after,
 .re-auto-toc__item a,
 .re-reading-progress__fill,
 .re-reading-progress__value{
  transition:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — CONTINUE READING V1
   ========================================================================== */

.re-resume-reading{
 position:fixed;
 right:16px;
 bottom:16px;
 z-index:2147482350;

 display:grid;
 grid-template-columns:42px minmax(0,1fr) auto 30px;
 align-items:center;
 gap:11px;

 width:min(460px,calc(100vw - 32px));
 padding:11px;

 border:1px solid rgba(55,112,135,.17);
 border-radius:14px;

 background:
  linear-gradient(
   145deg,
   rgba(250,254,254,.97),
   rgba(237,248,250,.96)
  );

 box-shadow:
  0 18px 46px rgba(25,65,83,.18),
  inset 0 1px 0 rgba(255,255,255,.98);

 backdrop-filter:blur(14px);
 -webkit-backdrop-filter:blur(14px);

 opacity:0;
 visibility:hidden;
 transform:translateY(12px);

 transition:
  opacity .2s ease,
  visibility .2s ease,
  transform .2s ease;
}

.re-resume-reading.is-visible{
 opacity:1;
 visibility:visible;
 transform:translateY(0);
}

.re-resume-reading__icon{
 display:flex;
 align-items:center;
 justify-content:center;

 width:42px;
 height:42px;

 border:1px solid rgba(33,133,159,.14);
 border-radius:11px;

 background:
  linear-gradient(145deg,#f7fdfe,#e3f3f6);

 color:#21859f;
}

.re-resume-reading__icon svg{
 width:20px;
 height:20px;

 fill:none;
 stroke:currentColor;
 stroke-width:1.7;
 stroke-linecap:round;
 stroke-linejoin:round;
}

.re-resume-reading__content{
 display:grid;
 gap:2px;

 min-width:0;
}

.re-resume-reading__eyebrow{
 color:#21859f;

 font-size:8px;
 line-height:1;
 font-weight:900;
 letter-spacing:.09em;
 text-transform:uppercase;
}

.re-resume-reading__title{
 color:#355766;

 font-size:13px;
 line-height:1.25;
 font-weight:900;
}

.re-resume-reading__meta{
 color:#899ca4;

 font-size:9px;
 line-height:1.3;
 font-weight:650;
}

.re-resume-reading__go{
 -webkit-appearance:none;
 appearance:none;

 min-height:34px;
 padding:0 11px;

 border:1px solid #21859f;
 border-radius:8px;

 background:
  linear-gradient(180deg,#2895ac,#21859f);

 color:#fff;

 font-family:inherit;
 font-size:10px;
 line-height:1;
 font-weight:850;

 cursor:pointer;

 box-shadow:
  0 6px 14px rgba(33,133,159,.16),
  inset 0 1px 0 rgba(255,255,255,.17);

 transition:
  background .15s ease,
  transform .15s ease;
}

.re-resume-reading__go:hover{
 background:
  linear-gradient(180deg,#238ca4,#19788f);

 transform:translateY(-1px);
}

.re-resume-reading__close{
 -webkit-appearance:none;
 appearance:none;

 display:flex;
 align-items:center;
 justify-content:center;

 width:30px;
 height:30px;
 padding:0;

 border:1px solid transparent;
 border-radius:8px;

 background:transparent;
 color:#8499a2;

 cursor:pointer;

 transition:
  border-color .15s ease,
  background .15s ease,
  color .15s ease;
}

.re-resume-reading__close:hover{
 border-color:rgba(73,117,135,.14);

 background:#fff;
 color:#3c6779;
}

.re-resume-reading__close svg{
 width:14px;
 height:14px;

 fill:none;
 stroke:currentColor;
 stroke-width:1.8;
 stroke-linecap:round;
}


/* LITE */

html.re-effective-lite .re-resume-reading{
 backdrop-filter:none !important;
 -webkit-backdrop-filter:none !important;

 box-shadow:
  0 4px 14px rgba(30,69,88,.08) !important;
}

html.re-effective-lite .re-resume-reading__go{
 box-shadow:none !important;
}


/* MOBILE */

@media(max-width:760px){

 .re-resume-reading{
  left:8px;
  right:8px;
  bottom:8px;

  grid-template-columns:36px minmax(0,1fr) 28px;
  gap:9px;

  width:auto;
  padding:9px;

  border-radius:12px;
 }

 .re-resume-reading__icon{
  width:36px;
  height:36px;

  border-radius:9px;
 }

 .re-resume-reading__icon svg{
  width:18px;
  height:18px;
 }

 .re-resume-reading__go{
  grid-column:2 / 4;

  width:100%;
  min-height:32px;
  margin-top:4px;
 }

 .re-resume-reading__close{
  grid-column:3;
  grid-row:1;
 }

}

@media(prefers-reduced-motion:reduce){

 .re-resume-reading,
 .re-resume-reading__go,
 .re-resume-reading__close{
  transition:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — AUTOMATIC IMAGE OPTIMIZATION V1

   Основная оптимизация выполняется JS через native loading/decoding/
   fetchpriority. Эти правила лишь гарантируют безопасное поведение
   контентных изображений без изменения существующего дизайна.
   ========================================================================== */

.rh-content-section img,
.re-detail-page img,
.re-popular-country img,
.re-related-card img,
.re-search-result-card img,
.re-country-row img,
main img{
 max-width:100%;
}

/*
  Не задаём глобальный height:auto !important:
  существующие карточки RussianEmigrant используют object-fit и
  собственную высоту, поэтому их дизайн остаётся нетронутым.
*/

/* ==========================================================================
   RUSSIAN EMIGRANT — SMART SHARE V1
   ========================================================================== */

.re-smart-share{
 position:relative;

 display:inline-flex;
 align-items:center;

 margin:0;
}

.re-smart-share__toggle{
 -webkit-appearance:none;
 appearance:none;

 display:inline-flex;
 align-items:center;
 gap:7px;

 min-height:34px;
 padding:0 10px;

 border:1px solid rgba(55,112,135,.16);
 border-radius:8px;

 background:
  linear-gradient(
   180deg,
   rgba(251,254,254,.98),
   rgba(239,248,250,.96)
  );

 color:#496875;

 box-shadow:
  0 5px 14px rgba(30,69,88,.07),
  inset 0 1px 0 rgba(255,255,255,.96);

 font-family:inherit;
 font-size:10px;
 line-height:1;
 font-weight:850;

 cursor:pointer;

 transition:
  border-color .15s ease,
  background .15s ease,
  color .15s ease,
  transform .15s ease;
}

.re-smart-share__toggle:hover,
.re-smart-share__toggle[aria-expanded="true"]{
 border-color:rgba(33,133,159,.30);

 background:#eef9fb;
 color:#17778e;
}

.re-smart-share__toggle:hover{
 transform:translateY(-1px);
}

.re-smart-share__toggle-icon{
 display:flex;
 align-items:center;
 justify-content:center;

 width:18px;
 height:18px;
}

.re-smart-share__toggle-icon svg{
 width:16px;
 height:16px;

 fill:none;
 stroke:currentColor;
 stroke-width:1.7;
 stroke-linecap:round;
 stroke-linejoin:round;
}

.re-smart-share__menu{
 position:absolute;
 left:0;
 top:calc(100% + 7px);
 z-index:2147482200;

 display:grid;
 gap:3px;

 width:190px;
 padding:6px;

 border:1px solid rgba(55,112,135,.16);
 border-radius:11px;

 background:rgba(249,253,254,.98);

 box-shadow:
  0 16px 38px rgba(28,68,85,.16),
  inset 0 1px 0 rgba(255,255,255,.98);

 backdrop-filter:blur(14px);
 -webkit-backdrop-filter:blur(14px);
}

.re-smart-share__menu[hidden]{
 display:none !important;
}

.re-smart-share__item{
 -webkit-appearance:none;
 appearance:none;

 display:grid;
 grid-template-columns:28px minmax(0,1fr);
 align-items:center;
 gap:8px;

 width:100%;
 min-height:38px;
 padding:5px 7px;

 border:0;
 border-radius:7px;

 background:transparent;
 color:#58727d;

 font-family:inherit;
 font-size:10px;
 line-height:1.15;
 font-weight:800;
 text-align:left;
 text-decoration:none;

 cursor:pointer;

 transition:
  background .14s ease,
  color .14s ease;
}

.re-smart-share__item:hover{
 background:rgba(33,133,159,.075);
 color:#17778e;
}

.re-smart-share__item-icon{
 display:flex;
 align-items:center;
 justify-content:center;

 width:28px;
 height:28px;

 border:1px solid rgba(33,133,159,.11);
 border-radius:7px;

 background:#eef8fa;
 color:#21859f;
}

.re-smart-share__item-icon svg{
 width:15px;
 height:15px;

 fill:none;
 stroke:currentColor;
 stroke-width:1.65;
 stroke-linecap:round;
 stroke-linejoin:round;
}

.re-smart-share__item--telegram
.re-smart-share__item-icon svg,
.re-smart-share__item--vk
.re-smart-share__item-icon svg{
 fill:currentColor;
 stroke:none;
}

.re-smart-share__item--copy.is-copied,
.re-smart-share__item-text.is-copied{
 color:#17778e;
}


/* Если кнопка вставлена в начало материала */
.re-detail-content > .re-smart-share:first-child{
 margin:0 0 16px;
}


/* LITE */

html.re-effective-lite .re-smart-share__menu{
 backdrop-filter:none !important;
 -webkit-backdrop-filter:none !important;

 box-shadow:
  0 4px 14px rgba(30,69,88,.08) !important;
}

html.re-effective-lite .re-smart-share__toggle{
 box-shadow:none !important;
}


/* MOBILE */

@media(max-width:760px){

 .re-smart-share__toggle{
  min-height:32px;
  padding:0 9px;

  font-size:9px;
 }

 .re-smart-share__menu{
  left:0;
  right:auto;

  width:178px;
 }

 .re-smart-share__item{
  min-height:36px;

  font-size:9px;
 }

}


/* Когда панель стоит у правого края */
@media(min-width:761px){

 .re-catalog-actions .re-smart-share:last-child
 .re-smart-share__menu{
  left:auto;
  right:0;
 }

}

@media(prefers-reduced-motion:reduce){

 .re-smart-share__toggle,
 .re-smart-share__item{
  transition:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — SEARCH QUERY HIGHLIGHT V1
   ========================================================================== */

mark.re-search-hit{
 display:inline;

 margin:0;
 padding:.04em .17em;

 border:0;
 border-radius:4px;

 background:
  linear-gradient(
   180deg,
   rgba(221,247,249,.98),
   rgba(190,233,238,.96)
  );

 color:#174f61;

 box-decoration-break:clone;
 -webkit-box-decoration-break:clone;

 box-shadow:
  inset 0 -1px 0 rgba(33,133,159,.22);

 font:inherit;
 font-weight:inherit;
 line-height:inherit;
 text-decoration:none;
}


/* В заголовках подсветка чуть спокойнее */
h1 mark.re-search-hit,
h2 mark.re-search-hit,
h3 mark.re-search-hit{
 padding:.02em .12em;

 background:
  rgba(93,184,196,.16);

 color:inherit;

 box-shadow:
  inset 0 -2px 0 rgba(33,133,159,.25);
}


/* LITE — без дополнительных эффектов */
html.re-effective-lite mark.re-search-hit{
 background:#d8f1f3 !important;
 box-shadow:none !important;
}


/* Не влияет на печать */
@media print{

 mark.re-search-hit{
  padding:0 !important;
  background:transparent !important;
  color:inherit !important;
  box-shadow:none !important;
 }

}


/* ==========================================================================
   RUSSIAN EMIGRANT — SAFE WIDE TABLES V1
   ========================================================================== */

.re-table-scroll{
 position:relative;
 width:100%;
 max-width:100%;
 margin:18px 0;
}

.re-table-scroll__inner{
 overflow-x:auto;
 overflow-y:hidden;
 width:100%;
 max-width:100%;
 -webkit-overflow-scrolling:touch;
 padding:0 0 10px;
 scrollbar-width:thin;
 scrollbar-color:#8aa3c4 rgba(80,91,136,.12);
}

.re-table-scroll__inner::-webkit-scrollbar{
 height:12px;
}

.re-table-scroll__inner::-webkit-scrollbar-track{
 background:rgba(80,91,136,.12);
 border-radius:999px;
}

.re-table-scroll__inner::-webkit-scrollbar-thumb{
 background:linear-gradient(180deg,#8ea6c4,#6f84a5);
 border-radius:999px;
 border:2px solid rgba(255,255,255,.85);
}

.re-table-scroll__inner > table{
 min-width:100%;
 margin:0;
}

.re-table-scroll.is-scrollable::before,
.re-table-scroll.is-scrollable::after{
 content:'';
 position:absolute;
 top:0;
 bottom:10px;
 width:26px;
 pointer-events:none;
 opacity:0;
 transition:opacity .18s ease;
 z-index:2;
}

.re-table-scroll.is-scrollable::before{
 left:0;
 background:linear-gradient(90deg, rgba(245,248,255,.95), rgba(245,248,255,0));
}

.re-table-scroll.is-scrollable::after{
 right:0;
 background:linear-gradient(270deg, rgba(245,248,255,.95), rgba(245,248,255,0));
}

.re-table-scroll.is-scrollable:not(.is-scrolled-start)::before{
 opacity:1;
}

.re-table-scroll.is-scrollable:not(.is-scrolled-end)::after{
 opacity:1;
}

.re-table-scroll.is-scrollable .re-table-scroll__inner{
 border:1px solid rgba(80,91,136,.14);
 background:linear-gradient(180deg, rgba(255,255,255,.8), rgba(245,248,255,.82));
 box-shadow:0 8px 20px rgba(41,57,92,.05);
 padding:0 0 12px;
}

.re-table-scroll.is-scrollable .re-table-scroll__inner > table{
 min-width:680px;
}

/* Подсказка для мобильных */
@media (max-width: 768px){

 .re-table-scroll{
  margin:16px 0;
 }

 .re-table-scroll.is-scrollable .re-table-scroll__inner{
  padding-bottom:11px;
 }

 .re-table-scroll.is-scrollable::before,
 .re-table-scroll.is-scrollable::after{
  width:18px;
 }

}

/* LITE режим */
html.re-effective-lite .re-table-scroll__inner{
 background:transparent !important;
 box-shadow:none !important;
}

html.re-effective-lite .re-table-scroll.is-scrollable .re-table-scroll__inner{
 border:1px solid rgba(80,91,136,.18);
}

html.re-effective-lite .re-table-scroll.is-scrollable::before,
html.re-effective-lite .re-table-scroll.is-scrollable::after{
 display:none;
}

@media print{

 .re-table-scroll,
 .re-table-scroll__inner{
  overflow:visible !important;
  padding:0 !important;
 }

 .re-table-scroll::before,
 .re-table-scroll::after{
  display:none !important;
 }

 .re-table-scroll__inner > table{
  min-width:0 !important;
  width:100% !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — MOBILE QUICK ACCESS V1
   Главная / Поиск / Избранное / Недавнее / Режим
   ========================================================================== */

.re-mobile-nav{
 display:none;
}


/* Только телефон / компактный экран */
@media(max-width:760px){

 html{
  --re-mobile-nav-height:
   calc(57px + env(safe-area-inset-bottom,0px));
 }

 body{
  padding-bottom:
   var(--re-mobile-nav-height) !important;
 }


 /* Старые отдельные мобильные контролы дублировать не нужно */
 .re-shelf-tabs{
  display:none !important;
 }

 .re-mode-toggle{
  display:none !important;
 }


 .re-mobile-nav{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:2147482600;

  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  align-items:stretch;

  height:
   var(--re-mobile-nav-height);

  padding:
   5px 5px
   calc(5px + env(safe-area-inset-bottom,0px));

  border-top:
   1px solid rgba(55,112,135,.15);

  background:
   rgba(248,253,254,.97);

  box-shadow:
   0 -8px 26px rgba(28,68,85,.10);

  backdrop-filter:blur(15px);
  -webkit-backdrop-filter:blur(15px);
 }


 .re-mobile-nav__item{
  -webkit-appearance:none;
  appearance:none;

  position:relative;

  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;

  min-width:0;
  height:47px;
  padding:3px 2px;

  border:0;
  border-radius:8px;

  background:transparent;
  color:#728a94;

  font-family:inherit;
  text-align:center;
  text-decoration:none;

  cursor:pointer;
  -webkit-tap-highlight-color:transparent;

  transition:
   background .14s ease,
   color .14s ease,
   transform .14s ease;
 }


 .re-mobile-nav__item:active{
  transform:scale(.95);
 }


 .re-mobile-nav__item:hover,
 .re-mobile-nav__item.is-active{
  background:rgba(33,133,159,.07);
  color:#21859f;
 }


 .re-mobile-nav__icon{
  position:relative;

  display:flex;
  align-items:center;
  justify-content:center;

  width:24px;
  height:24px;
 }


 .re-mobile-nav__icon svg{
  width:20px;
  height:20px;

  fill:none;
  stroke:currentColor;
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
 }


 .re-mobile-nav__item[
  data-re-mobile-action="favorites"
 ] .re-mobile-nav__icon svg{
  fill:rgba(33,133,159,.06);
 }


 .re-mobile-nav__label{
  display:block;
  overflow:hidden;

  width:100%;

  font-size:8px;
  line-height:1;
  font-weight:800;

  white-space:nowrap;
  text-overflow:ellipsis;
 }


 .re-mobile-nav__badge,
 .re-mobile-nav__mode{
  position:absolute;
  top:1px;
  left:50%;

  display:flex;
  align-items:center;
  justify-content:center;

  min-width:17px;
  height:17px;
  padding:0 4px;

  border:
   1px solid rgba(255,255,255,.95);

  border-radius:9px;

  background:#505b88;
  color:#fff;

  box-shadow:
   0 2px 7px rgba(40,53,92,.16);

  font-size:7px;
  line-height:1;
  font-weight:900;

  transform:translateX(5px);
 }


 .re-mobile-nav__badge[hidden]{
  display:none !important;
 }


 .re-mobile-nav__mode{
  min-width:26px;
  height:15px;

  padding:0 4px;

  border-radius:7px;

  background:#eaf5f7;
  border-color:rgba(33,133,159,.14);

  color:#21859f;

  font-size:6px;

  transform:translateX(3px);
 }


 .re-mobile-nav__item[data-mode="lite"]
 .re-mobile-nav__mode{
  background:#eef0f5;
  color:#68758c;
 }


 .re-mobile-nav__item[data-mode="full"]
 .re-mobile-nav__mode{
  background:#e4f4f7;
  color:#17798f;
 }


 /* Открытые панели остаются выше мобильной навигации */
 .re-smart-search,
 .re-shelf-overlay,
 .re-shelf-drawer{
  z-index:2147482800 !important;
 }


 /* Не даём карточке «Продолжить» прятаться за панелью */
 .re-resume-reading{
  bottom:
   calc(
    var(--re-mobile-nav-height) + 8px
   ) !important;
 }

}


/* LITE */
@media(max-width:760px){

 html.re-effective-lite .re-mobile-nav{
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;

  background:#f8fbfc !important;

  box-shadow:
   0 -2px 8px rgba(30,69,88,.07)
   !important;
 }

}


/* Очень узкие телефоны */
@media(max-width:360px){

 .re-mobile-nav{
  padding-left:2px;
  padding-right:2px;
 }

 .re-mobile-nav__item{
  padding-left:0;
  padding-right:0;
 }

 .re-mobile-nav__label{
  font-size:7px;
 }

}


/* Не печатаем */
@media print{

 .re-mobile-nav{
  display:none !important;
 }

 body{
  padding-bottom:0 !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — UCOZ LEGACY PREVIEW RESTORE V1
   ========================================================================== */

.re-image-upgraded img{
 image-rendering:auto;
}

/*
 re-image-lowres оставлен диагностическим классом.
 Визуально исходную миниатюру не портим, если оригинал не найден.
*/

/* ==========================================================================
   RUSSIAN EMIGRANT — CONTINUE EXPLORE V1
   Компактно, чтобы не конкурировать со связанными материалами.
   ========================================================================== */

.re-continue-explore{
 margin:18px 0;
 padding:11px;

 border:1px solid rgba(55,112,135,.13);
 border-radius:12px;

 background:
  linear-gradient(
   145deg,
   rgba(249,253,254,.95),
   rgba(239,248,250,.90)
  );

 box-shadow:
  0 8px 22px rgba(31,75,94,.05);
}

.re-continue-explore__head{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:12px;

 margin-bottom:8px;
}

.re-continue-explore__heading{
 display:flex;
 align-items:baseline;
 flex-wrap:wrap;
 gap:5px 8px;

 min-width:0;
}

.re-continue-explore__eyebrow{
 color:#21859f;

 font-size:8px;
 line-height:1;
 font-weight:900;
 letter-spacing:.08em;
 text-transform:uppercase;
}

.re-continue-explore__title{
 color:#355766;

 font-size:12px;
 line-height:1.2;
 font-weight:900;
}

.re-continue-explore__context{
 color:#7f949d;

 font-size:9px;
 line-height:1.2;
 font-weight:750;
}

.re-continue-explore__note{
 color:#98a9af;

 font-size:8px;
 line-height:1;
 font-weight:700;
 white-space:nowrap;
}

.re-continue-explore__links{
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:6px;
}

.re-continue-explore__link{
 display:grid;
 grid-template-columns:26px minmax(0,1fr) 14px;
 align-items:center;
 gap:6px;

 min-width:0;
 min-height:38px;
 padding:5px 7px;

 border:1px solid rgba(55,112,135,.10);
 border-radius:8px;

 background:rgba(255,255,255,.70);
 color:#58727d;

 text-decoration:none;

 transition:
  border-color .14s ease,
  background .14s ease,
  color .14s ease,
  transform .14s ease;
}

.re-continue-explore__link:hover{
 border-color:rgba(33,133,159,.24);

 background:#f3fafb;
 color:#17778e;

 transform:translateY(-1px);
}

.re-continue-explore__icon{
 display:flex;
 align-items:center;
 justify-content:center;

 width:26px;
 height:26px;

 border:1px solid rgba(33,133,159,.10);
 border-radius:7px;

 background:#edf7f9;
 color:#21859f;

 font-size:8px;
 line-height:1;
 font-weight:900;
}

.re-continue-explore__link-text{
 overflow:hidden;

 font-size:9px;
 line-height:1.2;
 font-weight:800;

 white-space:nowrap;
 text-overflow:ellipsis;
}

.re-continue-explore__arrow{
 color:#9aaab0;

 font-size:12px;
 line-height:1;
 font-weight:700;

 transition:transform .14s ease;
}

.re-continue-explore__link:hover
.re-continue-explore__arrow{
 transform:translateX(2px);
}


/* LITE */
html.re-effective-lite .re-continue-explore{
 background:#f8fbfc !important;
 box-shadow:none !important;
}

html.re-effective-lite .re-continue-explore__link{
 background:#fff !important;
}


/* TABLET */
@media(max-width:900px){

 .re-continue-explore__links{
  grid-template-columns:repeat(2,minmax(0,1fr));
 }

}


/* MOBILE */
@media(max-width:560px){

 .re-continue-explore{
  margin:15px 0;
  padding:9px;

  border-radius:10px;
 }

 .re-continue-explore__head{
  margin-bottom:7px;
 }

 .re-continue-explore__note{
  display:none;
 }

 .re-continue-explore__links{
  grid-template-columns:1fr 1fr;
  gap:5px;
 }

 .re-continue-explore__link{
  grid-template-columns:24px minmax(0,1fr);
  min-height:36px;
  padding:5px 6px;
 }

 .re-continue-explore__icon{
  width:24px;
  height:24px;
 }

 .re-continue-explore__arrow{
  display:none;
 }

 .re-continue-explore__link-text{
  font-size:8px;
 }

}

@media(max-width:360px){

 .re-continue-explore__links{
  grid-template-columns:1fr;
 }

}

@media(prefers-reduced-motion:reduce){

 .re-continue-explore__link,
 .re-continue-explore__arrow{
  transition:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — CTRL+K COMMAND CENTER SAFE V2
   Команды встроены в штатный smart-search. Без MutationObserver.
   ========================================================================== */

.re-smart-search__visual--command{
 background:
  linear-gradient(145deg,#f5fbfc,#e4f3f6) !important;
 color:#21859f !important;
}

.re-smart-search__visual--command > span{
 font-size:13px !important;
 font-weight:900 !important;
}

html.re-effective-lite
.re-smart-search__visual--command{
 background:#edf6f7 !important;
 box-shadow:none !important;
}

/* ==========================================================================
   RUSSIAN EMIGRANT — READING TIME V1
   ========================================================================== */

.re-reading-time{
 display:inline-flex;
 align-items:center;
 gap:8px;

 margin:0 0 14px;
 padding:6px 9px;

 border:1px solid rgba(55,112,135,.12);
 border-radius:8px;

 background:
  linear-gradient(
   180deg,
   rgba(249,253,254,.96),
   rgba(239,248,250,.90)
  );

 color:#58727d;

 box-shadow:
  0 4px 12px rgba(31,75,94,.035);
}

.re-reading-time__icon{
 display:flex;
 align-items:center;
 justify-content:center;

 width:25px;
 height:25px;

 border:1px solid rgba(33,133,159,.11);
 border-radius:7px;

 background:#edf7f9;
 color:#21859f;
}

.re-reading-time__icon svg{
 width:14px;
 height:14px;

 fill:none;
 stroke:currentColor;
 stroke-width:1.7;
 stroke-linecap:round;
 stroke-linejoin:round;
}

.re-reading-time__text{
 display:flex;
 align-items:baseline;
 gap:7px;
}

.re-reading-time__text strong{
 color:#355766;

 font-size:10px;
 line-height:1;
 font-weight:900;
}

.re-reading-time__text small{
 color:#93a5ac;

 font-size:8px;
 line-height:1;
 font-weight:700;
}


/* LITE */
html.re-effective-lite .re-reading-time{
 background:#f8fbfc !important;
 box-shadow:none !important;
}


/* MOBILE */
@media(max-width:760px){

 .re-reading-time{
  margin-bottom:11px;
  padding:5px 7px;
 }

 .re-reading-time__icon{
  width:23px;
  height:23px;
 }

 .re-reading-time__text strong{
  font-size:9px;
 }

 .re-reading-time__text small{
  font-size:7px;
 }

}


/* PRINT */
@media print{

 .re-reading-time{
  box-shadow:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — READING NAVIGATION FIX V2
   ========================================================================== */


/* К ОГЛАВЛЕНИЮ */

.re-return-toc{
 -webkit-appearance:none;
 appearance:none;

 position:fixed;
 right:16px;
 bottom:16px;
 z-index:2147482300;

 display:inline-flex;
 align-items:center;
 gap:6px;

 min-height:34px;
 padding:0 10px;

 border:1px solid rgba(55,112,135,.16);
 border-radius:8px;

 background:rgba(249,253,254,.96);
 color:#58727d;

 box-shadow:
  0 8px 22px rgba(31,72,90,.12);

 backdrop-filter:blur(10px);
 -webkit-backdrop-filter:blur(10px);

 opacity:0;
 visibility:hidden;
 transform:translateY(8px);

 font-family:inherit;
 font-size:9px;
 line-height:1;
 font-weight:850;

 cursor:pointer;
 pointer-events:none;

 transition:
  opacity .16s ease,
  visibility .16s ease,
  transform .16s ease,
  border-color .16s ease,
  color .16s ease;
}

.re-return-toc.is-visible{
 opacity:1;
 visibility:visible;
 transform:translateY(0);

 pointer-events:auto;
}

.re-return-toc:hover{
 border-color:rgba(33,133,159,.28);
 color:#17778e;
}

.re-return-toc > span{
 display:flex;
 align-items:center;
 justify-content:center;

 width:20px;
 height:20px;

 border-radius:6px;

 background:#edf7f9;
 color:#21859f;

 font-size:12px;
 font-weight:900;
}

.re-return-toc > b{
 font:inherit;
}


/* Когда одновременно показано «Продолжить чтение» */
.re-return-toc.has-resume{
 bottom:82px;
}


/* TOC V2: H4 тоже считается подуровнем */
.re-auto-toc__item--sub a{
 margin-left:18px;
}


/* LITE */
html.re-effective-lite .re-return-toc{
 backdrop-filter:none !important;
 -webkit-backdrop-filter:none !important;
 box-shadow:none !important;

 background:#f8fbfc !important;
}


/* MOBILE */
@media(max-width:760px){

 .re-return-toc{
  left:8px;
  right:auto;

  bottom:
   calc(
    var(--re-mobile-nav-height,57px) + 8px
   );

  min-height:32px;
  padding:0 8px;

  font-size:8px;
 }

 .re-return-toc.has-resume{
  bottom:
   calc(
    var(--re-mobile-nav-height,57px) + 126px
   );
 }

 .re-return-toc > span{
  width:19px;
  height:19px;

  font-size:11px;
 }

}


/* PRINT */
@media print{

 .re-return-toc{
  display:none !important;
 }

}


@media(prefers-reduced-motion:reduce){

 .re-return-toc{
  transition:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — SMART SHARE POSITION FIX V2
   ========================================================================== */

.re-smart-share__menu.re-smart-share__menu--portal{
 position:fixed !important;
 z-index:2147483000 !important;

 width:210px !important;
 max-width:calc(100vw - 20px) !important;

 padding:7px !important;

 border:1px solid rgba(55,112,135,.16) !important;
 border-radius:12px !important;

 background:rgba(249,253,254,.985) !important;

 box-shadow:
  0 18px 42px rgba(28,68,85,.18),
  inset 0 1px 0 rgba(255,255,255,.98) !important;

 overflow:visible !important;
 transform:none !important;
}

.re-smart-share__menu--portal::before{
 content:"";

 position:absolute;
 top:-6px;
 right:26px;

 width:10px;
 height:10px;

 border-left:1px solid rgba(55,112,135,.14);
 border-top:1px solid rgba(55,112,135,.14);

 background:rgba(249,253,254,.985);

 transform:rotate(45deg);
}

.re-smart-share__menu--portal.is-above::before{
 top:auto;
 bottom:-6px;

 border-left:0;
 border-top:0;
 border-right:1px solid rgba(55,112,135,.14);
 border-bottom:1px solid rgba(55,112,135,.14);
}

.re-smart-share__menu--portal .re-smart-share__item{
 min-height:40px;
 padding:5px 8px;

 border-radius:8px;
}

.re-smart-share__menu--portal .re-smart-share__item + .re-smart-share__item{
 margin-top:2px;
}


/* меню больше не должно зависеть от overflow hero */
.re-catalog-hero .re-smart-share{
 z-index:3;
}


/* LITE */
html.re-effective-lite
.re-smart-share__menu.re-smart-share__menu--portal{
 backdrop-filter:none !important;
 -webkit-backdrop-filter:none !important;

 background:#f9fcfd !important;

 box-shadow:
  0 8px 24px rgba(28,68,85,.12)
  !important;
}


/* MOBILE */
@media(max-width:760px){

 .re-smart-share__menu.re-smart-share__menu--portal{
  width:196px !important;
 }

 .re-smart-share__menu--portal::before{
  right:22px;
 }

}


/* PRINT */
@media print{

 .re-smart-share__menu--portal{
  display:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — TOC / BACKTOP COLLISION FIX V1
   «К оглавлению» больше не перекрывает штатную кнопку «Наверх».
   ========================================================================== */

/*
 На десктопе .re-backtop стоит справа внизу и имеет ширину 46px.
 Кнопку «К оглавлению» сдвигаем левее, оставляя между ними зазор.
*/
.re-return-toc{
 right:88px !important;
 bottom:26px !important;
}


/* При карточке «Продолжить чтение» обе кнопки остаются разнесены */
.re-return-toc.has-resume{
 right:88px !important;
 bottom:82px !important;
}


/*
 На планшете кнопка «Наверх» уменьшается до 42px и стоит right:14px.
 Оставляем «К оглавлению» слева от неё.
*/
@media(max-width:900px) and (min-width:761px){

 .re-return-toc{
  right:70px !important;
  bottom:18px !important;
 }

 .re-return-toc.has-resume{
  right:70px !important;
  bottom:76px !important;
 }

}


/*
 На телефоне нижняя панель уже разводит элементы:
 «К оглавлению» слева, «Наверх» справа.
*/
@media(max-width:760px){

 .re-return-toc{
  left:8px !important;
  right:auto !important;

  bottom:
   calc(
    var(--re-mobile-nav-height,57px) + 8px
   ) !important;
 }

 .re-return-toc.has-resume{
  left:8px !important;
  right:auto !important;

  bottom:
   calc(
    var(--re-mobile-nav-height,57px) + 126px
   ) !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — RESUME / BACKTOP COLLISION FIX V1
   «Продолжить чтение» больше не перекрывает кнопку «Наверх».
   ========================================================================== */

/*
 Когда карточка «Продолжить чтение» видима,
 штатную кнопку «Наверх» поднимаем выше карточки.
*/
body:has(.re-resume-reading.is-visible) .re-backtop{
 bottom:104px !important;
}


/* Планшет */
@media(max-width:900px) and (min-width:761px){

 body:has(.re-resume-reading.is-visible) .re-backtop{
  bottom:100px !important;
 }

}


/*
 На телефоне карточка находится над нижней мобильной панелью.
 «Наверх» поднимаем ещё выше, чтобы элементы не пересекались.
*/
@media(max-width:760px){

 body:has(.re-resume-reading.is-visible) .re-backtop{
  bottom:
   calc(
    var(--re-mobile-nav-height,57px) + 126px
   ) !important;
 }

}


/* Очень низкие экраны: немного компактнее */
@media(max-height:620px) and (min-width:761px){

 body:has(.re-resume-reading.is-visible) .re-backtop{
  bottom:94px !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — LAZY YOUTUBE / MAP IFRAME V1
   ========================================================================== */

.re-lazy-embed{
 --re-embed-ratio:16 / 9;

 position:relative;

 width:100%;
 max-width:100%;
 margin:18px 0;

 aspect-ratio:var(--re-embed-ratio);

 overflow:hidden;

 border:1px solid rgba(55,112,135,.14);
 border-radius:12px;

 background:
  radial-gradient(
   circle at 18% 20%,
   rgba(70,180,193,.13),
   transparent 36%
  ),
  linear-gradient(
   145deg,
   #f8fcfd,
   #e9f5f7
  );

 box-shadow:
  0 10px 26px rgba(31,75,94,.07);
}

.re-lazy-embed__button{
 -webkit-appearance:none;
 appearance:none;

 position:absolute;
 inset:0;

 display:grid;
 grid-template-columns:50px minmax(0,1fr) 26px;
 align-items:center;
 gap:13px;

 width:100%;
 height:100%;
 padding:20px;

 border:0;

 background:transparent;
 color:#476875;

 font-family:inherit;
 text-align:left;

 cursor:pointer;
 -webkit-tap-highlight-color:transparent;
}

.re-lazy-embed__button::before{
 content:"";

 position:absolute;
 inset:0;

 background:
  linear-gradient(
   90deg,
   rgba(255,255,255,.50),
   transparent 48%
  );

 opacity:.75;
 pointer-events:none;
}

.re-lazy-embed__button > *{
 position:relative;
 z-index:1;
}

.re-lazy-embed__icon{
 display:flex;
 align-items:center;
 justify-content:center;

 width:50px;
 height:50px;

 border:1px solid rgba(33,133,159,.14);
 border-radius:10px;

 background:rgba(255,255,255,.78);
 color:#21859f;

 box-shadow:
  0 5px 14px rgba(31,75,94,.06);

 transition:
  transform .16s ease,
  background .16s ease;
}

.re-lazy-embed__icon svg{
 width:23px;
 height:23px;

 fill:none;
 stroke:currentColor;
 stroke-width:1.65;
 stroke-linecap:round;
 stroke-linejoin:round;
}

.re-lazy-embed--youtube
.re-lazy-embed__icon svg{
 fill:currentColor;
 stroke:none;
}

.re-lazy-embed__text{
 display:flex;
 flex-direction:column;
 align-items:flex-start;
 gap:4px;

 min-width:0;
}

.re-lazy-embed__provider{
 color:#21859f;

 font-size:8px;
 line-height:1;
 font-weight:900;
 letter-spacing:.08em;
 text-transform:uppercase;
}

.re-lazy-embed__text strong{
 color:#355766;

 font-size:15px;
 line-height:1.1;
 font-weight:900;
}

.re-lazy-embed__text small{
 color:#78909a;

 font-size:9px;
 line-height:1.3;
 font-weight:700;
}

.re-lazy-embed__arrow{
 display:flex;
 align-items:center;
 justify-content:center;

 width:26px;
 height:26px;

 border-radius:7px;

 background:rgba(255,255,255,.65);
 color:#7b939c;

 font-size:14px;
 line-height:1;
 font-weight:800;

 transition:
  transform .16s ease,
  color .16s ease;
}

.re-lazy-embed__button:hover
.re-lazy-embed__icon{
 transform:scale(1.04);
 background:#fff;
}

.re-lazy-embed__button:hover
.re-lazy-embed__arrow{
 color:#21859f;
 transform:translateX(2px);
}

.re-lazy-embed.is-loaded{
 border:0;
 background:#000;
 box-shadow:none;
}

.re-lazy-embed__iframe{
 position:absolute;
 inset:0;

 display:block;

 width:100% !important;
 height:100% !important;

 margin:0 !important;
 padding:0 !important;

 border:0 !important;
}


/* LITE */

html.re-effective-lite .re-lazy-embed{
 background:#f4f9fa !important;
 box-shadow:none !important;
}

html.re-effective-lite
.re-lazy-embed__icon{
 box-shadow:none !important;
}


/* MOBILE */

@media(max-width:760px){

 .re-lazy-embed{
  margin:15px 0;
  border-radius:10px;
 }

 .re-lazy-embed__button{
  grid-template-columns:40px minmax(0,1fr) 22px;
  gap:10px;

  padding:13px;
 }

 .re-lazy-embed__icon{
  width:40px;
  height:40px;

  border-radius:9px;
 }

 .re-lazy-embed__icon svg{
  width:19px;
  height:19px;
 }

 .re-lazy-embed__text strong{
  font-size:12px;
 }

 .re-lazy-embed__text small{
  font-size:8px;
 }

 .re-lazy-embed__provider{
  font-size:7px;
 }

 .re-lazy-embed__arrow{
  width:22px;
  height:22px;

  font-size:12px;
 }

}


@media(prefers-reduced-motion:reduce){

 .re-lazy-embed__icon,
 .re-lazy-embed__arrow{
  transition:none !important;
 }

}


/* PRINT */

@media print{

 .re-lazy-embed:not(.is-loaded){
  display:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — PREVIOUS / NEXT MATERIALS V1
   ========================================================================== */

.re-entry-neighbors{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:8px;

 margin:18px 0;
}

.re-entry-neighbors.is-single{
 grid-template-columns:minmax(0,1fr);
}

.re-entry-neighbor{
 display:grid;
 align-items:center;
 gap:9px;

 min-width:0;
 min-height:64px;
 padding:10px 11px;

 border:1px solid rgba(55,112,135,.12);
 border-radius:10px;

 background:
  linear-gradient(
   145deg,
   rgba(250,253,254,.96),
   rgba(240,248,250,.90)
  );

 color:#55717d;

 box-shadow:
  0 6px 18px rgba(31,75,94,.045);

 text-decoration:none;

 transition:
  border-color .14s ease,
  background .14s ease,
  color .14s ease,
  transform .14s ease;
}

.re-entry-neighbor--prev{
 grid-template-columns:30px minmax(0,1fr);
}

.re-entry-neighbor--next{
 grid-template-columns:minmax(0,1fr) 30px;
 text-align:right;
}

.re-entry-neighbor:hover{
 border-color:rgba(33,133,159,.24);

 background:#f4fafb;
 color:#17788f;

 transform:translateY(-1px);
}

.re-entry-neighbor__icon{
 display:flex;
 align-items:center;
 justify-content:center;

 width:30px;
 height:30px;

 border:1px solid rgba(33,133,159,.11);
 border-radius:8px;

 background:#edf7f9;
 color:#21859f;

 font-size:14px;
 line-height:1;
 font-weight:900;

 transition:
  transform .14s ease;
}

.re-entry-neighbor--prev:hover
.re-entry-neighbor__icon{
 transform:translateX(-2px);
}

.re-entry-neighbor--next:hover
.re-entry-neighbor__icon{
 transform:translateX(2px);
}

.re-entry-neighbor__body{
 display:flex;
 flex-direction:column;
 gap:4px;

 min-width:0;
}

.re-entry-neighbor__label{
 color:#8a9ca4;

 font-size:7px;
 line-height:1;
 font-weight:900;
 letter-spacing:.07em;
 text-transform:uppercase;
}

.re-entry-neighbor__title{
 display:block;
 overflow:hidden;

 color:#405f6d;

 font-size:10px;
 line-height:1.25;
 font-weight:850;

 white-space:nowrap;
 text-overflow:ellipsis;
}

.re-entry-neighbor:hover
.re-entry-neighbor__title{
 color:#17788f;
}


/* Одна соседняя ссылка не растягивается чрезмерно */
.re-entry-neighbors.is-single
.re-entry-neighbor{
 max-width:520px;
}

.re-entry-neighbors.is-single
.re-entry-neighbor--next{
 margin-left:auto;
}


/* LITE */

html.re-effective-lite
.re-entry-neighbor{
 background:#f8fbfc !important;
 box-shadow:none !important;
}


/* MOBILE */

@media(max-width:760px){

 .re-entry-neighbors{
  grid-template-columns:1fr;
  gap:6px;

  margin:15px 0;
 }

 .re-entry-neighbors.is-single{
  grid-template-columns:1fr;
 }

 .re-entry-neighbors.is-single
 .re-entry-neighbor{
  max-width:none;
 }

 .re-entry-neighbors.is-single
 .re-entry-neighbor--next{
  margin-left:0;
 }

 .re-entry-neighbor{
  min-height:56px;
  padding:8px 9px;

  border-radius:9px;
 }

 .re-entry-neighbor--prev{
  grid-template-columns:27px minmax(0,1fr);
 }

 .re-entry-neighbor--next{
  grid-template-columns:minmax(0,1fr) 27px;
 }

 .re-entry-neighbor__icon{
  width:27px;
  height:27px;

  border-radius:7px;

  font-size:12px;
 }

 .re-entry-neighbor__title{
  font-size:9px;
 }

 .re-entry-neighbor__label{
  font-size:6px;
 }

}


@media(prefers-reduced-motion:reduce){

 .re-entry-neighbor,
 .re-entry-neighbor__icon{
  transition:none !important;
 }

}


/* PRINT */

@media print{

 .re-entry-neighbors{
  display:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — UNIFIED UCOZ PAGINATION V1
   ========================================================================== */

.re-ucoz-pager{
 display:flex !important;
 flex-wrap:wrap !important;
 align-items:center !important;
 justify-content:center !important;
 gap:5px !important;

 width:100% !important;
 max-width:100% !important;

 margin:18px 0 0 !important;
 padding:0 !important;

 border:0 !important;
 background:transparent !important;
 box-shadow:none !important;

 text-align:center !important;
}


/*
 uCoz любит добавлять промежуточные div/center/font/table.
 Не ломаем DOM, просто делаем вложенные служебные обёртки нейтральными.
*/
.re-ucoz-pager > div,
.re-ucoz-pager > center,
.re-ucoz-pager > font,
.re-ucoz-pager > p,
.re-ucoz-pager > .pagesBlockuz,
.re-ucoz-pager > .pagesBlockuz1,
.re-ucoz-pager > .pagesBlockuz2,
.re-ucoz-pager > .pagesBlockuz3,
.re-ucoz-pager > .pgSwch,
.re-ucoz-pager > .switches{
 display:flex !important;
 flex-wrap:wrap !important;
 align-items:center !important;
 justify-content:center !important;
 gap:5px !important;

 margin:0 !important;
 padding:0 !important;

 border:0 !important;
 background:transparent !important;
 box-shadow:none !important;
}


.re-ucoz-pager br{
 display:none !important;
}


/* Единая кнопка страницы */
.re-ucoz-pager .re-ucoz-pager__item{
 box-sizing:border-box !important;

 display:inline-flex !important;
 align-items:center !important;
 justify-content:center !important;

 min-width:32px !important;
 height:32px !important;
 min-height:32px !important;

 margin:0 !important;
 padding:0 8px !important;

 float:none !important;
 clear:none !important;

 border:1px solid rgba(48,91,119,.12) !important;
 border-radius:8px !important;

 background:
  linear-gradient(
   180deg,
   rgba(255,255,255,.96),
   rgba(241,248,250,.92)
  ) !important;

 color:#49677c !important;

 box-shadow:
  0 4px 11px rgba(31,75,94,.045),
  inset 0 1px 0 rgba(255,255,255,.95) !important;

 font-family:inherit !important;
 font-size:10px !important;
 line-height:1 !important;
 font-weight:820 !important;
 text-decoration:none !important;

 vertical-align:middle !important;

 transition:
  border-color .14s ease,
  background .14s ease,
  color .14s ease,
  transform .14s ease !important;
}


/* Текущая страница */
.re-ucoz-pager .re-ucoz-pager__current{
 border-color:transparent !important;

 background:
  linear-gradient(
   135deg,
   #21859f,
   #505b88
  ) !important;

 color:#fff !important;

 box-shadow:
  0 6px 15px rgba(51,84,125,.15),
  inset 0 1px 0 rgba(255,255,255,.18) !important;

 cursor:default !important;
}


/* Hover только для реальных ссылок */
.re-ucoz-pager a.re-ucoz-pager__item:hover{
 border-color:rgba(39,133,154,.24) !important;

 background:#fff !important;
 color:#17788f !important;

 transform:translateY(-1px) !important;
}


/* Назад / далее немного шире */
.re-ucoz-pager .re-ucoz-pager__prev,
.re-ucoz-pager .re-ucoz-pager__next{
 min-width:34px !important;

 padding:0 9px !important;
}


/* Многоточие */
.re-ucoz-pager .re-ucoz-pager__dots{
 min-width:20px !important;

 padding:0 3px !important;

 border-color:transparent !important;

 background:transparent !important;
 color:#8b9ca4 !important;

 box-shadow:none !important;

 pointer-events:none !important;
}


/*
 Старые специфические стили каталога были круглыми и с !important.
 Эти правила идут позже и специально приводят каталог к той же
 системе, что поиск, пользователи и остальные uCoz-страницы.
*/
.re-catalog-pagination.re-ucoz-pager
.re-ucoz-pager__item,
.re-users-pagination.re-ucoz-pager
.re-ucoz-pager__item,
.re-user-comments-pagination.re-ucoz-pager
.re-ucoz-pager__item{
 width:auto !important;
 min-width:32px !important;
 height:32px !important;
 min-height:32px !important;

 margin:0 !important;
 padding:0 8px !important;

 border-radius:8px !important;

 font-family:inherit !important;
 font-size:10px !important;
 line-height:1 !important;
 font-weight:820 !important;
}


.re-catalog-pagination.re-ucoz-pager
.re-ucoz-pager__current,
.re-users-pagination.re-ucoz-pager
.re-ucoz-pager__current,
.re-user-comments-pagination.re-ucoz-pager
.re-ucoz-pager__current{
 border-color:transparent !important;

 background:
  linear-gradient(
   135deg,
   #21859f,
   #505b88
  ) !important;

 color:#fff !important;
}


/* LITE */
html.re-effective-lite
.re-ucoz-pager .re-ucoz-pager__item{
 background:#f8fbfc !important;
 box-shadow:none !important;
}

html.re-effective-lite
.re-ucoz-pager .re-ucoz-pager__current{
 background:#505b88 !important;
 color:#fff !important;
}


/* MOBILE */
@media(max-width:760px){

 .re-ucoz-pager{
  gap:4px !important;

  margin-top:15px !important;
 }

 .re-ucoz-pager .re-ucoz-pager__item,
 .re-catalog-pagination.re-ucoz-pager
 .re-ucoz-pager__item,
 .re-users-pagination.re-ucoz-pager
 .re-ucoz-pager__item,
 .re-user-comments-pagination.re-ucoz-pager
 .re-ucoz-pager__item{
  min-width:29px !important;
  height:29px !important;
  min-height:29px !important;

  padding:0 7px !important;

  border-radius:7px !important;

  font-size:9px !important;
 }

}


/* PRINT */
@media print{

 .re-ucoz-pager{
  display:none !important;
 }

}


@media(prefers-reduced-motion:reduce){

 .re-ucoz-pager .re-ucoz-pager__item{
  transition:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — SMART COMMENTS HEADER V1
   ========================================================================== */

.re-comments-summary{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:12px;

 margin:0 0 12px;
 padding:9px 10px;

 border:1px solid rgba(46,98,129,.11);
 border-radius:10px;

 background:
  linear-gradient(
   145deg,
   rgba(250,253,254,.96),
   rgba(241,248,250,.91)
  );

 box-shadow:
  0 5px 15px rgba(30,57,78,.04);
}

.re-comments-summary__main{
 display:flex;
 align-items:center;
 gap:9px;

 min-width:0;
}

.re-comments-summary__icon{
 display:flex;
 flex:0 0 30px;
 align-items:center;
 justify-content:center;

 width:30px;
 height:30px;

 border:1px solid rgba(39,139,160,.10);
 border-radius:8px;

 background:rgba(39,139,160,.075);
 color:#277f96;
}

.re-comments-summary__icon svg{
 width:16px;
 height:16px;

 fill:none;
 stroke:currentColor;
 stroke-width:1.7;
 stroke-linecap:round;
 stroke-linejoin:round;
}

.re-comments-summary__heading{
 display:flex;
 flex-direction:column;
 gap:3px;

 min-width:0;
}

.re-comments-summary__heading > strong{
 display:flex;
 align-items:center;
 gap:6px;

 color:#304f66;

 font-size:11px;
 line-height:1.1;
 font-weight:900;
}

.re-comments-summary__heading > strong b{
 display:inline-flex;
 align-items:center;
 justify-content:center;

 min-width:22px;
 height:20px;
 padding:0 6px;

 border-radius:7px;

 background:#505b88;
 color:#fff;

 font-size:8px;
 line-height:1;
 font-weight:900;
}

.re-comments-summary__state{
 display:flex;
 align-items:center;
 gap:5px;

 color:#82939d;

 font-size:8px;
 line-height:1.1;
 font-weight:720;
}

.re-comments-summary__state::before{
 content:"";

 width:6px;
 height:6px;

 border-radius:50%;

 background:#75a58e;
 box-shadow:
  0 0 0 3px rgba(117,165,142,.10);
}

.re-comments-summary__state[data-state="attention"]::before{
 background:#c99a55;
 box-shadow:
  0 0 0 3px rgba(201,154,85,.10);
}

.re-comments-summary__state[data-state="closed"]::before{
 background:#a1a9ae;
 box-shadow:
  0 0 0 3px rgba(161,169,174,.10);
}

.re-comments-summary__actions{
 flex:0 0 auto;
}

.re-comments-summary__add{
 -webkit-appearance:none;
 appearance:none;

 display:inline-flex;
 align-items:center;
 gap:6px;

 min-height:32px;
 padding:0 10px;

 border:1px solid rgba(39,133,154,.14);
 border-radius:8px;

 background:rgba(255,255,255,.82);
 color:#467083;

 box-shadow:
  0 3px 9px rgba(31,75,94,.035);

 font-family:inherit;
 font-size:8px;
 line-height:1;
 font-weight:850;

 cursor:pointer;

 transition:
  border-color .14s ease,
  background .14s ease,
  color .14s ease,
  transform .14s ease;
}

.re-comments-summary__add span{
 display:flex;
 align-items:center;
 justify-content:center;

 width:17px;
 height:17px;

 border-radius:5px;

 background:#e9f5f7;
 color:#21859f;

 font-size:12px;
 font-weight:900;
}

.re-comments-summary__add b{
 font:inherit;
}

.re-comments-summary__add:hover{
 border-color:rgba(39,133,154,.25);

 background:#fff;
 color:#17788f;

 transform:translateY(-1px);
}


/*
 Старый отдельный заголовок не удаляем из DOM:
 uCoz может использовать его структуру.
*/
.re-comments-old-heading{
 position:absolute !important;

 width:1px !important;
 height:1px !important;

 overflow:hidden !important;

 clip:rect(0 0 0 0) !important;
 clip-path:inset(50%) !important;

 margin:-1px !important;
 padding:0 !important;
 border:0 !important;

 white-space:nowrap !important;
}


/* LITE */

html.re-effective-lite
.re-comments-summary{
 background:#f8fbfc !important;
 box-shadow:none !important;
}

html.re-effective-lite
.re-comments-summary__add{
 box-shadow:none !important;
}


/* MOBILE */

@media(max-width:620px){

 .re-comments-summary{
  align-items:stretch;
  flex-direction:column;

  gap:8px;

  padding:9px;
 }

 .re-comments-summary__actions{
  width:100%;
 }

 .re-comments-summary__add{
  width:100%;

  justify-content:center;
 }

}


/* PRINT */

@media print{

 .re-comments-summary__actions{
  display:none !important;
 }

}


@media(prefers-reduced-motion:reduce){

 .re-comments-summary__add{
  transition:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — SAFE EXTERNAL LINKS V1
   ========================================================================== */

/*
 Значок добавляется только текстовым внешним ссылкам.
 Изображения, баннеры и карточки не меняются.
*/
.re-detail-content
a.re-external-link--text::after{
 content:"↗";

 display:inline-flex;
 align-items:center;
 justify-content:center;

 width:13px;
 height:13px;

 margin-left:4px;

 border:1px solid rgba(33,133,159,.13);
 border-radius:4px;

 background:rgba(33,133,159,.06);
 color:#21859f;

 font-size:8px;
 line-height:1;
 font-weight:900;

 vertical-align:.08em;

 transition:
  border-color .14s ease,
  background .14s ease,
  transform .14s ease;
}

.re-detail-content
a.re-external-link--text:hover::after{
 border-color:rgba(33,133,159,.26);

 background:rgba(33,133,159,.10);

 transform:
  translate(1px,-1px);
}


/*
 Если ссылка уже оформлена как большая кнопка/карточка,
 не добавляем визуальный значок поверх её собственного дизайна.
 Безопасные target/rel при этом остаются.
*/
.re-detail-content
a.re-external-link--text[class*="button"]::after,
.re-detail-content
a.re-external-link--text[class*="btn"]::after,
.re-detail-content
a.re-external-link--text.re-entry-neighbor::after,
.re-detail-content
a.re-external-link--text.re-continue-explore__link::after{
 display:none;
}


/* LITE */

html.re-effective-lite
.re-detail-content
a.re-external-link--text::after{
 background:#eef7f8 !important;

 transition:none !important;
}


/* PRINT */

@media print{

 .re-detail-content
 a.re-external-link--text::after{
  display:none !important;
 }

}


@media(prefers-reduced-motion:reduce){

 .re-detail-content
 a.re-external-link--text::after{
  transition:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — SAFE GALLERY DEDUPLICATION V1
   ========================================================================== */

/*
 Дубликат НЕ удаляется из DOM.
 Это безопаснее для uCoz и возможных скриптов lightbox.
*/
.re-gallery-duplicate{
 display:none !important;
}


/*
 Если вся отдельная gallery состояла только из дублей COVER,
 не оставляем пустой визуальный контейнер.
*/
.re-gallery-empty-after-dedupe{
 display:none !important;
}

/* ==========================================================================
   RUSSIAN EMIGRANT — SAFE EMPTY BLOCKS CLEANUP V1
   ========================================================================== */

/*
 Элементы не удаляются из DOM.
 Это важно для uCoz и для модулей, которые могут заполнить секцию позже.
*/
.re-empty-comments,
.re-empty-service-block{
 display:none !important;
}

/* ==========================================================================
   RUSSIAN EMIGRANT — SMART SEARCH RESULTS V1
   ========================================================================== */

/* ------------------------------
   СВОДКА
------------------------------ */

.re-search-summary{
 margin:0 0 12px;
 padding:11px 12px;

 border:1px solid rgba(51,112,139,.13);
 border-radius:11px;

 background:
  linear-gradient(
   145deg,
   rgba(250,253,254,.97),
   rgba(240,248,250,.91)
  );

 box-shadow:
  0 6px 18px rgba(31,75,94,.045);
}

.re-search-summary__top{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:14px;
}

.re-search-summary__text{
 display:flex;
 flex-direction:column;
 gap:3px;

 min-width:0;
}

.re-search-summary__eyebrow{
 color:#21859f;

 font-size:7px;
 line-height:1;
 font-weight:900;
 letter-spacing:.08em;
 text-transform:uppercase;
}

.re-search-summary__title{
 overflow:hidden;

 color:#294d61;

 font-size:12px;
 line-height:1.25;
 font-weight:900;

 white-space:nowrap;
 text-overflow:ellipsis;
}

.re-search-summary__count{
 color:#7b909a;

 font-size:8px;
 line-height:1.2;
 font-weight:700;
}

.re-search-summary__action{
 -webkit-appearance:none;
 appearance:none;

 flex:0 0 auto;

 min-height:30px;
 padding:0 10px;

 border:1px solid rgba(33,133,159,.14);
 border-radius:8px;

 background:rgba(255,255,255,.78);
 color:#467083;

 font-family:inherit;
 font-size:8px;
 line-height:1;
 font-weight:850;

 cursor:pointer;

 transition:
  border-color .14s ease,
  background .14s ease,
  color .14s ease,
  transform .14s ease;
}

.re-search-summary__action:hover{
 border-color:rgba(33,133,159,.27);

 background:#fff;
 color:#17788f;

 transform:translateY(-1px);
}

.re-search-summary__chips{
 display:flex;
 flex-wrap:wrap;
 gap:5px;

 margin-top:9px;
 padding-top:9px;

 border-top:1px solid rgba(57,105,128,.08);
}

.re-search-summary__chip{
 display:inline-flex;
 align-items:center;
 gap:5px;

 min-height:23px;
 padding:0 7px;

 border:1px solid rgba(57,105,128,.09);
 border-radius:7px;

 background:rgba(255,255,255,.58);
 color:#637e8b;

 font-size:8px;
 line-height:1;
 font-weight:800;
}

.re-search-summary__chip b{
 display:inline-flex;
 align-items:center;
 justify-content:center;

 min-width:17px;
 height:17px;
 padding:0 4px;

 border-radius:5px;

 background:rgba(80,91,136,.09);
 color:#505b88;

 font-size:7px;
 line-height:1;
 font-weight:900;
}


/* ------------------------------
   ТИП РЕЗУЛЬТАТА
------------------------------ */

/*
 Переиспользуем уже существующий badge результата,
 но убираем чрезмерно круглый pill-вид.
*/
.re-search-result-card__type.re-search-smart-type,
.re-search-item__module.re-search-smart-type,
.re-search-smart-type{
 display:inline-flex;
 align-items:center;
 justify-content:center;

 min-height:22px;
 padding:0 7px;

 border:1px solid rgba(33,133,159,.14);
 border-radius:7px !important;

 background:rgba(238,249,251,.82);
 color:#247c91;

 font-family:inherit;
 font-size:8px;
 line-height:1;
 font-weight:900;
 letter-spacing:.045em;
 text-transform:uppercase;
}


/* Небольшие различия типов без пёстрой радуги */
.re-search-smart-type--country,
.re-search-summary__chip--country{
 border-color:rgba(33,133,159,.17);
 background:rgba(231,248,250,.82);
 color:#18788d;
}

.re-search-smart-type--city,
.re-search-summary__chip--city{
 border-color:rgba(80,91,136,.15);
 background:rgba(242,244,250,.86);
 color:#59658a;
}

.re-search-smart-type--residence,
.re-search-summary__chip--residence,
.re-search-smart-type--visa,
.re-search-summary__chip--visa,
.re-search-smart-type--citizenship,
.re-search-summary__chip--citizenship{
 border-color:rgba(56,120,137,.14);
 background:rgba(239,248,247,.84);
 color:#3d746f;
}

.re-search-smart-type--guide,
.re-search-summary__chip--guide{
 border-color:rgba(77,104,143,.13);
 background:rgba(243,246,250,.86);
 color:#5c6f8d;
}


/* LITE */
html.re-effective-lite
.re-search-summary{
 background:#f8fbfc !important;
 box-shadow:none !important;
}

html.re-effective-lite
.re-search-summary__action{
 box-shadow:none !important;
}


/* MOBILE */
@media(max-width:620px){

 .re-search-summary{
  padding:10px;

  border-radius:10px;
 }

 .re-search-summary__top{
  align-items:flex-start;
  flex-direction:column;

  gap:8px;
 }

 .re-search-summary__title{
  max-width:100%;

  font-size:11px;
 }

 .re-search-summary__action{
  width:100%;

  justify-content:center;
 }

 .re-search-summary__chips{
  gap:4px;
 }

 .re-search-summary__chip{
  min-height:21px;
  padding:0 6px;

  font-size:7px;
 }

}


/* PRINT */
@media print{

 .re-search-summary__action{
  display:none !important;
 }

}


@media(prefers-reduced-motion:reduce){

 .re-search-summary__action{
  transition:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — TOC / FOOTER COLLISION FIX V1
   ========================================================================== */

/*
 Когда футер входит в экран, кнопка «К оглавлению»
 автоматически поднимается над его реально видимой частью.
*/
.re-return-toc.re-return-toc--footer-safe{
 bottom:
  calc(
   var(--re-footer-visible-height,0px) + 12px
  ) !important;
}


/*
 Если одновременно показано «Продолжить чтение»,
 оставляем дополнительный зазор над карточкой.
*/
.re-return-toc.re-return-toc--footer-safe.has-resume{
 bottom:
  calc(
   var(--re-footer-visible-height,0px) + 70px
  ) !important;
}


/* Планшет */
@media(max-width:900px) and (min-width:761px){

 .re-return-toc.re-return-toc--footer-safe{
  bottom:
   calc(
    var(--re-footer-visible-height,0px) + 10px
   ) !important;
 }

 .re-return-toc.re-return-toc--footer-safe.has-resume{
  bottom:
   calc(
    var(--re-footer-visible-height,0px) + 66px
   ) !important;
 }

}


/*
 На телефоне учитываем и нижнюю мобильную панель:
 кнопка остаётся выше панели и выше футера.
*/
@media(max-width:760px){

 .re-return-toc.re-return-toc--footer-safe{
  bottom:
   calc(
    var(--re-footer-visible-height,0px) +
    var(--re-mobile-nav-height,57px) +
    8px
   ) !important;
 }

 .re-return-toc.re-return-toc--footer-safe.has-resume{
  bottom:
   calc(
    var(--re-footer-visible-height,0px) +
    var(--re-mobile-nav-height,57px) +
    126px
   ) !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — COMMENT ORDER CONTROL V1
   ========================================================================== */

.re-comment-order{
 display:flex !important;
 align-items:center !important;
 gap:10px !important;
 flex-wrap:wrap !important;

 width:max-content !important;
 max-width:100% !important;

 margin:14px 0 !important;
 padding:7px 8px 7px 9px !important;

 border:1px solid rgba(47,107,135,.13) !important;
 border-radius:10px !important;

 background:
  linear-gradient(
   145deg,
   rgba(250,253,254,.96),
   rgba(240,248,250,.91)
  ) !important;

 box-shadow:
  0 5px 15px rgba(31,75,94,.04) !important;

 color:#617a88 !important;

 font-family:inherit !important;
 line-height:1 !important;
}

.re-comment-order__icon{
 display:flex;
 flex:0 0 30px;
 align-items:center;
 justify-content:center;

 width:30px;
 height:30px;

 border:1px solid rgba(33,133,159,.11);
 border-radius:8px;

 background:rgba(33,133,159,.07);
 color:#21859f;
}

.re-comment-order__icon svg{
 width:16px;
 height:16px;

 fill:none;
 stroke:currentColor;
 stroke-width:1.7;
 stroke-linecap:round;
 stroke-linejoin:round;
}

.re-comment-order__label{
 color:#526f7e;

 font-size:10px;
 line-height:1.15;
 font-weight:850;
 white-space:nowrap;
}

.re-comment-order__select-wrap{
 position:relative;

 display:inline-flex;
 align-items:center;

 min-width:185px;
}

.re-comment-order__select-wrap::after{
 content:"";

 position:absolute;
 right:11px;
 top:50%;

 width:6px;
 height:6px;

 border-right:1.5px solid #5e7b89;
 border-bottom:1.5px solid #5e7b89;

 transform:
  translateY(-68%)
  rotate(45deg);

 pointer-events:none;
}

.re-comment-order .re-comment-order__select{
 -webkit-appearance:none !important;
 appearance:none !important;

 display:block !important;

 width:100% !important;
 min-width:185px !important;
 height:34px !important;

 margin:0 !important;
 padding:0 34px 0 11px !important;

 border:1px solid rgba(47,107,135,.15) !important;
 border-radius:8px !important;

 outline:0 !important;

 background:
  linear-gradient(
   180deg,
   rgba(255,255,255,.98),
   rgba(246,250,251,.98)
  ) !important;

 color:#3f5f6e !important;

 box-shadow:
  inset 0 1px 0 rgba(255,255,255,.95),
  0 2px 7px rgba(31,75,94,.025) !important;

 font-family:inherit !important;
 font-size:10px !important;
 line-height:34px !important;
 font-weight:780 !important;

 cursor:pointer !important;

 transition:
  border-color .14s ease,
  box-shadow .14s ease,
  background .14s ease !important;
}

.re-comment-order
.re-comment-order__select:hover{
 border-color:rgba(33,133,159,.28) !important;
 background:#fff !important;
}

.re-comment-order
.re-comment-order__select:focus{
 border-color:rgba(33,133,159,.42) !important;

 box-shadow:
  0 0 0 3px rgba(33,133,159,.08) !important;

 background:#fff !important;
}


/* Убираем возможный <br> между системной подписью и select */
.re-comment-order > br{
 display:none !important;
}


/* LITE */

html.re-effective-lite
.re-comment-order{
 background:#f8fbfc !important;
 box-shadow:none !important;
}

html.re-effective-lite
.re-comment-order
.re-comment-order__select{
 box-shadow:none !important;
}


/* MOBILE */

@media(max-width:620px){

 .re-comment-order{
  display:grid !important;
  grid-template-columns:30px minmax(0,1fr) !important;
  gap:7px 9px !important;

  width:100% !important;
  box-sizing:border-box !important;

  padding:8px !important;
 }

 .re-comment-order__label{
  min-width:0;

  white-space:normal;
 }

 .re-comment-order__select-wrap{
  grid-column:1 / -1;

  width:100%;
  min-width:0;
 }

 .re-comment-order
 .re-comment-order__select{
  min-width:0 !important;
  width:100% !important;
 }

}


@media(prefers-reduced-motion:reduce){

 .re-comment-order
 .re-comment-order__select{
  transition:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — BACKTOP / FOOTER COLLISION FIX V1
   ========================================================================== */

/*
 Пока футер не виден, .re-backtop остаётся там,
 где его ставят основные стили сайта.

 Когда футер входит в экран, «Наверх» поднимается
 над реально видимой частью футера.
*/
.re-backtop.re-backtop--footer-safe{
 bottom:
  calc(
   var(--re-backtop-footer-visible,0px) + 12px
  ) !important;
}


/*
 Если одновременно показано «Продолжить чтение»,
 выбираем большее безопасное расстояние:
 либо над футером, либо над карточкой продолжения.
*/
body:has(.re-resume-reading.is-visible)
.re-backtop.re-backtop--footer-safe{
 bottom:
  max(
   calc(
    var(--re-backtop-footer-visible,0px) + 12px
   ),
   104px
  ) !important;
}


/* Планшет */
@media(max-width:900px) and (min-width:761px){

 .re-backtop.re-backtop--footer-safe{
  bottom:
   calc(
    var(--re-backtop-footer-visible,0px) + 10px
   ) !important;
 }

 body:has(.re-resume-reading.is-visible)
 .re-backtop.re-backtop--footer-safe{
  bottom:
   max(
    calc(
     var(--re-backtop-footer-visible,0px) + 10px
    ),
    100px
   ) !important;
 }

}


/* Телефон: дополнительно учитываем нижнюю мобильную панель */
@media(max-width:760px){

 .re-backtop.re-backtop--footer-safe{
  bottom:
   calc(
    var(--re-backtop-footer-visible,0px) +
    var(--re-mobile-nav-height,57px) +
    8px
   ) !important;
 }

 body:has(.re-resume-reading.is-visible)
 .re-backtop.re-backtop--footer-safe{
  bottom:
   max(
    calc(
     var(--re-backtop-footer-visible,0px) +
     var(--re-mobile-nav-height,57px) +
     8px
    ),
    calc(
     var(--re-mobile-nav-height,57px) + 126px
    )
   ) !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — STICKY HEADERS FOR LONG TABLES V1
   ========================================================================== */

/*
 Короткие таблицы вообще не получают вертикальную прокрутку.
 Только таблицы от 11 строк получают собственную scroll-area.
*/
.re-table-scroll.re-long-table
.re-table-scroll__inner{
 max-height:min(64vh,620px);

 overflow-x:auto !important;
 overflow-y:auto !important;

 overscroll-behavior:contain;

 scroll-padding-top:42px;
}


/*
 Настоящие <th> остаются сверху внутри длинной таблицы.
*/
.re-table-scroll.re-long-table
.re-sticky-table__head{
 position:sticky !important;
 top:0 !important;
 z-index:4 !important;

 background:
  linear-gradient(
   180deg,
   rgba(247,251,252,.99),
   rgba(236,246,248,.99)
  ) !important;

 color:#3f6372 !important;

 box-shadow:
  0 1px 0 rgba(48,101,124,.14),
  0 5px 11px rgba(31,75,94,.055) !important;
}


/*
 Если таблица использует несколько строк THEAD,
 sticky остаётся стабильным: весь thead получает фон.
*/
.re-table-scroll.re-long-table
thead{
 position:relative;
 z-index:3;
}


/* Фокус клавиатурой на прокручиваемой таблице */
.re-table-scroll.re-long-table
.re-table-scroll__inner:focus{
 outline:none;

 box-shadow:
  0 0 0 3px rgba(33,133,159,.08),
  0 8px 20px rgba(41,57,92,.05) !important;
}


/*
 Существующие боковые fade-подсказки SAFE WIDE TABLES
 не должны перекрывать текст sticky-заголовка.
*/
.re-table-scroll.re-long-table::before,
.re-table-scroll.re-long-table::after{
 z-index:5;
}


/* LITE */
html.re-effective-lite
.re-table-scroll.re-long-table
.re-sticky-table__head{
 background:#f5fafb !important;

 box-shadow:
  0 1px 0 rgba(80,91,136,.16) !important;
}


/* MOBILE */
@media(max-width:760px){

 .re-table-scroll.re-long-table
 .re-table-scroll__inner{
  max-height:min(58vh,520px);
  scroll-padding-top:38px;
 }

 .re-table-scroll.re-long-table
 .re-sticky-table__head{
  font-size:inherit;
 }

}


/* PRINT: никаких sticky/scroll-area */
@media print{

 .re-table-scroll.re-long-table
 .re-table-scroll__inner{
  max-height:none !important;

  overflow:visible !important;
 }

 .re-table-scroll.re-long-table
 .re-sticky-table__head{
  position:static !important;

  box-shadow:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — TABLE HORIZONTAL SCROLL HINT V1
   ========================================================================== */

.re-table-scroll-hint{
 position:absolute;
 left:50%;
 bottom:24px;
 z-index:7;

 display:flex;
 align-items:center;
 gap:6px;

 max-width:calc(100% - 28px);
 padding:6px 9px;

 border:1px solid rgba(33,133,159,.14);
 border-radius:8px;

 background:
  rgba(247,252,253,.94);

 color:#5c7885;

 box-shadow:
  0 5px 14px rgba(31,75,94,.06);

 transform:
  translateX(-50%);

 pointer-events:none;

 font-size:8px;
 line-height:1;
 font-weight:800;

 opacity:1;

 transition:
  opacity .16s ease,
  transform .16s ease;
}

.re-table-scroll-hint span{
 color:#21859f;

 font-size:11px;
 font-weight:900;
}

.re-table-scroll-hint b{
 overflow:hidden;

 font:inherit;
 white-space:nowrap;
 text-overflow:ellipsis;
}


/*
 После первого свайпа/горизонтальной прокрутки
 подсказка исчезает и больше не мешает.
*/
.re-table-scroll-hint-used
.re-table-scroll-hint{
 opacity:0;

 transform:
  translate(-50%,4px);

 visibility:hidden;
}


/*
 У реально широких таблиц добавляем чуть больше нижнего пространства,
 чтобы подсказка не лежала поверх горизонтального scrollbar.
*/
.re-table-scroll-has-hint
.re-table-scroll__inner{
 padding-bottom:34px !important;
}

.re-table-scroll-hint-used
.re-table-scroll__inner{
 padding-bottom:12px !important;
}


/* Для длинной sticky-таблицы подсказка всегда остаётся у видимого низа */
.re-table-scroll.re-long-table
.re-table-scroll-hint{
 bottom:24px;
}


/* LITE */
html.re-effective-lite
.re-table-scroll-hint{
 background:#f7fbfc !important;

 box-shadow:none !important;
}


/* MOBILE */
@media(max-width:760px){

 .re-table-scroll-hint{
  bottom:21px;

  padding:6px 8px;

  font-size:7px;
 }

 .re-table-scroll-hint span{
  font-size:10px;
 }

 .re-table-scroll-has-hint
 .re-table-scroll__inner{
  padding-bottom:31px !important;
 }

 .re-table-scroll-hint-used
 .re-table-scroll__inner{
  padding-bottom:11px !important;
 }

}


/* PRINT */
@media print{

 .re-table-scroll-hint{
  display:none !important;
 }

 .re-table-scroll-has-hint
 .re-table-scroll__inner{
  padding-bottom:0 !important;
 }

}


@media(prefers-reduced-motion:reduce){

 .re-table-scroll-hint{
  transition:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — ARTICLE SECTION NUMBERING V1
   ========================================================================== */

/*
 Номер рисуется через ::before и НЕ меняет настоящий текст H2/H3.
 Поэтому:
 - SEO-текст заголовка остаётся исходным;
 - id/якоря не меняются;
 - автоматическое оглавление не получает повторные цифры.
*/

.re-detail-content
.re-article-section-heading:not(.re-article-heading--manual-number)::before{
 content:
  attr(data-re-section-number)
  ".";

 display:inline-flex;
 align-items:center;
 justify-content:center;

 min-width:25px;
 height:25px;

 margin-right:8px;

 border:1px solid rgba(33,133,159,.13);
 border-radius:7px;

 background:
  linear-gradient(
   145deg,
   rgba(232,247,249,.96),
   rgba(242,247,251,.96)
  );

 color:#21859f;

 font-size:.64em;
 line-height:1;
 font-weight:900;
 letter-spacing:0;

 vertical-align:.13em;

 box-shadow:
  inset 0 1px 0 rgba(255,255,255,.78);
}


.re-detail-content
.re-article-subsection-heading:not(.re-article-heading--manual-number)::before{
 content:
  attr(data-re-subsection-number);

 display:inline-block;

 margin-right:7px;

 color:#4f6f7e;

 font-size:.72em;
 line-height:1;
 font-weight:900;
 letter-spacing:.01em;

 vertical-align:.08em;
}


/*
 Небольшой дополнительный отступ только у автоматически
 пронумерованных заголовков.
*/
.re-detail-content
.re-article-section-heading{
 scroll-margin-top:88px;
}

.re-detail-content
.re-article-subsection-heading{
 scroll-margin-top:82px;
}


/* LITE */

html.re-effective-lite
.re-detail-content
.re-article-section-heading:not(.re-article-heading--manual-number)::before{
 background:#f2f8f9 !important;
 box-shadow:none !important;
}


/* MOBILE */

@media(max-width:760px){

 .re-detail-content
 .re-article-section-heading:not(.re-article-heading--manual-number)::before{
  min-width:22px;
  height:22px;

  margin-right:6px;

  border-radius:6px;

  font-size:.60em;
 }

 .re-detail-content
 .re-article-subsection-heading:not(.re-article-heading--manual-number)::before{
  margin-right:5px;

  font-size:.68em;
 }

}


/* PRINT */

@media print{

 .re-detail-content
 .re-article-section-heading:not(.re-article-heading--manual-number)::before{
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;

  min-width:0;
  height:auto;
  margin-right:5px;

  color:inherit !important;
 }

 .re-detail-content
 .re-article-subsection-heading:not(.re-article-heading--manual-number)::before{
  color:inherit !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — LONG ARTICLE MINI SCROLL RAIL V1
   ========================================================================== */

/*
 Мини-шкала — это навигационный контрол,
 а не второй визуальный progress bar:
 никаких процентов, подписей и крупных индикаторов.
*/

.re-article-scroll-rail{
 position:fixed;
 top:50%;
 right:9px;
 z-index:2147481200;

 width:8px;
 height:min(42vh,360px);

 padding:0;

 border:0;
 outline:0;

 opacity:0;
 visibility:hidden;

 transform:
  translateY(-50%)
  translateX(5px);

 transition:
  opacity .16s ease,
  transform .16s ease,
  visibility .16s ease;

 cursor:pointer;
}

.re-article-scroll-rail.is-visible{
 opacity:.72;
 visibility:visible;

 transform:
  translateY(-50%)
  translateX(0);
}

.re-article-scroll-rail:hover,
.re-article-scroll-rail:focus-visible{
 opacity:1;
}

.re-article-scroll-rail__track{
 position:absolute;
 inset:0;

 display:block;

 width:4px;
 margin:0 auto;

 border-radius:4px;

 background:
  rgba(73,109,125,.13);

 box-shadow:
  inset 0 0 0 1px
  rgba(255,255,255,.42);
}

.re-article-scroll-rail__thumb{
 position:absolute;
 top:0;
 left:0;

 display:block;

 width:4px;
 min-height:38px;

 border-radius:4px;

 background:
  linear-gradient(
   180deg,
   #21859f,
   #505b88
  );

 box-shadow:
  0 2px 7px
  rgba(48,76,111,.15);

 will-change:transform;
}

.re-article-scroll-rail:focus-visible{
 border-radius:6px;

 box-shadow:
  0 0 0 3px
  rgba(33,133,159,.10);
}


/*
 На планшете оставляем тоньше и ближе к краю,
 но полностью отключаем на телефоне.
*/
@media(max-width:900px) and (min-width:761px){

 .re-article-scroll-rail{
  right:5px;

  height:min(36vh,300px);
 }

}


/* Телефон: выключено по логике AncientCivs V8 */
@media(max-width:760px){

 .re-article-scroll-rail{
  display:none !important;
 }

}


/* LITE */
html.re-effective-lite
.re-article-scroll-rail{
 transition:none !important;
}

html.re-effective-lite
.re-article-scroll-rail__track{
 background:
  rgba(80,91,136,.12) !important;
}


/* Не мешаем печати */
@media print{

 .re-article-scroll-rail{
  display:none !important;
 }

}


@media(prefers-reduced-motion:reduce){

 .re-article-scroll-rail{
  transition:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — IMAGE SKELETONS V1
   ========================================================================== */

/*
 Сам img получает нейтральный фон, поэтому даже без специального
 media-host пользователь не видит белую пустоту во время загрузки.
*/
img.re-image-skeleton{
 background:
  linear-gradient(
   100deg,
   rgba(226,238,241,.78) 8%,
   rgba(244,249,250,.96) 18%,
   rgba(226,238,241,.78) 33%
  );

 background-size:220% 100%;

 animation:
  re-image-skeleton-shimmer
  1.15s linear infinite;

 color:transparent;

 opacity:.82;
}


/*
 Если width/height уже есть в HTML, сохраняем их ratio.
 Это помогает браузеру заранее удержать место под картинку.
*/
img.re-image-has-ratio{
 aspect-ratio:
  var(--re-image-ratio);
}


/* Карточный/media host */
.re-image-skeleton-host{
 position:relative;

 overflow:hidden;
}

.re-image-skeleton-host::before{
 content:"";

 position:absolute;
 inset:0;
 z-index:0;

 background:
  linear-gradient(
   100deg,
   rgba(226,238,241,.74) 8%,
   rgba(247,251,252,.96) 18%,
   rgba(226,238,241,.74) 33%
  );

 background-size:220% 100%;

 animation:
  re-image-skeleton-shimmer
  1.15s linear infinite;

 pointer-events:none;
}

.re-image-skeleton-host > img{
 position:relative;
 z-index:1;
}


/* После загрузки skeleton полностью исчезает */
.re-image-host-loaded::before{
 display:none;
}


/* Ошибка изображения */
.re-image-host-failed{
 position:relative;

 min-height:96px;

 background:
  linear-gradient(
   145deg,
   #f4f8f9,
   #edf4f5
  );
}

.re-image-host-failed::before{
 content:"";

 position:absolute;
 inset:0;
 z-index:2;

 display:block;

 background:
  linear-gradient(
   145deg,
   rgba(244,248,249,.96),
   rgba(237,244,245,.96)
  );

 animation:none;
 pointer-events:none;
}

.re-image-host-failed::after{
 content:
  attr(data-re-image-error);

 position:absolute;
 left:50%;
 top:50%;
 z-index:3;

 display:flex;
 align-items:center;
 justify-content:center;

 max-width:calc(100% - 24px);

 padding:7px 9px;

 border:1px solid rgba(83,111,122,.10);
 border-radius:7px;

 background:rgba(255,255,255,.74);
 color:#758a93;

 transform:
  translate(-50%,-50%);

 font-size:8px;
 line-height:1.2;
 font-weight:800;
 text-align:center;

 pointer-events:none;
}

img.re-image-failed{
 opacity:.08;
}


/*
 Для standalone-картинки без отдельного media-host:
 не прячем alt/browser fallback полностью.
*/
.re-detail-content img.re-image-failed:not(
 .re-image-host-failed img
){
 min-height:72px;

 opacity:.24;

 filter:grayscale(1);
}


@keyframes re-image-skeleton-shimmer{

 0%{
  background-position:100% 0;
 }

 100%{
  background-position:-100% 0;
 }

}


/* LITE */
html.re-effective-lite
img.re-image-skeleton,
html.re-effective-lite
.re-image-skeleton-host::before{
 animation:none !important;

 background:#edf5f6 !important;
}


/* REDUCED MOTION */
@media(prefers-reduced-motion:reduce){

 img.re-image-skeleton,
 .re-image-skeleton-host::before{
  animation:none !important;
 }

}


/* PRINT */
@media print{

 img.re-image-skeleton{
  animation:none !important;
  background:transparent !important;
  opacity:1 !important;
 }

 .re-image-skeleton-host::before,
 .re-image-host-failed::before,
 .re-image-host-failed::after{
  display:none !important;
 }

 img.re-image-failed{
  opacity:1 !important;
  filter:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — UNIFIED FORM ERRORS V1
   ========================================================================== */

/* ------------------------------
   СООБЩЕНИЕ ОБ ОШИБКЕ
------------------------------ */

.re-field-error-message{
 position:relative;

 display:block !important;

 box-sizing:border-box;

 max-width:100%;

 margin:7px 0 !important;
 padding:9px 11px 9px 32px !important;

 border:1px solid rgba(174,76,88,.14) !important;
 border-radius:8px !important;

 background:
  linear-gradient(
   145deg,
   rgba(255,247,248,.98),
   rgba(252,241,243,.94)
  ) !important;

 color:#9a5059 !important;

 box-shadow:
  0 3px 10px rgba(119,49,59,.035) !important;

 font-family:inherit !important;
 font-size:10px !important;
 line-height:1.45 !important;
 font-weight:720 !important;
 text-align:left !important;
}

.re-field-error-message::before{
 content:"!";

 position:absolute;
 left:10px;
 top:9px;

 display:flex;
 align-items:center;
 justify-content:center;

 width:15px;
 height:15px;

 border-radius:5px;

 background:rgba(170,73,85,.10);
 color:#a34f59;

 font-size:9px;
 line-height:1;
 font-weight:900;
}


/*
 У нашей формы комментариев уже есть хороший внешний отступ.
 Оставляем её геометрию, но переводим в общую систему.
*/
.re-comment-form__error.re-field-error-message{
 margin:0 0 18px !important;
}


/* ------------------------------
   ОШИБОЧНОЕ ПОЛЕ
------------------------------ */

input.re-invalid-field:not([type="checkbox"]):not([type="radio"]),
textarea.re-invalid-field,
select.re-invalid-field{
 border-color:rgba(176,76,88,.48) !important;

 background-color:#fffafb !important;

 box-shadow:
  0 0 0 3px rgba(176,76,88,.075) !important;

 outline:0 !important;
}

input.re-invalid-field:not([type="checkbox"]):not([type="radio"]):focus,
textarea.re-invalid-field:focus,
select.re-invalid-field:focus{
 border-color:rgba(166,69,82,.65) !important;

 box-shadow:
  0 0 0 3px rgba(176,76,88,.11) !important;
}


/* checkbox/radio не превращаем в огромный красный блок */
input[type="checkbox"].re-invalid-field,
input[type="radio"].re-invalid-field{
 outline:
  2px solid rgba(176,76,88,.30) !important;

 outline-offset:2px !important;
}


/* Поле-хост получает очень лёгкую подсказку слева */
.re-invalid-field-host{
 position:relative;
}

.re-invalid-field-host::before{
 content:"";

 position:absolute;
 left:-5px;
 top:4px;
 bottom:4px;

 width:2px;

 border-radius:2px;

 background:rgba(176,76,88,.34);

 pointer-events:none;
}


/* Табличные старые формы uCoz — без левой полосы внутри tr */
tr.re-invalid-field-host::before{
 display:none;
}


/* LITE */

html.re-effective-lite
.re-field-error-message{
 background:#fff7f8 !important;
 box-shadow:none !important;
}

html.re-effective-lite
input.re-invalid-field:not([type="checkbox"]):not([type="radio"]),
html.re-effective-lite
textarea.re-invalid-field,
html.re-effective-lite
select.re-invalid-field{
 box-shadow:none !important;
}


/* MOBILE */

@media(max-width:620px){

 .re-field-error-message{
  padding:
   8px 9px 8px 29px !important;

  font-size:9px !important;
 }

 .re-field-error-message::before{
  left:9px;
  top:8px;
 }

}


/* PRINT */

@media print{

 .re-field-error-message{
  border:1px solid #999 !important;
  background:transparent !important;
  color:#444 !important;
  box-shadow:none !important;
 }

 input.re-invalid-field,
 textarea.re-invalid-field,
 select.re-invalid-field{
  box-shadow:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — AVATAR FALLBACKS / MONOGRAMS V1
   ========================================================================== */

.re-avatar-fallback-host{
 position:relative;

 display:inline-flex;
 align-items:center;
 justify-content:center;

 overflow:hidden;

 vertical-align:middle;
}


/* Реальная битая/служебная картинка больше не видна */
.re-avatar-broken{
 position:absolute !important;

 width:1px !important;
 height:1px !important;

 opacity:0 !important;
 pointer-events:none !important;
}


/* Основная монограмма */
.re-avatar-fallback{
 display:flex;
 align-items:center;
 justify-content:center;

 width:100%;
 height:100%;
 min-width:36px;
 min-height:36px;

 box-sizing:border-box;

 border:1px solid rgba(52,108,133,.14);
 border-radius:50%;

 background:
  linear-gradient(
   145deg,
   #edf7f9,
   #e8edf6
  );

 color:#456b7d;

 box-shadow:
  inset 0 1px 0 rgba(255,255,255,.86),
  0 4px 11px rgba(31,75,94,.055);

 font-family:inherit;
 font-size:12px;
 line-height:1;
 font-weight:900;
 letter-spacing:.035em;
 text-transform:uppercase;

 user-select:none;
}


/*
 Синтетический аватар, если uCoz вообще не вывел
 контейнер/картинку у комментария.
*/
.re-avatar-synthetic{
 flex:0 0 36px;

 width:36px;
 height:36px;

 margin-right:9px;
}

.re-avatar-synthetic
.re-avatar-fallback{
 min-width:36px;
 min-height:36px;
}


/*
 Стандартные uCoz-контейнеры часто имеют фиксированные размеры.
 Монограмма принимает их размер, а если размеры отсутствуют —
 остаётся аккуратной 36x36.
*/
.commentAvatar.re-avatar-fallback-host,
.commAvatar.re-avatar-fallback-host,
.userAvatar.re-avatar-fallback-host,
.user_avatar.re-avatar-fallback-host,
.uAvatar.re-avatar-fallback-host,
.postUserAvatar.re-avatar-fallback-host,
.forumAvatar.re-avatar-fallback-host,
.userPhoto.re-avatar-fallback-host,
.user-photo.re-avatar-fallback-host,
.avatar.re-avatar-fallback-host{
 min-width:36px;
 min-height:36px;

 border-radius:50%;
}


/* Профиль может использовать более крупный аватар */
.userProfile
.re-avatar-fallback,
.profile
.re-avatar-fallback,
.re-profile
.re-avatar-fallback{
 min-width:64px;
 min-height:64px;

 font-size:18px;
}


/* LITE */

html.re-effective-lite
.re-avatar-fallback{
 background:#f1f6f8 !important;

 box-shadow:none !important;
}


/* MOBILE */

@media(max-width:620px){

 .re-avatar-fallback{
  min-width:32px;
  min-height:32px;

  font-size:10px;
 }

 .re-avatar-synthetic{
  flex-basis:32px;

  width:32px;
  height:32px;

  margin-right:7px;
 }

 .re-avatar-synthetic
 .re-avatar-fallback{
  min-width:32px;
  min-height:32px;
 }

}


/* PRINT */

@media print{

 .re-avatar-fallback{
  border:1px solid #aaa !important;

  background:transparent !important;
  color:#444 !important;

  box-shadow:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — IMPROVED COMMENT ROW V1
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. LEGACY / STANDARD UCOZ COMMENTS
   -------------------------------------------------------------------------- */

.re-comment-toolbar{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:10px;
 flex-wrap:wrap;

 box-sizing:border-box;

 width:100%;
 min-width:0;

 margin:0 0 10px;
 padding:7px 8px;

 border:1px solid rgba(48,96,122,.09);
 border-radius:9px;

 background:
  linear-gradient(
   145deg,
   rgba(247,251,252,.94),
   rgba(239,247,249,.84)
  );

 color:#607887;

 font-family:inherit;
}

.re-comment-toolbar__meta{
 display:flex;
 align-items:center;
 gap:5px 8px;
 flex-wrap:wrap;

 min-width:0;
}

.re-comment-toolbar__number{
 display:inline-flex;
 align-items:center;
 justify-content:center;

 min-width:38px;
 height:23px;
 padding:0 6px;

 border:1px solid rgba(80,91,136,.11);
 border-radius:7px;

 background:rgba(80,91,136,.07);
 color:#5a6688;

 font-size:8px;
 line-height:1;
 font-weight:900;
 letter-spacing:.035em;
}

.re-comment-toolbar__author{
 min-width:0;

 color:#345c70;

 font-size:10px;
 line-height:1.2;
 font-weight:900;

 text-decoration:none;
 overflow-wrap:anywhere;
}

a.re-comment-toolbar__author:hover{
 color:#21859f;
}

.re-comment-toolbar__date{
 color:#8b9ba4;

 font-size:8px;
 line-height:1.2;
 font-weight:700;
}

.re-comment-toolbar__date::before{
 content:"•";

 margin-right:7px;

 color:#a7b2b8;
}

.re-comment-toolbar__actions{
 display:flex;
 align-items:center;
 gap:5px;

 flex:0 0 auto;
}

.re-comment-toolbar__profile,
.re-comment-toolbar__reply{
 -webkit-appearance:none;
 appearance:none;

 display:inline-flex;
 align-items:center;
 justify-content:center;

 min-height:27px;
 padding:0 8px;

 border:1px solid rgba(43,112,139,.11);
 border-radius:7px;

 background:rgba(255,255,255,.72);
 color:#557382;

 font-family:inherit;
 font-size:8px;
 line-height:1;
 font-weight:850;
 text-decoration:none;

 cursor:pointer;

 transition:
  border-color .14s ease,
  background .14s ease,
  color .14s ease,
  transform .14s ease;
}

.re-comment-toolbar__profile:hover,
.re-comment-toolbar__reply:hover{
 border-color:rgba(33,133,159,.24);

 background:#fff;
 color:#21859f;

 transform:translateY(-1px);
}

.re-comment-toolbar__reply{
 background:
  rgba(232,247,249,.78);
}


/*
 Оригинальная uCoz-кнопка остаётся рабочей в DOM.
 Новая кнопка вызывает original.click().
*/
.re-comment-reply-original{
 position:absolute !important;

 width:1px !important;
 height:1px !important;

 overflow:hidden !important;

 clip:rect(0 0 0 0) !important;
 clip-path:inset(50%) !important;

 margin:-1px !important;
 padding:0 !important;
 border:0 !important;

 white-space:nowrap !important;
}


/* --------------------------------------------------------------------------
   2. СОБСТВЕННЫЙ .re-comment-card
   Ничего не дублируем — только делаем существующую строку аккуратнее.
   -------------------------------------------------------------------------- */

.re-comment-card.re-comment-row-ready{
 border-radius:14px;
}

.re-comment-card.re-comment-row-ready
.re-comment-card__head{
 align-items:center;
 gap:9px;

 padding-bottom:8px;

 border-bottom:
  1px solid rgba(48,96,122,.07);
}

.re-comment-card.re-comment-row-ready
.re-comment-card__author-top{
 gap:5px 7px;
}

.re-comment-card.re-comment-row-ready
.re-comment-row__author{
 color:#345c70;

 font-size:12px;
 font-weight:900;
}

.re-comment-card.re-comment-row-ready
.re-comment-card__sub{
 margin-top:3px;

 color:#8a9aa5;

 font-size:8px;
}

.re-comment-card.re-comment-row-ready
.re-comment-row__date{
 color:#8599a3;

 font-size:8px;
 font-weight:720;
}

.re-comment-card.re-comment-row-ready
.re-comment-row__number{
 display:inline-flex;
 align-items:center;
 justify-content:center;

 min-width:40px;
 height:23px;
 padding:0 6px;

 border:1px solid rgba(80,91,136,.10);
 border-radius:7px;

 background:rgba(80,91,136,.065);
 color:#626d8d;

 font-size:8px;
 line-height:1;
 font-weight:900;
}


/*
 Reply в собственном шаблоне оставляем на штатном месте,
 но делаем компактнее и визуально идентичным toolbar.
*/
.re-comment-card.re-comment-row-ready
.re-comment-row__reply-original{
 min-height:30px !important;

 padding:0 9px !important;

 border-radius:8px !important;

 font-size:8px !important;
}


/* --------------------------------------------------------------------------
   3. LEGACY COMMENT SHELL POLISH
   Только для элементов, реально обработанных модулем.
   -------------------------------------------------------------------------- */

.uComment.re-comment-row-ready,
.u-com.re-comment-row-ready,
.comEnt.re-comment-row-ready,
[id^="comEnt"].re-comment-row-ready,
.commTable.re-comment-row-ready,
.comment.re-comment-row-ready{
 box-sizing:border-box;

 margin-bottom:10px;

 border-color:rgba(47,97,123,.10);
}

.uComment.re-comment-row-ready a,
.u-com.re-comment-row-ready a,
.comEnt.re-comment-row-ready a,
[id^="comEnt"].re-comment-row-ready a{
 text-underline-offset:2px;
}


/* --------------------------------------------------------------------------
   4. LITE
   -------------------------------------------------------------------------- */

html.re-effective-lite
.re-comment-toolbar{
 background:#f7fbfc !important;
 box-shadow:none !important;
}

html.re-effective-lite
.re-comment-toolbar__profile,
html.re-effective-lite
.re-comment-toolbar__reply{
 box-shadow:none !important;
}


/* --------------------------------------------------------------------------
   5. MOBILE
   -------------------------------------------------------------------------- */

@media(max-width:620px){

 .re-comment-toolbar{
  align-items:stretch;
  flex-direction:column;

  gap:7px;

  padding:7px;
 }

 .re-comment-toolbar__meta{
  width:100%;
 }

 .re-comment-toolbar__actions{
  width:100%;
 }

 .re-comment-toolbar__profile,
 .re-comment-toolbar__reply{
  flex:1 1 auto;
 }

 .re-comment-card.re-comment-row-ready
 .re-comment-card__head{
  align-items:flex-start;
 }

}


/* --------------------------------------------------------------------------
   6. ACCESSIBILITY / PRINT
   -------------------------------------------------------------------------- */

@media(prefers-reduced-motion:reduce){

 .re-comment-toolbar__profile,
 .re-comment-toolbar__reply{
  transition:none !important;
 }

}

@media print{

 .re-comment-toolbar__actions{
  display:none !important;
 }

 .re-comment-toolbar{
  background:transparent !important;
  box-shadow:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — "ЕЩЁ N" ДЛЯ ДЛИННЫХ СПИСКОВ V1
   ========================================================================== */

.re-more-list-hidden{
 display:none !important;
}


/* Кнопка в стиле RussianEmigrant: компактная, без лишней "пилюли". */
.re-more-list-button{
 -webkit-appearance:none;
 appearance:none;

 display:inline-flex;
 align-items:center;
 justify-content:center;
 gap:6px;

 min-height:31px;

 margin:8px 0 0;
 padding:0 10px;

 border:1px solid rgba(44,105,132,.13);
 border-radius:8px;

 background:
  linear-gradient(
   145deg,
   rgba(249,252,253,.96),
   rgba(238,247,249,.92)
  );

 color:#527281;

 box-shadow:
  0 4px 12px rgba(31,75,94,.04);

 font-family:inherit;
 font-size:9px;
 line-height:1;
 font-weight:850;

 cursor:pointer;

 transition:
  border-color .14s ease,
  background .14s ease,
  color .14s ease,
  transform .14s ease;
}

.re-more-list-button:hover{
 border-color:rgba(33,133,159,.28);

 background:#fff;
 color:#21859f;

 transform:translateY(-1px);
}

.re-more-list-button:focus-visible{
 outline:0;

 box-shadow:
  0 0 0 3px rgba(33,133,159,.09);
}

.re-more-list-button__icon{
 display:inline-flex;
 align-items:center;
 justify-content:center;

 width:17px;
 height:17px;

 border:1px solid rgba(33,133,159,.11);
 border-radius:5px;

 background:rgba(33,133,159,.07);
 color:#21859f;

 font-size:12px;
 line-height:1;
 font-weight:700;

 transition:
  transform .14s ease;
}

.re-more-list-button__count{
 display:inline-flex;
 align-items:center;
 justify-content:center;

 min-width:20px;
 height:19px;
 padding:0 5px;

 border-radius:6px;

 background:rgba(80,91,136,.075);
 color:#626d8d;

 font-size:8px;
 font-weight:900;
}

.re-more-list-button.is-open
.re-more-list-button__icon{
 transform:rotate(45deg);
}

.re-more-list-button.is-open
.re-more-list-button__count{
 display:none;
}


/*
 Для таблицы стран кнопка занимает понятное место под списком.
*/
.re-country-table__body
+ .re-more-list-button{
 margin-left:12px;
 margin-bottom:10px;
}


/*
 Старые uCoz catsTable часто имеют table-layout и центрирование.
 Кнопку не наследуем от их внутренних td/font стилей.
*/
.catsTable
+ .re-more-list-button,
.uMenuV
+ .re-more-list-button{
 position:relative;
 z-index:1;
}


/* LITE */

html.re-effective-lite
.re-more-list-button{
 background:#f6fafb !important;
 box-shadow:none !important;
}


/* MOBILE */

@media(max-width:620px){

 .re-more-list-button{
  min-height:32px;

  padding:0 9px;

  font-size:8px;
 }

 .re-country-table__body
 + .re-more-list-button{
  margin-left:8px;
 }

}


/* REDUCED MOTION */

@media(prefers-reduced-motion:reduce){

 .re-more-list-button,
 .re-more-list-button__icon{
  transition:none !important;
 }

}


/* PRINT: показываем весь список, кнопку скрываем */

@media print{

 .re-more-list-hidden{
  display:revert !important;
 }

 .re-more-list-button{
  display:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — SECONDARY SIDEBAR FOLDS V1
   ========================================================================== */

.re-secondary-fold__title{
 position:relative;

 padding-right:35px !important;

 cursor:pointer;

 user-select:none;
}

.re-secondary-fold__title:focus-visible{
 outline:0;

 border-radius:8px;

 box-shadow:
  0 0 0 3px rgba(33,133,159,.08);
}

.re-secondary-fold__icon{
 position:absolute;
 top:50%;
 right:7px;

 display:flex;
 align-items:center;
 justify-content:center;

 width:25px;
 height:25px;

 border:1px solid rgba(43,105,132,.12);
 border-radius:7px;

 background:rgba(33,133,159,.055);
 color:#547787;

 transform:
  translateY(-50%);

 transition:
  transform .15s ease,
  border-color .15s ease,
  background .15s ease,
  color .15s ease;

 pointer-events:none;
}

.re-secondary-fold__icon svg{
 width:14px;
 height:14px;

 fill:none;
 stroke:currentColor;
 stroke-width:1.7;
 stroke-linecap:round;
 stroke-linejoin:round;
}

.re-secondary-fold__title:hover
.re-secondary-fold__icon{
 border-color:rgba(33,133,159,.24);

 background:rgba(33,133,159,.09);
 color:#21859f;
}

.re-secondary-fold.is-collapsed
.re-secondary-fold__icon{
 transform:
  translateY(-50%)
  rotate(-90deg);
}


/*
 Только помеченные JS прямые части блока скрываются.
 Заголовок и его собственная разметка остаются на месте.
*/
.re-secondary-fold.is-collapsed
> .re-secondary-fold__content{
 display:none !important;
}


/*
 В свёрнутом состоянии убираем лишнюю нижнюю пустоту
 только у наших уже обработанных панелей.
*/
.re-secondary-fold.is-collapsed{
 min-height:0 !important;
}


/* LITE */

html.re-effective-lite
.re-secondary-fold__icon{
 background:#f2f7f8 !important;
}


/* MOBILE */

@media(max-width:620px){

 .re-secondary-fold__title{
  padding-right:32px !important;
 }

 .re-secondary-fold__icon{
  right:5px;

  width:23px;
  height:23px;
 }

}


/* REDUCED MOTION */

@media(prefers-reduced-motion:reduce){

 .re-secondary-fold__icon{
  transition:none !important;
 }

}


/* PRINT: всегда показываем содержимое */

@media print{

 .re-secondary-fold.is-collapsed
 > .re-secondary-fold__content{
  display:revert !important;
 }

 .re-secondary-fold__icon{
  display:none !important;
 }

 .re-secondary-fold__title{
  padding-right:0 !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — BEAUTIFUL EMPTY STATES V1
   ========================================================================== */

/* --------------------------------------------------------------------------
   ОБЩАЯ КАРТОЧКА
   -------------------------------------------------------------------------- */

.re-empty-state{
 display:flex;
 align-items:center;
 gap:12px;

 box-sizing:border-box;

 width:100%;

 margin:10px 0;
 padding:13px 14px;

 border:1px solid rgba(48,105,132,.12);
 border-radius:10px;

 background:
  linear-gradient(
   145deg,
   rgba(250,253,254,.98),
   rgba(241,248,250,.93)
  );

 box-shadow:
  0 6px 18px rgba(31,75,94,.04);

 color:#617b88;
}

.re-empty-state__icon{
 display:flex;
 flex:0 0 38px;
 align-items:center;
 justify-content:center;

 width:38px;
 height:38px;

 border:1px solid rgba(33,133,159,.13);
 border-radius:9px;

 background:
  linear-gradient(
   145deg,
   rgba(233,248,250,.98),
   rgba(236,241,249,.96)
  );

 color:#21859f;
}

.re-empty-state__icon svg{
 width:19px;
 height:19px;

 fill:none;
 stroke:currentColor;
 stroke-width:1.65;
 stroke-linecap:round;
 stroke-linejoin:round;
}

.re-empty-state__body{
 display:flex;
 flex:1 1 auto;
 flex-direction:column;

 min-width:0;
}

.re-empty-state__title{
 color:#3e6171;

 font-size:12px;
 line-height:1.25;
 font-weight:900;
}

.re-empty-state__text{
 max-width:620px;

 margin-top:4px;

 color:#83969f;

 font-size:9px;
 line-height:1.5;
 font-weight:650;
}

.re-empty-state__action{
 -webkit-appearance:none;
 appearance:none;

 align-self:flex-start;

 min-height:29px;

 margin-top:8px;
 padding:0 9px;

 border:1px solid rgba(33,133,159,.14);
 border-radius:7px;

 background:rgba(255,255,255,.78);
 color:#557583;

 font-family:inherit;
 font-size:8px;
 line-height:1;
 font-weight:850;

 cursor:pointer;

 transition:
  border-color .14s ease,
  background .14s ease,
  color .14s ease,
  transform .14s ease;
}

.re-empty-state__action:hover{
 border-color:rgba(33,133,159,.28);

 background:#fff;
 color:#21859f;

 transform:translateY(-1px);
}

.re-empty-state__action:focus-visible{
 outline:0;

 box-shadow:
  0 0 0 3px rgba(33,133,159,.09);
}


/* --------------------------------------------------------------------------
   ПОИСК
   -------------------------------------------------------------------------- */

.re-empty-state--search{
 margin-top:12px;
}

.re-empty-state--search
.re-empty-state__icon{
 color:#505b88;

 background:
  linear-gradient(
   145deg,
   rgba(241,244,251,.98),
   rgba(235,247,249,.96)
  );
}


/* --------------------------------------------------------------------------
   КОММЕНТАРИИ
   -------------------------------------------------------------------------- */

.re-empty-state--comments{
 margin:
  10px 0 14px;

 border-color:
  rgba(48,105,132,.10);
}

.re-empty-state--comments
.re-empty-state__icon{
 color:#4e7d8f;
}


/* --------------------------------------------------------------------------
   ИЗБРАННОЕ / НЕДАВНЕЕ
   Существующий RELibrary DOM не заменяем — только приводим к общему виду.
   -------------------------------------------------------------------------- */

.re-shelf-empty.re-empty-state-shelf,
.re-shelf-empty{
 box-sizing:border-box;

 margin:12px;
 padding:22px 16px;

 border:1px solid rgba(48,105,132,.10);
 border-radius:10px;

 background:
  linear-gradient(
   145deg,
   rgba(250,253,254,.97),
   rgba(241,248,250,.91)
  );

 box-shadow:
  0 5px 15px rgba(31,75,94,.035);
}

.re-shelf-empty
.re-shelf-empty__icon{
 width:42px;
 height:42px;

 margin-bottom:10px;

 border-radius:9px;

 background:
  linear-gradient(
   145deg,
   rgba(233,248,250,.98),
   rgba(237,242,249,.95)
  );
}

.re-shelf-empty
.re-shelf-empty__icon svg{
 width:19px;
 height:19px;
}

.re-shelf-empty strong{
 color:#3e6171;

 font-size:12px;
 font-weight:900;
}

.re-shelf-empty > span:last-child{
 max-width:250px;

 margin-top:5px;

 color:#83969f;

 font-size:9px;
 line-height:1.5;
}


/* --------------------------------------------------------------------------
   LITE
   -------------------------------------------------------------------------- */

html.re-effective-lite
.re-empty-state,
html.re-effective-lite
.re-shelf-empty{
 background:#f7fbfc !important;

 box-shadow:none !important;
}


/* --------------------------------------------------------------------------
   MOBILE
   -------------------------------------------------------------------------- */

@media(max-width:620px){

 .re-empty-state{
  align-items:flex-start;

  gap:9px;

  padding:11px;
 }

 .re-empty-state__icon{
  flex-basis:34px;

  width:34px;
  height:34px;

  border-radius:8px;
 }

 .re-empty-state__icon svg{
  width:17px;
  height:17px;
 }

 .re-empty-state__title{
  font-size:11px;
 }

 .re-empty-state__text{
  font-size:8px;
 }

 .re-shelf-empty.re-empty-state-shelf,
 .re-shelf-empty{
  margin:9px;
  padding:18px 12px;
 }

}


/* --------------------------------------------------------------------------
   REDUCED MOTION / PRINT
   -------------------------------------------------------------------------- */

@media(prefers-reduced-motion:reduce){

 .re-empty-state__action{
  transition:none !important;
 }

}

@media print{

 .re-empty-state,
 .re-shelf-empty{
  background:transparent !important;
  box-shadow:none !important;
 }

 .re-empty-state__action{
  display:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — ARTICLE END MARKER V1
   ========================================================================== */

.re-article-end-marker{
 display:grid;
 grid-template-columns:minmax(24px,1fr) auto minmax(24px,1fr);
 align-items:center;
 gap:10px;

 width:100%;
 box-sizing:border-box;

 margin:28px 0 8px;
 padding:0 2px;

 color:#7b909a;

 user-select:none;
}

.re-article-end-marker__line{
 display:block;

 height:1px;

 background:
  linear-gradient(
   90deg,
   rgba(62,109,128,0),
   rgba(62,109,128,.17)
  );
}

.re-article-end-marker__line:last-child{
 transform:scaleX(-1);
}

.re-article-end-marker__center{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 gap:6px;
}

.re-article-end-marker__sign{
 display:inline-flex;
 align-items:center;
 justify-content:center;

 width:18px;
 height:18px;

 color:#5e8595;

 opacity:.78;
}

.re-article-end-marker__sign svg{
 width:16px;
 height:16px;

 fill:none;
 stroke:currentColor;
 stroke-width:1.15;
 stroke-linecap:round;
 stroke-linejoin:round;
}

.re-article-end-marker__text{
 color:#7f929b;

 font-size:8px;
 line-height:1;
 font-weight:760;
 letter-spacing:.045em;
}


/* LITE */

html.re-effective-lite
.re-article-end-marker__line{
 background:
  linear-gradient(
   90deg,
   rgba(80,91,136,0),
   rgba(80,91,136,.14)
  ) !important;
}


/* MOBILE */

@media(max-width:620px){

 .re-article-end-marker{
  gap:7px;

  margin-top:23px;
 }

 .re-article-end-marker__sign{
  width:16px;
  height:16px;
 }

 .re-article-end-marker__sign svg{
  width:14px;
  height:14px;
 }

 .re-article-end-marker__text{
  font-size:7px;
 }

}


/* PRINT */

@media print{

 .re-article-end-marker{
  margin-top:18px;

  color:#777 !important;
 }

 .re-article-end-marker__line{
  background:#ccc !important;
 }

 .re-article-end-marker__sign{
  color:#777 !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — HORIZONTAL TAG RAIL V1
   ========================================================================== */

.re-tag-rail{
 position:relative;

 display:flex;
 align-items:center;
 gap:6px;

 width:100%;
 max-width:100%;
 box-sizing:border-box;

 margin:10px 0;
 padding:2px 1px 7px;

 overflow-x:auto;
 overflow-y:hidden;

 overscroll-behavior-inline:contain;
 scroll-behavior:smooth;
 scroll-snap-type:x proximity;

 -webkit-overflow-scrolling:touch;

 scrollbar-width:thin;
 scrollbar-color:
  rgba(67,111,132,.22)
  transparent;
}

.re-tag-rail::-webkit-scrollbar{
 height:4px;
}

.re-tag-rail::-webkit-scrollbar-track{
 background:transparent;
}

.re-tag-rail::-webkit-scrollbar-thumb{
 border-radius:4px;

 background:
  rgba(67,111,132,.20);
}

.re-tag-rail__label{
 flex:0 0 auto;

 margin-right:1px;

 color:#82949d;

 font-size:8px;
 line-height:1;
 font-weight:800;
 letter-spacing:.045em;
 text-transform:uppercase;
}

.re-tag-chip{
 flex:0 0 auto;

 display:inline-flex;
 align-items:center;

 min-height:27px;
 max-width:220px;

 box-sizing:border-box;

 padding:0 9px;

 border:1px solid rgba(47,105,132,.12);
 border-radius:8px;

 background:
  linear-gradient(
   145deg,
   rgba(249,252,253,.98),
   rgba(238,247,249,.92)
  );

 color:#537483 !important;

 box-shadow:
  0 3px 9px rgba(31,75,94,.035);

 font-size:8px !important;
 line-height:1 !important;
 font-weight:820 !important;
 text-decoration:none !important;

 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;

 scroll-snap-align:start;

 transition:
  border-color .14s ease,
  background .14s ease,
  color .14s ease,
  transform .14s ease;
}

.re-tag-chip::before{
 content:"#";

 margin-right:2px;

 color:#21859f;

 font-weight:900;
}

.re-tag-chip:hover{
 border-color:
  rgba(33,133,159,.26);

 background:#fff;

 color:#21859f !important;

 transform:
  translateY(-1px);
}

.re-tag-chip:focus-visible{
 outline:0;

 box-shadow:
  0 0 0 3px
  rgba(33,133,159,.09);
}


/*
 Небольшая подсказка по краю:
 на мобильном сразу видно, что строку можно свайпать.
*/
.re-tag-rail.is-scrollable:not(.is-at-end){
 mask-image:
  linear-gradient(
   90deg,
   #000 0,
   #000 calc(100% - 28px),
   transparent 100%
  );

 -webkit-mask-image:
  linear-gradient(
   90deg,
   #000 0,
   #000 calc(100% - 28px),
   transparent 100%
  );
}

.re-tag-rail.is-scrollable:not(.is-at-start){
 mask-image:
  linear-gradient(
   90deg,
   transparent 0,
   #000 28px,
   #000 100%
  );

 -webkit-mask-image:
  linear-gradient(
   90deg,
   transparent 0,
   #000 28px,
   #000 100%
  );
}

.re-tag-rail.is-scrollable:not(.is-at-start):not(.is-at-end){
 mask-image:
  linear-gradient(
   90deg,
   transparent 0,
   #000 28px,
   #000 calc(100% - 28px),
   transparent 100%
  );

 -webkit-mask-image:
  linear-gradient(
   90deg,
   transparent 0,
   #000 28px,
   #000 calc(100% - 28px),
   transparent 100%
  );
}


/* LITE */

html.re-effective-lite
.re-tag-chip{
 background:#f5fafb !important;

 box-shadow:none !important;
}


/* MOBILE */

@media(max-width:760px){

 .re-tag-rail{
  gap:5px;

  margin:
   8px -2px 10px;

  width:
   calc(100% + 4px);

  padding:
   2px 2px 7px;
 }

 .re-tag-rail__label{
  position:sticky;
  left:0;
  z-index:2;

  display:inline-flex;
  align-items:center;

  min-height:27px;

  padding-right:5px;

  background:
   linear-gradient(
    90deg,
    rgba(255,255,255,.98) 74%,
    rgba(255,255,255,0)
   );
 }

 html.re-effective-lite
 .re-tag-rail__label{
  background:
   linear-gradient(
    90deg,
    #fff 74%,
    rgba(255,255,255,0)
   );
 }

 .re-tag-chip{
  min-height:28px;

  padding:0 8px;

  font-size:8px !important;
 }

}


/* REDUCED MOTION */

@media(prefers-reduced-motion:reduce){

 .re-tag-rail{
  scroll-behavior:auto !important;
 }

 .re-tag-chip{
  transition:none !important;
 }

}


/* PRINT */

@media print{

 .re-tag-rail{
  display:flex !important;
  flex-wrap:wrap !important;

  overflow:visible !important;

  mask-image:none !important;
  -webkit-mask-image:none !important;
 }

 .re-tag-chip{
  box-shadow:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — UCOZ POLLS V1
   ========================================================================== */

.re-ucoz-poll{
 box-sizing:border-box;

 max-width:100%;

 margin:14px 0;
 padding:14px;

 border:1px solid rgba(48,105,132,.11);
 border-radius:12px;

 background:
  linear-gradient(
   145deg,
   rgba(250,253,254,.98),
   rgba(241,248,250,.94)
  );

 box-shadow:
  0 6px 18px rgba(31,75,94,.04);

 color:#516c79;
}


/* ШАПКА */

.re-poll-head{
 display:flex;
 align-items:center;
 gap:7px;

 margin:0 0 11px;
 padding:0 0 9px;

 border-bottom:
  1px solid rgba(48,105,132,.08);

 color:#4e7180;
}

.re-poll-head__icon{
 display:inline-flex;
 align-items:center;
 justify-content:center;

 width:25px;
 height:25px;

 border:1px solid rgba(33,133,159,.12);
 border-radius:7px;

 background:
  rgba(33,133,159,.06);

 color:#21859f;
}

.re-poll-head__icon svg{
 width:14px;
 height:14px;

 fill:none;
 stroke:currentColor;
 stroke-width:1.5;
 stroke-linecap:round;
 stroke-linejoin:round;
}

.re-poll-head__text{
 font-size:9px;
 line-height:1;
 font-weight:900;
 letter-spacing:.045em;
 text-transform:uppercase;
}


/* ВОПРОС / ТЕКСТ */

.re-ucoz-poll b,
.re-ucoz-poll strong{
 color:#3f6070;
}

.re-ucoz-poll table{
 max-width:100%;
}


/* ВАРИАНТЫ ОТВЕТА */

.re-poll-option{
 display:flex !important;
 align-items:flex-start;
 gap:8px;

 box-sizing:border-box;

 width:100%;

 margin:6px 0 !important;
 padding:9px 10px !important;

 border:1px solid rgba(48,105,132,.09);
 border-radius:9px;

 background:
  rgba(255,255,255,.70);

 color:#5b7581;

 cursor:pointer;

 transition:
  border-color .14s ease,
  background .14s ease,
  color .14s ease;
}

.re-poll-option:hover{
 border-color:
  rgba(33,133,159,.23);

 background:
  rgba(255,255,255,.94);

 color:#365f72;
}

.re-poll-choice{
 flex:0 0 auto;

 width:15px;
 height:15px;

 margin:1px 0 0 !important;

 accent-color:#21859f;

 cursor:pointer;
}


/* КНОПКИ */

.re-poll-button{
 -webkit-appearance:none !important;
 appearance:none !important;

 display:inline-flex !important;
 align-items:center !important;
 justify-content:center !important;

 min-height:33px !important;

 box-sizing:border-box !important;

 margin:8px 5px 2px 0 !important;
 padding:0 11px !important;

 border:1px solid rgba(33,133,159,.16) !important;
 border-radius:8px !important;

 background:
  linear-gradient(
   145deg,
   rgba(234,248,250,.98),
   rgba(235,241,249,.96)
  ) !important;

 color:#466d7d !important;

 box-shadow:
  0 3px 10px rgba(31,75,94,.035) !important;

 font-family:inherit !important;
 font-size:9px !important;
 line-height:1 !important;
 font-weight:850 !important;

 cursor:pointer !important;

 transition:
  border-color .14s ease,
  background .14s ease,
  color .14s ease,
  transform .14s ease !important;
}

.re-poll-button:hover{
 border-color:
  rgba(33,133,159,.30) !important;

 background:#fff !important;
 color:#21859f !important;

 transform:
  translateY(-1px);
}

.re-poll-button:focus-visible{
 outline:0 !important;

 box-shadow:
  0 0 0 3px
  rgba(33,133,159,.09) !important;
}


/* РЕЗУЛЬТАТЫ */

.re-poll-result-row td{
 padding-top:6px !important;
 padding-bottom:6px !important;
}

.re-poll-result-track{
 overflow:hidden;

 border-radius:6px;

 background:
  rgba(67,111,132,.08);
}

.re-poll-result-bar{
 min-height:7px !important;

 border-radius:6px !important;

 background:
  linear-gradient(
   90deg,
   #21859f,
   #505b88
  ) !important;

 box-shadow:none !important;

 transition:
  width .22s ease;
}


/*
 Если старый uCoz использует inline width прямо на элементе,
 !important на background не мешает width.
*/
.re-ucoz-poll [style*="width"]{
 max-width:100%;
}


/* ТАБЛИЦА СТАРОГО ОПРОСА */

.re-ucoz-poll.pollTable,
.re-ucoz-poll .pollTable{
 width:100% !important;

 border-collapse:separate !important;
 border-spacing:0 5px !important;
}

.re-ucoz-poll.pollTable td,
.re-ucoz-poll .pollTable td{
 border:0 !important;

 color:#617a86;
}


/* LITE */

html.re-effective-lite
.re-ucoz-poll{
 background:#f7fbfc !important;

 box-shadow:none !important;
}

html.re-effective-lite
.re-poll-option,
html.re-effective-lite
.re-poll-button{
 box-shadow:none !important;
}


/* MOBILE */

@media(max-width:620px){

 .re-ucoz-poll{
  margin:11px 0;
  padding:11px;

  border-radius:10px;
 }

 .re-poll-option{
  gap:7px;

  padding:8px 9px !important;

  font-size:9px;
 }

 .re-poll-button{
  min-height:34px !important;

  padding:0 10px !important;
 }

}


/* REDUCED MOTION */

@media(prefers-reduced-motion:reduce){

 .re-poll-option,
 .re-poll-button,
 .re-poll-result-bar{
  transition:none !important;
 }

}


/* PRINT */

@media print{

 .re-ucoz-poll{
  border:1px solid #bbb !important;

  background:transparent !important;
  box-shadow:none !important;
 }

 .re-poll-button{
  display:none !important;
 }

 .re-poll-result-bar{
  background:#777 !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — ADMIN DIAGNOSTICS V1
   ========================================================================== */

/*
 Панель создаётся JS только при подтверждённом uCoz admin UI.
 Для обычного посетителя этих элементов в DOM вообще нет.
*/

.re-debug-panel{
 position:fixed;
 right:14px;
 bottom:14px;
 z-index:2147483000;

 width:min(390px,calc(100vw - 28px));
 box-sizing:border-box;

 padding:10px;

 border:1px solid rgba(45,96,122,.18);
 border-radius:11px;

 background:
  rgba(244,250,251,.97);

 color:#536f7d;

 box-shadow:
  0 14px 38px rgba(25,55,70,.16);

 backdrop-filter:blur(12px);
 -webkit-backdrop-filter:blur(12px);

 font-family:inherit;
}

.re-debug-panel.has-problems{
 border-color:
  rgba(174,76,88,.28);
}

.re-debug-panel__head{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:10px;

 padding:1px 2px 8px;

 border-bottom:
  1px solid rgba(45,96,122,.09);
}

.re-debug-panel__head > div{
 display:flex;
 align-items:baseline;
 gap:7px;
}

.re-debug-panel__head b{
 color:#355f72;

 font-size:10px;
 line-height:1;
 font-weight:950;
 letter-spacing:.055em;
}

.re-debug-panel__head span{
 color:#8a9ca5;

 font-size:8px;
 line-height:1;
 font-weight:700;
}

.re-debug-panel__admin{
 display:inline-flex;
 align-items:center;
 justify-content:center;

 min-height:21px;
 padding:0 6px;

 border:1px solid rgba(33,133,159,.13);
 border-radius:6px;

 background:rgba(33,133,159,.06);

 color:#21859f !important;

 font-size:7px !important;
 font-weight:900 !important;
 letter-spacing:.05em;
}

.re-debug-panel__stats{
 display:grid;
 grid-template-columns:
  repeat(4,minmax(0,1fr));
 gap:5px;

 padding:8px 0;
}

.re-debug-panel__stat{
 display:flex;
 flex-direction:column;
 gap:3px;

 min-width:0;

 padding:6px 7px;

 border:1px solid rgba(48,105,132,.08);
 border-radius:7px;

 background:rgba(255,255,255,.56);

 color:#82949d;

 font-size:7px;
 line-height:1;
 font-weight:750;
}

.re-debug-panel__stat b{
 overflow:hidden;

 color:#425f6d;

 font-size:10px;
 font-weight:950;

 text-overflow:ellipsis;
 white-space:nowrap;
}

.re-debug-panel.has-problems
.re-debug-panel__stat b{
 color:#7e5960;
}

.re-debug-panel__actions{
 display:flex;
 flex-wrap:wrap;
 gap:5px;
}

.re-debug-panel__action{
 -webkit-appearance:none;
 appearance:none;

 min-height:28px;

 padding:0 8px;

 border:1px solid rgba(42,104,131,.13);
 border-radius:7px;

 background:
  rgba(255,255,255,.72);

 color:#557482;

 font-family:inherit;
 font-size:8px;
 line-height:1;
 font-weight:850;

 cursor:pointer;

 transition:
  border-color .12s ease,
  background .12s ease,
  color .12s ease,
  transform .12s ease;
}

.re-debug-panel__action:hover{
 border-color:
  rgba(33,133,159,.28);

 background:#fff;
 color:#21859f;

 transform:translateY(-1px);
}

.re-debug-panel__action:focus-visible{
 outline:0;

 box-shadow:
  0 0 0 3px
  rgba(33,133,159,.09);
}

.re-debug-panel
[data-re-debug-action="off"]{
 margin-left:auto;

 color:#8d5f67;
}


/* Найденные horizontal-overflow элементы */
.re-debug-overflow-outline{
 outline:
  2px solid rgba(207,78,93,.82) !important;

 outline-offset:
  2px !important;

 box-shadow:
  inset 0 0 0 1px
  rgba(255,255,255,.7) !important;
}


/* LITE */

html.re-effective-lite
.re-debug-panel{
 background:#f7fbfc !important;

 backdrop-filter:none !important;
 -webkit-backdrop-filter:none !important;
}


/* MOBILE / TABLET ADMIN */

@media(max-width:760px){

 .re-debug-panel{
  right:8px;
  bottom:
   calc(
    var(--re-mobile-nav-height,58px)
    + env(safe-area-inset-bottom)
    + 8px
   );

  width:
   calc(100vw - 16px);

  padding:8px;
 }

 .re-debug-panel__stats{
  grid-template-columns:
   repeat(3,minmax(0,1fr));
 }

 .re-debug-panel__action{
  min-height:30px;
 }

}


/* PRINT */

@media print{

 .re-debug-panel,
 .re-debug-overflow-outline{
  display:none !important;
  outline:0 !important;
 }

}


@media(prefers-reduced-motion:reduce){

 .re-debug-panel__action{
  transition:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — NEAR VIEWPORT INIT V1
   Состояния служебные: контент НЕ скрывается до инициализации.
   ========================================================================== */

.re-near-init-pending,
.re-near-init-ready{
 /* intentionally visual-neutral */
}


/* ==========================================================================
   RUSSIAN EMIGRANT — BACKTOP / COUNTER COLLISION FIX V2
   Геометрию clearance рассчитывает JS V2.
   Существующий .re-backtop--footer-safe CSS намеренно переиспользуется.
   ========================================================================== */

/* ==========================================================================
   RUSSIAN EMIGRANT — SHELF COUNT ALIGNMENT FIX V6
   Числовые бейджи «Избранное / Недавнее» полностью внутри вкладок.
   ========================================================================== */

.re-shelf-tab{
 height:142px !important;
 min-height:142px !important;

 gap:5px !important;
 padding:7px 5px 9px !important;
}

.re-shelf-tab__label{
 min-height:0 !important;
}

.re-shelf-tab__count{
 flex:0 0 24px !important;

 min-width:28px !important;
 height:24px !important;
 min-height:24px !important;

 padding:0 5px !important;
 margin:0 0 1px !important;

 border-radius:12px !important;

 font-size:9px !important;
 line-height:24px !important;
}

/* Число не может выдавить нижнюю границу вкладки */
.re-shelf-tab__count,
.re-shelf-tab__icon{
 position:relative !important;
 z-index:1 !important;
}

@media(max-width:760px){

 .re-shelf-tab{
  height:126px !important;
  min-height:126px !important;

  gap:4px !important;
  padding:6px 4px 8px !important;
 }

 .re-shelf-tab__count{
  flex-basis:22px !important;

  min-width:26px !important;
  height:22px !important;
  min-height:22px !important;

  margin-bottom:1px !important;

  border-radius:11px !important;

  font-size:8px !important;
  line-height:22px !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — ADMIN CARDS QA V1
   Видно только когда администратор вручную включает Cards QA.
   ========================================================================== */

.re-debug-panel.has-card-qa-problems
[data-re-debug-stat="qa"]{
 color:#96555f !important;
}

.re-debug-panel__action.is-active{
 border-color:
  rgba(178,75,88,.28) !important;

 background:
  rgba(255,244,246,.94) !important;

 color:#96555f !important;
}


/* Карточка с проблемой — мягкая красная диагностическая рамка */
html.re-card-qa-debug
[data-re-qa-badge]{
 position:relative !important;

 outline:
  2px solid rgba(196,75,89,.72) !important;

 outline-offset:
  3px !important;
}


/* Метка проблемы — только debug mode */
html.re-card-qa-debug
[data-re-qa-badge]::after{
 content:
  attr(data-re-qa-badge);

 position:absolute;
 top:5px;
 right:5px;
 z-index:2147482000;

 display:inline-flex;
 align-items:center;
 justify-content:center;

 min-height:21px;
 max-width:
  calc(100% - 10px);

 box-sizing:border-box;

 padding:0 6px;

 border:
  1px solid rgba(179,69,82,.25);
 border-radius:6px;

 background:
  rgba(255,245,247,.97);

 color:#97545d;

 box-shadow:
  0 3px 9px
  rgba(95,42,50,.08);

 font-family:inherit;
 font-size:7px;
 line-height:1;
 font-weight:950;
 letter-spacing:.045em;

 pointer-events:none;
}


/* Разные типы можно отличить по атрибутам в DevTools,
   но визуально не устраиваем "новогоднюю ёлку". */

@media(max-width:620px){

 html.re-card-qa-debug
 [data-re-qa-badge]::after{
  top:4px;
  right:4px;

  min-height:19px;

  font-size:6px;
 }

}


@media print{

 html.re-card-qa-debug
 [data-re-qa-badge]{
  outline:0 !important;
 }

 html.re-card-qa-debug
 [data-re-qa-badge]::after{
  display:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — PROFILE / USER LIST POLISH V1
   ========================================================================== */

.re-user-text-polished{
 min-width:0;
 overflow-wrap:anywhere;
}

.re-user-list-polished a[href],
.re-user-list-polished .userName,
.re-user-list-polished .username,
.re-user-list-polished .profileName,
.re-user-list-polished .user-name{
 text-underline-offset:2px;
}

.re-user-stats-polished{
 min-width:0;
}

.re-profile-polished a:focus-visible,
.re-user-list-polished a:focus-visible{
 outline:0;

 border-radius:6px;

 box-shadow:
  0 0 0 3px rgba(33,133,159,.09);
}


/* Старые uCoz-таблицы пользователей: только безопасный текстовый polish. */
.usersTable.re-user-list-polished,
.userList.re-user-list-polished{
 max-width:100%;
}

.usersTable.re-user-list-polished td,
.userList.re-user-list-polished td{
 overflow-wrap:anywhere;
}


/* PRINT */

@media print{

 .re-profile-polished a:focus-visible,
 .re-user-list-polished a:focus-visible{
  box-shadow:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — PRIVATE MESSAGES POLISH V1
   ========================================================================== */

.re-pm-toolbar-link-polished{
 overflow-wrap:anywhere;
}

.re-pm-toolbar-link-polished:focus-visible{
 outline:0 !important;

 box-shadow:
  0 0 0 3px rgba(33,133,159,.09) !important;
}


/*
 Старый uCoz toolbar внутри TD:
 table layout не ломаем, стилизуем только реальные ссылки.
*/
.re-pm-toolbar-legacy{
 padding-top:7px !important;
 padding-bottom:7px !important;
}

.re-pm-toolbar-legacy a[href]{
 display:inline-flex;
 align-items:center;
 justify-content:center;

 min-height:33px;

 box-sizing:border-box;

 margin:3px 5px 3px 0;
 padding:0 10px;

 border:1px solid rgba(49,91,119,.13);
 border-radius:8px;

 background:rgba(245,249,251,.84);
 color:#3b5c73;

 font-size:10px;
 font-weight:800;
 line-height:1.2;
 text-decoration:none;
}

.re-pm-toolbar-legacy a[href]:hover{
 border-color:rgba(39,133,154,.23);

 background:#fff;
 color:#247d99;
}

.re-pm-toolbar-legacy a.is-primary{
 border-color:transparent;

 background:
  linear-gradient(
   135deg,
   #217f98,
   #505b88
  );

 color:#fff;
}


/* LITE */

html.re-effective-lite
.re-pm-toolbar-legacy a[href]{
 background:#f7fafb;
}


/* MOBILE */

@media(max-width:620px){

 .re-pm-toolbar-legacy a[href]{
  min-height:34px;

  margin-right:4px;

  padding:0 8px;

  font-size:9px;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — REGISTRATION POLISH V1
   ========================================================================== */

.re-required-label{
 color:#405b73 !important;
 font-weight:800 !important;
}

.re-required-field{
 position:relative;
}

.re-required-field:focus{
 border-color:
  rgba(42,151,174,.68) !important;
}


/*
 Небольшая служебная отметка строки без добавления второго "*".
*/
.re-required-row{
 position:relative;
}

.re-required-row > td:first-child{
 border-left:
  2px solid rgba(33,133,159,.18);
}


/* DIV-based формы */
.re-form-row.re-required-row,
.form-row.re-required-row,
.field-row.re-required-row{
 padding-left:8px;

 border-left:
  2px solid rgba(33,133,159,.18);
}


/* LITE */

html.re-effective-lite
.re-required-row > td:first-child,
html.re-effective-lite
.re-form-row.re-required-row,
html.re-effective-lite
.form-row.re-required-row,
html.re-effective-lite
.field-row.re-required-row{
 border-left-color:
  rgba(80,91,136,.16);
}


/* MOBILE */

@media(max-width:620px){

 .re-form-row.re-required-row,
 .form-row.re-required-row,
 .field-row.re-required-row{
  padding-left:6px;
 }

}


/* PRINT */

@media print{

 .re-required-row > td:first-child,
 .re-form-row.re-required-row,
 .form-row.re-required-row,
 .field-row.re-required-row{
  border-left-color:#bbb !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — ARTICLE LIGHTBOX V1
   ========================================================================== */

/* Кликабельные изображения статьи/паспорта */
.re-detail-page
img[data-re-lightbox-image="1"]{
 cursor:zoom-in;
}

.re-detail-page
img[data-re-lightbox-image="1"]:focus-visible{
 outline:
  3px solid rgba(33,133,159,.20);

 outline-offset:3px;
}


/* OVERLAY */

.re-article-lightbox{
 position:fixed;
 inset:0;
 z-index:2147482500;

 display:flex;
 align-items:center;
 justify-content:center;

 box-sizing:border-box;

 padding:
  54px 84px 72px;

 background:
  rgba(15,25,32,.91);

 opacity:0;

 visibility:hidden;

 transition:
  opacity .17s ease,
  visibility .17s ease;

 -webkit-backdrop-filter:
  blur(8px);

 backdrop-filter:
  blur(8px);
}

.re-article-lightbox[hidden]{
 display:none !important;
}

.re-article-lightbox.is-open{
 opacity:1;
 visibility:visible;
}


/* STAGE / IMAGE */

.re-article-lightbox__stage{
 position:relative;

 display:flex;
 align-items:center;
 justify-content:center;

 max-width:100%;
 max-height:100%;

 min-width:80px;
 min-height:80px;
}

.re-article-lightbox__image{
 display:block;

 max-width:
  min(
   1320px,
   calc(100vw - 168px)
  );

 max-height:
  calc(100vh - 138px);

 width:auto;
 height:auto;

 object-fit:contain;

 border-radius:7px;

 background:
  rgba(255,255,255,.035);

 box-shadow:
  0 18px 60px
  rgba(0,0,0,.30);

 opacity:1;

 transform:scale(1);

 transition:
  opacity .13s ease,
  transform .13s ease;
}

.re-article-lightbox.is-switching
.re-article-lightbox__image{
 opacity:.84;

 transform:scale(.995);
}


/* LOADER */

.re-article-lightbox__loader{
 position:absolute;
 left:50%;
 top:50%;
 z-index:2;

 width:31px;
 height:31px;

 margin:
  -15px 0 0 -15px;

 border:
  2px solid rgba(255,255,255,.18);

 border-top-color:
  rgba(148,222,232,.88);

 border-radius:50%;

 opacity:0;

 animation:
  reLightboxSpin .7s linear infinite;

 pointer-events:none;
}

.re-article-lightbox.is-loading
.re-article-lightbox__loader{
 opacity:1;
}

.re-article-lightbox.is-loading
.re-article-lightbox__image{
 opacity:.20;
}

.re-article-lightbox.is-error
.re-article-lightbox__stage::after{
 content:"Изображение не удалось загрузить";

 position:absolute;
 left:50%;
 top:50%;

 transform:
  translate(-50%,-50%);

 padding:8px 10px;

 border:1px solid rgba(255,255,255,.12);
 border-radius:8px;

 background:
  rgba(20,31,38,.82);

 color:#d8e5e8;

 font-size:10px;
 font-weight:750;
 white-space:nowrap;
}

@keyframes reLightboxSpin{
 to{
  transform:rotate(360deg);
 }
}


/* CLOSE */

.re-article-lightbox__close{
 position:fixed;
 top:
  max(
   16px,
   env(safe-area-inset-top)
  );
 right:
  max(
   18px,
   env(safe-area-inset-right)
  );
 z-index:4;

 display:flex;
 align-items:center;
 justify-content:center;

 width:42px;
 height:42px;

 padding:0;

 border:
  1px solid rgba(255,255,255,.15);

 border-radius:10px;

 background:
  rgba(238,248,250,.11);

 color:#f2f7f8;

 box-shadow:
  0 8px 24px rgba(0,0,0,.15);

 font-family:inherit;
 font-size:27px;
 line-height:1;
 font-weight:300;

 cursor:pointer;

 transition:
  border-color .14s ease,
  background .14s ease,
  transform .14s ease;
}

.re-article-lightbox__close:hover{
 border-color:
  rgba(155,224,233,.38);

 background:
  rgba(155,224,233,.15);

 transform:translateY(-1px);
}

.re-article-lightbox__close:focus-visible,
.re-article-lightbox__nav:focus-visible{
 outline:
  3px solid rgba(150,224,233,.24);

 outline-offset:3px;
}


/* PREV / NEXT */

.re-article-lightbox__nav{
 position:fixed;
 top:50%;
 z-index:4;

 display:flex;
 align-items:center;
 justify-content:center;

 width:48px;
 height:62px;

 margin-top:-31px;
 padding:0;

 border:
  1px solid rgba(255,255,255,.13);

 border-radius:10px;

 background:
  rgba(238,248,250,.09);

 color:#eaf5f7;

 box-shadow:
  0 8px 24px rgba(0,0,0,.11);

 font-family:inherit;
 font-size:34px;
 line-height:1;
 font-weight:300;

 cursor:pointer;

 transition:
  border-color .14s ease,
  background .14s ease,
  transform .14s ease;
}

.re-article-lightbox__nav:hover{
 border-color:
  rgba(155,224,233,.34);

 background:
  rgba(155,224,233,.14);
}

.re-article-lightbox__nav--prev{
 left:
  max(
   18px,
   env(safe-area-inset-left)
  );
}

.re-article-lightbox__nav--prev:hover{
 transform:translateX(-2px);
}

.re-article-lightbox__nav--next{
 right:
  max(
   18px,
   env(safe-area-inset-right)
  );
}

.re-article-lightbox__nav--next:hover{
 transform:translateX(2px);
}

.re-article-lightbox__nav[hidden]{
 display:none !important;
}


/* ЕДИНАЯ НИЖНЯЯ ИНФО-ПАНЕЛЬ */

.re-article-lightbox__info{
 position:fixed;
 left:50%;
 bottom:
  max(
   17px,
   env(safe-area-inset-bottom)
  );
 z-index:4;

 display:flex;
 align-items:center;
 justify-content:center;
 gap:8px;

 max-width:
  min(
   760px,
   calc(100vw - 40px)
  );

 box-sizing:border-box;

 padding:7px 10px;

 border:
  1px solid rgba(255,255,255,.11);

 border-radius:8px;

 background:
  rgba(19,31,38,.78);

 color:#d6e5e9;

 box-shadow:
  0 8px 24px rgba(0,0,0,.14);

 transform:
  translateX(-50%);

 -webkit-backdrop-filter:
  blur(8px);

 backdrop-filter:
  blur(8px);
}

.re-article-lightbox__count{
 flex:0 0 auto;

 color:#94dbe6;

 font-size:9px;
 line-height:1;
 font-weight:900;

 white-space:nowrap;
}

.re-article-lightbox__caption{
 min-width:0;

 overflow:hidden;

 color:#d3e0e4;

 font-size:9px;
 line-height:1.35;
 font-weight:650;

 text-overflow:ellipsis;
 white-space:nowrap;
}

.re-article-lightbox__caption[hidden]{
 display:none !important;
}


/* LIGHTBOX поверх всего служебного UI */
html.re-lightbox-open
.re-backtop,
html.re-lightbox-open
.re-return-toc,
html.re-lightbox-open
.re-shelf-tabs,
html.re-lightbox-open
.re-mobile-quick-access,
html.re-lightbox-open
.re-mode-toggle{
 pointer-events:none;
}


/* LITE — функциональность та же, но без blur */
html.re-effective-lite
.re-article-lightbox{
 -webkit-backdrop-filter:none !important;
 backdrop-filter:none !important;
}


/* MOBILE */

@media(max-width:760px){

 .re-article-lightbox{
  padding:
   54px 10px 84px;
 }

 .re-article-lightbox__image{
  max-width:
   calc(100vw - 20px);

  max-height:
   calc(
    100vh -
    148px -
    env(safe-area-inset-top) -
    env(safe-area-inset-bottom)
   );

  border-radius:6px;
 }

 .re-article-lightbox__close{
  top:
   max(
    10px,
    env(safe-area-inset-top)
   );

  right:
   max(
    10px,
    env(safe-area-inset-right)
   );

  width:38px;
  height:38px;

  border-radius:9px;

  font-size:24px;
 }

 .re-article-lightbox__nav{
  top:auto;
  bottom:
   max(
    13px,
    env(safe-area-inset-bottom)
   );

  width:40px;
  height:40px;

  margin:0;

  border-radius:9px;

  font-size:29px;
 }

 .re-article-lightbox__nav--prev{
  left:
   max(
    10px,
    env(safe-area-inset-left)
   );
 }

 .re-article-lightbox__nav--next{
  right:
   max(
    10px,
    env(safe-area-inset-right)
   );
 }

 .re-article-lightbox__info{
  bottom:
   max(
    16px,
    env(safe-area-inset-bottom)
   );

  max-width:
   calc(100vw - 116px);

  padding:6px 8px;
 }

 .re-article-lightbox__caption{
  font-size:8px;
 }

 .re-article-lightbox__count{
  font-size:8px;
 }

}


/* REDUCED MOTION */

@media(prefers-reduced-motion:reduce){

 .re-article-lightbox,
 .re-article-lightbox__image,
 .re-article-lightbox__close,
 .re-article-lightbox__nav{
  transition:none !important;
 }

 .re-article-lightbox__loader{
  animation:none !important;
 }

}


/* PRINT */

@media print{

 .re-article-lightbox{
  display:none !important;
 }

 .re-detail-page
 img[data-re-lightbox-image="1"]{
  cursor:default !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — EMPTY COMMENT ERROR FIX V1
   ========================================================================== */

.re-comment-form__error[hidden],
.re-comment-form__error--empty{
 display:none !important;

 margin:0 !important;
 padding:0 !important;

 border:0 !important;

 min-height:0 !important;
 height:0 !important;

 overflow:hidden !important;
}

/* ==========================================================================
   RUSSIAN EMIGRANT — ACTIVE ARTICLE SECTION / TOC V2
   Текущий H2/H3/H4 + соответствующий пункт оглавления.
   ========================================================================== */

.re-auto-toc__item{
 position:relative;
}

.re-auto-toc__item.is-active{
 z-index:1;
}

.re-auto-toc__item.is-active > a,
.re-auto-toc__item > a[aria-current="location"]{
 position:relative;

 background:
  linear-gradient(
   90deg,
   rgba(33,133,159,.105),
   rgba(80,91,136,.045)
  );

 color:#176f87;

 font-weight:850;
}

.re-auto-toc__item.is-active > a::before,
.re-auto-toc__item > a[aria-current="location"]::before{
 content:"";

 position:absolute;
 top:7px;
 bottom:7px;
 left:0;

 width:2px;

 border-radius:2px;

 background:#21859f;
}

.re-auto-toc__item.is-active
.re-auto-toc__number,
.re-auto-toc__item > a[aria-current="location"]
.re-auto-toc__number{
 border-color:
  rgba(33,133,159,.23);

 background:
  rgba(33,133,159,.11);

 color:#176f87;
}

/*
 Текущий заголовок статьи не получает тяжёлую заливку:
 только очень мягкий фирменный акцент слева.
*/
.re-toc-heading.re-section-current{
 position:relative;
}

.re-toc-heading.re-section-current::after{
 content:"";

 position:absolute;
 top:.14em;
 bottom:.14em;
 left:-11px;

 width:2px;

 border-radius:2px;

 background:
  rgba(33,133,159,.42);

 pointer-events:none;
}


/* H4 в TOC чуть глубже H3 */
.re-auto-toc__item--sub
+ .re-auto-toc__item--sub{
 /* visual-neutral: nesting определяется самим текстом */
}


html.re-effective-lite
.re-auto-toc__item.is-active > a,
html.re-effective-lite
.re-auto-toc__item > a[aria-current="location"]{
 background:
  rgba(33,133,159,.065) !important;
}


@media(max-width:760px){

 .re-toc-heading.re-section-current::after{
  left:-7px;
 }

 .re-auto-toc__item.is-active > a::before,
 .re-auto-toc__item > a[aria-current="location"]::before{
  top:6px;
  bottom:6px;
 }

}


@media print{

 .re-toc-heading.re-section-current::after{
  display:none !important;
 }

 .re-auto-toc__item.is-active > a,
 .re-auto-toc__item > a[aria-current="location"]{
  background:transparent !important;
 }

 .re-auto-toc__item.is-active > a::before,
 .re-auto-toc__item > a[aria-current="location"]::before{
  display:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — SYSTEM PAGES UCOZ V1
   ========================================================================== */

body.re-system-page
.rh-content-section{
 min-height:
  calc(100vh - 260px);
}

.re-system-page__panel{
 position:relative;

 width:min(720px,100%);
 box-sizing:border-box;

 margin:
  30px auto 34px !important;

 padding:
  22px !important;

 border:
  1px solid rgba(48,105,132,.12) !important;

 border-radius:
  14px !important;

 background:
  linear-gradient(
   145deg,
   rgba(250,253,254,.98),
   rgba(241,248,250,.95)
  ) !important;

 box-shadow:
  0 16px 42px
  rgba(31,75,94,.07) !important;

 overflow:hidden;
}


/* Очень мягкий фирменный верхний акцент */

.re-system-page__panel::before{
 content:"";

 position:absolute;
 top:0;
 left:0;
 right:0;

 height:3px;

 background:
  linear-gradient(
   90deg,
   #21859f,
   #505b88
  );

 opacity:.82;
}


/* HEADER */

.re-system-page__head{
 display:flex;
 align-items:flex-start;
 gap:13px;

 margin:0 0 18px;
 padding:0 0 17px;

 border-bottom:
  1px solid rgba(48,105,132,.085);
}

.re-system-page__icon{
 display:flex;
 flex:0 0 46px;
 align-items:center;
 justify-content:center;

 width:46px;
 height:46px;

 border:
  1px solid rgba(33,133,159,.13);

 border-radius:11px;

 background:
  linear-gradient(
   145deg,
   rgba(232,248,250,.98),
   rgba(238,242,249,.97)
  );

 color:#21859f;
}

.re-system-page__icon svg{
 width:23px;
 height:23px;

 fill:none;
 stroke:currentColor;
 stroke-width:1.55;
 stroke-linecap:round;
 stroke-linejoin:round;
}

.re-system-page__heading{
 min-width:0;
}

.re-system-page__eyebrow{
 display:block;

 margin:1px 0 5px;

 color:#7a919c;

 font-size:8px;
 line-height:1;
 font-weight:900;
 letter-spacing:.065em;
 text-transform:uppercase;
}

.re-system-page__title{
 margin:0 !important;
 padding:0 !important;

 border:0 !important;
 background:none !important;

 color:#365c6d !important;

 font-size:
  clamp(22px,3.2vw,31px) !important;

 line-height:1.08 !important;
 font-weight:900 !important;
 letter-spacing:-.025em !important;
}

.re-system-page__description{
 margin:7px 0 0 !important;

 max-width:560px;

 color:#78909b !important;

 font-size:10px !important;
 line-height:1.55 !important;
 font-weight:600 !important;
}


/* Штатное содержимое uCoz */

.re-system-page__panel form{
 max-width:100%;
}

.re-system-page__panel input,
.re-system-page__panel textarea,
.re-system-page__panel select{
 max-width:100%;
 box-sizing:border-box;
}


/* ACTIONS */

.re-system-page__actions{
 display:flex;
 flex-wrap:wrap;
 align-items:center;
 gap:7px;

 margin-top:20px;
 padding-top:16px;

 border-top:
  1px solid rgba(48,105,132,.085);
}

.re-system-page__action{
 -webkit-appearance:none;
 appearance:none;

 display:inline-flex;
 align-items:center;
 justify-content:center;
 gap:6px;

 min-height:35px;

 box-sizing:border-box;

 padding:0 11px;

 border:
  1px solid rgba(48,105,132,.14);

 border-radius:8px;

 background:
  rgba(255,255,255,.72);

 color:#527281;

 box-shadow:
  0 4px 12px
  rgba(31,75,94,.035);

 font-family:inherit;
 font-size:9px;
 line-height:1;
 font-weight:850;
 text-decoration:none !important;

 cursor:pointer;

 transition:
  border-color .14s ease,
  background .14s ease,
  color .14s ease,
  transform .14s ease;
}

.re-system-page__action b{
 font:inherit;
}

.re-system-page__action > span{
 font-size:13px;
 line-height:1;
 font-weight:700;
}

.re-system-page__action:hover{
 border-color:
  rgba(33,133,159,.28);

 background:#fff;
 color:#21859f;

 transform:translateY(-1px);
}

.re-system-page__action:focus-visible{
 outline:0;

 box-shadow:
  0 0 0 3px
  rgba(33,133,159,.09);
}

.re-system-page__action--primary{
 border-color:transparent;

 background:
  linear-gradient(
   135deg,
   #21859f,
   #505b88
  );

 color:#fff !important;

 box-shadow:
  0 5px 14px
  rgba(52,91,116,.13);
}

.re-system-page__action--primary:hover{
 background:
  linear-gradient(
   135deg,
   #197891,
   #47527d
  );

 color:#fff !important;
}


/* TYPE ACCENTS — очень сдержанные */

body.re-system-page--403
.re-system-page__icon{
 color:#657096;
}

body.re-system-page--service
.re-system-page__icon{
 color:#5d7f8d;
}

body.re-system-page--login
.re-system-page__panel{
 width:min(650px,100%);
}


/* LITE */

html.re-effective-lite
.re-system-page__panel{
 background:#f8fbfc !important;

 box-shadow:none !important;
}

html.re-effective-lite
.re-system-page__icon{
 background:#f1f7f8 !important;
}


/* MOBILE */

@media(max-width:620px){

 .re-system-page__panel{
  margin:
   16px auto 24px !important;

  padding:
   15px !important;

  border-radius:
   11px !important;
 }

 .re-system-page__head{
  gap:10px;

  margin-bottom:15px;
  padding-bottom:14px;
 }

 .re-system-page__icon{
  flex-basis:39px;

  width:39px;
  height:39px;

  border-radius:9px;
 }

 .re-system-page__icon svg{
  width:20px;
  height:20px;
 }

 .re-system-page__title{
  font-size:
   clamp(20px,7vw,27px) !important;
 }

 .re-system-page__description{
  font-size:9px !important;
 }

 .re-system-page__actions{
  gap:6px;

  margin-top:16px;
  padding-top:13px;
 }

 .re-system-page__action{
  min-height:36px;

  padding:0 10px;
 }

}


/* REDUCED MOTION */

@media(prefers-reduced-motion:reduce){

 .re-system-page__action{
  transition:none !important;
 }

}


/* PRINT */

@media print{

 .re-system-page__panel{
  margin:0 !important;

  border:1px solid #bbb !important;

  background:transparent !important;
  box-shadow:none !important;
 }

 .re-system-page__actions{
  display:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — SMART ARTICLE QUOTES V1
   ========================================================================== */

.re-detail-content
blockquote.re-smart-quote{
 position:relative;

 box-sizing:border-box;

 margin:20px 0;
 padding:34px 16px 15px 17px;

 border:1px solid rgba(48,105,132,.11);
 border-left:3px solid rgba(33,133,159,.50);
 border-radius:10px;

 background:
  linear-gradient(
   145deg,
   rgba(249,252,253,.98),
   rgba(241,248,250,.93)
  );

 color:#4f6976;

 box-shadow:
  0 6px 18px rgba(31,75,94,.035);
}

.re-detail-content
blockquote.re-smart-quote::before{
 content:
  attr(data-re-quote-label);

 position:absolute;
 top:10px;
 left:14px;

 display:inline-flex;
 align-items:center;

 min-height:18px;

 color:#547584;

 font-size:8px;
 line-height:1;
 font-weight:900;
 letter-spacing:.055em;
 text-transform:uppercase;
}

.re-detail-content
blockquote.re-smart-quote::after{
 content:"";

 position:absolute;
 top:13px;
 right:14px;

 width:16px;
 height:16px;

 opacity:.72;

 background:
  currentColor;

 -webkit-mask-repeat:no-repeat;
 mask-repeat:no-repeat;

 -webkit-mask-position:center;
 mask-position:center;

 -webkit-mask-size:contain;
 mask-size:contain;
}

.re-detail-content
blockquote.re-smart-quote p:first-child{
 margin-top:0;
}

.re-detail-content
blockquote.re-smart-quote p:last-child{
 margin-bottom:0;
}

.re-detail-content
blockquote.re-smart-quote cite{
 display:block;

 margin-top:10px;

 color:#748a94;

 font-size:9px;
 line-height:1.45;
 font-style:normal;
 font-weight:750;
}


/* ВАЖНО */

.re-detail-content
blockquote.re-smart-quote--important{
 border-left-color:
  rgba(177,111,59,.70);

 background:
  linear-gradient(
   145deg,
   rgba(253,251,247,.98),
   rgba(249,245,237,.95)
  );

 color:#695d50;
}

.re-detail-content
blockquote.re-smart-quote--important::before,
.re-detail-content
blockquote.re-smart-quote--important::after{
 color:#9b6a3d;
}

.re-detail-content
blockquote.re-smart-quote--important::after{
 -webkit-mask-image:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3 2.8 20h18.4L12 3Zm1 13h-2v2h2v-2Zm0-7h-2v5h2V9Z'/%3E%3C/svg%3E");

 mask-image:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3 2.8 20h18.4L12 3Zm1 13h-2v2h2v-2Zm0-7h-2v5h2V9Z'/%3E%3C/svg%3E");
}


/* ОФИЦИАЛЬНЫЙ ИСТОЧНИК */

.re-detail-content
blockquote.re-smart-quote--official{
 border-left-color:
  rgba(80,91,136,.62);

 background:
  linear-gradient(
   145deg,
   rgba(248,250,253,.99),
   rgba(240,243,250,.95)
  );

 color:#505d75;
}

.re-detail-content
blockquote.re-smart-quote--official::before,
.re-detail-content
blockquote.re-smart-quote--official::after{
 color:#59668f;
}

.re-detail-content
blockquote.re-smart-quote--official::after{
 -webkit-mask-image:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 20h16v-2H4v2Zm2-4h2V9H6v7Zm5 0h2V9h-2v7Zm5 0h2V9h-2v7ZM3 7h18L12 3 3 7Z'/%3E%3C/svg%3E");

 mask-image:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 20h16v-2H4v2Zm2-4h2V9H6v7Zm5 0h2V9h-2v7Zm5 0h2V9h-2v7ZM3 7h18L12 3 3 7Z'/%3E%3C/svg%3E");
}


/* ПРИМЕЧАНИЕ */

.re-detail-content
blockquote.re-smart-quote--note{
 border-left-color:
  rgba(33,133,159,.50);

 color:#4f6976;
}

.re-detail-content
blockquote.re-smart-quote--note::before,
.re-detail-content
blockquote.re-smart-quote--note::after{
 color:#397d92;
}

.re-detail-content
blockquote.re-smart-quote--note::after{
 -webkit-mask-image:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M11 10h2v8h-2v-8Zm0-4h2v2h-2V6Zm1-4a10 10 0 1 0 0 20 10 10 0 0 0 0-20Z'/%3E%3C/svg%3E");

 mask-image:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M11 10h2v8h-2v-8Zm0-4h2v2h-2V6Zm1-4a10 10 0 1 0 0 20 10 10 0 0 0 0-20Z'/%3E%3C/svg%3E");
}


/* СОВЕТ */

.re-detail-content
blockquote.re-smart-quote--tip{
 border-left-color:
  rgba(53,139,119,.58);

 background:
  linear-gradient(
   145deg,
   rgba(248,253,251,.99),
   rgba(239,249,246,.95)
  );

 color:#4d6962;
}

.re-detail-content
blockquote.re-smart-quote--tip::before,
.re-detail-content
blockquote.re-smart-quote--tip::after{
 color:#377f70;
}

.re-detail-content
blockquote.re-smart-quote--tip::after{
 -webkit-mask-image:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 21h6v-2H9v2Zm3-19a7 7 0 0 0-4 12.7V17h8v-2.3A7 7 0 0 0 12 2Zm2 11.6-.9.5V15h-2.2v-.9l-.9-.5A5 5 0 1 1 14 13.6Z'/%3E%3C/svg%3E");

 mask-image:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 21h6v-2H9v2Zm3-19a7 7 0 0 0-4 12.7V17h8v-2.3A7 7 0 0 0 12 2Zm2 11.6-.9.5V15h-2.2v-.9l-.9-.5A5 5 0 1 1 14 13.6Z'/%3E%3C/svg%3E");
}


/* Ссылки внутри официального источника */

.re-detail-content
blockquote.re-smart-quote--official a[href]{
 font-weight:800;
}


/* LITE */

html.re-effective-lite
.re-detail-content
blockquote.re-smart-quote{
 box-shadow:none !important;
}


/* MOBILE */

@media(max-width:620px){

 .re-detail-content
 blockquote.re-smart-quote{
  margin:16px 0;

  padding:
   32px 12px 13px 13px;

  border-radius:9px;
 }

 .re-detail-content
 blockquote.re-smart-quote::before{
  top:9px;
  left:11px;

  font-size:7px;
 }

 .re-detail-content
 blockquote.re-smart-quote::after{
  top:11px;
  right:11px;

  width:15px;
  height:15px;
 }

}


/* PRINT */

@media print{

 .re-detail-content
 blockquote.re-smart-quote{
  border:
   1px solid #bbb !important;

  border-left:
   3px solid #777 !important;

  background:
   transparent !important;

  box-shadow:
   none !important;
 }

 .re-detail-content
 blockquote.re-smart-quote::after{
  display:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — IMAGE HOVER TIPS V1
   ========================================================================== */

.re-image-hover-tip{
 position:fixed;
 top:0;
 left:0;
 z-index:2147482400;

 max-width:
  min(
   320px,
   calc(100vw - 24px)
  );

 box-sizing:border-box;

 padding:7px 9px;

 border:
  1px solid rgba(255,255,255,.10);

 border-radius:7px;

 background:
  rgba(25,39,47,.93);

 color:#e5eef1;

 box-shadow:
  0 8px 24px rgba(0,0,0,.18);

 opacity:0;

 visibility:hidden;

 pointer-events:none;

 font-size:9px;
 line-height:1.4;
 font-weight:650;

 transition:
  opacity .10s ease,
  visibility .10s ease;

 -webkit-backdrop-filter:
  blur(7px);

 backdrop-filter:
  blur(7px);
}

.re-image-hover-tip.is-visible{
 opacity:1;
 visibility:visible;
}


/*
 Подсказка только для desktop/fine pointer.
 На touch-интерфейсах элемент вообще не показывается.
*/
@media(hover:none), (pointer:coarse){

 .re-image-hover-tip{
  display:none !important;
 }

}


/* LITE */

html.re-effective-lite
.re-image-hover-tip{
 -webkit-backdrop-filter:none !important;
 backdrop-filter:none !important;

 background:
  rgba(31,45,53,.96);
}


/* LIGHTBOX */

html.re-lightbox-open
.re-image-hover-tip{
 display:none !important;
}


/* REDUCED MOTION */

@media(prefers-reduced-motion:reduce){

 .re-image-hover-tip{
  transition:none !important;
 }

}


/* PRINT */

@media print{

 .re-image-hover-tip{
  display:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — RANDOM COUNTRY V1
   ========================================================================== */

/* TRIGGER */

.re-random-country-trigger{
 -webkit-appearance:none;
 appearance:none;

 display:inline-flex;
 align-items:center;
 justify-content:center;
 gap:7px;

 min-height:38px;

 box-sizing:border-box;

 padding:8px 12px;

 border:
  1px solid rgba(33,133,159,.18);

 border-radius:9px;

 background:
  linear-gradient(
   145deg,
   rgba(248,253,254,.98),
   rgba(239,247,249,.96)
  );

 color:#355f70;

 box-shadow:
  inset 0 1px 0 rgba(255,255,255,.82),
  0 4px 12px rgba(31,75,94,.035);

 font-family:
  "Manrope",
  "Segoe UI",
  Arial,
  sans-serif;

 font-size:10px;
 line-height:1;
 font-weight:850;

 cursor:pointer;

 transition:
  border-color .14s ease,
  color .14s ease,
  background .14s ease,
  transform .14s ease;
}

.re-random-country-trigger:hover{
 border-color:
  rgba(33,133,159,.30);

 background:#fff;
 color:#21859f;

 transform:translateY(-1px);
}

.re-random-country-trigger:focus-visible{
 outline:0;

 box-shadow:
  0 0 0 3px
  rgba(33,133,159,.09);
}

.re-random-country-trigger__icon{
 display:flex;
 align-items:center;
 justify-content:center;

 width:17px;
 height:17px;

 color:#21859f;
}

.re-random-country-trigger__icon svg{
 width:17px;
 height:17px;

 fill:none;
 stroke:currentColor;
 stroke-width:1.55;
 stroke-linecap:round;
 stroke-linejoin:round;
}


/* MODAL */

.re-random-country{
 position:fixed;
 inset:0;
 z-index:2147482600;

 display:flex;
 align-items:center;
 justify-content:center;

 box-sizing:border-box;

 padding:20px;

 background:
  rgba(18,31,39,.66);

 opacity:0;
 visibility:hidden;

 transition:
  opacity .17s ease,
  visibility .17s ease;

 -webkit-backdrop-filter:
  blur(7px);

 backdrop-filter:
  blur(7px);
}

.re-random-country[hidden]{
 display:none !important;
}

.re-random-country.is-open{
 opacity:1;
 visibility:visible;
}

.re-random-country__dialog{
 position:relative;

 width:min(480px,100%);
 max-height:
  calc(100vh - 40px);

 box-sizing:border-box;

 padding:20px;

 border:
  1px solid rgba(48,105,132,.13);

 border-radius:13px;

 background:
  linear-gradient(
   145deg,
   rgba(252,254,255,.99),
   rgba(240,247,249,.985)
  );

 box-shadow:
  0 26px 72px
  rgba(7,30,40,.22);

 overflow:auto;
}

.re-random-country__dialog::before{
 content:"";

 position:absolute;
 top:0;
 left:0;
 right:0;

 height:3px;

 border-radius:
  13px 13px 0 0;

 background:
  linear-gradient(
   90deg,
   #21859f,
   #505b88
  );

 opacity:.82;
}

.re-random-country__close{
 position:absolute;
 top:10px;
 right:10px;

 display:flex;
 align-items:center;
 justify-content:center;

 width:32px;
 height:32px;

 padding:0;

 border:
  1px solid rgba(48,105,132,.11);

 border-radius:8px;

 background:
  rgba(255,255,255,.65);

 color:#718792;

 font-family:inherit;
 font-size:21px;
 line-height:1;
 font-weight:400;

 cursor:pointer;
}

.re-random-country__close:hover{
 background:#fff;
 color:#21859f;
}

.re-random-country__close:focus-visible,
.re-random-country__again:focus-visible,
.re-random-country__open:focus-visible{
 outline:0;

 box-shadow:
  0 0 0 3px
  rgba(33,133,159,.09);
}

.re-random-country__eyebrow{
 display:block;

 margin:2px 42px 5px 0;

 color:#728d98;

 font-size:8px;
 line-height:1;
 font-weight:900;
 letter-spacing:.065em;
 text-transform:uppercase;
}

.re-random-country__title{
 margin:0;

 color:#365c6d;

 font-family:
  "Playfair Display",
  Georgia,
  serif;

 font-size:
  clamp(26px,5vw,34px);

 line-height:1.06;
 font-weight:700;
 letter-spacing:-.025em;
}

.re-random-country__intro{
 margin:8px 42px 18px 0;

 color:#78909b;

 font-size:10px;
 line-height:1.55;
 font-weight:600;
}


/* RESULT */

.re-random-country__result{
 position:relative;

 padding-top:17px;

 border-top:
  1px solid rgba(48,105,132,.085);
}

.re-random-country__media{
 display:block;

 width:100%;
 aspect-ratio:16/8.7;

 margin:0 0 13px;

 overflow:hidden;

 border-radius:9px;

 background:#eef5f6;
}

.re-random-country__media[hidden]{
 display:none !important;
}

.re-random-country__media img{
 display:block;

 width:100%;
 height:100%;

 object-fit:cover;
}

.re-random-country__status{
 margin:0 0 5px;

 color:#21859f;

 font-size:8px;
 line-height:1;
 font-weight:900;
 letter-spacing:.055em;
 text-transform:uppercase;
}

.re-random-country__country{
 margin:0;

 color:#385f70;

 font-size:
  clamp(20px,4vw,27px);

 line-height:1.12;
 font-weight:900;
 letter-spacing:-.018em;
}

.re-random-country__region{
 margin:7px 0 0;

 color:#7b909a;

 font-size:9px;
 line-height:1.45;
 font-weight:650;
}

.re-random-country__actions{
 display:flex;
 flex-wrap:wrap;
 gap:7px;

 margin-top:16px;
}

.re-random-country__open,
.re-random-country__again{
 -webkit-appearance:none;
 appearance:none;

 display:inline-flex;
 align-items:center;
 justify-content:center;

 min-height:35px;

 box-sizing:border-box;

 padding:0 11px;

 border-radius:8px;

 font-family:inherit;
 font-size:9px;
 line-height:1;
 font-weight:850;

 text-decoration:none !important;

 cursor:pointer;
}

.re-random-country__open{
 border:1px solid transparent;

 background:
  linear-gradient(
   135deg,
   #21859f,
   #505b88
  );

 color:#fff !important;

 box-shadow:
  0 5px 14px
  rgba(52,91,116,.13);
}

.re-random-country__open:hover{
 color:#fff !important;

 background:
  linear-gradient(
   135deg,
   #197891,
   #47527d
  );
}

.re-random-country__again{
 border:
  1px solid rgba(48,105,132,.14);

 background:
  rgba(255,255,255,.72);

 color:#527281;
}

.re-random-country__again:hover{
 border-color:
  rgba(33,133,159,.28);

 background:#fff;
 color:#21859f;
}

.re-random-country__again:disabled{
 opacity:.55;
 cursor:wait;
}


/* LOADING */

.re-random-country.is-loading
.re-random-country__result::after{
 content:"";

 position:absolute;
 top:18px;
 right:2px;

 width:17px;
 height:17px;

 border:
  2px solid rgba(33,133,159,.13);

 border-top-color:
  #21859f;

 border-radius:50%;

 animation:
  reRandomCountrySpin .72s
  linear infinite;
}

@keyframes reRandomCountrySpin{
 to{
  transform:rotate(360deg);
 }
}


/* ERROR */

.re-random-country.is-error
.re-random-country__status{
 color:#95654a;
}


/* Hide lower fixed helpers behind modal */
html.re-random-country-open
.re-backtop,
html.re-random-country-open
.re-return-toc,
html.re-random-country-open
.re-shelf-tabs,
html.re-random-country-open
.re-mobile-quick-access,
html.re-random-country-open
.re-mode-toggle,
html.re-random-country-open
.re-image-hover-tip{
 pointer-events:none;
}


/* LITE */

html.re-effective-lite
.re-random-country{
 -webkit-backdrop-filter:none !important;
 backdrop-filter:none !important;
}

html.re-effective-lite
.re-random-country__dialog{
 background:#f8fbfc;
 box-shadow:none;
}


/* MOBILE */

@media(max-width:620px){

 .re-random-country{
  align-items:flex-end;

  padding:
   10px 8px
   max(
    10px,
    env(safe-area-inset-bottom)
   );
 }

 .re-random-country__dialog{
  width:100%;

  max-height:
   calc(
    100dvh -
    18px -
    env(safe-area-inset-bottom)
   );

  padding:16px;

  border-radius:12px;
 }

 .re-random-country__dialog::before{
  border-radius:
   12px 12px 0 0;
 }

 .re-random-country__title{
  font-size:
   clamp(24px,8vw,30px);
 }

 .re-random-country__intro{
  margin-right:38px;
 }

 .re-random-country__media{
  aspect-ratio:16/9;
 }

 .re-random-country__actions{
  display:grid;

  grid-template-columns:
   1fr 1fr;
 }

 .re-random-country__open,
 .re-random-country__again{
  width:100%;
  min-height:38px;
 }

 .re-random-country-trigger{
  min-height:36px;

  padding:8px 10px;

  font-size:9px;
 }

}


/* REDUCED MOTION */

@media(prefers-reduced-motion:reduce){

 .re-random-country,
 .re-random-country-trigger{
  transition:none !important;
 }

 .re-random-country.is-loading
 .re-random-country__result::after{
  animation:none !important;
 }

}


/* PRINT */

@media print{

 .re-random-country,
 .re-random-country-trigger{
  display:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — HEADER MINI PROFILE V1
   Не увеличивает высоту .rh-topbar: trigger 34x34, menu absolute.
   ========================================================================== */

/* RANDOM COUNTRY — compact header trigger */

.rh-tools
.re-random-country-trigger--header{
 flex:0 0 auto;

 min-width:0;
 height:34px;
 min-height:34px;

 padding:0 10px;

 border-radius:8px;

 font-size:9px;
 white-space:nowrap;
}

.rh-tools
.re-random-country-trigger--header
.re-random-country-trigger__icon{
 width:15px;
 height:15px;
}

.rh-tools
.re-random-country-trigger--header
.re-random-country-trigger__icon svg{
 width:15px;
 height:15px;
}


/* MINI PROFILE */

.rh-mini-profile{
 position:relative;
 z-index:40;

 flex:0 0 34px;

 width:34px;
 height:34px;

 margin:0;
 padding:0;
}

.rh-mini-profile__button{
 -webkit-appearance:none;
 appearance:none;

 position:relative;

 display:flex;
 align-items:center;
 justify-content:center;

 width:34px;
 height:34px;

 box-sizing:border-box;

 margin:0;
 padding:0;

 border:
  1px solid rgba(48,105,132,.12);

 border-radius:9px;

 background:
  rgba(255,255,255,.36);

 color:#456979;

 cursor:pointer;

 transition:
  border-color .14s ease,
  background .14s ease,
  color .14s ease,
  box-shadow .14s ease;
}

.rh-mini-profile__button:hover,
.rh-mini-profile.is-open
.rh-mini-profile__button{
 border-color:
  rgba(33,133,159,.26);

 background:
  rgba(255,255,255,.78);

 color:#21859f;
}

.rh-mini-profile__button:focus-visible{
 outline:0;

 box-shadow:
  0 0 0 3px
  rgba(33,133,159,.09);
}


/* AVATAR */

.rh-mini-profile__avatar{
 position:relative;

 display:flex;
 align-items:center;
 justify-content:center;

 width:26px;
 height:26px;

 overflow:hidden;

 border-radius:50%;

 background:
  linear-gradient(
   145deg,
   rgba(226,245,248,.98),
   rgba(231,236,247,.98)
  );

 color:#2d7187;

 font-size:10px;
 line-height:1;
 font-weight:900;
}

.rh-mini-profile__avatar img{
 position:relative;
 z-index:2;

 display:block;

 width:100%;
 height:100%;

 object-fit:cover;
}

.rh-mini-profile__avatar.has-fallback img{
 display:none;
}

.rh-mini-profile__fallback{
 position:absolute;
 inset:0;
 z-index:1;

 display:flex;
 align-items:center;
 justify-content:center;
}

.rh-mini-profile__guest-icon{
 display:flex;
 align-items:center;
 justify-content:center;

 width:19px;
 height:19px;
}

.rh-mini-profile__guest-icon svg{
 width:19px;
 height:19px;

 fill:none;
 stroke:currentColor;
 stroke-width:1.6;
 stroke-linecap:round;
 stroke-linejoin:round;
}


/* tiny online marker */

.rh-mini-profile__online{
 position:absolute;
 right:3px;
 bottom:3px;
 z-index:4;

 width:6px;
 height:6px;

 border:2px solid #f6fbfc;
 border-radius:50%;

 background:#2ea58c;
}


/* PM badge */

.rh-mini-profile__badge{
 position:absolute;
 top:-5px;
 right:-5px;
 z-index:5;

 display:flex;
 align-items:center;
 justify-content:center;

 min-width:16px;
 height:16px;

 box-sizing:border-box;

 padding:0 4px;

 border:
  2px solid #f5fafb;

 border-radius:9px;

 background:#505b88;

 color:#fff;

 font-size:7px;
 line-height:1;
 font-weight:900;
}

.rh-mini-profile__badge[hidden]{
 display:none !important;
}


/* MENU — absolute, therefore DOES NOT increase topbar height */

.rh-mini-profile__menu{
 position:absolute;
 top:calc(100% + 9px);
 right:0;

 width:220px;

 box-sizing:border-box;

 padding:8px;

 border:
  1px solid rgba(48,105,132,.12);

 border-radius:11px;

 background:
  rgba(250,253,254,.985);

 box-shadow:
  0 16px 38px
  rgba(21,55,69,.13);

 opacity:0;
 visibility:hidden;

 transform:
  translateY(-4px);

 pointer-events:none;

 transition:
  opacity .13s ease,
  visibility .13s ease,
  transform .13s ease;

 -webkit-backdrop-filter:
  blur(10px);

 backdrop-filter:
  blur(10px);
}

.rh-mini-profile.is-open
.rh-mini-profile__menu{
 opacity:1;
 visibility:visible;

 transform:
  translateY(0);

 pointer-events:auto;
}


/* identity */

.rh-mini-profile__identity{
 display:flex;
 flex-direction:column;
 gap:2px;

 min-width:0;

 margin:0 0 6px;
 padding:7px 8px 9px;

 border-bottom:
  1px solid rgba(48,105,132,.085);
}

.rh-mini-profile__name{
 overflow:hidden;

 color:#365c6d;

 font-size:10px;
 line-height:1.25;
 font-weight:900;

 text-overflow:ellipsis;
 white-space:nowrap;
}

.rh-mini-profile__group{
 overflow:hidden;

 color:#81959e;

 font-size:8px;
 line-height:1.3;
 font-weight:650;

 text-overflow:ellipsis;
 white-space:nowrap;
}


/* links */

.rh-mini-profile__menu > a{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:8px;

 min-height:32px;

 box-sizing:border-box;

 padding:0 8px;

 border-radius:7px;

 color:#557380;

 font-size:9px;
 line-height:1;
 font-weight:800;

 text-decoration:none !important;

 transition:
  background .12s ease,
  color .12s ease;
}

.rh-mini-profile__menu > a:hover{
 background:
  rgba(33,133,159,.065);

 color:#21859f;
}

.rh-mini-profile__menu > a
.rh-mini-profile__menu-count{
 display:inline-flex;
 align-items:center;
 justify-content:center;

 min-width:18px;
 height:18px;

 padding:0 5px;

 border-radius:9px;

 background:
  rgba(80,91,136,.085);

 color:#59668c;

 font-size:7px;
 font-weight:900;
}

.rh-mini-profile__menu > a
.rh-mini-profile__menu-count:empty{
 display:none;
}


/* Guest identity slightly tighter */

.rh-mini-profile--guest
.rh-mini-profile__identity{
 padding-bottom:7px;
}


/* FULL/LITE */

html.re-effective-lite
.rh-mini-profile__menu{
 -webkit-backdrop-filter:none !important;
 backdrop-filter:none !important;

 background:#f8fbfc;
 box-shadow:
  0 12px 28px
  rgba(21,55,69,.10);
}


/* Responsive:
   text random-country button becomes icon-only first,
   profile stays 34x34.
*/

@media(max-width:1320px){

 .rh-tools
 .re-random-country-trigger--header{
  width:34px;

  padding:0;
 }

 .rh-tools
 .re-random-country-trigger--header
 .re-random-country-trigger__label{
  display:none;
 }

}

@media(max-width:760px){

 .rh-mini-profile{
  flex-basis:32px;

  width:32px;
  height:32px;
 }

 .rh-mini-profile__button{
  width:32px;
  height:32px;

  border-radius:8px;
 }

 .rh-mini-profile__avatar{
  width:24px;
  height:24px;
 }

 .rh-mini-profile__menu{
  position:fixed;

  top:auto;
  right:9px;
  bottom:
   calc(
    62px +
    env(safe-area-inset-bottom)
   );

  width:
   min(
    230px,
    calc(100vw - 18px)
   );
 }

 .rh-tools
 .re-random-country-trigger--header{
  width:32px;
  height:32px;
  min-height:32px;
 }

}


/* reduced motion */

@media(prefers-reduced-motion:reduce){

 .rh-mini-profile__button,
 .rh-mini-profile__menu{
  transition:none !important;
 }

}


/* print */

@media print{

 .rh-mini-profile,
 .rh-tools
 .re-random-country-trigger--header{
  display:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — HEADER AVATAR NO-FLASH FIX V2
   Иконка профиля видна по умолчанию; фото появляется только после load.
   ========================================================================== */

.rh-mini-profile__avatar{
 color:#2d7187;
}

.rh-mini-profile__avatar img{
 opacity:0;
 visibility:hidden;
}

.rh-mini-profile__avatar.has-image img{
 opacity:1;
 visibility:visible;
}

.rh-mini-profile__avatar.has-image
.rh-mini-profile__fallback{
 opacity:0;
 visibility:hidden;
}

.rh-mini-profile__avatar.has-fallback img{
 display:block;
 opacity:0;
 visibility:hidden;
}

.rh-mini-profile__fallback{
 z-index:1;

 color:#2d7187;

 opacity:1;
 visibility:visible;
}

.rh-mini-profile__fallback svg{
 width:16px;
 height:16px;

 fill:none;
 stroke:currentColor;
 stroke-width:1.65;
 stroke-linecap:round;
 stroke-linejoin:round;
}

.rh-mini-profile__avatar.has-fallback
.rh-mini-profile__fallback{
 opacity:1;
 visibility:visible;
}

/* ==========================================================================
   RUSSIAN EMIGRANT — HOMEPAGE PASSPORT STAMP V1
   Вместо года: компас + RUSSIAN EMIGRANT
   ========================================================================== */

.rh-passport-stamp--year{
 right:34%;
 bottom:16px !important;

 width:230px;
 height:44px;

 display:flex;
 align-items:center;
 justify-content:center;
 gap:10px;

 color:rgba(10,91,113,.20);

 font-size:0 !important;
 line-height:0 !important;
 letter-spacing:0;

 border:0 !important;
 background:transparent !important;

 transform:rotate(-7deg);

 opacity:.62;

 mix-blend-mode:multiply;
}


/* Компас */

.rh-passport-stamp--year::before{
 content:"";

 flex:0 0 34px;

 width:34px;
 height:34px;

 background:
  rgba(10,91,113,.25);

 -webkit-mask-image:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='32' r='27' fill='none' stroke='black' stroke-width='3'/%3E%3Ccircle cx='32' cy='32' r='20' fill='none' stroke='black' stroke-width='1.5'/%3E%3Cpath d='M32 7 38 27 57 32 38 37 32 57 26 37 7 32 26 27Z' fill='black'/%3E%3Cpath d='M32 14 35 29 50 32 35 35 32 50 29 35 14 32 29 29Z' fill='white'/%3E%3Ccircle cx='32' cy='32' r='3' fill='black'/%3E%3C/svg%3E");

 mask-image:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='32' r='27' fill='none' stroke='black' stroke-width='3'/%3E%3Ccircle cx='32' cy='32' r='20' fill='none' stroke='black' stroke-width='1.5'/%3E%3Cpath d='M32 7 38 27 57 32 38 37 32 57 26 37 7 32 26 27Z' fill='black'/%3E%3Cpath d='M32 14 35 29 50 32 35 35 32 50 29 35 14 32 29 29Z' fill='white'/%3E%3Ccircle cx='32' cy='32' r='3' fill='black'/%3E%3C/svg%3E");

 -webkit-mask-repeat:no-repeat;
 mask-repeat:no-repeat;

 -webkit-mask-position:center;
 mask-position:center;

 -webkit-mask-size:contain;
 mask-size:contain;
}


/* RUSSIAN EMIGRANT */

.rh-passport-stamp--year::after{
 content:"RUSSIAN EMIGRANT";

 display:block;

 padding-bottom:5px;

 color:rgba(10,91,113,.24);

 border-bottom:
  1px solid rgba(10,91,113,.16);

 font:
  800 12px/1.1
  "Manrope",
  "Segoe UI",
  Arial,
  sans-serif;

 letter-spacing:.16em;

 white-space:nowrap;
}


@media(max-width:760px){

 .rh-passport-stamp--year{
  right:21%;
  bottom:10px !important;

  width:180px;
  height:36px;

  gap:8px;
 }

 .rh-passport-stamp--year::before{
  flex-basis:28px;

  width:28px;
  height:28px;
 }

 .rh-passport-stamp--year::after{
  padding-bottom:4px;

  font-size:9px;

  letter-spacing:.13em;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — FOOTER COMMUNITY V1
   ========================================================================== */

.rh-community{
 display:flex;
 align-items:center;
 gap:9px;

 min-width:0;

 box-sizing:border-box;

 padding:6px 8px;

 border:
  1px solid rgba(48,105,132,.10);

 border-radius:9px;

 background:
  rgba(255,255,255,.34);

 color:#587582;
}

.rh-community__stats{
 display:flex;
 align-items:center;
 gap:7px;

 min-width:0;
}

.rh-community__stat{
 display:flex;
 align-items:baseline;
 gap:4px;

 white-space:nowrap;
}

.rh-community__stat-label{
 color:#84979f;

 font-size:7px;
 line-height:1;
 font-weight:750;
}

.rh-community__stat strong{
 color:#3d6676;

 font-size:10px;
 line-height:1;
 font-weight:900;
}

.rh-community__divider{
 width:1px;
 height:16px;

 background:
  rgba(48,105,132,.10);
}


/* PEOPLE */

.rh-community__people{
 display:flex;
 align-items:center;

 min-width:0;
}

.rh-community__person,
.rh-community__more{
 position:relative;

 display:flex;
 align-items:center;
 justify-content:center;

 width:24px;
 height:24px;

 box-sizing:border-box;

 margin-left:-5px;

 border:
  2px solid rgba(247,251,252,.96);

 border-radius:50%;

 background:
  linear-gradient(
   145deg,
   rgba(221,243,247,.99),
   rgba(228,234,246,.98)
  );

 color:#2f7187;

 text-decoration:none !important;

 box-shadow:
  0 2px 6px
  rgba(31,75,94,.06);

 font-size:7px;
 line-height:1;
 font-weight:900;
 letter-spacing:-.02em;
}

.rh-community__person:first-child{
 margin-left:0;
}

.rh-community__person:hover{
 z-index:3;

 border-color:
  rgba(247,251,252,1);

 color:#1c7f9a;

 transform:
  translateY(-1px);
}

.rh-community__more{
 z-index:2;

 background:
  rgba(80,91,136,.10);

 color:#58668d;

 font-size:7px;
}


/* Raw informer stays in DOM for real data, but never affects layout */

.rh-community__raw{
 position:absolute !important;

 width:1px !important;
 height:1px !important;

 overflow:hidden !important;

 clip:rect(0 0 0 0) !important;
 clip-path:inset(50%) !important;

 white-space:nowrap !important;

 pointer-events:none !important;
}


/* Empty state */

.rh-community.is-empty
.rh-community__people{
 display:none;
}


/* Footer integration */

.rh-site-footer__meta{
 align-items:center;
}

.rh-site-footer__meta
.rh-community{
 flex:0 1 auto;
}


/* LITE */

html.re-effective-lite
.rh-community{
 background:
  rgba(255,255,255,.58);
}


/* MOBILE */

@media(max-width:760px){

 .rh-community{
  width:100%;

  justify-content:space-between;

  padding:7px 8px;
 }

 .rh-community__stat-label{
  font-size:7px;
 }

 .rh-community__stat strong{
  font-size:10px;
 }

 .rh-community__person,
 .rh-community__more{
  width:23px;
  height:23px;
 }

}


/* PRINT */

@media print{

 .rh-community{
  display:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — FOOTER COMMUNITY V2
   «Новые пользователи» внутри того же компактного footer-блока.
   ========================================================================== */

.rh-community{
 gap:8px;
}

.rh-community__groups{
 display:flex;
 align-items:center;
 gap:8px;

 min-width:0;
}

.rh-community__group{
 display:flex;
 align-items:center;
 gap:5px;

 min-width:0;
}

.rh-community__group-label{
 color:#84979f;

 font-size:7px;
 line-height:1;
 font-weight:750;

 white-space:nowrap;
}

.rh-community__group strong{
 color:#3d6676;

 font-size:10px;
 line-height:1;
 font-weight:900;
}

.rh-community__people[hidden]{
 display:none !important;
}

.rh-community__avatar{
 position:relative;

 display:flex;
 align-items:center;
 justify-content:center;

 width:100%;
 height:100%;

 overflow:hidden;

 border-radius:50%;
}

.rh-community__avatar img{
 position:absolute;
 inset:0;
 z-index:2;

 width:100%;
 height:100%;

 object-fit:cover;

 opacity:0;
 visibility:hidden;
}

.rh-community__avatar.has-image img{
 opacity:1;
 visibility:visible;
}

.rh-community__avatar-fallback{
 position:relative;
 z-index:1;

 display:flex;
 align-items:center;
 justify-content:center;

 width:100%;
 height:100%;
}

.rh-community__person--new::after{
 content:"";

 position:absolute;
 right:-1px;
 bottom:-1px;
 z-index:4;

 width:5px;
 height:5px;

 border:
  1.5px solid #f7fbfc;

 border-radius:50%;

 background:#2ea58c;
}

.rh-community__raw--today,
.rh-community__raw--new{
 position:absolute !important;

 width:1px !important;
 height:1px !important;

 overflow:hidden !important;

 clip:rect(0 0 0 0) !important;
 clip-path:inset(50%) !important;

 white-space:nowrap !important;

 pointer-events:none !important;
}

@media(max-width:980px){

 .rh-community{
  flex-wrap:wrap;
 }

 .rh-community__groups{
  width:100%;
 }

}

@media(max-width:760px){

 .rh-community__groups{
  display:grid;

  grid-template-columns:
   auto auto;

  gap:6px 10px;
 }

 .rh-community__group--new{
  grid-column:
   1 / -1;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — SITE STATISTICS V1
   ========================================================================== */

.rh-site-stats{
 position:relative;

 margin:10px 0 0;
 padding:9px 0 0;

 border-top:
  1px solid rgba(48,105,132,.08);
}

.rh-site-stats__head{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:10px;

 margin-bottom:7px;
}

.rh-site-stats__title{
 color:#6f8792;

 font-size:8px;
 line-height:1;
 font-weight:900;
 letter-spacing:.055em;
 text-transform:uppercase;
}

.rh-site-stats__note{
 color:#9aa8ae;

 font-size:7px;
 line-height:1;
 font-weight:650;
}

.rh-site-stats__list{
 display:grid;

 grid-template-columns:
  repeat(
   5,
   minmax(0,1fr)
  );

 gap:5px;
}

.rh-site-stats__item{
 min-width:0;

 box-sizing:border-box;

 padding:7px 8px;

 border:
  1px solid rgba(48,105,132,.08);

 border-radius:8px;

 background:
  rgba(255,255,255,.30);
}

.rh-site-stats__item strong{
 display:block;

 overflow:hidden;

 color:#3e6676;

 font-size:12px;
 line-height:1;
 font-weight:900;

 text-overflow:ellipsis;
 white-space:nowrap;
}

.rh-site-stats__item span{
 display:block;

 margin-top:3px;

 overflow:hidden;

 color:#8799a1;

 font-size:7px;
 line-height:1.15;
 font-weight:750;

 text-overflow:ellipsis;
 white-space:nowrap;
}

.rh-site-stats__item--total{
 border-color:
  rgba(33,133,159,.12);

 background:
  linear-gradient(
   145deg,
   rgba(238,249,251,.72),
   rgba(241,244,250,.66)
  );
}

.rh-site-stats__item--total strong{
 color:#23748a;
}


/* source informer */

.rh-site-stats__raw{
 position:absolute !important;

 width:1px !important;
 height:1px !important;

 overflow:hidden !important;

 clip:rect(0 0 0 0) !important;
 clip-path:inset(50%) !important;

 white-space:nowrap !important;

 pointer-events:none !important;
}

.rh-site-stats.is-empty{
 display:none !important;
}


/* LITE */

html.re-effective-lite
.rh-site-stats__item{
 background:
  rgba(255,255,255,.52);
}


/* MOBILE */

@media(max-width:900px){

 .rh-site-stats__list{
  grid-template-columns:
   repeat(
    3,
    minmax(0,1fr)
   );
 }

}

@media(max-width:560px){

 .rh-site-stats{
  margin-top:8px;
 }

 .rh-site-stats__head{
  margin-bottom:6px;
 }

 .rh-site-stats__note{
  display:none;
 }

 .rh-site-stats__list{
  grid-template-columns:
   repeat(
    2,
    minmax(0,1fr)
   );
 }

 .rh-site-stats__item{
  padding:7px;
 }

 .rh-site-stats__item strong{
  font-size:11px;
 }

}


/* PRINT */

@media print{

 .rh-site-stats{
  display:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — USER STATISTICS V1
   ========================================================================== */

.rh-user-stats{
 position:relative;

 margin:7px 0 0;
 padding:7px 0 0;

 border-top:
  1px solid rgba(48,105,132,.07);
}

.rh-user-stats__head{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:10px;

 margin-bottom:6px;
}

.rh-user-stats__title{
 color:#6f8792;

 font-size:8px;
 line-height:1;
 font-weight:900;
 letter-spacing:.055em;
 text-transform:uppercase;
}

.rh-user-stats__list{
 display:grid;

 grid-template-columns:
  repeat(5,minmax(0,1fr));

 gap:5px;
}

.rh-user-stats__item{
 min-width:0;

 box-sizing:border-box;

 padding:6px 8px;

 border:
  1px solid rgba(48,105,132,.075);

 border-radius:8px;

 background:
  rgba(255,255,255,.25);
}

.rh-user-stats__item strong{
 display:block;

 color:#426b7b;

 font-size:11px;
 line-height:1;
 font-weight:900;
}

.rh-user-stats__item span{
 display:block;

 margin-top:3px;

 overflow:hidden;

 color:#8b9aa1;

 font-size:7px;
 line-height:1.1;
 font-weight:750;

 text-overflow:ellipsis;
 white-space:nowrap;
}

.rh-user-stats__item--all{
 border-color:
  rgba(80,91,136,.11);

 background:
  linear-gradient(
   145deg,
   rgba(239,247,249,.65),
   rgba(239,242,249,.62)
  );
}

.rh-user-stats__item--all strong{
 color:#52618a;
}

.rh-user-stats__raw{
 position:absolute !important;

 width:1px !important;
 height:1px !important;

 overflow:hidden !important;

 clip:rect(0 0 0 0) !important;
 clip-path:inset(50%) !important;

 white-space:nowrap !important;
 pointer-events:none !important;
}

.rh-user-stats.is-empty{
 display:none !important;
}

@media(max-width:760px){

 .rh-user-stats__list{
  grid-template-columns:
   repeat(2,minmax(0,1fr));
 }

 .rh-user-stats__item--all{
  grid-column:
   1 / -1;
 }

}

@media print{

 .rh-user-stats{
  display:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — RECENT COMMENTS INFORMER V1
   ========================================================================== */

.rh-recent-comments{
 position:relative;

 margin:8px 0 0;
 padding:8px 0 0;

 border-top:
  1px solid rgba(48,105,132,.07);
}

.rh-recent-comments__head{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:10px;

 margin-bottom:6px;
}

.rh-recent-comments__title{
 color:#6f8792;

 font-size:8px;
 line-height:1;
 font-weight:900;
 letter-spacing:.055em;
 text-transform:uppercase;
}

.rh-recent-comments__hint{
 color:#9aa8ae;

 font-size:7px;
 line-height:1;
 font-weight:650;
}

.rh-recent-comments__list{
 display:grid;

 grid-template-columns:
  repeat(3,minmax(0,1fr));

 gap:5px;
}

.rh-recent-comments__item{
 min-width:0;

 box-sizing:border-box;

 padding:8px;

 border:
  1px solid rgba(48,105,132,.075);

 border-radius:8px;

 background:
  rgba(255,255,255,.27);
}

.rh-recent-comments__top{
 display:flex;
 align-items:center;
 gap:6px;

 min-width:0;
}

.rh-recent-comments__avatar-link{
 flex:0 0 auto;

 display:block;

 width:26px;
 height:26px;

 text-decoration:none !important;
}

.rh-recent-comments__avatar{
 position:relative;

 display:flex;
 align-items:center;
 justify-content:center;

 width:26px;
 height:26px;

 overflow:hidden;

 border:
  1px solid rgba(48,105,132,.10);

 border-radius:50%;

 background:
  linear-gradient(
   145deg,
   rgba(221,243,247,.99),
   rgba(228,234,246,.98)
  );

 color:#2f7187;

 font-size:8px;
 line-height:1;
 font-weight:900;
}

.rh-recent-comments__avatar img{
 position:absolute;
 inset:0;
 z-index:2;

 width:100%;
 height:100%;

 object-fit:cover;

 opacity:0;
 visibility:hidden;
}

.rh-recent-comments__avatar.has-image img{
 opacity:1;
 visibility:visible;
}

.rh-recent-comments__avatar-fallback{
 position:relative;
 z-index:1;
}

.rh-recent-comments__meta{
 min-width:0;

 display:flex;
 flex-direction:column;
 gap:2px;
}

.rh-recent-comments__author{
 overflow:hidden;

 color:#416a7a;

 font-size:8px;
 line-height:1.05;
 font-weight:900;

 text-decoration:none !important;
 text-overflow:ellipsis;
 white-space:nowrap;
}

.rh-recent-comments__time{
 overflow:hidden;

 color:#9aa8ae;

 font-size:6.5px;
 line-height:1.05;
 font-weight:650;

 text-overflow:ellipsis;
 white-space:nowrap;
}

.rh-recent-comments__message{
 display:-webkit-box;

 margin:6px 0 0;

 overflow:hidden;

 color:#697c84;

 font-size:8px;
 line-height:1.35;
 font-weight:550;

 -webkit-box-orient:vertical;
 -webkit-line-clamp:2;
}

.rh-recent-comments__entry{
 display:block;

 margin-top:6px;

 overflow:hidden;

 color:#2f768c;

 font-size:7px;
 line-height:1.15;
 font-weight:800;

 text-decoration:none !important;
 text-overflow:ellipsis;
 white-space:nowrap;
}

.rh-recent-comments__entry:hover,
.rh-recent-comments__author:hover{
 color:#1c7f9a;
}

.rh-recent-comments__raw{
 position:absolute !important;

 width:1px !important;
 height:1px !important;

 overflow:hidden !important;

 clip:rect(0 0 0 0) !important;
 clip-path:inset(50%) !important;

 white-space:nowrap !important;
 pointer-events:none !important;
}

.rh-recent-comments.is-empty{
 display:none !important;
}

html.re-effective-lite
.rh-recent-comments__item{
 background:
  rgba(255,255,255,.53);
}

@media(max-width:860px){

 .rh-recent-comments__list{
  grid-template-columns:
   1fr;
 }

 .rh-recent-comments__item{
  padding:7px 8px;
 }

}

@media print{

 .rh-recent-comments{
  display:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — FOOTER TAGS INFORMER V1
   ========================================================================== */

.rh-footer-tags{
 position:relative;

 margin:8px 0 0;
 padding:8px 0 0;

 border-top:
  1px solid rgba(48,105,132,.07);
}

.rh-footer-tags__head{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:10px;

 margin-bottom:6px;
}

.rh-footer-tags__title{
 color:#6f8792;

 font-size:8px;
 line-height:1;
 font-weight:900;
 letter-spacing:.055em;
 text-transform:uppercase;
}

.rh-footer-tags__hint{
 color:#9aa8ae;

 font-size:7px;
 line-height:1;
 font-weight:650;
}

.rh-footer-tags__list{
 display:flex;
 align-items:center;
 flex-wrap:wrap;
 gap:5px;
}

.rh-footer-tags__tag,
.rh-footer-tags__more{
 display:inline-flex;
 align-items:center;

 min-height:25px;

 box-sizing:border-box;

 padding:5px 8px;

 border:
  1px solid rgba(48,105,132,.085);

 border-radius:8px;

 background:
  rgba(255,255,255,.28);

 color:#557684;

 font-size:7px;
 line-height:1;
 font-weight:800;

 text-decoration:none !important;
 white-space:nowrap;
}

.rh-footer-tags__tag::before{
 content:"#";

 margin-right:2px;

 color:#2f879d;

 font-weight:900;
}

.rh-footer-tags__tag:hover{
 border-color:
  rgba(47,135,157,.18);

 background:
  rgba(236,248,250,.72);

 color:#28758b;

 transform:
  translateY(-1px);
}

.rh-footer-tags__more{
 color:#71858e;

 background:
  rgba(80,91,136,.07);
}

.rh-footer-tags__raw{
 position:absolute !important;

 width:1px !important;
 height:1px !important;

 overflow:hidden !important;

 clip:rect(0 0 0 0) !important;
 clip-path:inset(50%) !important;

 white-space:nowrap !important;
 pointer-events:none !important;
}

.rh-footer-tags.is-empty{
 display:none !important;
}

html.re-effective-lite
.rh-footer-tags__tag,
html.re-effective-lite
.rh-footer-tags__more{
 background:
  rgba(255,255,255,.55);
}

@media(max-width:760px){

 .rh-footer-tags__list{
  flex-wrap:nowrap;

  overflow-x:auto;
  overflow-y:hidden;

  padding-bottom:2px;

  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
 }

 .rh-footer-tags__list::-webkit-scrollbar{
  display:none;
 }

 .rh-footer-tags__tag,
 .rh-footer-tags__more{
  flex:0 0 auto;
 }

 .rh-footer-tags__hint{
  display:none;
 }

}

@media print{

 .rh-footer-tags{
  display:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — UNIVERSAL COPY + TOAST V1
   ========================================================================== */

.re-copy-source{
 display:inline;
}

.re-copy-button,
.re-copy-action{
 -webkit-appearance:none;
 appearance:none;

 display:inline-flex;
 align-items:center;
 justify-content:center;
 gap:4px;

 min-height:26px;

 box-sizing:border-box;

 margin-left:5px;
 padding:5px 7px;

 border:
  1px solid rgba(47,118,140,.13);

 border-radius:7px;

 background:
  rgba(240,248,250,.75);

 color:#397487;

 font:750 7px/1
  "Manrope",
  "Segoe UI",
  Arial,
  sans-serif;

 cursor:pointer;

 text-decoration:none !important;

 vertical-align:middle;

 transition:
  background .16s ease,
  border-color .16s ease,
  color .16s ease,
  transform .16s ease;
}

.re-copy-button svg,
.re-copy-action svg{
 width:12px;
 height:12px;

 fill:none;
 stroke:currentColor;
 stroke-width:1.7;
 stroke-linecap:round;
 stroke-linejoin:round;
}

.re-copy-button:hover,
.re-copy-action:hover{
 border-color:
  rgba(47,118,140,.24);

 background:
  rgba(229,245,248,.96);

 color:#22778f;

 transform:
  translateY(-1px);
}

.re-copy-button:focus-visible,
.re-copy-action:focus-visible{
 outline:
  2px solid rgba(41,132,158,.26);

 outline-offset:2px;
}

.re-copy-button.is-copied,
.re-copy-action.is-copied{
 border-color:
  rgba(46,165,140,.20);

 background:
  rgba(232,249,244,.95);

 color:#237e6b;
}


/* Toast */

.re-copy-toast{
 position:fixed;
 left:50%;
 bottom:28px;
 z-index:2147483000;

 display:flex;
 align-items:center;
 gap:7px;

 max-width:
  min(
   320px,
   calc(100vw - 28px)
  );

 box-sizing:border-box;

 padding:9px 12px;

 border:
  1px solid rgba(47,118,140,.12);

 border-radius:9px;

 background:
  rgba(247,251,252,.96);

 color:#426a79;

 box-shadow:
  0 10px 30px
  rgba(35,72,88,.13);

 backdrop-filter:
  blur(12px);

 -webkit-backdrop-filter:
  blur(12px);

 opacity:0;

 pointer-events:none;

 transform:
  translate(-50%,10px);

 transition:
  opacity .18s ease,
  transform .18s ease;
}

.re-copy-toast.is-visible{
 opacity:1;

 transform:
  translate(-50%,0);
}

.re-copy-toast__icon{
 display:flex;
 align-items:center;
 justify-content:center;

 width:18px;
 height:18px;

 flex:0 0 18px;

 border-radius:50%;

 background:
  rgba(46,165,140,.10);

 color:#27836f;
}

.re-copy-toast__icon svg{
 width:11px;
 height:11px;

 fill:none;
 stroke:currentColor;
 stroke-width:2;
 stroke-linecap:round;
 stroke-linejoin:round;
}

.re-copy-toast__text{
 overflow:hidden;

 font-size:8px;
 line-height:1.1;
 font-weight:800;

 text-overflow:ellipsis;
 white-space:nowrap;
}


/* LITE */

html.re-effective-lite
.re-copy-toast{
 background:
  rgba(250,252,253,.99);

 backdrop-filter:none;
 -webkit-backdrop-filter:none;
}


/* MOBILE */

@media(max-width:760px){

 .re-copy-button,
 .re-copy-action{
  min-height:28px;

  padding:6px 7px;
 }

 .re-copy-toast{
  bottom:
   calc(
    70px +
    env(safe-area-inset-bottom,0px)
   );
 }

}


/* PRINT */

@media print{

 .re-copy-button,
 .re-copy-action,
 .re-copy-toast{
  display:none !important;
 }

}


/* REDUCED MOTION */

@media(prefers-reduced-motion:reduce){

 .re-copy-button,
 .re-copy-action,
 .re-copy-toast{
  transition:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — AUTO PHONE COPY V1
   ========================================================================== */

.re-auto-phone{
 display:inline;

 border-bottom:
  1px dashed rgba(47,118,140,.28);

 color:inherit;
}

.re-auto-phone-copy{
 margin-left:4px;
}

.re-auto-phone-copy span{
 display:none;
}

.re-auto-phone-copy{
 min-width:25px;
 width:25px;
 height:25px;

 padding:0;
}

.re-auto-phone-copy svg{
 width:12px;
 height:12px;
}

@media(max-width:760px){

 .re-auto-phone-copy{
  min-width:27px;
  width:27px;
  height:27px;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — WHAT'S NEW V1
   ========================================================================== */

.re-whats-new-wrap{
 position:relative;
 z-index:3;

 margin:
  -4px 24px
  18px;

 padding:0 34px;
}

.re-whats-new{
 max-width:920px;

 margin:0 auto;

 box-sizing:border-box;

 padding:11px 13px 10px;

 border:
  1px solid rgba(80,91,136,.10);

 border-radius:12px;

 background:
  linear-gradient(
   145deg,
   rgba(249,251,253,.82),
   rgba(242,246,250,.70)
  );

 box-shadow:
  0 8px 22px
  rgba(34,75,93,.045);
}

.re-whats-new__head{
 display:flex;
 align-items:flex-start;
 justify-content:space-between;
 gap:14px;
}

.re-whats-new__title-wrap{
 min-width:0;
}

.re-whats-new__eyebrow{
 display:block;

 margin-bottom:2px;

 color:#8b99a3;

 font-size:7px;
 line-height:1;
 font-weight:850;
 letter-spacing:.08em;
 text-transform:uppercase;
}

.re-whats-new__title{
 display:block;

 color:#475e78;

 font-size:12px;
 line-height:1.1;
 font-weight:900;
}

.re-whats-new__close{
 -webkit-appearance:none;
 appearance:none;

 display:flex;
 align-items:center;
 justify-content:center;

 width:26px;
 height:26px;

 flex:0 0 26px;

 padding:0;

 border:
  1px solid transparent;

 border-radius:7px;

 background:transparent;

 color:#87969e;

 cursor:pointer;
}

.re-whats-new__close:hover{
 border-color:
  rgba(80,91,136,.10);

 background:
  rgba(255,255,255,.45);

 color:#52618a;
}

.re-whats-new__close svg{
 width:13px;
 height:13px;

 fill:none;
 stroke:currentColor;
 stroke-width:1.8;
 stroke-linecap:round;
}

.re-whats-new__list{
 display:grid;

 grid-template-columns:
  repeat(3,minmax(0,1fr));

 gap:6px;

 margin:9px 0 0;
 padding:0;

 list-style:none;
}

.re-whats-new__item{
 display:flex;
 align-items:flex-start;
 gap:7px;

 min-width:0;

 padding:7px 8px;

 border:
  1px solid rgba(80,91,136,.07);

 border-radius:8px;

 background:
  rgba(255,255,255,.28);
}

.re-whats-new__dot{
 flex:0 0 auto;

 width:6px;
 height:6px;

 margin-top:3px;

 border-radius:50%;

 background:
  rgba(48,136,157,.62);

 box-shadow:
  0 0 0 3px
  rgba(48,136,157,.07);
}

.re-whats-new__item-body{
 min-width:0;
}

.re-whats-new__item-body strong{
 display:block;

 margin-bottom:3px;

 color:#466878;

 font-size:8px;
 line-height:1.1;
 font-weight:900;
}

.re-whats-new__item-body span{
 display:block;

 color:#7f9098;

 font-size:7px;
 line-height:1.3;
 font-weight:550;
}

.re-whats-new__foot{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:10px;

 margin-top:7px;

 color:#9aa6ab;

 font-size:6.5px;
 line-height:1.2;
 font-weight:550;
}

.re-whats-new__foot button{
 -webkit-appearance:none;
 appearance:none;

 padding:4px 7px;

 border:
  1px solid rgba(47,118,140,.10);

 border-radius:7px;

 background:
  rgba(234,246,249,.62);

 color:#3f7688;

 font:800 7px/1
  "Manrope",
  "Segoe UI",
  Arial,
  sans-serif;

 cursor:pointer;
}

.re-whats-new__foot button:hover{
 border-color:
  rgba(47,118,140,.18);

 background:
  rgba(228,243,247,.90);
}

.re-whats-new-wrap.is-leaving{
 opacity:0;

 transform:
  translateY(-4px);

 transition:
  opacity .18s ease,
  transform .18s ease;
}

html.re-effective-lite
.re-whats-new{
 background:
  rgba(250,252,253,.95);
}


/* Mobile */

@media(max-width:760px){

 .re-whats-new-wrap{
  margin:
   0 12px
   14px;

  padding:0;
 }

 .re-whats-new{
  padding:10px;
 }

 .re-whats-new__list{
  grid-template-columns:
   1fr;

  gap:5px;
 }

 .re-whats-new__foot{
  align-items:flex-start;
 }

}


/* Print */

@media print{

 .re-whats-new-wrap{
  display:none !important;
 }

}


/* Reduced motion */

@media(prefers-reduced-motion:reduce){

 .re-whats-new-wrap.is-leaving{
  transition:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — FOOTER EXTRA COUNTERS V1
   LiveInternet + Яндекс ИКС
   ========================================================================== */

.rh-site-footer__counters{
 display:flex;
 align-items:center;
 gap:6px;

 flex:0 0 auto;
}

.rh-site-footer__counter{
 display:block;

 width:88px;
 height:31px;

 overflow:hidden;

 border-radius:8px;

 opacity:.82;

 transition:
  opacity .16s ease,
  transform .16s ease;
}

.rh-site-footer__counter:hover{
 opacity:1;

 transform:
  translateY(-1px);
}

.rh-site-footer__counter img{
 display:block;

 width:88px;
 height:31px;

 border:0;

 border-radius:8px;
}

@media(max-width:760px){

 .rh-site-footer__counters{
  flex-wrap:wrap;
 }

}

@media print{

 .rh-site-footer__counters{
  display:none !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — HOME PERSONAL WIDGETS GRID V1
   Две крупные колонки на всю ширину сайта.
   ========================================================================== */

.re-home-widgets-grid{
 position:relative;
 z-index:3;

 display:grid;

 grid-template-columns:
  repeat(2,minmax(0,1fr));

 gap:16px;

 width:100%;

 box-sizing:border-box;

 margin:18px 0 20px;
 padding:0;
}

.re-home-widgets-grid.has-one{
 grid-template-columns:
  1fr;
}


/* Убираем старое искусственное сужение */

.re-home-widgets-grid
.re-stay-counter-wrap,
.re-home-widgets-grid
.re-whats-new-wrap{
 width:100%;
 max-width:none;

 margin:0;
 padding:0;
}


/* Карточки растягиваются на всю колонку */

.re-home-widgets-grid
.re-stay-counter,
.re-home-widgets-grid
.re-whats-new{
 width:100%;
 max-width:none;
 height:100%;

 margin:0;

 box-sizing:border-box;

 border-radius:14px;
}


/* =========================================================
   СРОК ПРЕБЫВАНИЯ — крупнее
   ========================================================= */

.re-home-widgets-grid
.re-stay-counter{
 grid-template-columns:
  52px minmax(0,1fr);

 gap:14px;

 padding:16px 17px;
}

.re-home-widgets-grid
.re-stay-counter__icon{
 width:52px;
 height:52px;

 border-radius:12px;
}

.re-home-widgets-grid
.re-stay-counter__icon svg{
 width:25px;
 height:25px;
}

.re-home-widgets-grid
.re-stay-counter__eyebrow{
 margin-bottom:4px;

 font-size:10px;
 letter-spacing:.075em;
}

.re-home-widgets-grid
.re-stay-counter__title{
 font-size:18px;
 line-height:1.12;
}

.re-home-widgets-grid
.re-stay-counter__edit{
 padding:6px 8px;

 font-size:10px;
}

.re-home-widgets-grid
.re-stay-counter__setup{
 grid-template-columns:
  minmax(190px,1fr)
  126px
  auto;

 gap:9px;

 margin-top:13px;
}

.re-home-widgets-grid
.re-stay-counter__field{
 gap:8px;

 min-height:42px;

 padding:7px 10px;

 border-radius:9px;
}

.re-home-widgets-grid
.re-stay-counter__field span{
 font-size:10px;
}

.re-home-widgets-grid
.re-stay-counter__field input,
.re-home-widgets-grid
.re-stay-counter__field select{
 font-size:12px;
}

.re-home-widgets-grid
.re-stay-counter__save{
 min-height:42px;

 padding:8px 13px;

 border-radius:9px;

 font-size:11px;
}

.re-home-widgets-grid
.re-stay-counter__summary{
 gap:7px;

 margin-top:12px;

 font-size:11px;
}

.re-home-widgets-grid
.re-stay-counter__summary strong{
 font-size:12px;
}

.re-home-widgets-grid
.re-stay-counter__progress{
 height:6px;

 margin-top:10px;
}

.re-home-widgets-grid
.re-stay-counter__meta{
 margin-top:7px;

 font-size:9px;
}

.re-home-widgets-grid
.re-stay-counter__note{
 margin-top:8px;

 font-size:9px;
 line-height:1.35;
}

.re-home-widgets-grid
.re-stay-counter__error{
 margin-top:8px;

 font-size:10px;
}


/* =========================================================
   НОВОЕ НА ПОРТАЛЕ — крупнее
   ========================================================= */

.re-home-widgets-grid
.re-whats-new{
 padding:16px 17px 14px;
}

.re-home-widgets-grid
.re-whats-new__eyebrow{
 margin-bottom:4px;

 font-size:10px;
 letter-spacing:.075em;
}

.re-home-widgets-grid
.re-whats-new__title{
 font-size:18px;
 line-height:1.12;
}

.re-home-widgets-grid
.re-whats-new__close{
 width:32px;
 height:32px;

 flex-basis:32px;

 border-radius:8px;
}

.re-home-widgets-grid
.re-whats-new__close svg{
 width:15px;
 height:15px;
}


/* В половине сайта три обновления лучше читаются вертикально */

.re-home-widgets-grid
.re-whats-new__list{
 grid-template-columns:
  1fr;

 gap:7px;

 margin-top:13px;
}

.re-home-widgets-grid
.re-whats-new__item{
 gap:9px;

 padding:10px 11px;

 border-radius:9px;
}

.re-home-widgets-grid
.re-whats-new__dot{
 width:8px;
 height:8px;

 margin-top:4px;

 box-shadow:
  0 0 0 4px
  rgba(48,136,157,.07);
}

.re-home-widgets-grid
.re-whats-new__item-body strong{
 margin-bottom:4px;

 font-size:11px;
 line-height:1.2;
}

.re-home-widgets-grid
.re-whats-new__item-body span{
 font-size:9.5px;
 line-height:1.4;
}

.re-home-widgets-grid
.re-whats-new__foot{
 margin-top:10px;

 font-size:8.5px;
}

.re-home-widgets-grid
.re-whats-new__foot button{
 padding:6px 9px;

 border-radius:8px;

 font-size:9px;
}


/* =========================================================
   Средние экраны
   ========================================================= */

@media(max-width:1180px){

 .re-home-widgets-grid{
  grid-template-columns:
   1fr;

  gap:12px;
 }

 .re-home-widgets-grid
 .re-whats-new__list{
  grid-template-columns:
   repeat(3,minmax(0,1fr));
 }

}


/* =========================================================
   Телефон
   ========================================================= */

@media(max-width:760px){

 .re-home-widgets-grid{
  grid-template-columns:
   1fr;

  gap:10px;

  margin:
   12px 0
   14px;
 }

 .re-home-widgets-grid
 .re-stay-counter{
  grid-template-columns:
   42px minmax(0,1fr);

  gap:10px;

  padding:12px;
 }

 .re-home-widgets-grid
 .re-stay-counter__icon{
  width:42px;
  height:42px;
 }

 .re-home-widgets-grid
 .re-stay-counter__title,
 .re-home-widgets-grid
 .re-whats-new__title{
  font-size:16px;
 }

 .re-home-widgets-grid
 .re-stay-counter__setup{
  grid-template-columns:
   1fr 104px;
 }

 .re-home-widgets-grid
 .re-stay-counter__save{
  grid-column:
   1 / -1;
 }

 .re-home-widgets-grid
 .re-whats-new{
  padding:12px;
 }

 .re-home-widgets-grid
 .re-whats-new__list{
  grid-template-columns:
   1fr;
 }

 .re-home-widgets-grid
 .re-whats-new__item-body strong{
  font-size:10px;
 }

 .re-home-widgets-grid
 .re-whats-new__item-body span{
  font-size:9px;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — FOOTER LARGE / READABLE V1
   Крупнее статистика, пользователи, комментарии, теги и community.
   Recent comments: максимум 3.
   ========================================================================== */

.rh-site-footer{
 align-items:flex-start !important;

 gap:18px 20px !important;

 padding:22px 24px !important;
}


/* BRAND */

.rh-site-footer__brand{
 flex:1 1 620px !important;

 gap:4px !important;
}

.rh-site-footer__brand strong{
 font-size:20px !important;
 line-height:1.15 !important;
}

.rh-site-footer__brand > span:not(.rh-site-footer__copyright){
 font-size:14px !important;
 line-height:1.4 !important;
}

.rh-site-footer__copyright{
 margin-top:4px !important;

 font-size:12px !important;
}

.rh-site-footer__links a{
 min-height:38px !important;

 padding:9px 15px !important;

 border-radius:10px !important;

 font-size:13px !important;
}


/* =========================================================
   TWO LARGE STAT COLUMNS
   ========================================================= */

.rh-site-stats,
.rh-user-stats{
 flex:1 1 calc(50% - 12px) !important;

 width:calc(50% - 12px) !important;

 min-width:420px !important;

 margin:0 !important;
 padding:14px !important;

 box-sizing:border-box;

 border:
  1px solid rgba(48,105,132,.09) !important;

 border-radius:12px !important;

 background:
  rgba(255,255,255,.24);
}

.rh-site-stats__head,
.rh-user-stats__head{
 margin-bottom:10px !important;
}

.rh-site-stats__title,
.rh-user-stats__title{
 font-size:11px !important;
 letter-spacing:.045em !important;
}

.rh-site-stats__note{
 font-size:9px !important;
}

.rh-site-stats__list,
.rh-user-stats__list{
 gap:8px !important;
}

.rh-site-stats__item,
.rh-user-stats__item{
 min-height:66px !important;

 padding:12px 13px !important;

 border-radius:10px !important;
}

.rh-site-stats__item strong,
.rh-user-stats__item strong{
 font-size:18px !important;
 line-height:1.05 !important;
}

.rh-site-stats__item span,
.rh-user-stats__item span{
 margin-top:5px !important;

 font-size:10px !important;
 line-height:1.2 !important;
}


/* =========================================================
   RECENT COMMENTS — FULL WIDTH, MAXIMUM 3
   ========================================================= */

.rh-recent-comments{
 flex:1 1 100% !important;

 width:100% !important;

 margin:0 !important;
 padding:14px !important;

 box-sizing:border-box;

 border:
  1px solid rgba(48,105,132,.09) !important;

 border-radius:12px !important;

 background:
  rgba(255,255,255,.24);
}

.rh-recent-comments__head{
 margin-bottom:10px !important;
}

.rh-recent-comments__title{
 font-size:11px !important;
 letter-spacing:.045em !important;
}

.rh-recent-comments__hint{
 font-size:9px !important;
}

.rh-recent-comments__list{
 grid-template-columns:
  repeat(3,minmax(0,1fr)) !important;

 gap:10px !important;
}

.rh-recent-comments__item{
 min-height:128px !important;

 padding:12px 13px !important;

 border-radius:10px !important;
}

.rh-recent-comments__item:nth-child(n+4){
 display:none !important;
}

.rh-recent-comments__top{
 gap:9px !important;
}

.rh-recent-comments__avatar-link,
.rh-recent-comments__avatar{
 width:38px !important;
 height:38px !important;
}

.rh-recent-comments__avatar{
 font-size:11px !important;
}

.rh-recent-comments__meta{
 gap:3px !important;
}

.rh-recent-comments__author{
 font-size:11px !important;
 line-height:1.15 !important;
}

.rh-recent-comments__time{
 font-size:8.5px !important;
 line-height:1.15 !important;
}

.rh-recent-comments__message{
 margin-top:9px !important;

 font-size:10.5px !important;
 line-height:1.45 !important;

 -webkit-line-clamp:3 !important;
}

.rh-recent-comments__entry{
 margin-top:8px !important;

 font-size:9.5px !important;
 line-height:1.2 !important;
}


/* =========================================================
   TAGS — FULL WIDTH, BIGGER
   ========================================================= */

.rh-footer-tags{
 flex:1 1 100% !important;

 width:100% !important;

 margin:0 !important;
 padding:14px !important;

 box-sizing:border-box;

 border:
  1px solid rgba(48,105,132,.09) !important;

 border-radius:12px !important;

 background:
  rgba(255,255,255,.20);
}

.rh-footer-tags__head{
 margin-bottom:10px !important;
}

.rh-footer-tags__title{
 font-size:11px !important;
 letter-spacing:.045em !important;
}

.rh-footer-tags__hint{
 font-size:9px !important;
}

.rh-footer-tags__list{
 gap:7px !important;
}

.rh-footer-tags__tag,
.rh-footer-tags__more{
 min-height:34px !important;

 padding:8px 11px !important;

 border-radius:9px !important;

 font-size:10px !important;
}


/* =========================================================
   COMMUNITY / COUNTERS
   ========================================================= */

.rh-site-footer__meta{
 flex:1 1 100% !important;

 width:100% !important;

 justify-content:flex-end !important;

 gap:12px !important;

 margin-top:0 !important;
 padding-top:14px !important;

 border-top:
  1px solid rgba(48,105,132,.08);
}

.rh-community{
 padding:9px 11px !important;

 border-radius:10px !important;

 gap:10px !important;
}

.rh-community__groups{
 gap:10px !important;
}

.rh-community__group{
 gap:6px !important;
}

.rh-community__group-label{
 font-size:9px !important;
}

.rh-community__group strong{
 font-size:13px !important;
}

.rh-community__divider{
 height:22px !important;
}

.rh-community__person,
.rh-community__more{
 width:31px !important;
 height:31px !important;

 margin-left:-6px !important;

 font-size:9px !important;
}

.rh-community__person:first-child{
 margin-left:0 !important;
}

.rh-site-footer__powered{
 font-size:11px !important;
}


/* Counters remain native 88x31, only spacing is enlarged */

.rh-site-footer__counters{
 gap:8px !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media(max-width:1180px){

 .rh-site-stats,
 .rh-user-stats{
  flex-basis:100% !important;

  width:100% !important;

  min-width:0 !important;
 }

 .rh-site-stats__list,
 .rh-user-stats__list{
  grid-template-columns:
   repeat(3,minmax(0,1fr)) !important;
 }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:760px){

 .rh-site-footer{
  padding:15px !important;

  gap:12px !important;
 }

 .rh-site-footer__brand strong{
  font-size:17px !important;
 }

 .rh-site-footer__brand > span:not(.rh-site-footer__copyright){
  font-size:12px !important;
 }

 .rh-site-stats,
 .rh-user-stats,
 .rh-recent-comments,
 .rh-footer-tags{
  padding:11px !important;

  border-radius:11px !important;
 }

 .rh-site-stats__list,
 .rh-user-stats__list{
  grid-template-columns:
   repeat(2,minmax(0,1fr)) !important;
 }

 .rh-site-stats__item,
 .rh-user-stats__item{
  min-height:58px !important;

  padding:10px !important;
 }

 .rh-site-stats__item strong,
 .rh-user-stats__item strong{
  font-size:16px !important;
 }

 .rh-site-stats__item span,
 .rh-user-stats__item span{
  font-size:9px !important;
 }

 .rh-recent-comments__list{
  grid-template-columns:
   1fr !important;
 }

 .rh-recent-comments__item{
  min-height:0 !important;
 }

 .rh-footer-tags__tag,
 .rh-footer-tags__more{
  min-height:32px !important;

  font-size:9px !important;
 }

 .rh-site-footer__meta{
  justify-content:flex-start !important;
 }

 .rh-community{
  width:100% !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — HOME WIDGETS CONTENT INSET V2
   Выравнивает верхние виджеты по нижнему .rh-content-section.
   ========================================================================== */

.re-home-widgets-grid{
 width:auto !important;

 margin:
  18px 58px
  20px !important;
}


/* Те же боковые отступы, что у основного контентного блока */

@media(max-width:1180px){

 .re-home-widgets-grid{
  margin:
   16px 28px
   18px !important;
 }

}

@media(max-width:760px){

 .re-home-widgets-grid{
  margin:
   12px 16px
   14px !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — FOOTER COMPACT BALANCED V2
   Компактный footer без пустых широких зон, но с нормальным читаемым размером.
   ========================================================================== */

@media(min-width:1501px){

 .rh-site-footer{
  display:grid !important;

  grid-template-columns:
   minmax(360px,1fr)
   auto
   430px
   300px !important;

  grid-template-areas:
   "brand links stats users"
   "comments comments comments comments"
   "tags tags tags tags"
   "meta meta meta meta";

  align-items:start !important;

  gap:12px 14px !important;

  padding:20px 24px 18px !important;
 }


 /* TOP ROW */

 .rh-site-footer__brand{
  grid-area:brand;

  align-self:center;

  min-width:0;

  padding-right:14px;
 }

 .rh-site-footer__brand strong{
  font-size:18px !important;
 }

 .rh-site-footer__brand > span:not(.rh-site-footer__copyright){
  font-size:12.5px !important;
 }

 .rh-site-footer__copyright{
  font-size:11px !important;
 }

 .rh-site-footer__links{
  grid-area:links;

  align-self:center;
 }

 .rh-site-footer__links a{
  min-height:36px !important;

  padding:8px 13px !important;

  font-size:12px !important;
 }


 /* STATISTICS */

 .rh-site-stats{
  grid-area:stats;

  width:430px !important;
  min-width:0 !important;

  margin:0 !important;
  padding:11px 12px !important;

  border-radius:11px !important;
 }

 .rh-site-stats__head{
  margin-bottom:8px !important;
 }

 .rh-site-stats__title{
  font-size:10px !important;
 }

 .rh-site-stats__note{
  font-size:8px !important;
 }

 .rh-site-stats__list{
  grid-template-columns:
   repeat(3,minmax(0,1fr)) !important;

  gap:7px !important;
 }

 .rh-site-stats__item{
  min-height:58px !important;

  padding:10px 11px !important;

  border-radius:9px !important;
 }

 .rh-site-stats__item strong{
  font-size:16px !important;
 }

 .rh-site-stats__item span{
  margin-top:4px !important;

  font-size:9px !important;
 }


 /* USERS — no giant empty half-column */

 .rh-user-stats{
  grid-area:users;

  width:300px !important;
  min-width:0 !important;

  margin:0 !important;
  padding:11px 12px !important;

  border-radius:11px !important;
 }

 .rh-user-stats__head{
  margin-bottom:8px !important;
 }

 .rh-user-stats__title{
  font-size:10px !important;
 }

 .rh-user-stats__list{
  grid-template-columns:
   repeat(2,minmax(0,1fr)) !important;

  gap:7px !important;
 }

 .rh-user-stats__item{
  min-height:58px !important;

  padding:10px 11px !important;

  border-radius:9px !important;
 }

 .rh-user-stats__item strong{
  font-size:16px !important;
 }

 .rh-user-stats__item span{
  margin-top:4px !important;

  font-size:9px !important;

  white-space:normal !important;
 }

 .rh-user-stats__item--all{
  grid-column:auto !important;
 }


 /* COMMENTS */

 .rh-recent-comments{
  grid-area:comments;

  width:100% !important;

  margin:0 !important;
  padding:11px 12px !important;

  border-radius:11px !important;
 }

 .rh-recent-comments__head{
  margin-bottom:8px !important;
 }

 .rh-recent-comments__title{
  font-size:10px !important;
 }

 .rh-recent-comments__hint{
  font-size:8px !important;
 }

 .rh-recent-comments__list{
  grid-template-columns:
   repeat(3,minmax(0,1fr)) !important;

  gap:9px !important;
 }

 .rh-recent-comments__item{
  min-height:100px !important;

  padding:10px 11px !important;

  border-radius:9px !important;
 }

 .rh-recent-comments__avatar-link,
 .rh-recent-comments__avatar{
  width:34px !important;
  height:34px !important;
 }

 .rh-recent-comments__author{
  font-size:10.5px !important;
 }

 .rh-recent-comments__time{
  font-size:8px !important;
 }

 .rh-recent-comments__message{
  margin-top:7px !important;

  font-size:10px !important;
  line-height:1.35 !important;

  -webkit-line-clamp:2 !important;
 }

 .rh-recent-comments__entry{
  margin-top:6px !important;

  font-size:9px !important;
 }


 /* TAGS */

 .rh-footer-tags{
  grid-area:tags;

  width:100% !important;

  margin:0 !important;
  padding:10px 12px !important;

  border-radius:11px !important;
 }

 .rh-footer-tags__head{
  margin-bottom:7px !important;
 }

 .rh-footer-tags__title{
  font-size:10px !important;
 }

 .rh-footer-tags__hint{
  font-size:8px !important;
 }

 .rh-footer-tags__list{
  gap:6px !important;
 }

 .rh-footer-tags__tag,
 .rh-footer-tags__more{
  min-height:30px !important;

  padding:7px 10px !important;

  border-radius:8px !important;

  font-size:9.5px !important;
 }


 /* BOTTOM META */

 .rh-site-footer__meta{
  grid-area:meta;

  width:100% !important;

  margin:0 !important;
  padding-top:10px !important;

  justify-content:flex-end !important;

  gap:9px !important;
 }

 .rh-community{
  padding:7px 9px !important;
 }

 .rh-community__group-label{
  font-size:8px !important;
 }

 .rh-community__group strong{
  font-size:12px !important;
 }

 .rh-community__person,
 .rh-community__more{
  width:28px !important;
  height:28px !important;

  font-size:8px !important;
 }

}


/* =========================================================
   MID DESKTOP / TABLET
   Keep readable, remove waste, stack intelligently.
   ========================================================= */

@media(min-width:761px) and (max-width:1500px){

 .rh-site-footer{
  display:grid !important;

  grid-template-columns:
   minmax(0,1fr)
   auto !important;

  grid-template-areas:
   "brand links"
   "stats users"
   "comments comments"
   "tags tags"
   "meta meta";

  gap:11px 12px !important;

  padding:18px 20px !important;
 }

 .rh-site-footer__brand{
  grid-area:brand;
 }

 .rh-site-footer__links{
  grid-area:links;

  align-self:start;
 }

 .rh-site-stats{
  grid-area:stats;
 }

 .rh-user-stats{
  grid-area:users;
 }

 .rh-recent-comments{
  grid-area:comments;
 }

 .rh-footer-tags{
  grid-area:tags;
 }

 .rh-site-footer__meta{
  grid-area:meta;
 }


 .rh-site-stats,
 .rh-user-stats{
  width:100% !important;
  min-width:0 !important;

  margin:0 !important;
  padding:11px !important;
 }

 .rh-site-stats__list{
  grid-template-columns:
   repeat(3,minmax(0,1fr)) !important;
 }

 .rh-user-stats__list{
  grid-template-columns:
   repeat(2,minmax(0,1fr)) !important;
 }

 .rh-site-stats__item,
 .rh-user-stats__item{
  min-height:58px !important;

  padding:10px !important;
 }

 .rh-site-stats__item strong,
 .rh-user-stats__item strong{
  font-size:16px !important;
 }

 .rh-site-stats__item span,
 .rh-user-stats__item span{
  font-size:9px !important;
 }

 .rh-recent-comments{
  width:100% !important;

  margin:0 !important;
  padding:11px !important;
 }

 .rh-recent-comments__item{
  min-height:100px !important;

  padding:10px !important;
 }

 .rh-footer-tags{
  width:100% !important;

  margin:0 !important;
  padding:10px 11px !important;
 }

 .rh-site-footer__meta{
  width:100% !important;

  margin:0 !important;
  padding-top:10px !important;
 }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:760px){

 .rh-site-footer{
  display:block !important;

  padding:14px !important;
 }

 .rh-site-footer__brand{
  margin-bottom:10px;
 }

 .rh-site-footer__links{
  margin-bottom:10px;
 }

 .rh-site-stats,
 .rh-user-stats,
 .rh-recent-comments,
 .rh-footer-tags{
  width:100% !important;

  margin:0 0 10px !important;

  padding:10px !important;
 }

 .rh-site-stats__list,
 .rh-user-stats__list{
  gap:6px !important;
 }

 .rh-site-stats__item,
 .rh-user-stats__item{
  min-height:54px !important;

  padding:9px !important;
 }

 .rh-site-stats__item strong,
 .rh-user-stats__item strong{
  font-size:15px !important;
 }

 .rh-site-stats__item span,
 .rh-user-stats__item span{
  font-size:8.5px !important;
 }

 .rh-recent-comments__item{
  min-height:0 !important;

  padding:9px 10px !important;
 }

 .rh-footer-tags__tag,
 .rh-footer-tags__more{
  min-height:30px !important;

  font-size:9px !important;
 }

 .rh-site-footer__meta{
  padding-top:9px !important;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — WHAT'S NEW ALWAYS VISIBLE V1.2
   ========================================================================== */

.re-whats-new__close,
.re-whats-new__foot{
 display:none !important;
}

/* ==========================================================================
   RUSSIAN EMIGRANT — WHAT'S NEW ONLY LAYOUT V1
   Счётчик срока пребывания удалён. Остаётся одна широкая карточка.
   ========================================================================== */

.re-home-widgets-grid{
 grid-template-columns:1fr !important;
}

.re-home-widgets-grid
.re-whats-new-wrap{
 width:100% !important;
 max-width:none !important;

 margin:0 !important;
 padding:0 !important;
}

.re-home-widgets-grid
.re-whats-new{
 width:100% !important;
 max-width:none !important;
 height:auto !important;

 margin:0 !important;

 padding:15px 17px !important;

 box-sizing:border-box;
}

.re-home-widgets-grid
.re-whats-new__list{
 grid-template-columns:
  repeat(3,minmax(0,1fr)) !important;

 gap:8px !important;

 margin-top:11px !important;
}

.re-home-widgets-grid
.re-whats-new__item{
 min-height:74px;

 padding:10px 11px !important;
}

.re-home-widgets-grid
.re-whats-new__item-body strong{
 font-size:11px !important;
}

.re-home-widgets-grid
.re-whats-new__item-body span{
 font-size:9.5px !important;
 line-height:1.4 !important;
}

@media(max-width:900px){

 .re-home-widgets-grid
 .re-whats-new__list{
  grid-template-columns:1fr !important;
 }

 .re-home-widgets-grid
 .re-whats-new__item{
  min-height:0;
 }

}

/* ==========================================================================
   RUSSIAN EMIGRANT — STATIC FOOTER WHAT'S NEW V1
   Текст редактируется прямо в FOOTER-HTML.txt, без JS.
   ========================================================================== */

.rh-footer-whats-new{
 grid-area:new;

 width:100%;

 box-sizing:border-box;

 margin:0;
 padding:11px 12px;

 border:
  1px solid rgba(80,91,136,.09);

 border-radius:11px;

 background:
  rgba(255,255,255,.22);
}

.rh-footer-whats-new__head{
 display:flex;
 align-items:baseline;
 gap:8px;

 margin-bottom:8px;
}

.rh-footer-whats-new__eyebrow{
 color:#8b99a3;

 font-size:8px;
 line-height:1;
 font-weight:850;
 letter-spacing:.075em;
 text-transform:uppercase;
}

.rh-footer-whats-new__title{
 color:#475e78;

 font-size:11px;
 line-height:1.1;
 font-weight:900;
}

.rh-footer-whats-new__list{
 display:grid;

 grid-template-columns:
  repeat(3,minmax(0,1fr));

 gap:8px;
}

.rh-footer-whats-new__item{
 display:flex;
 align-items:flex-start;
 gap:8px;

 min-width:0;

 box-sizing:border-box;

 padding:9px 10px;

 border:
  1px solid rgba(80,91,136,.07);

 border-radius:9px;

 background:
  rgba(255,255,255,.28);
}

.rh-footer-whats-new__dot{
 flex:0 0 auto;

 width:7px;
 height:7px;

 margin-top:4px;

 border-radius:50%;

 background:
  rgba(48,136,157,.62);

 box-shadow:
  0 0 0 3px
  rgba(48,136,157,.07);
}

.rh-footer-whats-new__item div{
 min-width:0;
}

.rh-footer-whats-new__item strong{
 display:block;

 margin-bottom:3px;

 color:#466878;

 font-size:10px;
 line-height:1.2;
 font-weight:900;
}

.rh-footer-whats-new__item span:not(.rh-footer-whats-new__dot){
 display:block;

 color:#7f9098;

 font-size:9px;
 line-height:1.35;
 font-weight:550;
}


/* Wide footer grid: add a dedicated full-width row for "Новое на портале". */

@media(min-width:1501px){

 .rh-site-footer{
  grid-template-areas:
   "brand links stats users"
   "new new new new"
   "comments comments comments comments"
   "tags tags tags tags"
   "meta meta meta meta" !important;
 }

}


/* Mid desktop/tablet footer grid */

@media(min-width:761px) and (max-width:1500px){

 .rh-site-footer{
  grid-template-areas:
   "brand links"
   "stats users"
   "new new"
   "comments comments"
   "tags tags"
   "meta meta" !important;
 }

}


/* Mobile */

@media(max-width:760px){

 .rh-footer-whats-new{
  width:100%;

  margin:0 0 10px;
  padding:10px;
 }

 .rh-footer-whats-new__head{
  display:block;
 }

 .rh-footer-whats-new__eyebrow{
  display:block;

  margin-bottom:3px;
 }

 .rh-footer-whats-new__title{
  display:block;

  font-size:12px;
 }

 .rh-footer-whats-new__list{
  grid-template-columns:1fr;

  gap:6px;
 }

 .rh-footer-whats-new__item{
  padding:9px;
 }

}
