/* Модуль «Сообщения и сообщества»: общее. */
.sc-body { min-height: 100vh; }
.sc-body b, .sc-body dt, .sc-venue b { font-variant-numeric: lining-nums; }
.sc-body [hidden] { display: none !important; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.sc-muted { color: var(--mute); font-size: 14px; margin: 0; }
.sc-link { background: none; border: 0; padding: 0 0 2px; font-size: 14px; border-bottom: 1px solid var(--brass); color: var(--ink); text-decoration: none; }
.sc-x { width: 26px; height: 26px; border-radius: 50%; border: 1px solid var(--rule); background: var(--paper); font-size: 16px; line-height: 1; display: inline-grid; place-items: center; padding: 0; flex: none; }
.sc-input { width: 100%; font: 400 18px var(--serif); color: var(--ink); background: transparent; border: 0; border-bottom: 1px solid var(--rule); padding: 8px 0; border-radius: 0; }
.sc-input:focus { outline: none; border-color: var(--brass); }
.sc-btn-s { height: 38px; padding: 0 18px; font-size: 13px; }
.sc-btn-line { background: transparent; color: var(--ink); border: 1px solid var(--rule); }
.sc-btn-line::after { background: var(--porcelain-2); }
.sc-gate { max-width: 520px; margin: 40px auto; text-align: center; display: grid; justify-items: center; gap: 14px; padding: 48px 28px; }
.sc-gate h2 { font-size: clamp(30px, 5vw, 42px); }
.sc-gate p { color: var(--ink-2); margin: 0 0 8px; }

/* модальные окна выбора */
.sc-modal__box { width: min(520px, 100%); max-height: min(680px, calc(100vh - 32px)); grid-template-rows: auto auto 1fr; gap: 12px; padding: 28px 24px 18px; }
.sc-modal__box .eyebrow { margin: 0; }
.sc-pick { overflow-y: auto; margin: 0 -8px; padding: 0 8px; min-height: 120px; }
.sc-pick .sc-muted { padding: 18px 0; }
.sc-pick__row { display: flex; align-items: center; gap: 14px; width: 100%; text-align: left; background: none; border: 0; border-bottom: 1px solid var(--rule); padding: 12px 4px; transition: background .2s; }
.sc-pick__row:hover, .sc-pick__row:focus-visible { background: var(--porcelain-2); outline: none; }
.sc-pick__row > b { font: 500 26px/1 var(--serif); color: var(--brass); min-width: 44px; }
.sc-pick__row span:not(.kit-ava) { display: grid; min-width: 0; }
.sc-pick__row strong { font: 500 19px/1.2 var(--serif); }
.sc-pick__row small { color: var(--mute); font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* карточка заведения */
.sc-venue { display: flex; gap: 14px; align-items: stretch; text-decoration: none; color: var(--ink); background: var(--porcelain); border: 1px solid var(--rule); border-left: 2px solid var(--brass); padding: 14px 16px; border-radius: 2px; transition: border-color .3s, transform .3s var(--ease); }
.sc-venue:hover { border-color: var(--brass); transform: translateY(-1px); }
.sc-venue--gone { color: var(--mute); font-size: 13px; font-style: italic; }
.sc-venue__score { display: grid; align-content: center; justify-items: center; min-width: 58px; padding-right: 14px; border-right: 1px solid var(--rule); }
.sc-venue__score b { font: 500 34px/1 var(--serif); color: var(--brass); }
.sc-venue__score i { font-style: normal; font-size: 9px; letter-spacing: .14em; text-transform: uppercase; color: var(--mute); margin-top: 4px; }
.sc-venue__score.is-anti b { color: var(--rose); }
.sc-venue__body { display: grid; gap: 2px; min-width: 0; }
.sc-venue__cat { font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: var(--brass); font-weight: 600; }
.sc-venue__name { font: 500 21px/1.15 var(--serif); }
.sc-venue__addr { font-size: 12px; color: var(--mute); }
.sc-venue__go { font-size: 12px; margin-top: 4px; color: var(--ink-2); }

/* генеративные обложки */
.sc-art { background-color: var(--night); color: var(--brass-hi); position: relative; overflow: hidden; }
.sc-art::before { content: ""; position: absolute; inset: 0; opacity: .5; }
.sc-art--tiles::before { background-image: linear-gradient(rgba(226, 200, 143, .22) 1px, transparent 1px), linear-gradient(90deg, rgba(226, 200, 143, .22) 1px, transparent 1px); background-size: 28px 28px; }
.sc-art--arches::before { background: radial-gradient(circle at 50% 100%, transparent 26px, rgba(226, 200, 143, .3) 27px, rgba(226, 200, 143, .3) 28px, transparent 29px) 0 0 / 56px 40px; }
.sc-art--waves::before { background: repeating-radial-gradient(circle at 0 120%, transparent 0 14px, rgba(141, 182, 201, .28) 15px 16px); }
.sc-art--rings::before { background: repeating-radial-gradient(circle at 80% 30%, transparent 0 18px, rgba(226, 200, 143, .22) 19px 20px); }
