/* no-recolor — «Контакты» (App\Support\SiteContacts, partials/site-contacts-cards): карточки каналов связи на главной (Нео и Олдскул)
   и на странице кабинета. Цвета — переменными --sc-*: по умолчанию тёмные, ниже — привязка к токенам главной «Нео» (--nl-*),
   главной «Олдскул» (hsl(var(--…))) и кабинета «Нео» (--neo-*). У Telegram и WhatsApp свои фирменные цвета, у почты — акцент площадки.
   Старые WebView: без inset/:is/color-mix; анимации — только transform/opacity. */

.sc-grid {
    --sc-bg: linear-gradient(160deg, #17171F 0%, #101016 100%);
    --sc-line: rgba(255, 255, 255, .09);
    --sc-t1: #FFFFFF; --sc-t2: rgba(255, 255, 255, .68); --sc-t3: rgba(255, 255, 255, .45);
    --sc-acc: #A67EFB; --sc-acc-soft: rgba(166, 126, 251, .16);
    --sc-btn: rgba(255, 255, 255, .06); --sc-btn-h: rgba(255, 255, 255, .12);
    --sc-r: 24px;
    display: grid; gap: 18px; grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0 auto; max-width: 1180px; font-family: inherit;
}
.sc-grid--n1 { grid-template-columns: minmax(0, 440px); justify-content: center; }
.sc-grid--n2 { grid-template-columns: repeat(2, minmax(0, 440px)); justify-content: center; }
.sc-grid *, .sc-grid *::before, .sc-grid *::after { box-sizing: border-box; }

.sc-card {
    --sc-c: var(--sc-acc); --sc-c-soft: var(--sc-acc-soft);
    position: relative; display: flex; flex-direction: column; min-width: 0;
    border-radius: var(--sc-r); border: 1px solid var(--sc-line); background: var(--sc-bg);
    color: var(--sc-t1); overflow: hidden; isolation: isolate;
    transition: transform .35s cubic-bezier(.2, .8, .2, 1), border-color .25s, box-shadow .35s;
}
.sc-card--telegram { --sc-c: #2AABEE; --sc-c-soft: rgba(42, 171, 238, .16); }
.sc-card--whatsapp { --sc-c: #25D366; --sc-c-soft: rgba(37, 211, 102, .15); }
/* мягкое свечение цвета канала в углу */
.sc-card::before {
    content: ""; position: absolute; z-index: -1; top: -40%; right: -30%; width: 80%; height: 120%;
    background: radial-gradient(closest-side, var(--sc-c-soft), transparent 70%); opacity: .9;
    transition: opacity .35s, transform .5s cubic-bezier(.2, .8, .2, 1);
}
.sc-card:hover { transform: translateY(-4px); border-color: var(--sc-c); box-shadow: 0 22px 46px -26px var(--sc-c); }
.sc-card:hover::before { opacity: 1; transform: scale(1.15); }

.sc-card__main {
    display: flex; flex-direction: column; gap: 18px; padding: 26px 26px 22px; color: inherit; text-decoration: none; flex: 1 1 auto;
}
.sc-card__main:focus-visible { outline: 2px solid var(--sc-c); outline-offset: -4px; border-radius: var(--sc-r); }
.sc-card__top { display: flex; align-items: center; gap: 14px; }
.sc-card__ic {
    flex: none; width: 54px; height: 54px; border-radius: 16px; display: inline-flex; align-items: center; justify-content: center;
    color: #fff; background: var(--sc-c);
    box-shadow: 0 10px 24px -10px var(--sc-c), inset 0 1px 0 rgba(255, 255, 255, .28);
}
.sc-card__ic svg { width: 28px; height: 28px; display: block; }
.sc-card__label { display: block; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--sc-c); }
.sc-card__hint { display: block; margin-top: 2px; font-size: 13.5px; line-height: 1.35; color: var(--sc-t3); }
.sc-card__val {
    display: block; font-size: 21px; line-height: 1.25; font-weight: 700; letter-spacing: -.01em; color: var(--sc-t1);
    overflow-wrap: anywhere; word-break: break-word;
}
.sc-card__val--long { font-size: 17px; overflow-wrap: anywhere; word-break: normal; }
.sc-card__foot { display: flex; align-items: center; gap: 10px; padding: 0 26px 24px; }
.sc-card__go {
    flex: 1 1 auto; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 0 18px;
    border-radius: 14px; background: var(--sc-c); color: #fff; font-size: 14.5px; font-weight: 700; text-decoration: none;
    transition: filter .2s, transform .2s;
}
.sc-card__go:hover { filter: brightness(1.08); color: #fff; }
.sc-card__go:active { transform: scale(.98); }
.sc-card__go svg { width: 18px; height: 18px; transition: transform .25s; }
.sc-card__go:hover svg { transform: translateX(3px); }
.sc-card__copy {
    flex: none; position: relative; width: 46px; height: 46px; border-radius: 14px; border: 1px solid var(--sc-line);
    background: var(--sc-btn); color: var(--sc-t2); cursor: pointer; display: inline-flex; align-items: center; justify-content: center;
    transition: background .2s, color .2s, border-color .2s;
}
.sc-card__copy:hover { background: var(--sc-btn-h); color: var(--sc-t1); }
.sc-card__copy:focus-visible { outline: 2px solid var(--sc-c); outline-offset: 2px; }
.sc-card__copy svg { width: 19px; height: 19px; }
.sc-card__copy .sc-ok { display: none; color: var(--sc-c); }
.sc-card__copy.is-done { border-color: var(--sc-c); }
.sc-card__copy.is-done .sc-cp { display: none; }
.sc-card__copy.is-done .sc-ok { display: block; }
.sc-card__tip {
    position: absolute; bottom: calc(100% + 8px); right: 0; padding: 5px 9px; border-radius: 8px; white-space: nowrap;
    font-size: 12px; font-weight: 600; color: #fff; background: rgba(20, 20, 28, .95); pointer-events: none;
    opacity: 0; transform: translateY(4px); transition: opacity .2s, transform .2s;
}
.sc-card__copy.is-done .sc-card__tip { opacity: 1; transform: none; }

@media (max-width: 960px) {
    .sc-grid, .sc-grid--n2 { grid-template-columns: minmax(0, 1fr); max-width: 560px; }
    .sc-grid--n1 { grid-template-columns: minmax(0, 1fr); max-width: 560px; }
}
@media (max-width: 480px) {
    .sc-grid { gap: 12px; --sc-r: 20px; }
    .sc-card__main { padding: 20px 18px 16px; gap: 14px; }
    .sc-card__foot { padding: 0 18px 18px; }
    .sc-card__ic { width: 48px; height: 48px; border-radius: 14px; }
    .sc-card__ic svg { width: 25px; height: 25px; }
    .sc-card__val { font-size: 19px; }
    .sc-card__val--long { font-size: 16.5px; }
}
@media (prefers-reduced-motion: reduce) {
    .sc-card, .sc-card::before, .sc-card__go, .sc-card__go svg { transition: none; }
    .sc-card:hover { transform: none; }
}

/* ---------- главная «Нео» ---------- */
.nl-body .sc-grid {
    --sc-bg: var(--nl-card-fill); --sc-line: var(--nl-line-2);
    --sc-t1: var(--nl-t1); --sc-t2: var(--nl-t2); --sc-t3: var(--nl-t3);
    --sc-acc: var(--nl-acc); --sc-acc-soft: rgba(var(--nl-acc-rgb), .18);
    --sc-btn: var(--nl-glass); --sc-btn-h: var(--nl-glass-2);
    --sc-r: 28px;
}
html.nl-light .nl-body .sc-card { box-shadow: 0 18px 40px -30px rgba(30, 24, 70, .45); }
html.nl-light .nl-body .sc-card--email { --sc-c: #6A47F0; }
.nl-contacts .nl-sec__head { margin-bottom: 44px; }

/* ---------- главная «Олдскул» ---------- */
.sc-old { padding: 3.5rem 1.5rem 3.75rem; background: hsl(var(--background)); border-top: 1px solid hsl(var(--border) / .45); }
.sc-old__head { max-width: 680px; margin: 0 auto 2rem; text-align: center; }
.sc-old__title { margin: 0 0 .6rem; font-size: clamp(1.6rem, 1.3rem + 1.2vw, 2.25rem); font-weight: 800; letter-spacing: -.02em; color: hsl(var(--foreground)); }
.sc-old__lead { margin: 0; font-size: clamp(.95rem, .9rem + .35vw, 1.0625rem); line-height: 1.55; color: hsl(var(--muted-foreground)); }
.sc-old .sc-grid {
    --sc-bg: linear-gradient(160deg, hsl(var(--card)) 0%, hsl(var(--background)) 100%);
    --sc-line: hsl(var(--border));
    --sc-t1: hsl(var(--foreground)); --sc-t2: hsl(var(--muted-foreground)); --sc-t3: hsl(var(--muted-foreground));
    --sc-acc: hsl(var(--primary)); --sc-acc-soft: hsl(var(--primary) / .14);
    --sc-btn: hsl(var(--foreground) / .05); --sc-btn-h: hsl(var(--foreground) / .1);
    --sc-r: 18px;
}
.sc-old .sc-card--email .sc-card__go, .sc-old .sc-card--email .sc-card__ic { color: hsl(var(--primary-foreground, 220 20% 6%)); }

/* ---------- кабинет ---------- */
.sc-page { max-width: 1180px; margin: 0 auto; padding: 28px 24px 40px; }
.sc-page__head { margin: 0 0 22px; }
.sc-page__title { margin: 0 0 6px; font-size: 26px; line-height: 1.2; font-weight: 800; letter-spacing: -.02em; color: #fff; }
.sc-page__lead { margin: 0; font-size: 14.5px; line-height: 1.55; color: rgba(255, 255, 255, .62); max-width: 640px; }
.sc-page .sc-grid { margin: 0; justify-content: start; }
/* «Олдскул»: акцент — жёлтый, как в его меню */
body.sc-body:not(.platform-neo) .sc-card--email { --sc-c: #F0B90B; --sc-c-soft: rgba(240, 185, 11, .14); }
body.sc-body:not(.platform-neo) .sc-card--email .sc-card__ic, body.sc-body:not(.platform-neo) .sc-card--email .sc-card__go { color: #111; }
body.platform-neo .sc-page__title { color: var(--neo-text); }
body.platform-neo .sc-page__lead { color: var(--neo-muted); }
body.platform-neo .sc-grid {
    --sc-bg: var(--neo-card); --sc-line: var(--neo-line);
    --sc-t1: var(--neo-text); --sc-t2: var(--neo-text-2); --sc-t3: var(--neo-muted);
    --sc-acc: var(--neo-accent); --sc-acc-soft: rgba(var(--neo-accent-rgb), .16);
    --sc-btn: rgba(var(--neo-accent-rgb), .08); --sc-btn-h: rgba(var(--neo-accent-rgb), .16);
    --sc-r: 20px;
}
/* узкая панель справа («Нео»): карточки одна под другой */
body.neo-embed .sc-page { padding: 16px 16px 20px; }
body.neo-embed .sc-page__title { display: none; }
body.neo-embed .sc-page__lead { font-size: 13.5px; }
body.neo-embed .sc-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; max-width: none; }
body.neo-embed .sc-card__main { padding: 20px 18px 14px; gap: 14px; }
body.neo-embed .sc-card__foot { padding: 0 18px 18px; }
body.neo-embed .sc-card__val { font-size: 18px; }
body.neo-embed .sc-card__val--long { font-size: 16px; }
@media (max-width: 768px) { .sc-page { padding: 18px 14px 28px; } .sc-page__title { font-size: 22px; } }
