.is-hidden { display: none !important; }
  /* MVP ленты. Раскладка повторяет публичные страницы прода (раздел «Сообщества»): основной столбец 725 px,
     слева у анонима – «Войти»/«Зарегистрироваться». Меню кабинета на странице ленты нет.
     Компоненты – классы ДС «Содружество»; свои стили – только раскладка и то, чего нет в ДС (помечено). */
  .is-hidden { display: none !important; }
  .lk { padding-top: 10px; }
  .anon-aside { display: flex; flex-direction: column; gap: 12px; }

  .post__score { font-size: 12px; font-weight: 500; line-height: 18px; color: var(--color-accent-link); background: var(--color-accent-blue-light); border-radius: 10px; padding: 6px 12px; } /* только для прототипа */
  /* ---------- Карточка поста и карточка сообщества – по меркам прода (замер 27.10.2026, 1440 и 375 px) ----------
     ДС описывает пост иначе (паддинг 24, текст 13 px, медиа после текста); прод – источник истины, поэтому здесь локальные стили. */
  .pc { display: flex; flex-direction: column; gap: 20px; padding: 30px; background: #fff; border-radius: 20px; box-shadow: 0 5px 20px rgba(0,0,0,.05), 0 -5px 20px rgba(0,0,0,.05); color: var(--color-text-primary); }
  .pc__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
  .pc__who { display: flex; align-items: center; gap: 10px; min-width: 0; }
  .pc__logo { flex: 0 0 40px; width: 40px; height: 40px; border-radius: 50%; overflow: hidden; background: #89CBDB; display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 600; color: #fff; }
  .pc__logo img { width: 100%; height: 100%; object-fit: cover; }
  .pc__names { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
  .pc__community { display: inline-flex; align-items: center; gap: 6px; font-size: 16px; font-weight: 600; line-height: 19.2px; color: inherit; text-decoration: none; }
  .pc__community:hover { color: var(--color-accent-link); }
  .pc__author { font-size: 12px; font-weight: 500; line-height: 18px; color: inherit; }
  .pc__dots { flex: 0 0 32px; width: 32px; height: 32px; margin-top: 5px; border: 0; border-radius: 50%; background: none; color: #6F6F82; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
  .pc__body { display: flex; flex-direction: column; gap: 20px; }
  .pc__media { position: relative; aspect-ratio: 16 / 9; border-radius: 8px; overflow: hidden; background: #F7F7F8; }
  .pc__media-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: blur(20px); transform: scale(1.1); }
  .pc__media-img { position: relative; width: 100%; height: 100%; object-fit: contain; }
  .pc__text { margin: 0; font-size: 16px; font-weight: 500; line-height: 24px; overflow-wrap: anywhere; white-space: pre-line; } /* переносы и пустые строки автора сохраняются, как на проде */
  .pc__more { font-weight: 600; color: #3973AF; cursor: pointer; white-space: nowrap; }
  .pc__more:hover { color: #F187C3; }
  .pc__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; } /* на самых узких экранах дата переносится, а не обрезается */
  .pc__actions { display: flex; align-items: center; gap: 20px; }
  .pc__stat { display: inline-flex; align-items: center; gap: 10px; margin: -4px -8px; padding: 4px 8px; border: 0; border-radius: 12px; background: none; font: inherit; font-size: 16px; font-weight: 600; line-height: 19.2px; color: #6F6F82; cursor: pointer; }
  .pc__stat .icon { width: 20px; height: 20px; }
  .pc__stat--liked .icon { fill: #EE786B; stroke: #EE786B; }
  .pc__date { font-size: 16px; font-weight: 600; line-height: 19.2px; color: #6F6F82; }
  .pc { position: relative; }
  .pc__stat--on .icon { fill: #6F6F82; } /* комментарии раскрыты – иконка залита, как на проде */
  /* Меню «⋯» – поповер прода (ControlsModal): белый, скругление 20, пункты с иконкой 16/600 */
  .pc-menu { position: absolute; right: 30px; top: 66px; z-index: 30; display: flex; flex-direction: column; min-width: 280px; padding: 12px 0; background: #fff; border-radius: 20px; box-shadow: 0 5px 30px rgba(0,0,0,.12); }
  .pc-menu--c { top: 34px; right: 0; min-width: 220px; }
  .pc__date, .cm__date { white-space: nowrap; }
  .pc-menu__item { display: flex; align-items: center; gap: 10px; padding: 10px 24px; border: 0; background: none; font: inherit; font-size: 16px; font-weight: 600; line-height: 19.2px; color: var(--color-text-primary); text-align: left; cursor: pointer; }
  .pc-menu__item:hover { color: var(--color-accent-link); }
  .pc-menu__item--danger { color: #EE786B; } /* «Удалить» – красным, как на платформе */
  .pc-menu__item .icon { width: 24px; height: 24px; }
  /* Комментарии – раскрываются под постом (PostCommentsSection прода): линия, поле ввода, список по возрастанию даты */
  .pcm { display: flex; flex-direction: column; gap: 20px; }
  .pcm__sep { height: 1px; background: #DFE1EE; }
  .pcm__list { display: flex; flex-direction: column; gap: 20px; }
  .pcm__form { display: flex; align-items: center; gap: 10px; }
  .pcm__field { position: relative; flex: 1; min-width: 0; }
  .pcm__input { width: 100%; height: 60px; padding: 0 60px 0 24px; border: 1px solid #DFE1EE; border-radius: 30px; background: #fff; font: inherit; font-size: 18px; font-weight: 500; color: var(--color-text-primary); outline: none; }
  .pcm__input::placeholder { color: #6F6F82; }
  .pcm__input:focus { border-color: #89CBDB; }
  .pcm__emoji { position: absolute; right: 18px; top: 50%; transform: translateY(-50%); width: 28px; height: 28px; border: 0; background: none; color: #3D3D50; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
  .pcm__send { flex: 0 0 60px; width: 60px; height: 60px; border: 1px solid #DFE1EE; border-radius: 50%; background: #fff; color: #3D3D50; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
  .pcm__send:disabled { opacity: .4; cursor: default; }
  .pcm__send:not(:disabled):hover { border-color: #3D3D50; }
  .pcm__picker { position: absolute; right: 0; bottom: 68px; z-index: 30; display: flex; flex-wrap: wrap; gap: 4px; width: 232px; padding: 12px; background: #fff; border-radius: 20px; box-shadow: 0 5px 30px rgba(0,0,0,.12); }
  .pcm__picker button { width: 48px; height: 40px; border: 0; border-radius: 12px; background: none; font-size: 22px; cursor: pointer; }
  .pcm__picker button:hover { background: #F7F7F8; }
  .pcm__empty, .pcm__more { font-size: 16px; font-weight: 500; line-height: 24px; color: #6F6F82; }
  .pcm__more { align-self: flex-start; border: 0; background: none; padding: 0; font: inherit; font-weight: 600; color: #3973AF; cursor: pointer; }
  .pcm__err { font-size: 14px; color: #EE786B; }
  .cm { position: relative; display: flex; flex-direction: column; gap: 15px; }
  .cm--reply { margin-left: 48px; }
  .cm__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
  .cm__who { display: flex; align-items: center; gap: 10px; min-width: 0; font-size: 16px; font-weight: 600; line-height: 19.2px; }
  .cm__av { flex: 0 0 38px; width: 38px; height: 38px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 600; color: #fff; }
  .cm__text { margin: 0; font-size: 16px; font-weight: 500; line-height: 24px; overflow-wrap: anywhere; white-space: pre-wrap; }
  .cm__foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
  .cm__actions { display: flex; align-items: center; gap: 20px; }
  .cm__reply { border: 0; background: none; padding: 0; font: inherit; font-size: 16px; font-weight: 500; line-height: 24px; color: #3973AF; cursor: pointer; }
  .cm__date { font-size: 16px; font-weight: 500; line-height: 24px; color: #6F6F82; }
  .cm .pc__dots { margin-top: 0; }
  .pc__dots .icon { fill: currentColor; stroke: none; } /* на проде точки залитые */
  .pc__dots:hover, .pc__dots[aria-expanded="true"] { background: #F7F7F8; } /* как на проде: серый круг под открытым «⋯» */
  /* Свой пост после публикации – первым в текущей вкладке до перезагрузки страницы */
  .post-modal-overlay { z-index: 1040; }
  .post-modal-overlay .modal { max-width: calc(100vw - 32px); max-height: calc(100vh - 32px); }
  /* Модалка перед входом (ФТ-7): показывается после действия анонима, до страницы SSO */
  .auth-modal-overlay { z-index: 1050; }
  .auth-modal { width: 440px; }
  .badge-off { width: 18px; height: 18px; flex: 0 0 18px; }

  .cc { display: flex; flex-direction: column; gap: 16px; padding: 15px; background: #F7F7F8; border-radius: 20px; color: var(--color-text-primary); }
  .cc__logo { display: block; width: 44px; height: 44px; border-radius: 50%; overflow: hidden; background: #DFE1EE; }
  .cc__logo img { width: 100%; height: 100%; object-fit: cover; }
  .cc__main { flex: 1 1 auto; display: flex; flex-direction: column; gap: 5px; color: inherit; text-decoration: none; }
  .cc__tags { display: flex; flex-direction: column; align-items: flex-start; flex-wrap: nowrap; gap: 8px; margin-bottom: 6px; min-width: 0; max-width: 100%; }
  .cc__tag { display: block; box-sizing: border-box; width: fit-content; max-width: 100%; padding: 6px 12px; border-radius: 999px; font-size: 13px; font-weight: 500; line-height: 1.5; text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .cc__title { display: flex; align-items: center; gap: 6px; margin: 0; font-size: 16px; font-weight: 600; line-height: 24px; }
  .cc__main:hover .cc__title { color: var(--color-accent-link); }
  .cc__desc { margin: 0; font-size: 14px; font-weight: 500; line-height: 21px; color: #6F6F82; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
  .cc__btn { height: 40px; font-size: 16px; }
  @media (max-width: 767px) {
    .pc { padding: 24px 16px; gap: 16px; }
    .pc__body { gap: 16px; }
    .pc-menu { right: 16px; top: 58px; min-width: 0; width: max-content; max-width: calc(100% - 32px); }
    .pc-menu--c { right: 0; max-width: 100%; }
    .pcm { gap: 16px; }
    .pcm__input { height: 48px; padding: 0 48px 0 16px; font-size: 16px; }
    .pcm__emoji { right: 12px; }
    .pcm__send { flex-basis: 48px; width: 48px; height: 48px; }
    .cm--reply { margin-left: 24px; }
  }
  .feed-title { margin: 0 0 20px; }
  .feed { display: flex; flex-direction: column; gap: 20px; }
  .poll .poll__art { right: 0; bottom: -10px; width: 108px; height: 108px; border-radius: 0; background: none; }
  .poll-row .poll { padding-right: 96px; }
  .feed-end { display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 10px 0 20px; text-align: center; }
  .feed-end .s-p-small { color: var(--color-text-tertiary); }
  /* индикатор подгрузки прода: 8 коралловых точек по кругу, яркая точка бежит по часовой */
  .loader { position: relative; width: 80px; height: 80px; margin: 24px auto 40px; }
  .loader i { position: absolute; left: 50%; top: 50%; width: 13px; height: 13px; margin: -6.5px; border-radius: 50%; background: #EE786B; opacity: .2; animation: loaderDot .8s linear infinite; }
  .loader i:nth-child(1) { transform: rotate(0deg) translateY(-34px); animation-delay: 0s; }
  .loader i:nth-child(2) { transform: rotate(45deg) translateY(-34px); animation-delay: .1s; }
  .loader i:nth-child(3) { transform: rotate(90deg) translateY(-34px); animation-delay: .2s; }
  .loader i:nth-child(4) { transform: rotate(135deg) translateY(-34px); animation-delay: .3s; }
  .loader i:nth-child(5) { transform: rotate(180deg) translateY(-34px); animation-delay: .4s; }
  .loader i:nth-child(6) { transform: rotate(225deg) translateY(-34px); animation-delay: .5s; }
  .loader i:nth-child(7) { transform: rotate(270deg) translateY(-34px); animation-delay: .6s; }
  .loader i:nth-child(8) { transform: rotate(315deg) translateY(-34px); animation-delay: .7s; }
  @keyframes loaderDot { 0% { opacity: 1; } 40% { opacity: .55; } 100% { opacity: .2; } }
  /* Пустые «Подписки» – вид прода: белая карточка, иллюстрация-лупа слева, текст 20/600 и контурная кнопка справа */
  .subs-empty { display: flex; align-items: center; gap: 48px; padding: 32px 48px; background: #fff; border-radius: 20px; box-shadow: var(--shadow-card); }
  .subs-empty__art { flex: 0 0 160px; width: 160px; height: 160px; }
  .subs-empty__body { display: flex; flex-direction: column; align-items: flex-start; gap: 24px; }
  .subs-empty__text { margin: 0; max-width: 560px; font-size: 20px; font-weight: 600; line-height: 30px; color: #3D3D50; }
  @media (max-width: 767px) {
    .subs-empty { flex-direction: column; align-items: center; gap: 20px; padding: 24px 16px; text-align: center; }
    .subs-empty__art { flex-basis: 120px; width: 120px; height: 120px; }
    .subs-empty__body { align-items: center; gap: 20px; }
    .subs-empty__text { font-size: 18px; line-height: 26px; }
  }
  .skeleton { height: 180px; border-radius: 20px; background: var(--color-bg-athens); }

  /* Выпадающие меню шапки – как на проде (компонент ДС .dropdown) */
  .nav-dd { position: relative; }
  .nav-dd__menu { position: absolute; left: -16px; top: 36px; z-index: 60; min-width: 260px; }
  /* Страница SSO прода – только чтобы показать путь в прототипе */
  .sso { position: fixed; inset: 0; z-index: 1050; overflow: auto; padding: 40px 16px; background: #F7F7F8; }
  .sso__url { max-width: 1160px; margin: 0 auto 16px; font-size: 12px; font-weight: 500; color: #6F6F82; }
  .sso__top { display: flex; align-items: center; justify-content: space-between; max-width: 1160px; margin: 0 auto 40px; }
  .sso__back { display: inline-flex; align-items: center; gap: 8px; border: 0; background: none; font: inherit; font-size: 16px; font-weight: 600; color: #3D3D50; cursor: pointer; }
  .sso__lang { padding: 14px 16px; border-radius: 12px; background: #fff; font-size: 18px; font-weight: 600; }
  .sso__card { display: flex; flex-direction: column; gap: 20px; width: 100%; max-width: 640px; margin: 0 auto; padding: 60px 46px; background: #fff; border-radius: 30px; box-shadow: 0 20px 40px rgba(0,0,0,.06); text-align: center; }
  .sso__title { margin: 0 0 8px; font-size: 48px; font-weight: 600; line-height: 1.1; }
  .sso__seg { display: flex; padding: 3px; border-radius: 12px; background: #F1F2F2; }
  .sso__seg-btn { flex: 1; height: 26px; border: 0; border-radius: 9px; background: none; font: inherit; font-size: 14px; font-weight: 600; color: #6F6F82; cursor: pointer; }
  .sso__seg-btn.is-on { background: #fff; color: #3D3D50; }
  .sso__input { width: 100%; height: 50px; padding: 0 20px; border: 1px solid #DFE1EE; border-radius: 12px; font: inherit; font-size: 16px; font-weight: 500; outline: none; }
  .sso__input:focus { border-color: #3D3D50; }
  .sso__pass { position: relative; } .sso__pass .icon { position: absolute; right: 16px; top: 13px; }
  .sso__forgot { font-size: 14px; font-weight: 600; color: #3D3D50; cursor: pointer; }
  .sso__submit { height: 50px; border: 0; border-radius: 12px; background: #3973AF; font: inherit; font-size: 16px; font-weight: 600; color: #fff; cursor: pointer; }
  .sso__submit:disabled { background: #9DB7D9; cursor: default; }
  .sso__reg { font-size: 14px; font-weight: 600; }
  @media (max-width: 767px) { .sso { padding: 20px 16px; } .sso__card { padding: 32px 20px; } .sso__top { margin-bottom: 24px; } .sso__title { font-size: 30px; } }
  .toast-wrap { position: fixed; top: 20px; left: 50%; transform: translateX(-50%); z-index: 1100; }
  .toast-wrap--br { top: auto; left: auto; right: 20px; bottom: 20px; transform: none; }
  @media (max-width: 767px) { .toast-wrap--br { left: 16px; right: 16px; bottom: 16px; } .toast-wrap--br .toast { width: 100%; } }

  /* Панель прототипа – не часть продукта */
  .proto-toggle { position: fixed; left: 20px; bottom: 20px; z-index: 1001; background: var(--color-bg-surface); }
  .proto-panel { display: none; position: fixed; left: 20px; bottom: 64px; z-index: 1000; width: 290px; max-height: calc(100vh - 90px); overflow: auto; padding: 16px 18px; background: var(--color-bg-surface); border-radius: var(--radius-card); box-shadow: var(--shadow-elevated); }
  .proto-panel.is-open { display: block; }
  .proto-panel__label { margin: 12px 0 8px; font-size: 10px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--color-text-tertiary); }
  .proto-panel__label:first-child { margin-top: 0; }
  .proto-panel .radio, .proto-panel .checkbox { display: flex; margin-bottom: 6px; font-size: 12px; font-weight: 500; gap: 8px; }
  .proto-panel .radio__dot { width: 16px; height: 16px; border-width: 1.5px; }
  .proto-panel .radio input:checked + .radio__dot { border-width: 5px; }
  .proto-panel .checkbox__box { width: 16px; height: 16px; }

  /* Рекомендуемые сообщества – одним блоком сразу под первым постом на всех ширинах:
     горизонтальная карусель; на десктопе – стрелки, на мобильном – свайп */
  .comm-strip { display: flex; flex-direction: column; gap: 16px; padding: 24px 0 24px 24px; background: var(--color-bg-athens); border-radius: 20px; }
  .comm-strip__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-right: 24px; }
  .comm-strip__ctrl { display: flex; align-items: center; gap: 16px; }
  .comm-strip__row { display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding-right: 24px; scrollbar-width: none; }
  .comm-strip__row::-webkit-scrollbar { display: none; }
  .comm-strip__row .cc { flex: 0 0 clamp(240px, 21vw, 380px); min-width: 0; scroll-snap-align: start; background: #fff; }

  /* ---------- Mobile first: до 1180 px ДС прячет пункты шапки и складывает колонки ----------
     Левой колонки нет: контент сразу, пункты шапки – в меню-бургере. */
  .burger { display: none; }
  .mob-menu { position: absolute; right: 0; top: 52px; z-index: 60; min-width: 260px; }
  .header__right { position: relative; }
  @media (max-width: 1179px) {
    .lk__aside { display: none; }
    .burger { display: inline-flex; }
    .tabs--s { display: flex; overflow-x: auto; scrollbar-width: none; }
    .tabs--s .tab { flex: 0 0 auto; }
  }
  @media (max-width: 767px) {
    .lk__main { gap: 16px; }
    .comm-strip { padding: 16px 0 16px 16px; gap: 12px; }
    .comm-strip__head { padding-right: 16px; }
    .comm-strip__row { padding-right: 16px; }
    .comm-strip .arrow-group { display: none; }
    .header__lang { display: none; }
    .proto-toggle { left: 12px; bottom: 12px; }
    .proto-panel { left: 12px; bottom: 56px; width: calc(100vw - 24px); }
  }

.feed-demo-note { margin: -8px 0 4px; color: var(--color-text-secondary); font-size: 14px; line-height: 1.4; }
.pc__media-bg { opacity: .18; }
